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

31 lines
984 B
Markdown

# 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:
```shell
./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:
```c++
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.