|
SHARK_EXPORT_SYMBOL | CMA (random::rng_type &rng=random::globalRng) |
| Default c'tor.
|
|
std::string | name () const |
| From INameable: return the class name.
|
|
SHARK_EXPORT_SYMBOL void | read (InArchive &archive) |
| Read the component from the supplied archive.
|
|
SHARK_EXPORT_SYMBOL void | write (OutArchive &archive) const |
| Write the component to the supplied archive.
|
|
SHARK_EXPORT_SYMBOL void | init (ObjectiveFunctionType const &function, SearchPointType const &p) |
| Initializes the algorithm for the supplied objective function.
|
|
SHARK_EXPORT_SYMBOL void | init (ObjectiveFunctionType const &function, SearchPointType const &initialSearchPoint, std::size_t lambda, std::size_t mu, double initialSigma, const boost::optional< RealMatrix > &initialCovarianceMatrix=boost::optional< RealMatrix >()) |
| Initializes the algorithm for the supplied objective function.
|
|
SHARK_EXPORT_SYMBOL void | step (ObjectiveFunctionType const &function) |
| Executes one iteration of the algorithm.
|
|
void | setInitialSigma (double initSigma) |
| sets the initial step length sigma
|
|
double | sigma () const |
| Accesses the current step size.
|
|
RealVector const & | mean () const |
| Accesses the current population mean.
|
|
RealVector const & | weights () const |
| Accesses the current weighting vector.
|
|
RealVector const & | evolutionPath () const |
| Accesses the evolution path for the covariance matrix update.
|
|
RealVector const & | evolutionPathSigma () const |
| Accesses the evolution path for the step size update.
|
|
RealMatrix const & | covarianceMatrix () const |
| Accesses the covariance matrix of the normal distribution used for generating offspring individuals.
|
|
RecombinationType | recombinationType () const |
| Accesses the recombination type.
|
|
RecombinationType & | recombinationType () |
| Returns a mutable reference to the recombination type.
|
|
const double & | lowerBound () const |
| Returns a const reference to the lower bound on sigma times smalles eigenvalue.
|
|
void | setLowerBound (double lowerBound) |
| Set the lower bound on sigma times smalles eigenvalue.
|
|
std::size_t | mu () const |
| Returns the size of the parent population \(\mu\).
|
|
void | setMu (std::size_t mu) |
| Sets the number of selected samples.
|
|
void | setLambda (std::size_t lambda) |
| Sets the number of sampled points.
|
|
std::size_t | lambda () const |
| Returns a immutable reference to the size of the offspring population \(\mu\).
|
|
RealMatrix const & | eigenVectors () const |
| Returns eigenvectors of covariance matrix (not considering step size)
|
|
RealVector const & | eigenValues () const |
| Returns a eigenvectors of covariance matrix (not considering step size)
|
|
double | condition () const |
| Returns condition of covariance matrix.
|
|
std::size_t | numberOfEvaluations () const |
| Returns how often a point is evaluated.
|
|
std::size_t | numInitPoints () const |
| By default most single objective optimizers only require a single point.
|
|
virtual void | init (ObjectiveFunctionType const &function, std::vector< SearchPointType > const &initPoints) |
| Initialize the optimizer for the supplied objective function using a set of initialisation points.
|
|
virtual const SolutionType & | solution () const |
| returns the current solution of the optimizer
|
|
const Features & | features () const |
|
virtual void | updateFeatures () |
|
bool | requiresValue () const |
|
bool | requiresFirstDerivative () const |
|
bool | requiresSecondDerivative () const |
|
bool | canSolveConstrained () const |
|
bool | requiresClosestFeasible () const |
|
virtual | ~AbstractOptimizer () |
|
virtual void | init (ObjectiveFunctionType const &function) |
| Initialize the optimizer for the supplied objective function.
|
|
virtual void | init (ObjectiveFunctionType const &function, std::vector< SearchPointType > const &initPoints)=0 |
| Initialize the optimizer for the supplied objective function using a set of initialisation points.
|
|
virtual void | step (ObjectiveFunctionType const &function)=0 |
| Carry out one step of the optimizer for the supplied objective function.
|
|
virtual | ~INameable () |
|
virtual | ~ISerializable () |
| Virtual d'tor.
|
|
void | load (InArchive &archive, unsigned int version) |
| Versioned loading of components, calls read(...).
|
|
void | save (OutArchive &archive, unsigned int version) const |
| Versioned storing of components, calls write(...).
|
|
| BOOST_SERIALIZATION_SPLIT_MEMBER () |
|
Implements the CMA-ES.
The algorithm is described in
Hansen, N., S. Kern (2004). Evaluating the CMA Evolution Strategy on Multimodal Test Functions. In Proceedings of the Eighth International Conference on Parallel Problem Solving from Nature (PPSN VIII), pp. 282-291, LNCS, Springer-Verlag
For noisy function, noise handling is supported using the noise level detection algorithm described in Hansen, N., et al. "A method for handling uncertainty in evolutionary
optimization with an application to feedback control of combustion." IEEE Transactions on Evolutionary Computation 13.1 (2009): 180-197. Our implementation varies in small details, e.g. instead of the average rank the rank of the average function value is used for updating the strategy parameters which ensures asymptotic unbiasedness. We further do not have an upper bound on the number of reevaluations for the same reason.
Definition at line 66 of file CMA.h.