shark::IndicatorBasedSteadyStateMOCMA< Indicator > Class Template Reference

Implements the \((\mu+1)\)-MO-CMA-ES. More...

#include <shark/Algorithms/DirectSearch/SteadyStateMOCMA.h>

+ Inheritance diagram for shark::IndicatorBasedSteadyStateMOCMA< Indicator >:

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, ResultTypeObjectiveFunctionType
 
typedef TypedFlags< FeatureFeatures
 
typedef TypedFeatureNotAvailableException< FeatureFeatureNotAvailableException
 

Public Member Functions

 IndicatorBasedSteadyStateMOCMA ()
 
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 ()
 
double constrainedPenaltyFactor () const
 Returns the penalty factor for an individual that is outside the feasible area. More...
 
double & constrainedPenaltyFactor ()
 Returns a reference to the penalty factor for an individual that is outside the feasible area. More...
 
NotionOfSuccess notionOfSuccess () const
 
NotionOfSuccessnotionOfSuccess ()
 
template<typename Archive >
void serialize (Archive &archive, const unsigned int version)
 Stores/loads the algorithm's state. More...
 
void init (ObjectiveFunctionType &function, std::vector< SearchPointType > const &startingPoints)
 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 >
virtual ~AbstractMultiObjectiveOptimizer ()
 Virtual empty d'tor. More...
 
virtual void init (ObjectiveFunctionType &function)
 Initializes the optimizer for the supplied objective function. More...
 
const SolutionTypesolution () 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 Featuresfeatures () 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...
 
- Public Member Functions inherited from shark::INameable
virtual ~INameable ()
 
- Public Member Functions inherited from shark::ISerializable
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 ()
 

Protected Member Functions

void sortRankOneToFront ()
 sorts all individuals with rank one to the front More...
 
- 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...
 

Additional Inherited Members

- 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
 

Detailed Description

template<typename Indicator = HypervolumeIndicator>
class shark::IndicatorBasedSteadyStateMOCMA< Indicator >

Implements the \((\mu+1)\)-MO-CMA-ES.

Please see the following papers for further reference:

  • Igel, Suttorp and Hansen. Steady-state Selection and Efficient Covariance Matrix Update in the Multi-Objective CMA-ES.
  • Voß, Hansen and Igel. Improved Step Size Adaptation for the MO-CMA-ES.

Definition at line 54 of file SteadyStateMOCMA.h.

Member Enumeration Documentation

template<typename Indicator = HypervolumeIndicator>
enum shark::IndicatorBasedSteadyStateMOCMA::NotionOfSuccess
Enumerator
IndividualBased 
PopulationBased 

Definition at line 56 of file SteadyStateMOCMA.h.

Constructor & Destructor Documentation

Member Function Documentation

template<typename Indicator = HypervolumeIndicator>
double shark::IndicatorBasedSteadyStateMOCMA< Indicator >::constrainedPenaltyFactor ( ) const
inline

Returns the penalty factor for an individual that is outside the feasible area.

The value is multiplied with the distance to the nearest feasible point.

Definition at line 107 of file SteadyStateMOCMA.h.

References shark::PenalizingEvaluator::m_penaltyFactor.

Referenced by shark::IndicatorBasedSteadyStateMOCMA< Indicator >::IndicatorBasedSteadyStateMOCMA().

template<typename Indicator = HypervolumeIndicator>
double& shark::IndicatorBasedSteadyStateMOCMA< Indicator >::constrainedPenaltyFactor ( )
inline

Returns a reference to the penalty factor for an individual that is outside the feasible area.

The value is multiplied with the distance to the nearest feasible point.

Definition at line 114 of file SteadyStateMOCMA.h.

References shark::PenalizingEvaluator::m_penaltyFactor.

template<typename Indicator = HypervolumeIndicator>
void shark::IndicatorBasedSteadyStateMOCMA< Indicator >::init ( ObjectiveFunctionType function,
std::vector< SearchPointType > const &  startingPoints 
)
inlinevirtual
template<typename Indicator = HypervolumeIndicator>
double shark::IndicatorBasedSteadyStateMOCMA< Indicator >::initialSigma ( ) const
inline
template<typename Indicator = HypervolumeIndicator>
double& shark::IndicatorBasedSteadyStateMOCMA< Indicator >::initialSigma ( )
inline

Definition at line 100 of file SteadyStateMOCMA.h.

template<typename Indicator = HypervolumeIndicator>
std::size_t& shark::IndicatorBasedSteadyStateMOCMA< Indicator >::mu ( )
inline

Definition at line 93 of file SteadyStateMOCMA.h.

template<typename Indicator = HypervolumeIndicator>
std::string shark::IndicatorBasedSteadyStateMOCMA< Indicator >::name ( ) const
inlinevirtual

Returns the name of the algorithm.

Reimplemented from shark::INameable.

Definition at line 86 of file SteadyStateMOCMA.h.

template<typename Indicator = HypervolumeIndicator>
NotionOfSuccess shark::IndicatorBasedSteadyStateMOCMA< Indicator >::notionOfSuccess ( ) const
inline
template<typename Indicator = HypervolumeIndicator>
NotionOfSuccess& shark::IndicatorBasedSteadyStateMOCMA< Indicator >::notionOfSuccess ( )
inline

Definition at line 121 of file SteadyStateMOCMA.h.

template<typename Indicator = HypervolumeIndicator>
template<typename Archive >
void shark::IndicatorBasedSteadyStateMOCMA< Indicator >::serialize ( Archive &  archive,
const unsigned int  version 
)
inline

Stores/loads the algorithm's state.

Template Parameters
ArchiveThe type of the archive.
Parameters
[in,out]archiveThe archive to use for loading/storing.
[in]versionCurrently unused.

Definition at line 131 of file SteadyStateMOCMA.h.

References shark::AbstractMultiObjectiveOptimizer< RealVector >::m_best.

template<typename Indicator = HypervolumeIndicator>
void shark::IndicatorBasedSteadyStateMOCMA< Indicator >::sortRankOneToFront ( )
inlineprotected

The documentation for this class was generated from the following file: