org.moeaframework.algorithm
Class CMAES

The Covariance Matrix Adaption Evolution Strategy (CMA-ES) algorithm for
single and multi-objective problems. For multi-objective problems,
individuals are compared using Pareto ranking and crowding distance to break
ties. An optional fitnessEvaluator parameter can be specified to
replace the crowding distance calculation with, for example, the
hypervolume indicator.

This file is based on the Java implementation of CMA-ES by Nikolaus Hansen
available at https://www.lri.fr/~hansen/cmaes_inmatlab.html#java,
originally licensed under the GNU LGPLv3.

initialize

Performs any initialization that is required by this algorithm. This
method is called automatically by the first invocation of
AbstractAlgorithm.step(), but may also be called manually prior to any invocations
of step. Implementations should always invoke
super.initialize() to ensure the hierarchy is initialized
correctly.

step

This method first checks if the algorithm is initialized. If not, the
AbstractAlgorithm.initialize() method is invoked. If initialized, all calls to
step invoke AbstractAlgorithm.iterate(). Implementations should override
the initialize and iterate methods in preference to
modifying this method.

getResult

tred2

public static void tred2(int n,
double[][] V,
double[] d,
double[] e)

Symmetric Householder reduction to tridiagonal form, taken from JAMA
package.
This is derived from the Algol procedures tred2 by Bowdler, Martin,
Reinsch, and Wilkinson, Handbook for Auto. Comp., Vol.ii-Linear Algebra,
and the corresponding Fortran subroutine in EISPACK.

tql2

public static void tql2(int n,
double[] d,
double[] e,
double[][] V)

Symmetric tridiagonal QL algorithm, taken from JAMA package.
This is derived from the Algol procedures tql2, by Bowdler, Martin,
Reinsch, and Wilkinson, Handbook for Auto. Comp., Vol.ii-Linear Algebra,
and the corresponding Fortran subroutine in EISPACK.