Implements the generational MO-CMA-ES. More...
#include <shark/Algorithms/DirectSearch/MOCMA.h>
Public Types | |
enum | NotionOfSuccess { IndividualBased, PopulationBased } |
![]() | |
typedef super::SearchPointType | SearchPointType |
typedef super::SolutionType | SolutionType |
typedef super::ObjectiveFunctionType | ObjectiveFunctionType |
![]() | |
enum | Feature |
Models features that the optimizer requires from the objective function. More... | |
typedef RealVector | SearchPointType |
typedef RealVector | ResultType |
typedef std::vector< ResultSet< RealVector, RealVector > > | SolutionType |
typedef AbstractObjectiveFunction< RealVector, ResultType > | ObjectiveFunctionType |
typedef TypedFlags< Feature > | Features |
typedef TypedFeatureNotAvailableException< Feature > | FeatureNotAvailableException |
Public Member Functions | |
IndicatorBasedMOCMA (random::rng_type &rng=random::globalRng) | |
std::string | name () const |
Returns the name of the algorithm. More... | |
std::size_t | mu () const |
std::size_t & | mu () |
std::size_t | numInitPoints () const |
The number of points used for initialization of the algorithm. More... | |
double | initialSigma () const |
double & | initialSigma () |
NotionOfSuccess | notionOfSuccess () const |
NotionOfSuccess & | notionOfSuccess () |
void | read (InArchive &archive) |
Read the component from the supplied archive. More... | |
void | write (OutArchive &archive) const |
Write the component to the supplied archive. More... | |
void | init (ObjectiveFunctionType const &function, std::vector< SearchPointType > const &initialSearchPoints) |
Initializes the algorithm for the supplied objective function. More... | |
void | step (ObjectiveFunctionType const &function) |
Executes one iteration of the algorithm. More... | |
Indicator & | indicator () |
Indicator const & | indicator () const |
![]() | |
SolutionType const & | solution () const |
Accesses the current approximation of the Pareto-set and -front, respectively. 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 () |
virtual void | init (ObjectiveFunctionType const &function) |
Initialize the optimizer for the supplied objective function. More... | |
![]() | |
virtual | ~INameable () |
![]() | |
virtual | ~ISerializable () |
Virtual d'tor. 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 () | |
Protected Types | |
typedef CMAIndividual< RealVector > | IndividualType |
The individual type of the SteadyState-MOCMA. More... | |
Protected Member Functions | |
void | doInit (std::vector< SearchPointType > const &initialSearchPoints, std::vector< ResultType > const &functionValues, std::size_t mu, double initialSigma) |
std::vector< IndividualType > | generateOffspring () const |
void | updatePopulation (std::vector< IndividualType > const &offspringVec) |
![]() | |
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... | |
Protected Attributes | |
std::vector< IndividualType > | m_parents |
Population of size \(\mu + 1\). More... | |
![]() | |
SolutionType | m_best |
The current Pareto-set/-front. More... | |
![]() | |
Features | m_features |
Implements the generational MO-CMA-ES.
Please see the following papers for further reference:
|
protected |
enum shark::IndicatorBasedMOCMA::NotionOfSuccess |
|
inline |
Definition at line 63 of file MOCMA.h.
References shark::IndicatorBasedMOCMA< Indicator >::initialSigma(), shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > >::m_features, shark::IndicatorBasedMOCMA< Indicator >::mu(), shark::IndicatorBasedMOCMA< Indicator >::notionOfSuccess(), and shark::IndicatorBasedMOCMA< Indicator >::PopulationBased.
|
inlineprotected |
Definition at line 166 of file MOCMA.h.
References shark::random::discrete(), shark::IndicatorBasedMOCMA< Indicator >::indicator(), shark::IndicatorBasedMOCMA< Indicator >::initialSigma(), shark::AbstractMultiObjectiveOptimizer< RealVector >::m_best, shark::IndicatorBasedMOCMA< Indicator >::m_parents, shark::IndicatorBasedMOCMA< Indicator >::mu(), and SIZE_CHECK.
Referenced by shark::IndicatorBasedMOCMA< Indicator >::init().
|
inlineprotected |
Definition at line 208 of file MOCMA.h.
References shark::IndicatorBasedMOCMA< Indicator >::m_parents, and shark::IndicatorBasedMOCMA< Indicator >::mu().
Referenced by shark::IndicatorBasedMOCMA< Indicator >::step().
|
inline |
Definition at line 156 of file MOCMA.h.
Referenced by shark::IndicatorBasedMOCMA< Indicator >::doInit(), and main().
|
inline |
|
inlinevirtual |
Initializes the algorithm for the supplied objective function.
[in] | function | The objective function. |
[in] | initialSearchPoints | A set of intiial search points. |
Implements shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > >.
Definition at line 131 of file MOCMA.h.
References shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > >::checkFeatures(), shark::IndicatorBasedMOCMA< Indicator >::doInit(), shark::IndicatorBasedMOCMA< Indicator >::initialSigma(), shark::IndicatorBasedMOCMA< Indicator >::mu(), and SHARK_RUNTIME_CHECK.
Referenced by main().
|
inline |
Definition at line 90 of file MOCMA.h.
Referenced by shark::IndicatorBasedMOCMA< Indicator >::doInit(), shark::IndicatorBasedMOCMA< Indicator >::IndicatorBasedMOCMA(), and shark::IndicatorBasedMOCMA< Indicator >::init().
|
inline |
|
inline |
Definition at line 78 of file MOCMA.h.
Referenced by shark::IndicatorBasedMOCMA< Indicator >::doInit(), shark::IndicatorBasedMOCMA< Indicator >::generateOffspring(), shark::IndicatorBasedMOCMA< Indicator >::IndicatorBasedMOCMA(), shark::IndicatorBasedMOCMA< Indicator >::init(), main(), and shark::IndicatorBasedMOCMA< Indicator >::updatePopulation().
|
inline |
|
inlinevirtual |
Returns the name of the algorithm.
Reimplemented from shark::INameable.
|
inline |
Definition at line 97 of file MOCMA.h.
Referenced by shark::IndicatorBasedMOCMA< Indicator >::IndicatorBasedMOCMA().
|
inline |
|
inlinevirtual |
The number of points used for initialization of the algorithm.
Implements shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > >.
|
inlinevirtual |
Read the component from the supplied archive.
[in,out] | archive | The archive to read from. |
Reimplemented from shark::ISerializable.
Definition at line 103 of file MOCMA.h.
References shark::AbstractMultiObjectiveOptimizer< RealVector >::m_best, and shark::IndicatorBasedMOCMA< Indicator >::m_parents.
|
inlinevirtual |
Executes one iteration of the algorithm.
[in] | function | The function to iterate upon. |
Implements shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > >.
Definition at line 149 of file MOCMA.h.
References shark::IndicatorBasedMOCMA< Indicator >::generateOffspring(), and shark::IndicatorBasedMOCMA< Indicator >::updatePopulation().
Referenced by main().
|
inlineprotected |
Definition at line 219 of file MOCMA.h.
References shark::IndicatorBasedMOCMA< Indicator >::IndividualBased, shark::IndicatorBasedMOCMA< Indicator >::m_parents, shark::IndicatorBasedMOCMA< Indicator >::mu(), shark::IndicatorBasedMOCMA< Indicator >::PopulationBased, shark::CMAChromosome::Successful, and shark::CMAChromosome::Unsuccessful.
Referenced by shark::IndicatorBasedMOCMA< Indicator >::step().
|
inlinevirtual |
Write the component to the supplied archive.
[in,out] | archive | The archive to write to. |
Reimplemented from shark::ISerializable.
Definition at line 113 of file MOCMA.h.
References shark::AbstractMultiObjectiveOptimizer< RealVector >::m_best, and shark::IndicatorBasedMOCMA< Indicator >::m_parents.
|
protected |
Population of size \(\mu + 1\).
Definition at line 251 of file MOCMA.h.
Referenced by shark::IndicatorBasedMOCMA< Indicator >::doInit(), shark::IndicatorBasedMOCMA< Indicator >::generateOffspring(), shark::IndicatorBasedMOCMA< Indicator >::read(), shark::IndicatorBasedMOCMA< Indicator >::updatePopulation(), and shark::IndicatorBasedMOCMA< Indicator >::write().