|
libcmaes 0.10.2
A C++11 library for stochastic optimization with CMA-ES
|
Holder of the set of evolving solutions from running an instance of CMA-ES. More...
#include <libcmaes/cmasolutions.h>
Public Member Functions | |
| CMASolutions () | |
| dummy constructor. | |
| template<class TGenoPheno = GenoPheno<NoBoundStrategy>> | |
| CMASolutions (Parameters< TGenoPheno > &p) | |
| initializes solutions from stochastic optimization parameters. | |
| void | sort_candidates () |
| sorts the current internal set of solution candidates. | |
| void | update_best_candidates () |
| updates the history of best candidates, as well as other meaningful values, typically used in termination criteria. | |
| void | update_eigenv (const dVec &eigenvalues, const dMat &eigenvectors) |
| updates reference eigenvalue and eigenvectors, for use in termination criteria. | |
| Candidate | best_candidate () const |
| returns current best solution candidate. NOTE: candidates MUST be sorted | |
| Candidate | get_best_seen_candidate () const |
| returns the best seen candidate. | |
| Candidate | get_worst_seen_candidate () const |
| returns the worst seen candidate. | |
| Candidate & | get_candidate (const int &r) |
| get a reference to the r-th candidate in current set | |
| Candidate | get_candidate (const int &r) const |
| std::vector< Candidate > & | candidates () |
| get a reference to the full candidate set | |
| int | size () const |
| number of candidate solutions. | |
| void | reset () |
| resets the solution object in order to restart from the current solution with fresh covariance matrix. Note: experimental. | |
| void | reset_as_fixed (const int &k) |
| re-arrange solution object such that parameter 'k' is fixed (i.e. removed). | |
| bool | get_pli (const int &k, pli &p) const |
| get profile likelihood if previously computed. | |
| int | dim () const |
| return problem dimension. | |
| double | edm () const |
| returns expected distance to minimum. | |
| dMat | cov () const |
| returns error covariance matrix | |
| const dMat & | cov_ref () const |
| returns reference to error covariance matrix | |
| const double * | cov_data () const |
| returns pointer to covariance matrix array | |
| dMat | full_cov () const |
| returns full covariance matrix. Similar to cov() but in case of linear-sized algorithms like sep and vd, returns the full covariance matrix anyways. | |
| dMat | sepcov () const |
| returns separable covariance diagonal matrix, only applicable to sep-CMA-ES algorithms. | |
| const dMat & | sepcov_ref () const |
| returns reference to separable covariance diagonal vector, only applicable to sep-CMA-ES algorithms. | |
| const double * | sepcov_data () const |
| returns pointer to covariance diagnoal vector | |
| dMat | csqinv () const |
| returns inverse root square of covariance matrix | |
| dMat | sepcsqinv () const |
| returns inverse root square of separable covariance diagonal matrix, only applicable to sep-CMA-ES algorithms. | |
| template<class TGenoPheno = GenoPheno<NoBoundStrategy>> | |
| dVec | stds (const CMAParameters< TGenoPheno > &cmaparams) const |
| template<class TGenoPheno = GenoPheno<NoBoundStrategy>> | |
| dVec | errors (const CMAParameters< TGenoPheno > &cmaparams) const |
| dMat | corr () const |
| returns correlation matrix | |
| double | corr (const int &i, const int &j) const |
| returns correlation between parameter i and j (useful in large-scale settings) | |
| double | sigma () const |
| returns current value of step-size sigma | |
| void | set_sigma (const double &sigma) |
| sets new step-size value, use with care | |
| dVec | xmean () const |
| returns current distribution's mean in parameter space | |
| void | set_xmean (const dVec &xmean) |
| sets the current distributions' mean in parameter space | |
| int | run_status () const |
| returns current optimization status. | |
| std::string | status_msg () const |
| returns current optimization status' message. | |
| int | elapsed_time () const |
| returns currently elapsed time spent on optimization | |
| int | elapsed_last_iter () const |
| returns time spent on last iteration | |
| int | niter () const |
| returns current number of iterations | |
| int | nevals () const |
| returns current budget (number of objective function calls) | |
| double | min_eigenv () const |
| returns current minimal eigen value | |
| double | max_eigenv () const |
| returns current maximal eigen value | |
| bool | updated_eigen () const |
| returns whether the last update is lazy | |
| int | fevals () const |
| returns current number of objective function evaluations | |
| dVec | eigenvalues () const |
| returns last computed eigenvalues | |
| dMat | eigenvectors () const |
| returns last computed eigenvectors | |
| template<class TGenoPheno = GenoPheno<NoBoundStrategy>> | |
| std::ostream & | print (std::ostream &out, const int &verb_level=0, const TGenoPheno &gp=TGenoPheno()) const |
| print the solution object out. | |
Private Attributes | |
| dMat | _cov |
| dMat | _csqinv |
| dMat | _sepcov |
| dMat | _sepcsqinv |
| dVec | _xmean |
| dVec | _psigma |
| dVec | _pc |
| short | _hsig = 1 |
| double | _sigma |
| std::vector< Candidate > | _candidates |
| std::vector< Candidate > | _best_candidates_hist |
| int | _max_hist = -1 |
| double | _max_eigenv = 0.0 |
| double | _min_eigenv = 0.0 |
| dVec | _leigenvalues |
| dMat | _leigenvectors |
| int | _niter = 0 |
| int | _nevals = 0 |
| int | _kcand = 1 |
| std::vector< Candidate > | _k_best_candidates_hist |
| std::vector< double > | _bfvalues |
| std::vector< double > | _median_fvalues |
| int | _eigeniter = 0 |
| bool | _updated_eigen = true |
| int | _run_status = 0 |
| int | _elapsed_time = 0 |
| int | _elapsed_last_iter = 0 |
| std::map< int, pli > | _pls |
| double | _edm = 0.0 |
| Candidate | _best_seen_candidate |
| int | _best_seen_iter |
| Candidate | _worst_seen_candidate |
| Candidate | _initial_candidate |
| dVec | _v |
| std::vector< RankedCandidate > | _candidates_uh |
| int | _lambda_reev |
| double | _suh |
| double | _tpa_s = 0.0 |
| int | _tpa_p1 = 0 |
| int | _tpa_p2 = 1 |
| dVec | _tpa_x1 |
| dVec | _tpa_x2 |
| dVec | _xmean_prev |
Friends | |
| template<class U , class V > | |
| class | CMAStrategy |
| template<class U , class V , class W > | |
| class | ESOptimizer |
| template<class U , class V , class W > | |
| class | ESOStrategy |
| template<class U > | |
| class | CMAStopCriteria |
| template<class U , class V > | |
| class | IPOPCMAStrategy |
| template<class U , class V > | |
| class | BIPOPCMAStrategy |
| class | CovarianceUpdate |
| class | ACovarianceUpdate |
| template<class U > | |
| class | errstats |
| class | VDCMAUpdate |
Holder of the set of evolving solutions from running an instance of CMA-ES.
| libcmaes::CMASolutions::CMASolutions | ( | Parameters< TGenoPheno > & | p | ) |
initializes solutions from stochastic optimization parameters.
| p | parameters |
|
inline |
returns current best solution candidate. NOTE: candidates MUST be sorted
| dMat libcmaes::CMASolutions::corr | ( | ) | const |
returns correlation matrix
returns correlation between parameter i and j (useful in large-scale settings)
|
inline |
returns error covariance matrix
returns pointer to covariance matrix array
|
inline |
returns reference to error covariance matrix
|
inline |
returns inverse root square of covariance matrix
|
inline |
return problem dimension.
|
inline |
returns expected distance to minimum.
|
inline |
returns last computed eigenvalues
|
inline |
returns last computed eigenvectors
|
inline |
returns time spent on last iteration
|
inline |
returns currently elapsed time spent on optimization
|
inline |
| cmaparams | parameter object that hold the genotype/phenotype transform |
|
inline |
returns current number of objective function evaluations
| dMat libcmaes::CMASolutions::full_cov | ( | ) | const |
returns full covariance matrix. Similar to cov() but in case of linear-sized algorithms like sep and vd, returns the full covariance matrix anyways.
|
inline |
returns the best seen candidate.
get a reference to the r-th candidate in current set
| r | candidate position |
|
inline |
returns the worst seen candidate.
|
inline |
returns current maximal eigen value
|
inline |
returns current minimal eigen value
|
inline |
returns current budget (number of objective function calls)
|
inline |
returns current number of iterations
| template CMAES_EXPORT std::ostream & libcmaes::CMASolutions::print | ( | std::ostream & | out, |
| const int & | verb_level = 0, |
||
| const TGenoPheno & | gp = TGenoPheno() |
||
| ) | const |
print the solution object out.
| out | output stream |
| verb_level | verbosity level: 0 for short, 1 for debug. |
re-arrange solution object such that parameter 'k' is fixed (i.e. removed).
| k | index of the parameter to remove. |
|
inline |
returns current optimization status.
|
inline |
returns separable covariance diagonal matrix, only applicable to sep-CMA-ES algorithms.
returns pointer to covariance diagnoal vector
|
inline |
returns reference to separable covariance diagonal vector, only applicable to sep-CMA-ES algorithms.
|
inline |
returns inverse root square of separable covariance diagonal matrix, only applicable to sep-CMA-ES algorithms.
sets new step-size value, use with care
| sigma | step-size value |
sets the current distributions' mean in parameter space
| xmean | mean vector |
|
inline |
returns current value of step-size sigma
|
inline |
number of candidate solutions.
|
inline |
returns current optimization status' message.
|
inline |
| cmaparams | parameter object that hold the genotype/phenotype transform |
| void libcmaes::CMASolutions::update_best_candidates | ( | ) |
updates the history of best candidates, as well as other meaningful values, typically used in termination criteria.
updates reference eigenvalue and eigenvectors, for use in termination criteria.
|
inline |
returns whether the last update is lazy
|
inline |
returns current distribution's mean in parameter space
|
private |
history of best candidate solutions.
|
private |
best seen candidate along the run.
|
private |
best function values over the past 20 steps, for termination criteria.
|
private |
current set of candidate solutions.
|
private |
temporary set of candidates used by uncertainty handling scheme.
|
private |
covariance matrix.
|
private |
expected vertical distance to the minimum.
|
private |
eigenvalues computation last step, lazy-update only.
|
private |
time consumed during last iteration.
|
private |
final elapsed time of stochastic optimization.
|
private |
0 or 1.
|
private |
k-th best candidate history, for termination criteria, k is kcand=1+floor(0.1+lambda/4).
|
private |
number of reevaluated solutions at current step.
|
private |
last computed eigenvalues, for termination criteria.
|
private |
last computed eigenvectors, for termination criteria.
|
private |
max eigenvalue, for termination criteria.
|
private |
max size of the history, keeps memory requirements fixed.
|
private |
median function values of some steps, in the past, for termination criteria.
|
private |
min eigenvalue, for termination criteria.
|
private |
number of function calls to reach the current solution.
|
private |
number of iterations to reach this solution, for termination criteria.
|
private |
cumulation for covariance.
profile likelihood for parameters it has been computed for.
|
private |
cumulation for sigma.
|
private |
current status of the stochastic optimization (e.g. running, or stopped under termination criteria).
|
private |
inverse root square of covariance matrix.
|
private |
step size.
|
private |
uncertainty level computed by uncertainty handling procedure.
|
private |
complementary vector for use in vdcma.
|
private |
distribution mean.
|
private |
previous step's mean vector.