Implements the \((\mu+1)\)-MO-CMA-ES. More...
#include <shark/Algorithms/DirectSearch/SteadyStateMOCMA.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 | |
IndicatorBasedSteadyStateMOCMA (DefaultRngType &rng=Rng::globalRng) | |
std::string | name () const |
Returns the name of the algorithm. More... | |
std::size_t | mu () const |
std::size_t & | mu () |
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 &function) |
Initializes the optimizer for the supplied objective function. More... | |
void | init (ObjectiveFunctionType &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... | |
![]() | |
virtual | ~AbstractMultiObjectiveOptimizer () |
Virtual empty d'tor. More... | |
const SolutionType & | 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 () |
Empty virtual d'tor. 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 \((\mu+1)\)-MO-CMA-ES.
Please see the following papers for further reference:
Definition at line 54 of file SteadyStateMOCMA.h.
|
protected |
The individual type of the SteadyState-MOCMA.
Definition at line 162 of file SteadyStateMOCMA.h.
enum shark::IndicatorBasedSteadyStateMOCMA::NotionOfSuccess |
Enumerator | |
---|---|
IndividualBased | |
PopulationBased |
Definition at line 56 of file SteadyStateMOCMA.h.
|
inline |
Definition at line 62 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 164 of file SteadyStateMOCMA.h.
References shark::discrete(), 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::discrete(), and shark::IndicatorBasedSteadyStateMOCMA< Indicator >::m_parents.
Referenced by shark::IndicatorBasedSteadyStateMOCMA< Indicator >::step().
|
inlinevirtual |
Initializes the optimizer for the supplied objective function.
Tries to sample an initial starting point. If the function does not implement this feature, an exception is thrown. Otherwise, the call is dispatched to the pure-virtual function.
function | The function to be initialized for. |
Exception | if the function does not feature the proposal of starting points. |
Reimplemented from shark::AbstractMultiObjectiveOptimizer< RealVector >.
Definition at line 119 of file SteadyStateMOCMA.h.
References shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > >::checkFeatures(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::mu(), and SHARKEXCEPTION.
|
inlinevirtual |
Initializes the algorithm for the supplied objective function.
[in] | function | The objective function. |
[in] | initialSearchPoints | A set of intiial search points. |
Implements shark::AbstractMultiObjectiveOptimizer< 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 SHARKEXCEPTION.
|
inline |
|
inline |
Definition at line 87 of file SteadyStateMOCMA.h.
|
inline |
Definition at line 77 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 80 of file SteadyStateMOCMA.h.
|
inlinevirtual |
Returns the name of the algorithm.
Reimplemented from shark::INameable.
Definition at line 73 of file SteadyStateMOCMA.h.
|
inline |
Definition at line 91 of file SteadyStateMOCMA.h.
Referenced by shark::IndicatorBasedSteadyStateMOCMA< Indicator >::IndicatorBasedSteadyStateMOCMA().
|
inline |
Definition at line 94 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 98 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 154 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 108 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().