#include <shark/Algorithms/DirectSearch/VDCMA.h>
Public Member Functions | |
VDCMA (DefaultRngType &rng=Rng::globalRng) | |
Default c'tor. More... | |
std::string | name () const |
From INameable: return the class name. More... | |
std::size_t | suggestLambda (std::size_t dimension) |
Calculates lambda for the supplied dimensionality n. More... | |
std::size_t | suggestMu (std::size_t lambda) |
Calculates mu for the supplied lambda and the recombination strategy. More... | |
void | init (ObjectiveFunctionType &function, SearchPointType const &p) |
initializes the optimizer using a predefined starting point More... | |
void | init (ObjectiveFunctionType const &function, SearchPointType const &initialSearchPoint, std::size_t lambda, std::size_t mu, double initialSigma) |
Initializes the algorithm for the supplied objective function. More... | |
void | step (ObjectiveFunctionType const &function) |
Executes one iteration of the algorithm. More... | |
double | sigma () const |
Accesses the current step size. More... | |
void | setSigma (double sigma) |
Accesses the current step size. More... | |
void | setInitialSigma (double initialSigma) |
set the initial step size of the algorithm. More... | |
RealVector const & | mean () const |
Accesses the current population mean. More... | |
RealVector const & | weights () const |
Accesses the current weighting vector. More... | |
RealVector const & | evolutionPath () const |
Accesses the evolution path for the covariance matrix update. More... | |
RealVector const & | evolutionPathSigma () const |
Accesses the evolution path for the step size update. More... | |
std::size_t | mu () const |
Returns the size of the parent population \(\mu\). More... | |
std::size_t & | mu () |
Returns a mutabl reference to the size of the parent population \(\mu\). More... | |
std::size_t | lambda () const |
Returns a immutable reference to the size of the offspring population \(\mu\). More... | |
std::size_t & | lambda () |
Returns a mutable reference to the size of the offspring population \(\mu\). More... | |
![]() | |
virtual void | init (ObjectiveFunctionType &function) |
virtual const SolutionType & | solution () const |
returns the current solution of the optimizer More... | |
![]() | |
const Features & | features () const |
virtual void | updateFeatures () |
bool | requiresValue () const |
bool | requiresFirstDerivative () const |
bool | requiresSecondDerivative () const |
bool | canSolveConstrained () const |
bool | requiresClosestFeasible () const |
virtual | ~AbstractOptimizer () |
Empty virtual d'tor. More... | |
![]() | |
virtual | ~INameable () |
![]() | |
virtual | ~ISerializable () |
Virtual d'tor. More... | |
virtual void | read (InArchive &archive) |
Read the component from the supplied archive. More... | |
virtual void | write (OutArchive &archive) const |
Write the component to the supplied archive. More... | |
void | load (InArchive &archive, unsigned int version) |
Versioned loading of components, calls read(...). More... | |
void | save (OutArchive &archive, unsigned int version) const |
Versioned storing of components, calls write(...). More... | |
BOOST_SERIALIZATION_SPLIT_MEMBER () | |
Additional Inherited Members | |
![]() | |
typedef base_type::SearchPointType | SearchPointType |
typedef base_type::SolutionType | SolutionType |
typedef base_type::ResultType | ResultType |
typedef base_type::ObjectiveFunctionType | ObjectiveFunctionType |
![]() | |
enum | Feature |
Models features that the optimizer requires from the objective function. More... | |
typedef RealVector | SearchPointType |
typedef double | ResultType |
typedef SingleObjectiveResultSet< RealVector > | SolutionType |
typedef AbstractObjectiveFunction< RealVector, ResultType > | ObjectiveFunctionType |
typedef TypedFlags< Feature > | Features |
typedef TypedFeatureNotAvailableException< Feature > | FeatureNotAvailableException |
![]() | |
void | checkFeatures (ObjectiveFunctionType const &objectiveFunction) |
Convenience function that checks whether the features of the supplied objective function match with the required features of the optimizer. More... | |
![]() | |
SolutionType | m_best |
current solution of the optimizer More... | |
![]() | |
Features | m_features |
|
inline |
Default c'tor.
Definition at line 61 of file VDCMA.h.
References shark::AbstractOptimizer< RealVector, double, SingleObjectiveResultSet< RealVector > >::m_features, and shark::AbstractOptimizer< RealVector, double, SingleObjectiveResultSet< RealVector > >::REQUIRES_VALUE.
|
inline |
|
inline |
|
inlinevirtual |
initializes the optimizer using a predefined starting point
Implements shark::AbstractSingleObjectiveOptimizer< RealVector >.
Definition at line 81 of file VDCMA.h.
References shark::AbstractOptimizer< RealVector, double, SingleObjectiveResultSet< RealVector > >::checkFeatures(), lambda(), mu(), sigma(), suggestLambda(), and suggestMu().
|
inline |
Initializes the algorithm for the supplied objective function.
Definition at line 100 of file VDCMA.h.
References lambda(), shark::AbstractSingleObjectiveOptimizer< RealVector >::m_best, shark::blas::max(), shark::blas::min(), mu(), shark::blas::norm_2(), shark::ResultSet< SearchPointT, ResultT >::point, shark::blas::repeat(), shark::sqr(), shark::blas::sum(), shark::uni(), and shark::ResultSet< SearchPointT, ResultT >::value.
|
inline |
|
inline |
Returns a mutable reference to the size of the offspring population \(\mu\).
Definition at line 231 of file VDCMA.h.
References shark::gauss(), shark::blas::inner_prod(), shark::blas::max(), shark::blas::min(), mu(), shark::blas::noalias(), shark::blas::norm_2(), and shark::sqr().
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
From INameable: return the class name.
Reimplemented from shark::INameable.
|
inline |
set the initial step size of the algorithm.
Sets the initial sigma at init to a given value. If this is 0, which it is by default, the default initialisation will be sigma= 1/sqrt(N) where N is the number of variables to optimize.
this method is the prefered one instead of init()
|
inline |
|
inline |
Accesses the current step size.
Definition at line 174 of file VDCMA.h.
Referenced by init(), and setSigma().
|
inlinevirtual |
Executes one iteration of the algorithm.
Implements shark::AbstractOptimizer< RealVector, double, SingleObjectiveResultSet< RealVector > >.
Definition at line 151 of file VDCMA.h.
References shark::AbstractSingleObjectiveOptimizer< RealVector >::m_best, shark::ResultSet< SearchPointT, ResultT >::point, and shark::ResultSet< SearchPointT, ResultT >::value.
|
inline |
|
inline |
|
inline |