|
libcmaes
A C++11 library for stochastic optimization with CMA-ES
|
Implementation of the IPOP flavor of CMA-ES, with restarts that linearly increase the population of offsprings used in the update of the distribution parameters. More...
#include <ipopcmastrategy.h>
Public Member Functions | |
| IPOPCMAStrategy (FitFunc &func, CMAParameters< TGenoPheno > ¶meters) | |
| constructor. More... | |
| IPOPCMAStrategy (FitFunc &func, CMAParameters< TGenoPheno > ¶meters, const CMASolutions &solutions) | |
| constructor. More... | |
| void | tell () |
| Updates the covariance matrix and prepares for the next iteration. | |
| 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... | |
Public Member Functions inherited from libcmaes::CMAStrategy< TCovarianceUpdate, TGenoPheno > | |
| 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. | |
Public Member Functions inherited from libcmaes::ESOStrategy< CMAParameters< TGenoPheno >, CMASolutions, CMAStopCriteria< TGenoPheno > > | |
| 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) |
Protected Member Functions | |
| void | lambda_inc () |
| void | reset_search_state () |
| void | capture_best_solution (CMASolutions &best_run) |
Additional Inherited Members | |
Static Public Attributes inherited from libcmaes::CMAStrategy< TCovarianceUpdate, TGenoPheno > | |
| static ProgressFunc < CMAParameters< TGenoPheno > , CMASolutions > | _defaultPFunc = &pfuncdef_impl<TCovarianceUpdate,TGenoPheno> |
| static PlotFunc< CMAParameters < TGenoPheno >, CMASolutions > | _defaultFPFunc = &fpfuncdef_impl<TCovarianceUpdate,TGenoPheno> |
Protected Attributes inherited from libcmaes::CMAStrategy< TCovarianceUpdate, TGenoPheno > | |
| Eigen::EigenMultivariateNormal < double > | _esolver |
| CMAStopCriteria< TGenoPheno > | _stopcriteria |
| std::ofstream * | _fplotstream = nullptr |
Protected Attributes inherited from libcmaes::ESOStrategy< CMAParameters< TGenoPheno >, CMASolutions, CMAStopCriteria< TGenoPheno > > | |
| FitFunc | _func |
| int | _nevals |
| int | _niter |
| CMASolutions | _solutions |
| CMAParameters< TGenoPheno > | _parameters |
| ProgressFunc< CMAParameters < TGenoPheno >, CMASolutions > | _pfunc |
| GradFunc | _gfunc |
| PlotFunc< CMAParameters < TGenoPheno >, CMASolutions > | _pffunc |
| FitFunc | _funcaux |
| bool | _initial_elitist |
Implementation of the IPOP flavor of CMA-ES, with restarts that linearly increase the population of offsprings used in the update of the distribution parameters.
| libcmaes::IPOPCMAStrategy< TCovarianceUpdate, TGenoPheno >::IPOPCMAStrategy | ( | FitFunc & | func, |
| CMAParameters< TGenoPheno > & | parameters | ||
| ) |
constructor.
| func | objective function to minimize |
| parameters | stochastic search parameters |
| libcmaes::IPOPCMAStrategy< TCovarianceUpdate, TGenoPheno >::IPOPCMAStrategy | ( | FitFunc & | func, |
| CMAParameters< TGenoPheno > & | parameters, | ||
| const CMASolutions & | solutions | ||
| ) |
constructor.
| func | objective function to minimize |
| parameters | stochastic search parameters |
| solutions | solution to start search from |
| int libcmaes::IPOPCMAStrategy< TCovarianceUpdate, TGenoPheno >::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.
| evalf | custom eval function |
| askf | custom ask function |
| tellf | custom tell function |
|
inline |
Finds the minimum of the objective function. It makes alternate calls to ask(), tell() and stop() until one of the termination criteria triggers.
1.8.8