Implements the MOEA/D algorithm. More...
#include <shark/Algorithms/DirectSearch/MOEAD.h>
Inheritance diagram for shark::MOEAD:Public Member Functions | |
| SHARK_EXPORT_SYMBOL | MOEAD (random::rng_type &rng=random::globalRng) |
| std::string | name () const |
| returns the name of the object | |
| double | crossoverProbability () const |
| double & | crossoverProbability () |
| double | nm () const |
| double & | nm () |
| double | nc () const |
| double & | nc () |
| std::size_t | mu () const |
| std::size_t & | mu () |
| std::size_t | numInitPoints () const |
| The number of points used for initialization of the algorithm. | |
| std::size_t | neighbourhoodSize () const |
| std::size_t & | neighbourhoodSize () |
| template<typename Archive > | |
| void | serialize (Archive &archive) |
| SHARK_EXPORT_SYMBOL void | init (ObjectiveFunctionType const &function, std::vector< SearchPointType > const &initialSearchPoints) |
| SHARK_EXPORT_SYMBOL void | step (ObjectiveFunctionType const &function) |
Public Member Functions inherited from shark::AbstractMultiObjectiveOptimizer< RealVector > | |
| SolutionType const & | solution () const |
| Accesses the current approximation of the Pareto-set and -front, respectively. | |
Public Member Functions inherited from shark::AbstractOptimizer< PointType, ResultT, SolutionTypeT > | |
| 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. | |
| virtual void | init (ObjectiveFunctionType const &function, std::vector< SearchPointType > const &initPoints)=0 |
| Initialize the optimizer for the supplied objective function using a set of initialisation points. | |
| virtual void | step (ObjectiveFunctionType const &function)=0 |
| Carry out one step of the optimizer for the supplied objective function. | |
Public Member Functions inherited from shark::INameable | |
| virtual | ~INameable () |
Public Member Functions inherited from shark::ISerializable | |
| virtual | ~ISerializable () |
| Virtual d'tor. | |
| virtual void | read (InArchive &archive) |
| Read the component from the supplied archive. | |
| virtual void | write (OutArchive &archive) const |
| Write the component to the supplied archive. | |
| void | load (InArchive &archive, unsigned int version) |
| Versioned loading of components, calls read(...). | |
| void | save (OutArchive &archive, unsigned int version) const |
| Versioned storing of components, calls write(...). | |
| BOOST_SERIALIZATION_SPLIT_MEMBER () | |
Protected Types | |
| typedef shark::Individual< RealVector, RealVector > | IndividualType |
Protected Member Functions | |
| SHARK_EXPORT_SYMBOL void | doInit (std::vector< SearchPointType > const &initialSearchPoints, std::vector< ResultType > const &functionValues, RealVector const &lowerBounds, RealVector const &upperBounds, std::size_t const mu, double const nm, double const nc, double const crossover_prob, std::size_t const neighbourhoodSize, std::vector< Preference > const &weightVectorPreferences=std::vector< Preference >()) |
| SHARK_EXPORT_SYMBOL std::vector< IndividualType > | generateOffspring () const |
| SHARK_EXPORT_SYMBOL void | updatePopulation (std::vector< IndividualType > const &offspringvec) |
Protected Member Functions inherited from shark::AbstractOptimizer< PointType, ResultT, SolutionTypeT > | |
| 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. | |
Protected Attributes | |
| std::vector< IndividualType > | m_parents |
Protected Attributes inherited from shark::AbstractMultiObjectiveOptimizer< RealVector > | |
| SolutionType | m_best |
| The current Pareto-set/-front. | |
Protected Attributes inherited from shark::AbstractOptimizer< PointType, ResultT, SolutionTypeT > | |
| Features | m_features |
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< PointType, ResultT, SolutionTypeT > | |
| enum | Feature { REQUIRES_VALUE = 1 , REQUIRES_FIRST_DERIVATIVE = 2 , REQUIRES_SECOND_DERIVATIVE = 4 , CAN_SOLVE_CONSTRAINED = 8 , REQUIRES_CLOSEST_FEASIBLE = 16 } |
| Models features that the optimizer requires from the objective function. More... | |
| typedef PointType | SearchPointType |
| typedef ResultT | ResultType |
| typedef SolutionTypeT | SolutionType |
| typedef AbstractObjectiveFunction< PointType, ResultType > | ObjectiveFunctionType |
| typedef TypedFlags< Feature > | Features |
| typedef TypedFeatureNotAvailableException< Feature > | FeatureNotAvailableException |
Implements the MOEA/D algorithm.
Implementation of the MOEA/D algorithm from the following paper: Q. Zhang and H. Li, MOEA/D: a multi-objective evolutionary algorithm based on decomposition, IEEE Transactions on Evolutionary Computation, vol. 11, no. 6, pp. 712 - 731, 2007 DOI: 10.1109/TEVC.2007.892759
|
protected |
| SHARK_EXPORT_SYMBOL shark::MOEAD::MOEAD | ( | random::rng_type & | rng = random::globalRng | ) |
|
protected |
|
protected |
| SHARK_EXPORT_SYMBOL void shark::MOEAD::init | ( | ObjectiveFunctionType const & | function, |
| std::vector< SearchPointType > const & | initialSearchPoints | ||
| ) |
|
inlinevirtual |
returns the name of the object
Reimplemented from shark::INameable.
|
inline |
Definition at line 81 of file MOEAD.h.
References shark::SimulatedBinaryCrossover< PointType >::m_nc.
|
inline |
Definition at line 77 of file MOEAD.h.
References shark::SimulatedBinaryCrossover< PointType >::m_nc.
|
inline |
Definition at line 73 of file MOEAD.h.
References shark::PolynomialMutator::m_nm.
|
inline |
Definition at line 69 of file MOEAD.h.
References shark::PolynomialMutator::m_nm.
|
inlinevirtual |
The number of points used for initialization of the algorithm.
Implements shark::AbstractOptimizer< PointType, ResultT, SolutionTypeT >.
|
inline |
Definition at line 107 of file MOEAD.h.
References shark::AbstractMultiObjectiveOptimizer< RealVector >::m_best, and m_parents.
| SHARK_EXPORT_SYMBOL void shark::MOEAD::step | ( | ObjectiveFunctionType const & | function | ) |
|
protected |
|
protected |
Definition at line 146 of file MOEAD.h.
Referenced by serialize().