paradiseo/moeo/tutorial/Lesson2
Eremey Valetov c1a44fd2a6 Add tutorial READMEs and fix tutorial return codes
Add README.md files for moeo/tutorial/Lesson{1-4}, smp/tutorial/Lesson{1-4},
and mo/tutorial/Lesson9 — these tutorials had no documentation.

Fix return 1 → return 0 in 28 tutorial main() functions across mo/ and
smp/ that unconditionally returned failure status.
2026-02-28 19:26:10 -05:00
..
CMakeLists.txt Migration from SVN 2012-08-30 11:30:11 +02:00
FlowShopEA.cpp Update dead URLs in license headers and build config 2026-02-28 19:26:10 -05:00
FlowShopEA.param Migration from SVN 2012-08-30 11:30:11 +02:00
README.md Add tutorial READMEs and fix tutorial return codes 2026-02-28 19:26:10 -05:00

Multi-objective EA on the flow-shop scheduling problem

This lesson solves a more realistic combinatorial problem: the bi-objective permutation flow-shop, which minimizes both makespan and total flow time.

Running

From the build/moeo/tutorial/Lesson2 directory:

./FlowShopEA @FlowShopEA.param

The parameter file specifies the problem instance, population size, operator rates, and fitness assignment strategy.

How it works

The code uses ParadisEO's do_make_* factory functions to build all components from command-line parameters:

eoEvalFuncCounter<FlowShop>& eval = do_make_eval(parser, state);
eoInit<FlowShop>& init = do_make_genotype(parser, state);
eoGenOp<FlowShop>& op = do_make_op(parser, state);

The flow-shop representation is defined in FlowShop.h — a permutation-based moeoVector with a bi-objective vector. Different Pareto-based fitness assignment strategies (NSGA-II, SPEA2, IBEA, etc.) can be selected via parameters.