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 () | |
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 |
NotionOfSuccess & | notionOfSuccess () |
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... | |
![]() | |
virtual | ~AbstractMultiObjectiveOptimizer () |
Virtual empty d'tor. More... | |
virtual void | init (ObjectiveFunctionType &function) |
Initializes the optimizer for the supplied objective function. 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... | |
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... | |
![]() | |
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 | |
![]() | |
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.
enum shark::IndicatorBasedSteadyStateMOCMA::NotionOfSuccess |
Enumerator | |
---|---|
IndividualBased | |
PopulationBased |
Definition at line 56 of file SteadyStateMOCMA.h.
|
inline |
Definition at line 74 of file SteadyStateMOCMA.h.
References shark::IndicatorBasedSteadyStateMOCMA< Indicator >::constrainedPenaltyFactor(), 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.
|
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().
|
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.
|
inlinevirtual |
Initializes the algorithm for the supplied objective function.
[in] | function | The objective function. |
[in] | startingPoints | A set of intiial search points. |
Implements shark::AbstractMultiObjectiveOptimizer< RealVector >.
Definition at line 149 of file SteadyStateMOCMA.h.
References shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > >::checkFeatures(), shark::AbstractMultiObjectiveOptimizer< RealVector >::m_best, shark::IndicatorBasedSteadyStateMOCMA< Indicator >::mu(), and shark::IndicatorBasedSteadyStateMOCMA< Indicator >::sortRankOneToFront().
|
inline |
Definition at line 97 of file SteadyStateMOCMA.h.
Referenced by shark::IndicatorBasedSteadyStateMOCMA< Indicator >::IndicatorBasedSteadyStateMOCMA().
|
inline |
Definition at line 100 of file SteadyStateMOCMA.h.
|
inline |
Definition at line 90 of file SteadyStateMOCMA.h.
Referenced by shark::IndicatorBasedSteadyStateMOCMA< Indicator >::IndicatorBasedSteadyStateMOCMA(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::init(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::sortRankOneToFront(), and shark::IndicatorBasedSteadyStateMOCMA< Indicator >::step().
|
inline |
Definition at line 93 of file SteadyStateMOCMA.h.
|
inlinevirtual |
Returns the name of the algorithm.
Reimplemented from shark::INameable.
Definition at line 86 of file SteadyStateMOCMA.h.
|
inline |
Definition at line 118 of file SteadyStateMOCMA.h.
Referenced by shark::IndicatorBasedSteadyStateMOCMA< Indicator >::IndicatorBasedSteadyStateMOCMA().
|
inline |
Definition at line 121 of file SteadyStateMOCMA.h.
|
inline |
Stores/loads the algorithm's state.
Archive | The type of the archive. |
[in,out] | archive | The archive to use for loading/storing. |
[in] | version | Currently unused. |
Definition at line 131 of file SteadyStateMOCMA.h.
References shark::AbstractMultiObjectiveOptimizer< RealVector >::m_best.
|
inlineprotected |
sorts all individuals with rank one to the front
Definition at line 219 of file SteadyStateMOCMA.h.
References shark::AbstractMultiObjectiveOptimizer< RealVector >::m_best, shark::IndicatorBasedSteadyStateMOCMA< Indicator >::mu(), and shark::swap().
Referenced by shark::IndicatorBasedSteadyStateMOCMA< Indicator >::init(), and shark::IndicatorBasedSteadyStateMOCMA< Indicator >::step().
|
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 177 of file SteadyStateMOCMA.h.
References shark::IndicatorBasedSteadyStateMOCMA< Indicator >::IndividualBased, shark::AbstractMultiObjectiveOptimizer< RealVector >::m_best, shark::IndicatorBasedSteadyStateMOCMA< Indicator >::mu(), shark::CMAIndividual< FitnessType >::mutate(), shark::blas::noalias(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::PopulationBased, shark::Individual< PointType, FitnessTypeT, Chromosome >::rank(), shark::Individual< PointType, FitnessTypeT, Chromosome >::selected(), shark::IndicatorBasedSteadyStateMOCMA< Indicator >::sortRankOneToFront(), shark::CMAChromosome::Successful, shark::swap(), shark::CMAChromosome::Unsuccessful, shark::CMAIndividual< FitnessType >::updateAsOffspring(), and shark::CMAIndividual< FitnessType >::updateAsParent().