Evolution Strategies
Evolutionary.ES
— TypeImplementation of Evolution Strategy: (μ/ρ(+/,)λ)-ES
The constructor takes following keyword arguments:
initStrategy
: an initial strategy description, (default: empty)recombination
: ES recombination function for population (default:first
), see Crossoversrecombination
: ES recombination function for strategies (default:first
), see Crossovermutation
: Mutation function for population (default:nop
)smutation
: Mutation function for strategies (default:nop
)μ
/mu
: the number of parentsρ
/rho
: the mixing number, ρ ≤ μ, (i.e., the number of parents involved in the procreation of an offspring)λ
/lambda
: the number of offspringselection
: the selection strategy:plus
or:comma
(default::plus
)metrics
is a collection of convergence metrics.
Description
The Evolution Strategy is is an optimization technique based on ideas of evolution.
Evolution strategies use natural problem-dependent representations, and primarily Mutation and Selection, as search operators.
The canonical versions of the ES are denoted by $(\sigma/\rho,\lambda)-ES$ and (μ/ρ+λ)-ES, respectively. Here $\mu$ denotes the number of parents, $\rho \leq \mu$ the mixing number (i.e., the number of parents involved in the procreation of an offspring), and $\lambda$ the number of offspring. The parents are deterministically selected (i.e., deterministic survivor selection) from the (multi-)set of either the offspring, referred to as comma-selection ($\mu < \lambda$ must hold), or both the parents and offspring, referred to as plus-selection [1].
Strategies
The evolution strategy algorithm provides, for every the optimized object parameter vector $x$, a set of strategy parameters $s$. The strategy is used to create an offspring $x^\prime$ is generated from the population individual $x$ on every iteration of the algorithm by applying a mutation operation:
\[x^\prime = mutation(x, s)\]
A strategy s
usually has a parameter, e.g. $\sigma$, that controls the strength of the object parameter mutation. For example, if the mutation operation is gaussian
then the $\sigma$ is simply the standard deviation of the normally distributed random component.
List of ES strategies:
Evolutionary.AbstractStrategy
— TypeAbstract evolution strategy
All evolution strategies must be derived from this type.
Evolutionary.NoStrategy
— TypeEmpty evolution strategy
Evolutionary.IsotropicStrategy
— TypeIsotropic evolution strategy
This strategy has one mutation parameter for all object parameter components.
Evolutionary.IsotropicStrategy
— MethodIsotropicStrategy(N)
Returns an isotropic strategy object, which has an one mutation parameter for all object parameter components, with $\sigma = 1.0$, $\tau_0 = \sqrt{2N}^{-1}$, $\tau = \sqrt{2\sqrt{N}}^{-1}$
Evolutionary.AnisotropicStrategy
— TypeAnisotropic evolution strategy
This strategy has a mutation parameter for each object parameter component.
Evolutionary.AnisotropicStrategy
— MethodAnisotropicStrategy(N)
Returns an anisotropic strategy object, which has an one mutation parameter for each object parameter component, with $\sigma = [1, \ldots, 1]^N$, $\tau_0 = \sqrt{2N}^{-1}$, $\tau = \sqrt{2\sqrt{N}}^{-1}$
See Mutation section for strategy mutation operations.