|
MOEA Framework 2.5 API Specification |
|||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||
java.lang.Objectorg.moeaframework.algorithm.AbstractAlgorithm
org.moeaframework.algorithm.CMAES
public 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.
References:
| Field Summary |
|---|
| Fields inherited from class org.moeaframework.algorithm.AbstractAlgorithm |
|---|
initialized, numberOfEvaluations, problem, terminated |
| Constructor Summary | |
|---|---|
CMAES(Problem problem,
int lambda)
Constructs a new CMA-ES instance using default parameters. |
|
CMAES(Problem problem,
int lambda,
FitnessEvaluator fitnessEvaluator,
NondominatedPopulation archive)
Constructs a new CMA-ES instance using default parameters. |
|
CMAES(Problem problem,
int lambda,
FitnessEvaluator fitnessEvaluator,
NondominatedPopulation archive,
double[] initialSearchPoint,
boolean checkConsistency,
double cc,
double cs,
double damps,
double ccov,
double ccovsep,
double sigma,
int diagonalIterations)
Constructs a new CMA-ES instance with the given parameters. |
|
| Method Summary | |
|---|---|
NondominatedPopulation |
getResult()
Returns the current best-known result. |
Serializable |
getState()
Returns a Serializable object representing the internal state of
this algorithm. |
void |
initialize()
Performs any initialization that is required by this algorithm. |
protected void |
iterate()
Performs one iteration of the algorithm. |
void |
setState(Object objState)
Sets the internal state of of this algorithm. |
void |
step()
This method first checks if the algorithm is initialized. |
static void |
tql2(int n,
double[] d,
double[] e,
double[][] V)
Symmetric tridiagonal QL algorithm, taken from JAMA package. |
static void |
tred2(int n,
double[][] V,
double[] d,
double[] e)
Symmetric Householder reduction to tridiagonal form, taken from JAMA package. |
| Methods inherited from class org.moeaframework.algorithm.AbstractAlgorithm |
|---|
evaluate, evaluateAll, evaluateAll, finalize, getNumberOfEvaluations, getProblem, isInitialized, isTerminated, terminate |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public CMAES(Problem problem,
int lambda)
problem - the problem to optimizelambda - the offspring population size
public CMAES(Problem problem,
int lambda,
FitnessEvaluator fitnessEvaluator,
NondominatedPopulation archive)
problem - the problem to optimizelambda - the offspring population sizefitnessEvaluator - secondary comparison criteria for comparing
population individuals with the same rank, or null to use
the default crowding distance metricarchive - the nondominated archive for storing the elite individuals
public CMAES(Problem problem,
int lambda,
FitnessEvaluator fitnessEvaluator,
NondominatedPopulation archive,
double[] initialSearchPoint,
boolean checkConsistency,
double cc,
double cs,
double damps,
double ccov,
double ccovsep,
double sigma,
int diagonalIterations)
If the parameters cc, cs, damps, ccov,
ccovsep, sigma, and diagonalIterations are set
to any negative number, then the default parameter will be used.
problem - the problem to optimizelambda - the offspring population sizefitnessEvaluator - secondary comparison criteria for comparing
population individuals with the same rank, or null to use
the default crowding distance metricarchive - the nondominated archive for storing the elite individualsinitialSearchPoint - an initial search point, or null if
no initial search point is specifiedcheckConsistency - if true, performs checks to ensure
CMA-ES remains numerically stablecc - the cumulation parametercs - the step size of the cumulation parameterdamps - the damping factor for the step sizeccov - the learning rateccovsep - the learning rate when in diagonal-only modesigma - the initial standard deviationdiagonalIterations - the number of iterations in which only the
covariance diagonal is used| Method Detail |
|---|
public void initialize()
AbstractAlgorithmAbstractAlgorithm.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.
initialize in class AbstractAlgorithmprotected void iterate()
AbstractAlgorithm
iterate in class AbstractAlgorithmpublic void step()
AbstractAlgorithmAbstractAlgorithm.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.
step in interface Algorithmstep in class AbstractAlgorithmpublic NondominatedPopulation getResult()
Algorithm
public static void tred2(int n,
double[][] V,
double[] d,
double[] e)
public static void tql2(int n,
double[] d,
double[] e,
double[][] V)
public Serializable getState()
throws NotSerializableException
AlgorithmSerializable object representing the internal state of
this algorithm.
getState in interface AlgorithmgetState in class AbstractAlgorithmSerializable object representing the internal state of
this algorithm
NotSerializableException - if this algorithm does not support
serialization
public void setState(Object objState)
throws NotSerializableException
Algorithm
setState in interface AlgorithmsetState in class AbstractAlgorithmobjState - the internal state of this algorithm
NotSerializableException - if this algorithm does not support
serialization
|
MOEA Framework 2.5 API Specification |
|||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||