shark::SMSEMOA Class Reference

Implements the SMS-EMOA. More...

#include <shark/Algorithms/DirectSearch/SMS-EMOA.h>

+ Inheritance diagram for shark::SMSEMOA:

Public Member Functions

 SMSEMOA ()
 
std::string name () const
 returns the name of the object More...
 
double crossoverProbability () const
 Returns the probability that crossover is applied. More...
 
double & crossoverProbability ()
 Returns the probability that crossover is applied. More...
 
double nm () const
 
double & nm ()
 
double nc () const
 
double & nc ()
 
unsigned int mu () const
 
unsigned int & mu ()
 
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 ()
 

Additional Inherited Members

- 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
 
- 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 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

Implements the SMS-EMOA.

Please see the following paper for further reference:

  • Beume, Naujoks, Emmerich. SMS-EMOA: Multiobjective selection based on dominated hypervolume. European Journal of Operational Research.

Definition at line 62 of file SMS-EMOA.h.

Constructor & Destructor Documentation

Member Function Documentation

double shark::SMSEMOA::crossoverProbability ( ) const
inline

Returns the probability that crossover is applied.

Definition at line 80 of file SMS-EMOA.h.

Referenced by SMSEMOA().

double& shark::SMSEMOA::crossoverProbability ( )
inline

Returns the probability that crossover is applied.

Definition at line 84 of file SMS-EMOA.h.

void shark::SMSEMOA::init ( ObjectiveFunctionType function,
std::vector< SearchPointType > const &  startingPoints 
)
inlinevirtual

Initializes the algorithm for the supplied objective function.

Parameters
[in]functionThe objective function.
[in]startingPointsA set of intiial search points.

Implements shark::AbstractMultiObjectiveOptimizer< RealVector >.

Definition at line 135 of file SMS-EMOA.h.

References shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > >::checkFeatures(), shark::PolynomialMutator::init(), shark::SimulatedBinaryCrossover< PointType >::init(), shark::AbstractMultiObjectiveOptimizer< RealVector >::m_best, and mu().

unsigned int shark::SMSEMOA::mu ( ) const
inline

Definition at line 102 of file SMS-EMOA.h.

Referenced by init(), SMSEMOA(), and step().

unsigned int& shark::SMSEMOA::mu ( )
inline

Definition at line 105 of file SMS-EMOA.h.

std::string shark::SMSEMOA::name ( ) const
inlinevirtual

returns the name of the object

Reimplemented from shark::INameable.

Definition at line 75 of file SMS-EMOA.h.

double shark::SMSEMOA::nc ( ) const
inline

Definition at line 95 of file SMS-EMOA.h.

References shark::SimulatedBinaryCrossover< PointType >::m_nc.

Referenced by SMSEMOA().

double& shark::SMSEMOA::nc ( )
inline

Definition at line 98 of file SMS-EMOA.h.

References shark::SimulatedBinaryCrossover< PointType >::m_nc.

double shark::SMSEMOA::nm ( ) const
inline

Definition at line 88 of file SMS-EMOA.h.

References shark::PolynomialMutator::m_nm.

Referenced by SMSEMOA().

double& shark::SMSEMOA::nm ( )
inline

Definition at line 91 of file SMS-EMOA.h.

References shark::PolynomialMutator::m_nm.

template<typename Archive >
void shark::SMSEMOA::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 116 of file SMS-EMOA.h.

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

void shark::SMSEMOA::step ( ObjectiveFunctionType const &  function)
inlinevirtual

Executes one iteration of the algorithm.

Parameters
[in]functionThe function to iterate upon.

Implements shark::AbstractOptimizer< RealVector, RealVector, std::vector< ResultSet< RealVector, RealVector > > >.

Definition at line 161 of file SMS-EMOA.h.

References shark::AbstractMultiObjectiveOptimizer< RealVector >::m_best, and mu().


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