Implements the NSGA-III. More...
#include <shark/Algorithms/DirectSearch/RealCodedNSGAIII.h>
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... | |
NSGA3Indicator & | indicator () |
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 Features & | features () 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< IndividualType > | generateOffspring () 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... | |
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.
|
inline |
Default c'tor.
Definition at line 58 of file RealCodedNSGAIII.h.
|
inlineprotected |
Definition at line 65 of file RealCodedNSGAIII.h.
References shark::IndicatorBasedRealCodedNSGAII< NSGA3Indicator >::doInit(), shark::IndicatorBasedRealCodedNSGAII< NSGA3Indicator >::indicator(), shark::NSGA3Indicator::init(), shark::IndicatorBasedRealCodedNSGAII< NSGA3Indicator >::mpe_rng, and shark::IndicatorBasedRealCodedNSGAII< NSGA3Indicator >::mu().
|
inlinevirtual |
returns the name of the object
Reimplemented from shark::INameable.
Definition at line 61 of file RealCodedNSGAIII.h.