25#include <libcmaes/libcmaes_config.h> 
   26#include <libcmaes/candidate.h> 
   27#include <libcmaes/eo_matrix.h> 
   28#include <libcmaes/cmaparameters.h> 
   29#include <libcmaes/cmastopcriteria.h> 
   30#include <libcmaes/pli.h> 
   43    template <
class U, 
class V> 
friend class CMAStrategy;
 
   44    template <
class U, 
class V, 
class W> 
friend class ESOptimizer;
 
   45    template <
class U, 
class V, 
class W> 
friend class ESOStrategy;
 
   51    template <
class U> 
friend class errstats;
 
   68    template<
class TGenoPheno=GenoPheno<NoBoundStrategy> >
 
   78      std::stable_sort(_candidates.begin(),_candidates.end(),
 
 
   87    void update_best_candidates();
 
   94    void update_eigenv(
const dVec &eigenvalues,
 
   95               const dMat &eigenvectors);
 
  105      if (_best_candidates_hist.empty()) 
 
  107      if (_initial_candidate.get_x_size())
 
  108        return _initial_candidate;
 
  109      else return Candidate(std::numeric_limits<double>::quiet_NaN(),_xmean);
 
  111      return _best_candidates_hist.back();
 
 
  120      return _best_seen_candidate;
 
 
  129      return _worst_seen_candidate;
 
 
  138    return _candidates.at(
r);
 
 
  141    inline Candidate get_candidate(
const int &
r)
 const 
  143      return _candidates.at(
r);
 
  160      return _candidates.size();
 
 
  174    void reset_as_fixed(
const int &
k);
 
  181      std::map<int,pli>::const_iterator 
mit;
 
  182      if ((
mit=_pls.find(
k))!=_pls.end())
 
 
  196      return _xmean.size();
 
 
  240    dMat full_cov() 
const;
 
  266      return _sepcov.data();
 
 
  294    template<
class TGenoPheno=GenoPheno<NoBoundStrategy> >
 
  300    stds = _cov.diagonal().cwiseSqrt();
 
  302    stds = _sepcov.cwiseSqrt();
 
  304    stds = (dVec::Constant(
cmaparams.dim(),1.0)+_v.cwiseProduct(_v)).
cwiseSqrt().cwiseProduct(_sepcov);
 
 
  314    template<
class TGenoPheno=GenoPheno<NoBoundStrategy> >
 
  317    return std::sqrt(_sigma)*stds(
cmaparams);
 
 
  330    double corr(
const int &
i, 
const int &
j) 
const;
 
  392      return _elapsed_time;
 
 
  401      return _elapsed_last_iter;
 
 
  446      return _updated_eigen;
 
 
  464      return _leigenvalues;
 
 
  473      return _leigenvectors;
 
 
  481    template <
class TGenoPheno=GenoPheno<NoBoundStrategy> >
 
  482    std::ostream& print(std::ostream &
out,
 
  500    double _max_eigenv = 0.0; 
 
  501    double _min_eigenv = 0.0; 
 
  512    bool _updated_eigen = 
true; 
 
  516    int _elapsed_time = 0; 
 
  517    int _elapsed_last_iter = 0; 
 
 
ACM Surrogate strategy for CMA-ES, follows: 'Surrogate-Assisted Evolutionary Algorithms',...
Definition surrogatestrategy.h:295
Active Covariance Matrix update. This implementation closely follows N. Hansen, R....
Definition acovarianceupdate.h:39
Implementation of the BIPOP flavor of CMA-ES, with restarts that control the population of offsprings...
Definition bipopcmastrategy.h:38
Holder of the set of evolving solutions from running an instance of CMA-ES.
Definition cmasolutions.h:42
std::vector< Candidate > _candidates
Definition cmasolutions.h:496
int run_status() const
returns current optimization status.
Definition cmasolutions.h:372
Candidate _best_seen_candidate
Definition cmasolutions.h:528
bool updated_eigen() const
returns whether the last update is lazy
Definition cmasolutions.h:444
double _suh
Definition cmasolutions.h:537
dVec _xmean
Definition cmasolutions.h:491
std::vector< Candidate > _k_best_candidates_hist
Definition cmasolutions.h:507
dVec stds(const CMAParameters< TGenoPheno > &cmaparams) const
Definition cmasolutions.h:295
dMat _sepcov
Definition cmasolutions.h:489
std::vector< double > _bfvalues
Definition cmasolutions.h:508
std::vector< RankedCandidate > _candidates_uh
Definition cmasolutions.h:535
dVec eigenvalues() const
returns last computed eigenvalues
Definition cmasolutions.h:462
bool get_pli(const int &k, pli &p) const
get profile likelihood if previously computed.
Definition cmasolutions.h:179
const dMat & cov_ref() const
returns reference to error covariance matrix
Definition cmasolutions.h:221
std::vector< Candidate > & candidates()
get a reference to the full candidate set
Definition cmasolutions.h:149
void sort_candidates()
sorts the current internal set of solution candidates.
Definition cmasolutions.h:76
std::vector< Candidate > _best_candidates_hist
Definition cmasolutions.h:497
const dMat & sepcov_ref() const
returns reference to separable covariance diagonal vector, only applicable to sep-CMA-ES algorithms.
Definition cmasolutions.h:255
int niter() const
returns current number of iterations
Definition cmasolutions.h:408
dMat csqinv() const
returns inverse root square of covariance matrix
Definition cmasolutions.h:273
double edm() const
returns expected distance to minimum.
Definition cmasolutions.h:203
void set_xmean(const dVec &xmean)
sets the current distributions' mean in parameter space
Definition cmasolutions.h:363
void set_sigma(const double &sigma)
sets new step-size value, use with care
Definition cmasolutions.h:345
int _lambda_reev
Definition cmasolutions.h:536
double min_eigenv() const
returns current minimal eigen value
Definition cmasolutions.h:426
int elapsed_last_iter() const
returns time spent on last iteration
Definition cmasolutions.h:399
dVec _xmean_prev
Definition cmasolutions.h:544
Candidate get_best_seen_candidate() const
returns the best seen candidate.
Definition cmasolutions.h:118
int elapsed_time() const
returns currently elapsed time spent on optimization
Definition cmasolutions.h:390
dMat _cov
Definition cmasolutions.h:487
dVec _psigma
Definition cmasolutions.h:492
dMat cov() const
returns error covariance matrix
Definition cmasolutions.h:212
int dim() const
return problem dimension.
Definition cmasolutions.h:194
Candidate best_candidate() const
returns current best solution candidate. NOTE: candidates MUST be sorted
Definition cmasolutions.h:103
std::vector< double > _median_fvalues
Definition cmasolutions.h:509
dMat eigenvectors() const
returns last computed eigenvectors
Definition cmasolutions.h:471
double max_eigenv() const
returns current maximal eigen value
Definition cmasolutions.h:435
double _sigma
Definition cmasolutions.h:495
dMat sepcov() const
returns separable covariance diagonal matrix, only applicable to sep-CMA-ES algorithms.
Definition cmasolutions.h:246
dMat _leigenvectors
Definition cmasolutions.h:503
const double * sepcov_data() const
returns pointer to covariance diagnoal vector
Definition cmasolutions.h:264
dMat sepcsqinv() const
returns inverse root square of separable covariance diagonal matrix, only applicable to sep-CMA-ES al...
Definition cmasolutions.h:282
int fevals() const
returns current number of objective function evaluations
Definition cmasolutions.h:453
int nevals() const
returns current budget (number of objective function calls)
Definition cmasolutions.h:417
Candidate & get_candidate(const int &r)
get a reference to the r-th candidate in current set
Definition cmasolutions.h:136
dVec _v
Definition cmasolutions.h:533
dVec _leigenvalues
Definition cmasolutions.h:502
dVec _pc
Definition cmasolutions.h:493
CMASolutions()
dummy constructor.
Definition cmasolutions.h:62
const double * cov_data() const
returns pointer to covariance matrix array
Definition cmasolutions.h:230
dVec errors(const CMAParameters< TGenoPheno > &cmaparams) const
Definition cmasolutions.h:315
std::string status_msg() const
returns current optimization status' message.
Definition cmasolutions.h:381
Candidate get_worst_seen_candidate() const
returns the worst seen candidate.
Definition cmasolutions.h:127
dVec xmean() const
returns current distribution's mean in parameter space
Definition cmasolutions.h:354
int size() const
number of candidate solutions.
Definition cmasolutions.h:158
double sigma() const
returns current value of step-size sigma
Definition cmasolutions.h:336
std::map< int, pli > _pls
Definition cmasolutions.h:525
CMA-ES termination criteria, see reference paper in cmastrategy.h.
Definition cmastopcriteria.h:76
This is an implementation of CMA-ES. It uses the reference algorithm and termination criteria of the ...
Definition cmastrategy.h:46
candidate solution point, in function parameter space.
Definition candidate.h:34
Covariance Matrix update. This is an implementation closely follows: Hansen, N. (2009)....
Definition covarianceupdate.h:38
Main class describing an evolutionary optimization strategy. Every algorithm in libcmaes descends fro...
Definition esostrategy.h:52
an optimizer main class.
Definition esoptimizer.h:72
ESOptimizer()
dummy constructor
Definition esoptimizer.h:77
Implementation of the IPOP flavor of CMA-ES, with restarts that linearly increase the population of o...
Definition ipopcmastrategy.h:36
Simple surrogate strategy: trains every n steps, and exploits in between, mostly as an example and fo...
Definition surrogatestrategy.h:216
VD-CMA update that is a linear time/space variant of CMA-ES This is an implementation that closely fo...
Definition vdcmaupdate.h:39
profile likelihood object holder as a set of points and values.
Definition pli.h:35
linear scaling of the parameter space to achieve similar sensitivity across all components.
Definition acovarianceupdate.h:30