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. 
 | 
|  | 
|  | CMAStrategy (FitFunc &func, CMAParameters< TGenoPheno > ¶meters, const CMASolutions &cmasols) | 
|  | constructor for starting from an existing solution. 
 | 
|  | 
| 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. 
 | 
|  | 
| 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. 
 | 
|  | 
| 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. 
 | 
|  | 
| 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, TParameters ¶meters) | 
|  | constructor 
 | 
|  | 
|  | ESOStrategy (FitFunc &func, TParameters ¶meters, const TSolutions &solutions) | 
|  | constructor for starting from an existing solution. 
 | 
|  | 
| dMat | ask () | 
|  | Generates a set of candidate points. 
 | 
|  | 
| 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. 
 | 
|  | 
| 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. 
 | 
|  | 
| 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. 
 | 
|  | 
| void | inc_iter () | 
|  | increment iteration count. 
 | 
|  | 
| void | update_fevals (const int &evals) | 
|  | updates the consumed budget of objective function evaluations. 
 | 
|  | 
| void | set_gradient_func (GradFunc &gfunc) | 
|  | sets the gradient function, if available. 
 | 
|  | 
| void | set_progress_func (ProgressFunc< TParameters, TSolutions > &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. 
 | 
|  | 
| void | start_from_solution (const TSolutions &sol) | 
|  | starts optimization from a given solution object. 
 | 
|  | 
| void | set_plot_func (PlotFunc< TParameters, TSolutions > &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. 
 | 
|  | 
| dVec | gradf (const dVec &x) | 
|  | returns numerical gradient of objective function at x. 
 | 
|  | 
| dVec | gradgp (const dVec &x) const | 
|  | returns the numerical gradient of the objective function in phenotype space 
 | 
|  | 
| double | edm () | 
|  | computes expected distance to minimum (EDM). 
 | 
|  | 
| TSolutions & | get_solutions () | 
|  | returns reference to current solution object 
 | 
|  | 
| TParameters & | get_parameters () | 
|  | returns reference to current optimization parameters object 
 | 
|  | 
| double | fitfunc (const double *x, const int N) | 
|  | execute objective function 
 | 
|  | 
| void | uncertainty_handling () | 
|  | uncertainty handling scheme that computes and uncertainty level based on a dual candidate ranking. 
 | 
|  | 
| void | perform_uh (const dMat &candidates, const dMat &phenocandidates, int &nfcalls) | 
|  | uncertainty handling scheme that perform completely the reevaluation of solutions. 
 | 
|  | 
| void | select_candidates_uh (const dMat &candidates, const dMat &phenocandidates, dMat &candidates_uh) | 
|  | part of the ucertainty handling scheme that select which candidates should be reevaluated. 
 | 
|  | 
| void | eval_candidates_uh (const dMat &candidates, const dMat &candidates_uh, std::vector< RankedCandidate > &nvcandidates, int &nfcalls) | 
|  | part of the ucertainty handling scheme that evaluate the candidates to be reevaluated. 
 | 
|  | 
| void | set_candidates_uh (const std::vector< RankedCandidate > &nvcandidates) | 
|  | part of the ucertainty handling scheme that set the results of evaluation to the solutions. 
 | 
|  | 
| 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) | 
|  | 
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.