DART  6.7.3
dart::optimizer::PagmoMultiObjectiveSolver Class Reference

#include <PagmoMultiObjectiveSolver.hpp>

Inheritance diagram for dart::optimizer::PagmoMultiObjectiveSolver:
dart::optimizer::MultiObjectiveSolver

Classes

struct  Properties
 
struct  UniqueProperties
 

Public Types

enum class  Algorithm { Local_nlopt_COBYLA , Global_MOEAD , Global_NSGA2 }
 Reference: https://esa.github.io/pagmo2/docs/algorithm_list.html. More...
 

Public Member Functions

 PagmoMultiObjectiveSolver (const Properties &properties=Properties())
 Default Constructor. More...
 
 PagmoMultiObjectiveSolver (std::shared_ptr< MultiObjectiveProblem > problem)
 Alternative Constructor. More...
 
 ~PagmoMultiObjectiveSolver () override
 Destructor. More...
 
bool solve (std::size_t numEvolutions=1u) override
 Solve optimization problem. More...
 
std::string getType () const override
 Returns the type (implementation) of this Solver. More...
 
std::shared_ptr< MultiObjectiveSolverclone () const override
 Creates an identical clone of this Solver. More...
 
void setProperties (const Properties &properties)
 Sets the Properties of this PagmoMultiObjectiveSolver. More...
 
void setProperties (const UniqueProperties &properties)
 Sets the Properties of this PagmoMultiObjectiveSolver. More...
 
Properties getGradientDescentProperties () const
 Returns the Properties of this GradientDescentSolver. More...
 
void copy (const PagmoMultiObjectiveSolver &other)
 Copies the Properties of another PagmoMultiObjectiveSolver. More...
 
PagmoMultiObjectiveSolveroperator= (const PagmoMultiObjectiveSolver &other)
 Copies the Properties of another PagmoMultiObjectiveSolver. More...
 
void setAlgorithm (Algorithm alg)
 Sets the algorithm that is to be used by the solver. More...
 
Algorithm getAlgorithm () const
 Returns the algorithm that is to be used by the pagmo solver. More...
 
void setProperties (const Properties &properties)
 Set the generic Properties of this Solver. More...
 
const PropertiesgetSolverProperties () const
 Get the generic Properties of this Solver. More...
 
virtual void setProblem (std::shared_ptr< MultiObjectiveProblem > problem)
 
std::shared_ptr< MultiObjectiveProblemgetProblem () const
 Get nonlinear optimization problem. More...
 
void setNumIterationsPerEvolution (std::size_t maxIterations)
 Sets the number of iterations per evolution. More...
 
std::size_t getNumIterationsPerEvolution () const
 Returns the number of iterations per evolution. More...
 
Population
void setPopulationSize (std::size_t size)
 Sets the number of decision vectors in one population. More...
 
std::size_t getPopulationSize () const
 Return sthe number of decision vectors in one population. More...
 
void setNumPopulations (std::size_t size)
 Sets the number of populations. More...
 
std::size_t getNumPopulations () const
 Returns the number of populations. More...
 
const PopulationgetPopulation (std::size_t index) const
 Returns a population at index. More...
 
const std::vector< Population > & getPopulations () const
 Returns all the populations. More...
 

Protected Attributes

UniqueProperties mPagmoMultiObjectiveSolverP
 PagmoMultiObjectiveSolver properties. More...
 
std::uniform_real_distribution< double > mDistribution
 Distribution. More...
 
Properties mProperties
 Properties. More...
 
std::vector< PopulationmPopulations
 Populations. More...
 

Member Enumeration Documentation

◆ Algorithm

Reference: https://esa.github.io/pagmo2/docs/algorithm_list.html.

Enumerator
Local_nlopt_COBYLA 
Global_MOEAD 
Global_NSGA2 

Constructor & Destructor Documentation

◆ PagmoMultiObjectiveSolver() [1/2]

dart::optimizer::PagmoMultiObjectiveSolver::PagmoMultiObjectiveSolver ( const Properties properties = Properties())
explicit

Default Constructor.

◆ PagmoMultiObjectiveSolver() [2/2]

dart::optimizer::PagmoMultiObjectiveSolver::PagmoMultiObjectiveSolver ( std::shared_ptr< MultiObjectiveProblem problem)
explicit

Alternative Constructor.

◆ ~PagmoMultiObjectiveSolver()

dart::optimizer::PagmoMultiObjectiveSolver::~PagmoMultiObjectiveSolver ( )
override

Destructor.

Member Function Documentation

◆ clone()

std::shared_ptr< MultiObjectiveSolver > dart::optimizer::PagmoMultiObjectiveSolver::clone ( ) const
overridevirtual

