9. Covariance Matrix Adaptation Evolution Strategy

eap.cma.esCMA(toolbox, population, sigma, ngen[, halloffame, **kargs])

The CMA-ES algorithm as described in Hansen, N. (2006). The CMA Evolution Strategy: A Comparing Rewiew.

The provided population should be a list of one or more individuals. The other keyworded arguments are passed to the class CMAStrategy.

class eap.cma.CMAStrategy(population, sigma[, params])

Additional configuration may be passed throught the params argument as a dictionary,

Parameter Default Details
lambda_ floor(4 + 3 * log(N)) Number of children to produce at each generation, N is the individual’s size.
mu floor(lambda_ / 2) The number of parents to keep from the lambda children.
weights "superlinear" Decrease speed, can be "superlinear", "linear" or "equal".
cs (mueff + 2) / (N + mueff + 3) Cumulation constant for step-size.
damps 1 + 2 * max(0, sqrt(( mueff - 1) / (N + 1)) - 1) + cs Damping for step-size.
ccum 4 / (N + 4) Cumulation constant for covariance matrix.
ccov1 2 / ((N + 1.3)^2 + mueff) Learning rate for rank-one update.
ccovmu 2 * (mueff - 2 + 1 / mueff) / ((N + 2)^2 + mueff) Learning rate for rank-mu update.
computeParams(params)

Those parameters depends on lambda and need to computed again if it changes during evolution.

generate()

Generate lambda offsprings from the current strategy using the centroid individual as parent.

update(population)

Update the current covariance matrix strategy.

Previous topic

8. History

Next topic

1. First Steps of Evolution

This Page