shark::RealCodedNSGAIII Class Reference

Implements the NSGA-III. More...

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

+ Inheritance diagram for shark::RealCodedNSGAIII:

Public Member Functions

 RealCodedNSGAIII (random::rng_type &rng=random::globalRng)
 Default c'tor. More...
 
std::string name () const
 returns the name of the object More...
 
- Public Member Functions inherited from shark::IndicatorBasedRealCodedNSGAII< NSGA3Indicator >
 IndicatorBasedRealCodedNSGAII (random::rng_type &rng=random::globalRng)
 Default c'tor. More...
 
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
 Returns the mutation variation strength parameter. More...
 
double & nm ()
 Returns a reference to the mutation variation strength parameter. More...
 
double nc () const
 Returns the crossover variation strength parameter. More...
 
double & nc ()
 Returns a reference to the crossover variation strength parameter. More...
 
std::size_t mu () const
 Returns the number of elements in the front. More...
 
std::size_t & mu ()
 Returns the number of elements in the front. More...
 
std::size_t numInitPoints () const
 The number of points used for initialization of the algorithm. More...
 
NSGA3Indicatorindicator ()
 Returns the indicator used. More...
 
NSGA3Indicator const & indicator () const
 Returns the indicator used. More...
 
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 const &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...
 
- Public Member Functions inherited from shark::AbstractMultiObjectiveOptimizer< RealVector >
SolutionType const & solution () 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 ()
 
virtual void init (ObjectiveFunctionType const &function)
 Initialize the optimizer for the supplied objective function. More...
 
- Public Member Functions inherited from shark::INameable
virtual ~INameable ()
 
- Public Member Functions inherited from shark::ISerializable
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 Member Functions

void doInit (std::vector< SearchPointType > const &initialSearchPoints, std::vector< ResultType > const &functionValues, RealVector const &lowerBounds, RealVector const &upperBounds, std::size_t mu, double nm, double nc, double crossover_prob, std::vector< Preference > const &indicatorPreferences=std::vector< Preference >())
 
- Protected Member Functions inherited from shark::IndicatorBasedRealCodedNSGAII< NSGA3Indicator >
void doInit (std::vector< SearchPointType > const &initialSearchPoints, std::vector< ResultType > const &functionValues, RealVector const &lowerBounds, RealVector const &upperBounds, std::size_t mu, double nm, double nc, double crossover_prob)
 
std::vector< IndividualTypegenerateOffspring () const
 
void updatePopulation (std::vector< IndividualType > const &offspringVec)
 
- 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

- 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 Types inherited from shark::IndicatorBasedRealCodedNSGAII< NSGA3Indicator >
typedef shark::Individual< RealVector, RealVector > IndividualType
 The individual type of the NSGA-II. More...
 
- Protected Attributes inherited from shark::IndicatorBasedRealCodedNSGAII< NSGA3Indicator >
std::vector< IndividualTypem_parents
 Population of size \(\mu + 1\). More...
 
random::rng_type * mpe_rng
 
- 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 NSGA-III.

The NSGAIII works similar to the NSGAII except that the crowding distance is replaced by its own, reference point based indicator.

Please see the following papers for further reference: Deb, Kalyanmoy, and Himanshu Jain. "An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part I: Solving problems with box constraints." IEEE Trans. Evolutionary Computation 18.4 (2014): 577-601.

Definition at line 53 of file RealCodedNSGAIII.h.

Constructor & Destructor Documentation

◆ RealCodedNSGAIII()

shark::RealCodedNSGAIII::RealCodedNSGAIII ( random::rng_type &  rng = random::globalRng)
inline

Default c'tor.

Definition at line 58 of file RealCodedNSGAIII.h.

Member Function Documentation

◆ doInit()

void shark::RealCodedNSGAIII::doInit ( std::vector< SearchPointType > const &  initialSearchPoints,
std::vector< ResultType > const &  functionValues,
RealVector const &  lowerBounds,
RealVector const &  upperBounds,
std::size_t  mu,
double  nm,
double  nc,
double  crossover_prob,
std::vector< Preference > const &  indicatorPreferences = std::vector<Preference>() 
)
inlineprotected

◆ name()

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

returns the name of the object

Reimplemented from shark::INameable.

Definition at line 61 of file RealCodedNSGAIII.h.


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