shark::AbstractMultiObjectiveOptimizer< PointTypeT > Class Template Referenceabstract

base class for abstract multi-objective optimizers for arbitrary search spaces. More...

#include <shark/Algorithms/AbstractMultiObjectiveOptimizer.h>

+ Inheritance diagram for shark::AbstractMultiObjectiveOptimizer< PointTypeT >:

Public Types

typedef super::SearchPointType SearchPointType
 
typedef super::SolutionType SolutionType
 
typedef super::ObjectiveFunctionType ObjectiveFunctionType
 
- Public Types inherited from shark::AbstractOptimizer< PointTypeT, RealVector, std::vector< ResultSet< PointTypeT, RealVector > > >
enum  Feature
 Models features that the optimizer requires from the objective function. More...
 
typedef PointTypeT SearchPointType
 
typedef RealVector ResultType
 
typedef std::vector< ResultSet< PointTypeT, RealVector > > SolutionType
 
typedef AbstractObjectiveFunction< PointTypeT, ResultTypeObjectiveFunctionType
 
typedef TypedFlags< FeatureFeatures
 
typedef TypedFeatureNotAvailableException< FeatureFeatureNotAvailableException
 

Public Member Functions

virtual ~AbstractMultiObjectiveOptimizer ()
 Virtual empty d'tor. More...
 
virtual void init (ObjectiveFunctionType &function)
 Initializes the optimizer for the supplied objective function. More...
 
virtual void init (ObjectiveFunctionType &function, std::vector< SearchPointType > const &startingPoints)=0
 Optimizer-specific init-function. Needs to be implemented by subclasses. More...
 
const SolutionTypesolution () const
 Accesses the current approximation of the Pareto-set and -front, respectively. More...
 
- Public Member Functions inherited from shark::AbstractOptimizer< PointTypeT, RealVector, std::vector< ResultSet< PointTypeT, 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...
 
virtual void step (ObjectiveFunctionType const &function)=0
 Carry out one step of the optimizer for the supplied objective function. More...
 
- Public Member Functions inherited from shark::INameable
virtual ~INameable ()
 
virtual std::string name () const
 returns the name of the object More...
 
- 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 Attributes

SolutionType m_best
 The current Pareto-set/-front. More...
 
- Protected Attributes inherited from shark::AbstractOptimizer< PointTypeT, RealVector, std::vector< ResultSet< PointTypeT, RealVector > > >
Features m_features
 

Additional Inherited Members

- Protected Member Functions inherited from shark::AbstractOptimizer< PointTypeT, RealVector, std::vector< ResultSet< PointTypeT, 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...
 

Detailed Description

template<typename PointTypeT>
class shark::AbstractMultiObjectiveOptimizer< PointTypeT >

base class for abstract multi-objective optimizers for arbitrary search spaces.

Models an abstract multi-objective optimizer for arbitrary search spaces. The objective space is assumed to be \( \mathbb{R}^m\).

Template Parameters
PointTypeThe type of the points that make up the searchspace.

Definition at line 49 of file AbstractMultiObjectiveOptimizer.h.

Member Typedef Documentation

§ ObjectiveFunctionType

Definition at line 64 of file AbstractMultiObjectiveOptimizer.h.

§ SearchPointType

template<typename PointTypeT>
typedef super::SearchPointType shark::AbstractMultiObjectiveOptimizer< PointTypeT >::SearchPointType

Definition at line 62 of file AbstractMultiObjectiveOptimizer.h.

§ SolutionType

template<typename PointTypeT>
typedef super::SolutionType shark::AbstractMultiObjectiveOptimizer< PointTypeT >::SolutionType

Definition at line 63 of file AbstractMultiObjectiveOptimizer.h.

Constructor & Destructor Documentation

§ ~AbstractMultiObjectiveOptimizer()

template<typename PointTypeT>
virtual shark::AbstractMultiObjectiveOptimizer< PointTypeT >::~AbstractMultiObjectiveOptimizer ( )
inlinevirtual

Virtual empty d'tor.

Definition at line 69 of file AbstractMultiObjectiveOptimizer.h.

Member Function Documentation

§ init() [1/2]

template<typename PointTypeT>
virtual void shark::AbstractMultiObjectiveOptimizer< PointTypeT >::init ( ObjectiveFunctionType function)
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.

Parameters
functionThe function to be initialized for.
Exceptions
Exceptionif the function does not feature the proposal of starting points.

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

Reimplemented in shark::IndicatorBasedRealCodedNSGAII< Indicator >, shark::IndicatorBasedMOCMA< Indicator >, and shark::IndicatorBasedSteadyStateMOCMA< Indicator >.

Definition at line 81 of file AbstractMultiObjectiveOptimizer.h.

Referenced by shark::AbstractMultiObjectiveOptimizer< RealVector >::init().

§ init() [2/2]

template<typename PointTypeT>
virtual void shark::AbstractMultiObjectiveOptimizer< PointTypeT >::init ( ObjectiveFunctionType function,
std::vector< SearchPointType > const &  startingPoints 
)
pure virtual

Optimizer-specific init-function. Needs to be implemented by subclasses.

Parameters
[in]functionThe function to initialize the optimizer for.
[in]startingPointsAn initial population of points

Implemented in shark::IndicatorBasedRealCodedNSGAII< Indicator >, shark::IndicatorBasedMOCMA< Indicator >, shark::IndicatorBasedSteadyStateMOCMA< Indicator >, and shark::SMSEMOA.

§ solution()

template<typename PointTypeT>
const SolutionType& shark::AbstractMultiObjectiveOptimizer< PointTypeT >::solution ( ) const
inlinevirtual

Accesses the current approximation of the Pareto-set and -front, respectively.

Returns
The current set of candidate solutions.

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

Definition at line 103 of file AbstractMultiObjectiveOptimizer.h.

Referenced by main().

Member Data Documentation

§ m_best

template<typename PointTypeT>
SolutionType shark::AbstractMultiObjectiveOptimizer< PointTypeT >::m_best
protected

The current Pareto-set/-front.

Definition at line 108 of file AbstractMultiObjectiveOptimizer.h.

Referenced by shark::AbstractMultiObjectiveOptimizer< RealVector >::solution().


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