22#ifndef CMAPARAMETERS_H 
   23#define CMAPARAMETERS_H 
   25#include <libcmaes/parameters.h> 
   26#include <libcmaes/eo_matrix.h> 
   27#include <libcmaes/cmaes_export.h> 
   35  template <
class TGenoPheno=GenoPheno<NoBoundStrategy> >
 
   39      template <
class U, 
class V> 
friend class CMAStrategy;
 
   40      template <
class U, 
class V, 
class W> 
friend class ESOStrategy;
 
   46      template <
class U> 
friend class errstats;
 
   94            const std::vector<double> &sigma,
 
   96            const std::vector<double> &
lbounds=std::vector<double>(),
 
   97            const std::vector<double> &
ubounds=std::vector<double>(),
 
  105      void initialize_parameters();
 
  108      void reset_as_fixed(
const int &
k);
 
  142    std::map<std::string,int>::const_iterator 
mit;
 
  145    else LOG(ERROR) << 
"unknown algorithm " << 
algo << std::endl;
 
  146    if (
algo.find(
"sep")!=std::string::npos)
 
  148    if (
algo.find(
"vd")!=std::string::npos)
 
 
  202      void set_fixed_p(
const int &index, 
const double &
value);
 
  208      void unset_fixed_p(
const int &index);
 
  246      _elitist = _initial_elitist = _initial_elitist_on_restart;
 
  250        _initial_elitist = _initial_elitist_on_restart = 
false;
 
  254        _initial_elitist = 
true;
 
  255        _elitist = _initial_elitist_on_restart = 
false;
 
  259        _initial_elitist_on_restart = 
true;
 
  260        _elitist = _initial_elitist = 
false;
 
 
  273    _stoppingcrit.insert(std::pair<int,bool>(
criteria,active));
 
 
  281      void set_tpa(
const int &
b); 
 
  322      bool _elitist = 
false; 
 
  323      bool _initial_elitist = 
false; 
 
  324      bool _initial_elitist_on_restart = 
false; 
 
 
  330  template<
class TGenoPheno>
 
  331    std::map<std::string,int> 
Parameters<TGenoPheno>::_algos = {{
"cmaes",0},{
"ipop",1},{
"bipop",2},{
"acmaes",3},{
"aipop",4},{
"abipop",5},{
"sepcmaes",6},{
"sepipop",7},{
"sepbipop",8},{
"sepacmaes",9},{
"sepaipop",10},{
"sepabipop",11},{
"vdcma",12},{
"vdipopcma",13},{
"vdbipopcma",14}};
 
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
Parameters for various flavors of the CMA-ES algorithm.
Definition cmaparameters.h:37
double _deltamaxsigma
Definition cmaparameters.h:314
void set_lazy_update(const bool &lz)
sets the lazy update (i.e. updates the eigenvalues every few steps).
Definition cmaparameters.h:226
double _cmu
Definition cmaparameters.h:294
int _mu
Definition cmaparameters.h:290
void set_restarts(const int &nrestarts)
sets the maximum number of restarts (applies to IPOP and BIPOP).
Definition cmaparameters.h:214
void set_tpa_dsigma(const double &d)
sets dsigma value, use with care.
Definition cmaparameters.h:287
bool is_vd() const
whether algorithm uses vd update.
Definition cmaparameters.h:194
std::map< int, bool > _stoppingcrit
Definition cmaparameters.h:327
void set_stopping_criteria(const int &criteria, const bool &active)
all stopping criteria are active by default, this allows to control them
Definition cmaparameters.h:270
double _cm
Definition cmaparameters.h:311
int get_restarts() const
get the number of restarts (applies to IPOP and BIPOP).
Definition cmaparameters.h:220
double _alphaminusold
Definition cmaparameters.h:313
bool is_sep() const
whether algorithm leverages separability.
Definition cmaparameters.h:183
void set_elitism(const int &e)
sets elitism: 0 -> no elitism 1 -> elitism: reinjects the best-ever seen solution 2 -> initial elitis...
Definition cmaparameters.h:243
double _dsigma
Definition cmaparameters.h:297
double _sigma_init
Definition cmaparameters.h:304
double _alphaminusmin
Definition cmaparameters.h:316
double get_sigma_init() const
returns initial sigma value
Definition cmaparameters.h:156
double _csigma
Definition cmaparameters.h:292
void set_str_algo(const std::string &algo)
sets the optimization algorithm.
Definition cmaparameters.h:140
dVec _weights
Definition cmaparameters.h:291
void set_gradient(const bool &gradient)
activates the gradient injection scheme. If no gradient function is defined, injects a numerical grad...
Definition cmaparameters.h:167
bool get_lazy_update()
get lazy update status.
Definition cmaparameters.h:232
double _chi
Definition cmaparameters.h:302
bool _lazy_update
Definition cmaparameters.h:307
double _c1
Definition cmaparameters.h:293
double _lazy_value
Definition cmaparameters.h:308
double _alphacov
Definition cmaparameters.h:312
void set_algo(const int &algo)
sets the optimization algorithm. Note: overrides Parameters::set_algo
Definition cmaparameters.h:120
double _cc
Definition cmaparameters.h:295
double _muw
Definition cmaparameters.h:296
double _lambdamintarget
Definition cmaparameters.h:315
Holder of the set of evolving solutions from running an instance of CMA-ES.
Definition cmasolutions.h:42
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
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
Generic class for Evolution Strategy parameters.
Definition parameters.h:42
VD-CMA update that is a linear time/space variant of CMA-ES This is an implementation that closely fo...
Definition vdcmaupdate.h:39
linear scaling of the parameter space to achieve similar sensitivity across all components.
Definition acovarianceupdate.h:30