Creates an identical clone of this Solver.

Implements dart::optimizer::MultiObjectiveSolver.

◆ copy()

void dart::optimizer::PagmoMultiObjectiveSolver::copy ( const PagmoMultiObjectiveSolver other)

Copies the Properties of another PagmoMultiObjectiveSolver.

◆ getAlgorithm()

PagmoMultiObjectiveSolver::Algorithm dart::optimizer::PagmoMultiObjectiveSolver::getAlgorithm ( ) const

Returns the algorithm that is to be used by the pagmo solver.

◆ getGradientDescentProperties()

PagmoMultiObjectiveSolver::Properties dart::optimizer::PagmoMultiObjectiveSolver::getGradientDescentProperties ( ) const

Returns the Properties of this GradientDescentSolver.

◆ getNumIterationsPerEvolution()

std::size_t dart::optimizer::MultiObjectiveSolver::getNumIterationsPerEvolution ( ) const
inherited

Returns the number of iterations per evolution.

◆ getNumPopulations()

std::size_t dart::optimizer::MultiObjectiveSolver::getNumPopulations ( ) const
inherited

Returns the number of populations.

◆ getPopulation()

const Population & dart::optimizer::MultiObjectiveSolver::getPopulation ( std::size_t  index) const
inherited

Returns a population at index.

◆ getPopulations()

const std::vector< Population > & dart::optimizer::MultiObjectiveSolver::getPopulations ( ) const
inherited

Returns all the populations.

◆ getPopulationSize()

std::size_t dart::optimizer::MultiObjectiveSolver::getPopulationSize ( ) const
inherited

Return sthe number of decision vectors in one population.

◆ getProblem()

std::shared_ptr< MultiObjectiveProblem > dart::optimizer::MultiObjectiveSolver::getProblem ( ) const
inherited

Get nonlinear optimization problem.

◆ getSolverProperties()

const MultiObjectiveSolver::Properties & dart::optimizer::MultiObjectiveSolver::getSolverProperties ( ) const
inherited

Get the generic Properties of this Solver.

◆ getType()

std::string dart::optimizer::PagmoMultiObjectiveSolver::getType ( ) const
overridevirtual

Returns the type (implementation) of this Solver.

Implements dart::optimizer::MultiObjectiveSolver.

◆ operator=()

PagmoMultiObjectiveSolver & dart::optimizer::PagmoMultiObjectiveSolver::operator= ( const PagmoMultiObjectiveSolver other)

Copies the Properties of another PagmoMultiObjectiveSolver.

◆ setAlgorithm()

void dart::optimizer::PagmoMultiObjectiveSolver::setAlgorithm ( Algorithm  alg)

Sets the algorithm that is to be used by the solver.

◆ setNumIterationsPerEvolution()

void dart::optimizer::MultiObjectiveSolver::setNumIterationsPerEvolution ( std::size_t  maxIterations)
inherited

Sets the number of iterations per evolution.

◆ setNumPopulations()

void dart::optimizer::MultiObjectiveSolver::setNumPopulations ( std::size_t  size)
inherited

Sets the number of populations.

◆ setPopulationSize()

void dart::optimizer::MultiObjectiveSolver::setPopulationSize ( std::size_t  size)
inherited

Sets the number of decision vectors in one population.

◆ setProblem()

void dart::optimizer::MultiObjectiveSolver::setProblem ( std::shared_ptr< MultiObjectiveProblem problem)
virtualinherited

◆ setProperties() [1/3]

void dart::optimizer::MultiObjectiveSolver::setProperties ( const Properties properties)
inherited

Set the generic Properties of this Solver.

◆ setProperties() [2/3]

void dart::optimizer::PagmoMultiObjectiveSolver::setProperties ( const Properties properties)

◆ setProperties() [3/3]

void dart::optimizer::PagmoMultiObjectiveSolver::setProperties ( const UniqueProperties properties)

◆ solve()

bool dart::optimizer::PagmoMultiObjectiveSolver::solve ( std::size_t  numEvolutions = 1u)
overridevirtual

Solve optimization problem.

Implements dart::optimizer::MultiObjectiveSolver.

Member Data Documentation

◆ mDistribution

std::uniform_real_distribution<double> dart::optimizer::PagmoMultiObjectiveSolver::mDistribution
protected

Distribution.

◆ mPagmoMultiObjectiveSolverP

UniqueProperties dart::optimizer::PagmoMultiObjectiveSolver::mPagmoMultiObjectiveSolverP
protected

◆ mPopulations

std::vector<Population> dart::optimizer::MultiObjectiveSolver::mPopulations
protectedinherited

Populations.

◆ mProperties

Properties dart::optimizer::MultiObjectiveSolver::mProperties
protectedinherited