#include <CMAOptimizer.h>

Classes | |
| class | ModelFitness |
Public Types | |
| enum | eMode { modeRankMuUpdate = 1, modeRankOneUpdate = 2, modeOnePlusOne = 4 } |
Public Member Functions | |
| CMAOptimizer (int verbosity=0) | |
| Constructor. | |
| ~CMAOptimizer () | |
| Destructor. | |
| void | init (Model &model) |
| basic initialization with default parameters | |
| void | init (Model &model, double sigma, eMode mode=modeRankMuUpdate, bool best=true, int lambda=0, int mu=0) |
| initialization with additional parameters | |
| void | init (Model &model, const Array< double > &sigma, eMode mode=modeRankMuUpdate, bool best=true, int lambda=0, int mu=0) |
| initialization with additional parameters | |
| void | initUncertainty (Model &model, double sigma=0.01, unsigned int maxEvals=1000, double alpha=1.5, double theta=0.1, eMode mode=modeRankMuUpdate, int lambda=0, int mu=0) |
| initialization with additional parameter for CMA with uncertainty handling | |
| void | initUncertainty (Model &model, const Array< double > &sigma, unsigned int maxEvals=1000, double alpha=1.5, double theta=0.1, eMode mode=modeRankMuUpdate, int lambda=0, int mu=0) |
| initialization with additional parameter | |
| double | optimize (Model &model, ErrorFunction &errorfunction, const Array< double > &input, const Array< double > &target) |
| create and select one CMA-ES generation | |
| int | getLambda () |
| return the offspring size, that is, the number of fitness evaluations per generation. | |
Protected Member Functions | |
| void | Ind2Model (Individual &ind, Model &model) |
Protected Attributes | |
| ModelFitness | objective |
| bool | bFirstIteration |
| is this the first iteration? | |
| CMA | cma |
| CMA object from EALib. | |
| ElitistCMA | ecma |
| ElitistCMA object from EALib. | |
| Population * | parents |
| parent population | |
| Population * | offspring |
| offspring population | |
| eMode | cmaMode |
| CMA mode. | |
| bool | returnBestIndividual |
| if true, always return the best known individual | |
| double | bestFitness |
| best fitness | |
| Array< double > | bestParameters |
| parameters leading to the best fitness | |
| int | verbosity |
| verbosity level | |
| bool | uncertaintyHandling |
| enable uncertainty handling? | |
| unsigned int | maxEvals |
| maximum number of function evaluations | |
| double | alpha |
| speed of strategy adaptation for uncertainty handling | |
| double | theta |
| uncertainty threshold parameter | |
For a detailed description please refer to the EALib module.
Definition at line 59 of file CMAOptimizer.h.
| enum CMAOptimizer::eMode |
Definition at line 62 of file CMAOptimizer.h.
| CMAOptimizer::CMAOptimizer | ( | int | verbosity = 0 |
) |
| CMAOptimizer::~CMAOptimizer | ( | ) |
| int CMAOptimizer::getLambda | ( | ) |
return the offspring size, that is, the number of fitness evaluations per generation.
Definition at line 283 of file CMAOptimizer.cpp.
References offspring.
| void CMAOptimizer::Ind2Model | ( | Individual & | ind, | |
| Model & | model | |||
| ) | [protected] |
Definition at line 288 of file CMAOptimizer.cpp.
References Model::getParameterDimension(), i, and Model::setParameter().
Referenced by optimize().
| void CMAOptimizer::init | ( | Model & | model, | |
| const Array< double > & | sigma, | |||
| eMode | mode = modeRankMuUpdate, |
|||
| bool | best = true, |
|||
| int | lambda = 0, |
|||
| int | mu = 0 | |||
| ) |
initialization with additional parameters
| model | model to optimize | |
| sigma | initial step size for each coordinate | |
| mode | CMA mode, see EALib for details | |
| best | if true, return the best individual ever evaluated | |
| lambda | number of offspring per generation, a value of 0 indicates the default depending on the problem dimension - not used in 1+1-mode | |
| mu | number of parents, a value of 0 indicates the default depending on lambda - not used in 1+1-mode |
Definition at line 73 of file CMAOptimizer.cpp.
References bestFitness, bestParameters, bFirstIteration, cma, cmaMode, ecma, Model::getParameter(), Model::getParameterDimension(), i, modeOnePlusOne, modeRankMuUpdate, modeRankOneUpdate, offspring, parents, returnBestIndividual, uncertaintyHandling, and verbosity.
| void CMAOptimizer::init | ( | Model & | model, | |
| double | sigma, | |||
| eMode | mode = modeRankMuUpdate, |
|||
| bool | best = true, |
|||
| int | lambda = 0, |
|||
| int | mu = 0 | |||
| ) |
initialization with additional parameters
| model | model to optimize | |
| sigma | initial step size | |
| mode | CMA mode, see EALib for details | |
| best | if true, return the best individual ever evaluated | |
| lambda | number of offspring per generation, a value of 0 indicates the default depending on the problem dimension - not used in 1+1-mode | |
| mu | number of parents, a value of 0 indicates the default depending on lambda - not used in 1+1-mode |
Definition at line 66 of file CMAOptimizer.cpp.
References Model::getParameterDimension(), and init().
| void CMAOptimizer::init | ( | Model & | model | ) | [virtual] |
basic initialization with default parameters
| model | model to optimize |
Implements Optimizer.
Definition at line 61 of file CMAOptimizer.cpp.
Referenced by init(), and initUncertainty().
| void CMAOptimizer::initUncertainty | ( | Model & | model, | |
| const Array< double > & | sigma, | |||
| unsigned int | maxEvals = 1000, |
|||
| double | alpha = 1.5, |
|||
| double | theta = 0.1, |
|||
| eMode | mode = modeRankMuUpdate, |
|||
| int | lambda = 0, |
|||
| int | mu = 0 | |||
| ) |
initialization with additional parameter
| model | model to optimize | |
| sigma | initial step size | |
| maxEvals | maximum number of function evaluation for one fitness computation | |
| alpha | speed of adaptation of number of function evaluations | |
| theta | uncertainty threshold | |
| mode | CMA mode, see EALib for details | |
| lambda | number of offspring per generation, a value of 0 indicates the default depending on the problem dimension - not used in 1+1-mode | |
| mu | number of parents, a value of 0 indicates the default depending on lambda - not used in 1+1-mode |
Definition at line 146 of file CMAOptimizer.cpp.
References init(), objective, and uncertaintyHandling.
| void CMAOptimizer::initUncertainty | ( | Model & | model, | |
| double | sigma = 0.01, |
|||
| unsigned int | maxEvals = 1000, |
|||
| double | alpha = 1.5, |
|||
| double | theta = 0.1, |
|||
| eMode | mode = modeRankMuUpdate, |
|||
| int | lambda = 0, |
|||
| int | mu = 0 | |||
| ) |
initialization with additional parameter for CMA with uncertainty handling
| model | model to optimize | |
| sigma | initial step size | |
| maxEvals | maximum number of function evaluation for one fitness computation | |
| alpha | speed of adaptation of number of function evaluations | |
| theta | uncertainty threshold | |
| mode | CMA mode, see EALib for details | |
| lambda | number of offspring per generation, a value of 0 indicates the default depending on the problem dimension - not used in 1+1-mode | |
| mu | number of parents, a value of 0 indicates the default depending on lambda - not used in 1+1-mode |
Definition at line 133 of file CMAOptimizer.cpp.
References init(), objective, and uncertaintyHandling.
| double CMAOptimizer::optimize | ( | Model & | model, | |
| ErrorFunction & | errorfunction, | |||
| const Array< double > & | input, | |||
| const Array< double > & | target | |||
| ) | [virtual] |
create and select one CMA-ES generation
Implements Optimizer.
Definition at line 159 of file CMAOptimizer.cpp.
References alpha, bestFitness, bestParameters, bFirstIteration, cma, cmaMode, ecma, CMAOptimizer::ModelFitness::fitness(), Model::getParameterDimension(), i, Ind2Model(), Model::isFeasible(), maxEvals, modeOnePlusOne, modeRankMuUpdate, modeRankOneUpdate, objective, offspring, parents, returnBestIndividual, CMAOptimizer::ModelFitness::Set(), Model::setParameter(), theta, uncertaintyHandling, and verbosity.
double CMAOptimizer::alpha [protected] |
speed of strategy adaptation for uncertainty handling
Definition at line 184 of file CMAOptimizer.h.
Referenced by optimize().
double CMAOptimizer::bestFitness [protected] |
Array<double> CMAOptimizer::bestParameters [protected] |
parameters leading to the best fitness
Definition at line 172 of file CMAOptimizer.h.
Referenced by init(), and optimize().
bool CMAOptimizer::bFirstIteration [protected] |
is this the first iteration?
Definition at line 148 of file CMAOptimizer.h.
Referenced by init(), and optimize().
CMA CMAOptimizer::cma [protected] |
CMA object from EALib.
Definition at line 151 of file CMAOptimizer.h.
Referenced by init(), and optimize().
eMode CMAOptimizer::cmaMode [protected] |
ElitistCMA CMAOptimizer::ecma [protected] |
ElitistCMA object from EALib.
Definition at line 154 of file CMAOptimizer.h.
Referenced by init(), and optimize().
unsigned int CMAOptimizer::maxEvals [protected] |
maximum number of function evaluations
Definition at line 181 of file CMAOptimizer.h.
Referenced by optimize().
ModelFitness CMAOptimizer::objective [protected] |
Population* CMAOptimizer::offspring [protected] |
offspring population
Definition at line 160 of file CMAOptimizer.h.
Referenced by CMAOptimizer(), getLambda(), init(), optimize(), and ~CMAOptimizer().
Population* CMAOptimizer::parents [protected] |
parent population
Definition at line 157 of file CMAOptimizer.h.
Referenced by CMAOptimizer(), init(), optimize(), and ~CMAOptimizer().
bool CMAOptimizer::returnBestIndividual [protected] |
if true, always return the best known individual
Definition at line 166 of file CMAOptimizer.h.
Referenced by init(), and optimize().
double CMAOptimizer::theta [protected] |
uncertainty threshold parameter
Definition at line 187 of file CMAOptimizer.h.
Referenced by optimize().
bool CMAOptimizer::uncertaintyHandling [protected] |
enable uncertainty handling?
Definition at line 178 of file CMAOptimizer.h.
Referenced by init(), initUncertainty(), and optimize().
int CMAOptimizer::verbosity [protected] |
verbosity level
Definition at line 175 of file CMAOptimizer.h.
Referenced by init(), and optimize().