An evolutionary algorithm is a probabilistic algorithm based on populations of possible solutions. The most general form of an evolutionary algorithm works as follows and includes practically all methods from evolutionary computation as special cases [101,112,36,49,77,63].
Without loss of generality it can always be assumed by considering the objective function instead of that a given optimization problem is either a minimization or maximization problem depending on which is more convenient for the analysis of the algorithm.
There is obviously ample room for variations of the algorithm in the selection and recombination step, where the new population is constructed from the old one (cf. Section 8.3). This is also the crucial part of the algorithm, where the right balance between a comprehensive search of the domain of and the precise determination of extrema has to be found. This is usually achieved by the interplay of selection, where the probability that individuals proliferate is determined, mutation, and crossover.
Constraints on the set of admissible solutions can be handled in a straightforward manner. Whenever a possible solution or individual is not admissible, a penalty value is substituted for (or added to) the objective function. In view of Section 8.5 this means that schemata favoring non-admissible solutions receive exponentially decreasing trials in subsequent generations.
Clemens Heitzinger 2003-05-08