Implements the \((\mu+1)\)-MO-CMA-ES. More...
#include <shark/Algorithms/DirectSearch/SteadyStateMOCMA.h>
Public Types | |
enum | NotionOfSuccess { IndividualBased, PopulationBased } |
Public Types inherited from shark::AbstractMultiObjectiveOptimizer< RealVector > | |
typedef super::SearchPointType | SearchPointType |
typedef super::SolutionType | SolutionType |
typedef super::ObjectiveFunctionType | ObjectiveFunctionType |
Public Types inherited from shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > > | |
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 | |
IndicatorBasedSteadyStateMOCMA (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 |
Returns the number of points this method requires for initialisation. More... | |
double | initialSigma () const |
double & | initialSigma () |
NotionOfSuccess | notionOfSuccess () const |
NotionOfSuccess & | notionOfSuccess () |
Indicator & | indicator () |
Indicator const & | indicator () const |
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... | |
Public Member Functions inherited from shark::AbstractMultiObjectiveOptimizer< RealVector > | |
SolutionType const & | solution () const |
Accesses the current approximation of the Pareto-set and -front, respectively. More... | |
Public Member Functions inherited from shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > > | |
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... | |
Public Member Functions inherited from shark::INameable | |
virtual | ~INameable () |
Public Member Functions inherited from shark::ISerializable | |
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) |
Protected Member Functions inherited from shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > > | |
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... | |
Protected Attributes inherited from shark::AbstractMultiObjectiveOptimizer< RealVector > | |
SolutionType | m_best |
The current Pareto-set/-front. More... | |
Protected Attributes inherited from shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > > | |
Features | m_features |
Implements the \((\mu+1)\)-MO-CMA-ES.
Please see the following papers for further reference:
Definition at line 52 of file SteadyStateMOCMA.h.
|
protected |
The individual type of the SteadyState-MOCMA.
Definition at line 161 of file SteadyStateMOCMA.h.
enum shark::IndicatorBasedSteadyStateMOCMA::NotionOfSuccess |
Enumerator | |
---|---|
IndividualBased | |
PopulationBased |
Definition at line 54 of file SteadyStateMOCMA.h.
|
inline |
Definition at line 60 of file SteadyStateMOCMA.h.
References shark::IndicatorBasedSteadyStateMOCMA< Indicator >::initialSigma(), shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > >::m_features, shark::IndicatorBasedSteadyStateMOCMA< Indicator >::mu(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::notionOfSuccess(), and shark::IndicatorBasedSteadyStateMOCMA< Indicator >::PopulationBased.
|
inlineprotected |
Definition at line 163 of file SteadyStateMOCMA.h.
References shark::random::discrete(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::indicator(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::initialSigma(), shark::AbstractMultiObjectiveOptimizer< RealVector >::m_best, shark::IndicatorBasedSteadyStateMOCMA< Indicator >::m_parents, shark::IndicatorBasedSteadyStateMOCMA< Indicator >::mu(), and SIZE_CHECK.
Referenced by shark::IndicatorBasedSteadyStateMOCMA< Indicator >::init().
|
inlineprotected |
Definition at line 207 of file SteadyStateMOCMA.h.
References shark::random::discrete(), and shark::IndicatorBasedSteadyStateMOCMA< Indicator >::m_parents.
Referenced by shark::IndicatorBasedSteadyStateMOCMA< Indicator >::step().
|
inline |
Definition at line 100 of file SteadyStateMOCMA.h.
Referenced by shark::IndicatorBasedSteadyStateMOCMA< Indicator >::doInit().
|
inline |
Definition at line 103 of file SteadyStateMOCMA.h.
|
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 135 of file SteadyStateMOCMA.h.
References shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > >::checkFeatures(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::doInit(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::initialSigma(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::mu(), and SHARK_RUNTIME_CHECK.
|
inline |
|
inline |
Definition at line 89 of file SteadyStateMOCMA.h.
|
inline |
Definition at line 75 of file SteadyStateMOCMA.h.
Referenced by shark::IndicatorBasedSteadyStateMOCMA< Indicator >::doInit(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::IndicatorBasedSteadyStateMOCMA(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::init(), and shark::IndicatorBasedSteadyStateMOCMA< Indicator >::updatePopulation().
|
inline |
Definition at line 78 of file SteadyStateMOCMA.h.
|
inlinevirtual |
Returns the name of the algorithm.
Reimplemented from shark::INameable.
Definition at line 71 of file SteadyStateMOCMA.h.
|
inline |
Definition at line 93 of file SteadyStateMOCMA.h.
Referenced by shark::IndicatorBasedSteadyStateMOCMA< Indicator >::IndicatorBasedSteadyStateMOCMA().
|
inline |
Definition at line 96 of file SteadyStateMOCMA.h.
|
inlinevirtual |
Returns the number of points this method requires for initialisation.
The number of points supplied is allowed to be smaller, however in this case the optimizer will resort to techniques generating additional points if needed.
Implements shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > >.
Definition at line 82 of file SteadyStateMOCMA.h.
|
inlinevirtual |
Read the component from the supplied archive.
[in,out] | archive | The archive to read from. |
Reimplemented from shark::ISerializable.
Definition at line 107 of file SteadyStateMOCMA.h.
References shark::AbstractMultiObjectiveOptimizer< RealVector >::m_best, and shark::IndicatorBasedSteadyStateMOCMA< 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 153 of file SteadyStateMOCMA.h.
References shark::IndicatorBasedSteadyStateMOCMA< Indicator >::generateOffspring(), and shark::IndicatorBasedSteadyStateMOCMA< Indicator >::updatePopulation().
|
inlineprotected |
Definition at line 223 of file SteadyStateMOCMA.h.
References shark::IndicatorBasedSteadyStateMOCMA< Indicator >::IndividualBased, shark::AbstractMultiObjectiveOptimizer< RealVector >::m_best, shark::IndicatorBasedSteadyStateMOCMA< Indicator >::m_parents, shark::IndicatorBasedSteadyStateMOCMA< Indicator >::mu(), shark::CMAIndividual< FitnessType >::parent(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::PopulationBased, shark::Individual< PointType, FitnessTypeT, Chromosome >::rank(), shark::Individual< PointType, FitnessTypeT, Chromosome >::selected(), shark::CMAChromosome::Successful, shark::CMAChromosome::Unsuccessful, shark::CMAIndividual< FitnessType >::updateAsOffspring(), and shark::CMAIndividual< FitnessType >::updateAsParent().
Referenced by shark::IndicatorBasedSteadyStateMOCMA< 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 117 of file SteadyStateMOCMA.h.
References shark::AbstractMultiObjectiveOptimizer< RealVector >::m_best, and shark::IndicatorBasedSteadyStateMOCMA< Indicator >::m_parents.
|
protected |
Population of size \(\mu + 1\).
Definition at line 256 of file SteadyStateMOCMA.h.
Referenced by shark::IndicatorBasedSteadyStateMOCMA< Indicator >::doInit(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::generateOffspring(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::read(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::updatePopulation(), and shark::IndicatorBasedSteadyStateMOCMA< Indicator >::write().