This lesson describes a method for solving the car sequencing problem using an evolutionary algorithm operating on an indirect representation. An indirect representation is one which does not directly encode an assignment to decision variables, but which encodes enough information for a decoder to produce such an assignment from the given information. The main advantage of using an indirect representation is that problem constraints can largely be ignored by the genetic operators, with the decoding phase (which instantiates the decision variables) taking care of maintaining feasibility through constraint propagation. This means that the genetic operators used can be fairly standard ones, and so custom operators are not needed for this example.
Make a copy of the example file YourSolverHome/examples/src/tutorial/eacarseq_partial.cpp
and open this copy in your development environment. This file is a program that is only partially completed. You will fill in the blanks in each step in this section. At the end of the section, you will have completed the example and you can compile and run the program.