This is an implementation of CMA-ES. It uses the reference algorithm and termination criteria of the following paper: Hansen, N. (2009). Benchmarking a BI-Population CMA-ES on the BBOB-2009 Function Testbed. Workshop Proceedings of the GECCO Genetic and Evolutionary Computation Conference, ACM, pp. 2389-2395 See https://www.lri.fr/~hansen/publications.html for more information.
More...
|
| CMAStrategy () |
| dummy constructor
|
|
| CMAStrategy (FitFunc &func, CMAParameters< TGenoPheno > ¶meters) |
| constructor. More...
|
|
| CMAStrategy (FitFunc &func, CMAParameters< TGenoPheno > ¶meters, const CMASolutions &cmasols) |
| constructor for starting from an existing solution. More...
|
|
dMat | ask () |
| generates nsols new candidate solutions, sampled from a multivariate normal distribution. return A matrix whose rows contain the candidate points.
|
|
void | tell () |
| Updates the covariance matrix and prepares for the next iteration.
|
|
bool | stop () |
| Stops search on a set of termination criterias, see reference paper. More...
|
|
int | optimize (const EvalFunc &evalf, const AskFunc &askf, const TellFunc &tellf) |
| Finds the minimum of the objective function. It makes alternate calls to ask(), tell() and stop() until one of the termination criteria triggers. More...
|
|
int | optimize () |
| Finds the minimum of the objective function. It makes alternate calls to ask(), tell() and stop() until one of the termination criteria triggers. More...
|
|
void | plot () |
| Stream the internal state of the search into an output file, as defined in the _parameters object.
|
|
| ESOStrategy () |
| dummy constructor.
|
|
| ESOStrategy (FitFunc &func, CMAParameters< TGenoPheno > ¶meters) |
| constructor More...
|
|
| ESOStrategy (FitFunc &func, CMAParameters< TGenoPheno > ¶meters, const CMASolutions &solutions) |
| constructor for starting from an existing solution. More...
|
|
dMat | ask () |
| Generates a set of candidate points. More...
|
|
void | eval (const dMat &candidates, const dMat &phenocandidates=dMat(0, 0)) |
| Evaluates a set of candidates against the objective function. The procedure is multithreaded and stores both the candidates and their f-value into the _solutions object that bears the current set of potential solutions to the optimization problem. More...
|
|
void | tell () |
| Updates the state of the stochastic search, and prepares for the next iteration.
|
|
bool | stop () |
| Decides whether to stop the search for solutions. More...
|
|
int | optimize (const EvalFunc &evalf, const AskFunc &askf, const TellFunc &tellf) |
| Finds the minimum of the objective function. It makes alternative calls to ask(), tell() and stop() until one of the termination criteria triggers. More...
|
|
void | inc_iter () |
| increment iteration count.
|
|
void | update_fevals (const int &evals) |
| updates the consumed budget of objective function evaluations. More...
|
|
void | set_gradient_func (GradFunc &gfunc) |
| sets the gradient function, if available. More...
|
|
void | set_progress_func (ProgressFunc< CMAParameters< TGenoPheno >, CMASolutions > &pfunc) |
| Sets the possibly custom progress function, that is called in between every search step, and gives an outside user a simple way to witness progress of the algorithm, as well as to add custom termination criteria. More...
|
|
void | start_from_solution (const CMASolutions &sol) |
| starts optimization from a given solution object. More...
|
|
void | set_plot_func (PlotFunc< CMAParameters< TGenoPheno >, CMASolutions > &pffunc) |
| Sets the possibly custom plot to file function, that is useful for storing into file various possibly custom variable values for each step until termination. More...
|
|
dVec | gradf (const dVec &x) |
| returns numerical gradient of objective function at x. More...
|
|
dVec | gradgp (const dVec &x) const |
| returns the numerical gradient of the objective function in phenotype space More...
|
|
double | edm () |
| computes expected distance to minimum (EDM). More...
|
|
CMASolutions & | get_solutions () |
| returns reference to current solution object More...
|
|
CMAParameters< TGenoPheno > & | get_parameters () |
| returns reference to current optimization parameters object More...
|
|
double | fitfunc (const double *x, const int N) |
| execute objective function More...
|
|
void | uncertainty_handling () |
| uncertainty handling scheme that computes and uncertainty level based on a dual candidate ranking.
|
|
void | tpa_update () |
| updates the two-point adaptation average rank difference for the step-size adaptation mechanism
|
|
Candidate | best_solution () const |
|
void | set_initial_elitist (const bool &e) |
|
template<class TCovarianceUpdate, class TGenoPheno = GenoPheno<NoBoundStrategy>>
class libcmaes::CMAStrategy< TCovarianceUpdate, TGenoPheno >
This is an implementation of CMA-ES. It uses the reference algorithm and termination criteria of the following paper: Hansen, N. (2009). Benchmarking a BI-Population CMA-ES on the BBOB-2009 Function Testbed. Workshop Proceedings of the GECCO Genetic and Evolutionary Computation Conference, ACM, pp. 2389-2395 See https://www.lri.fr/~hansen/publications.html for more information.