OpenANN
1.1.0
An open source library for artificial neural networks.
|
Evolution Strategies with Covariance Matrix Adaption and a restart strategy that increases the population size (IPOP-CMA-ES). More...
#include <IPOPCMAES.h>
Public Member Functions | |
IPOPCMAES () | |
Create an instance of IPOPCMAES. More... | |
virtual | ~IPOPCMAES () |
virtual void | setOptimizable (Optimizable &opt) |
Pass the objective function. More... | |
virtual void | setStopCriteria (const StoppingCriteria &stop) |
Pass the stop criteria. More... | |
bool | restart () |
Restart the optimizer. More... | |
virtual void | optimize () |
Optimize until the optimization meets the stop criteria. More... | |
virtual bool | step () |
Execute one optimization step. More... | |
Eigen::VectorXd | getNext () |
Get next parameter vector. More... | |
void | setError (double fitness) |
Set fitness of last individual. More... | |
bool | terminated () |
Did the optimizer finish? More... | |
virtual Eigen::VectorXd | result () |
Determine the best result. More... | |
virtual std::string | name () |
Get the name of the optimization algorithm. More... | |
void | setSigma0 (double sigma0) |
Set the initial step size. More... | |
Public Member Functions inherited from OpenANN::Optimizer | |
virtual | ~Optimizer () |
Evolution Strategies with Covariance Matrix Adaption and a restart strategy that increases the population size (IPOP-CMA-ES).
IPOP-CMA-ES is an evolutionary optimization algorithm that requires no gradient. The following stopping criteria will be regarged:
IPOPCMAES does not support step-wise execution with step(). Use the functions getNext() and setError() instead to get the next parameter vector and set fitness values respectively.
[1] Hansen and Ostermeier: Completely Derandomized Self-Adaptation in Evolution Strategies. Evolutionary Computation, 9 (2), pp. 159-195, 2001.
[2] Auger and Hansen: A Restart CMA Evolution Strategy With Increasing Population Size. IEEE Congress on Evolutionary Computation, pp. 1769-1776, 2005.
OpenANN::IPOPCMAES::IPOPCMAES | ( | ) |
Create an instance of IPOPCMAES.
|
virtual |
Eigen::VectorXd OpenANN::IPOPCMAES::getNext | ( | ) |
Get next parameter vector.
|
virtual |
Get the name of the optimization algorithm.
Implements OpenANN::Optimizer.
|
virtual |
Optimize until the optimization meets the stop criteria.
Implements OpenANN::Optimizer.
bool OpenANN::IPOPCMAES::restart | ( | ) |
Restart the optimizer.
|
virtual |
Determine the best result.
Implements OpenANN::Optimizer.
void OpenANN::IPOPCMAES::setError | ( | double | fitness) |
Set fitness of last individual.
fitness | fitness |
|
virtual |
Pass the objective function.
optimizable | objective function, e. g. error function of an ANN |
Implements OpenANN::Optimizer.
void OpenANN::IPOPCMAES::setSigma0 | ( | double | sigma0) |
Set the initial step size.
sigma0 | initial step size |
|
virtual |
Pass the stop criteria.
sc | the parameters used to stop the optimization |
Implements OpenANN::Optimizer.
|
virtual |
Execute one optimization step.
Implements OpenANN::Optimizer.
bool OpenANN::IPOPCMAES::terminated | ( | ) |
Did the optimizer finish?