The core algorithm uses the evaluator and the operators to realize the genetic algorithm. It is simple and flexible.
The evaluators for individuals or operators are (with the help of parameters) interchangeably.
The core algorithm includes the main loop of the genetic algorithm, which calls the operators and generates the individuals.
The second loop in the algorithm is the selection loop. It will delete individuals.
In addition, the core algorithm provides functions for the operators. The operators are called by the core algorithm through a method, that is the same for all operators. After that, the operators can get, with the help of the functions of the core algorithm, the algorithm specific values, e. g. such as individuals, which the operations will use. In this way, the operators will always look the same in each case for the core algorithm, and the core algorithm does not need any logic specific to a particular operator. Thereby future adjustments to the operators are simplified, because not the interface of all operators have to be be adjusted, but only the functions, which are provided by the core algorithm.
The calling method for the operators should be flexible, so that operators can be started concurrently and the algorithm don't have to wait for the completion of each operation. The operators should be run separately from the core algorithm and affect it only by the specified interface. A faulty operator should not lead to errors in or termination of the entire system.