wiki:Documentation/Reference/Evolution Strategy

Evolution Strategy

At about the same time genetic algorithms were developed, evolution strategies (ES) appeared in first publications. Originally, they differed from the genetic algorithm such that the main operator responsible for the creation of solutions is the mutation operator. Ingo Rechenberg and Hans-Paul Schwefel introduced several basic variants of ES before adopting more complex solution manipulation concepts, such as recombination, to broaden the applicability of the evolution strategy (Rechenberg 1973).

Variants: The first variant is the simple (1+1)-ES where a mutant was created from a given parent which replaced the parent only if it was better. It was shown that such a simple strategy coupled with a more intelligent adaption of the mutation strength allowed the ES to converge quickly to a good solution. Further evolved variants make use of a population, by extending the (1+1)-ES to a generic (μ+λ)-ES and also include generational replacement, called “comma replacement”. Additionally, recombination was introduced into the algorithm, as well as a way to self-adapt the mutation strength during the progress of the search.

Algorithm Parameters:

Parameter Description
Analyzer The operator used to analyze each generation.
Children λ (lambda) - the size of the offspring population.
MaximumGenerations The maximum number of generations which should be processed.
Mutator The operator used to mutate solutions.
ParentsPerChild rho - how many parents should be recombined.
PlusSelection True for plus selection (elitist population), false for comma selection (non-elitist population).
Population Size μ (mu) - the size of the population.
Recombinator The operator used to cross solutions.
Seed The random seed used to initialize the new pseudo random number generator.
SetSeedRandomly True if the random seed should be set to a random value, otherwise false.
StrategyParameterCreator The operator that creates the strategy parameters.
StrategyParameterCrossover The operator that recombines the strategy parameters.
StrategyParameterManipulator The operator that manipulates the strategy parameters.


Is there a sample/tutorial?

Sure. HeuristicLab comes with a pre-configured ES to solve the 10-dimensional Griewank test function. Have a look at the description here.


  • Rechenberg, I. 1973. Evolutionsstrategie - Optimierung technischer Systeme nach Prinzipien der biologischen Evolution. Frommann-Holzboog.
Last modified 12 years ago Last modified on 02/17/11 10:12:45