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.
This commit is contained in:
parent
54a44a177f
commit
c1a44fd2a6
37 changed files with 371 additions and 30 deletions
35
moeo/tutorial/Lesson4/README.md
Normal file
35
moeo/tutorial/Lesson4/README.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# Dominance-based multi-objective local search (DMLS)
|
||||
|
||||
Same flow-shop problem as Lessons 2-3, but solved with local search instead
|
||||
of an evolutionary algorithm. This combines ParadisEO-MO local search
|
||||
components with the MOEO multi-objective framework.
|
||||
|
||||
## Running
|
||||
|
||||
From the `build/moeo/tutorial/Lesson4` directory:
|
||||
|
||||
```shell
|
||||
./FlowShopDMLS @FlowShopDMLS.param
|
||||
```
|
||||
|
||||
## How it works
|
||||
|
||||
The program uses `moShiftNeighbor` and `moOrderNeighborhood` from
|
||||
ParadisEO-MO, with `moeoFullEvalByCopy` to adapt the full solution
|
||||
evaluator for neighbor evaluation:
|
||||
|
||||
```c++
|
||||
typedef moShiftNeighbor<FlowShop, FlowShopObjectiveVector> Neighbor;
|
||||
|
||||
moOrderNeighborhood<Neighbor> neighborhood((nhSize-1) * (nhSize-1));
|
||||
moeoFullEvalByCopy<Neighbor> moEval(eval);
|
||||
```
|
||||
|
||||
At each iteration, DMLS explores all non-dominated solutions in the
|
||||
archive via local search moves and updates the archive with any improving
|
||||
neighbors:
|
||||
|
||||
```c++
|
||||
moeoFirstImprovingNeighborhoodExplorer<Neighbor> explor(neighborhood, moEval);
|
||||
moeoUnifiedDominanceBasedLS<Neighbor> algo(checkpoint, eval, arch, explor, select);
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue