Paradiseo-MOEO Lesson 4 : A bi-objective flow-shop scheduling problem

Introduction  /  Problem Definition  /  Individual Representation  /  Evaluation functions   /  Neighborhood   /  The representation-independent things   /  Compilation and execution   /  Conclusion  

Introduction

First, be sure that the ParadisEO-MOEO module has been compiled correctly and that the documentation has been generated (see the README file in the ParadisEO-MOEO directory to know how to compile the package and to generate the documentation).

We describe here a complete methodology to design and implement Dominance-based local searches(DMLS) for a bi-objective flow-shop scheduling problem using ParadisEO-MOEO. All the source and program files required for this lesson are provided in the ParadisEO-MOEO package. The main file (FlowShopDMLS.cpp) is located in the moeo/tutorial/Lesson4/ directory. The component files as well as the benchs directory (containing test instances for the bi-objective flow-shop scheduling problem) are all located in the moeo/tutorial/examples/flowshop/ directory. The program files are located in the build/moeo/tutorial/Lesson4/ directory.

Test

A multi-objective DMLS is already designed for this problem. To run it, you first need to build the FlowShopDMLS and the install targets. Then, you will be able to launch the obtained executable file using the FlowShopDMLS.param parameter file.

Refer to INSTALL file or installation guide for further information about how to (re)build tutorial and lessons.

Here is an example of what you should get:

Initial Population
20
12990   2802            20      19 10 9 17 1 7 15 2 5 16 6 18 13 14 8 4 0 3 12 11
10496   2732            20      19 2 11 17 14 12 18 5 7 8 1 6 3 10 9 4 0 13 15 16
11784   2810            20      17 6 8 0 2 3 19 13 5 12 18 7 14 9 1 4 11 16 15 10
11926   2747            20      17 6 2 7 10 18 4 19 15 14 16 9 11 5 0 13 3 8 1 12
12128   2873            20      17 5 9 1 10 18 3 4 13 7 8 2 19 0 15 12 16 11 14 6
10497   2680            20      16 9 15 13 17 8 1 12 4 7 18 14 11 6 19 3 2 10 5 0
11381   2709            20      16 6 12 11 14 4 18 13 8 15 5 19 7 0 10 2 17 1 9 3
9867    2589            20      12 15 13 0 11 17 19 14 4 3 8 9 6 18 2 16 10 5 1 7
10809   2765            20      12 15 2 17 4 7 16 1 14 18 9 6 5 0 3 10 19 13 8 11
12867   2729            20      11 6 0 2 7 10 1 17 13 8 16 12 3 14 15 4 9 18 19 5
.
.
.

Final Archive
5
7137    2495            20      2 15 13 8 5 6 11 12 0 17 14 19 3 16 9 4 18 10 1 7
7184    2453            20      2 15 13 6 8 5 12 0 17 14 19 3 16 9 18 10 1 4 11 7
7090    2517            20      2 15 13 6 8 5 12 0 4 17 14 19 3 16 9 18 10 1 11 7
7045    2538            20      2 15 13 6 8 5 12 0 4 14 19 3 16 9 17 18 10 1 11 7
8129    2445            20      2 15 8 18 6 12 0 17 14 19 3 16 9 4 5 10 11 1 13 7 

You have launched a DMLS for a bi-objective flow-shop scheduling problem. We will see later what this output means in details.