libcmaes
A C++11 library for stochastic optimization with CMA-ES
 All Classes Namespaces Functions Variables Typedefs
ipopcmastrategy.h
1 
22 #ifndef IPOPCMASTRATEGY_H
23 #define IPOPCMASTRATEGY_H
24 
25 #include "cmastrategy.h"
26 
27 namespace libcmaes
28 {
34  template <class TCovarianceUpdate, class TGenoPheno>
35  class IPOPCMAStrategy : public CMAStrategy<TCovarianceUpdate, TGenoPheno>
36  {
37  public:
43  IPOPCMAStrategy(FitFunc &func,
44  CMAParameters<TGenoPheno> &parameters);
45 
52  IPOPCMAStrategy(FitFunc &func,
53  CMAParameters<TGenoPheno> &parameters,
54  const CMASolutions &solutions);
55 
56  ~IPOPCMAStrategy();
57 
61  void tell();
62 
73  int optimize(const EvalFunc &evalf, const AskFunc &askf,const TellFunc &tellf);
74 
82  int optimize()
83  {
84  return optimize(std::bind(&IPOPCMAStrategy<TCovarianceUpdate,TGenoPheno>::eval,this,std::placeholders::_1,std::placeholders::_2),
87  }
88 
89  protected:
90  void lambda_inc();
91  void reset_search_state();
92  void capture_best_solution(CMASolutions &best_run);
93  };
94 }
95 
96 #endif
Implementation of the IPOP flavor of CMA-ES, with restarts that linearly increase the population of o...
Definition: ipopcmastrategy.h:35
void tell()
Updates the covariance matrix and prepares for the next iteration.
Definition: ipopcmastrategy.cc:50
Holder of the set of evolving solutions from running an instance of CMA-ES.
Definition: cmasolutions.h:41
IPOPCMAStrategy(FitFunc &func, CMAParameters< TGenoPheno > &parameters)
constructor.
Definition: ipopcmastrategy.cc:30
int optimize()
Finds the minimum of the objective function. It makes alternate calls to ask(), tell() and stop() unt...
Definition: ipopcmastrategy.h:82
linear scaling of the parameter space to achieve similar sensitivity across all components.
Definition: acovarianceupdate.cc:25
Parameters for various flavors of the CMA-ES algorithm.
Definition: cmaparameters.h:35
This is an implementation of CMA-ES. It uses the reference algorithm and termination criteria of the ...
Definition: cmastrategy.h:45