cma_es
Covariance matrix adapting evolutionary strategy
Global optimization procedure using a covariance matrix adapting evolutionary strategy.
 Keywords
 optimize
Usage
cma_es(par, fn, ..., lower, upper, control=list())
cmaES(...)
Arguments
 par
 Initial values for the parameters to be optimized over.
 fn
 A function to be minimized (or maximized), with first argument the vector of parameters over which minimization is to take place. It should return a scalar result.
 ...
 Further arguments to be passed to
fn
.  lower
 Lower bounds on the variables.
 upper
 Upper bounds on the variables.
 control
 A list of control parameters. See ‘Details’.
Details
cma_es
: Note that arguments after ...
must be matched exactly.
By default this function performs minimization, but it will
maximize if control$fnscale
is negative. It can usually be
used as a drop in replacement for optim
, but do note, that
no sophisticated convergence detection is included. Therefore you
need to choose maxit
appropriately.
If you set vectorize==TRUE
, fn
will be passed matrix
arguments during optimization. The columns correspond to the
lambda
new individuals created in each iteration of the
ES. In this case fn
must return a numeric vector of
lambda
corresponding function values. This enables you to
do up to lambda
function evaluations in parallel.
The control
argument is a list that can supply any of the
following components:
fnscale
 An overall scaling to be applied to the value
of
fn
during optimization. If negative, turns the problem into a maximization problem. Optimization is performed onfn(par)/fnscale
.
maxit
stopfitness
stopfitness
. This is the only way for the CMAES
to “converge”.sigma
mu
lambda
mu
.weights
damps
cs
ccum
vectorized
fn
vectorized?ccov.1
ccov.mu
diag.sigma
diag.eigen
diag.pop
diag.value
Value

: A list with components:
 par
 The best set of parameters found.
 value
 The value of
fn
corresponding topar
.  counts
 A twoelement integer vector giving the number of calls
to
fn
. The second element is always zero for call compatibility withoptim
.  convergence
 An integer code.
0
indicates successful convergence. Possible error codes are1
 indicates that the iteration limit
maxit
had been reached.
 message
 Always set to
NULL
, provided for call compatibility withoptim
.  diagnostic
 List containing diagnostic information. Possible elements
are:
 sigma
 Vector containing the step size $sigma$ for each iteration.
 eigen
 $d * niter$ matrix containing the principle components of the covariance matrix $C$.
 pop
 An $d * mu * niter$ array containing all populations. The last dimension is the iteration and the second dimension the individual.
 value
 A $niter x mu$ matrix containing the function values of each population. The first dimension is the iteration, the second one the individual.
TRUE
.
References
Hansen, N. (2006). The CMA Evolution Strategy: A Comparing Review. In J.A. Lozano, P. Larranga, I. Inza and E. Bengoetxea (eds.). Towards a new evolutionary computation. Advances in estimation of distribution algorithms. pp. 75102, Springer