paradiseo/moeo/tutorial/Lesson2/README.md
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

984 B

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.