DART
6.10.1
|
Abstract class that provides a common interface for different multi-objective optimization solvers. More...
#include <MultiObjectiveSolver.hpp>
Classes | |
struct | Properties |
The MultiObjectiveSolver::Properties class contains Solver parameters that are common to all MultiObjectiveSolver types. More... | |
Public Member Functions | |
MultiObjectiveSolver (const Properties &properties=Properties()) | |
Default constructor. More... | |
virtual | ~MultiObjectiveSolver ()=default |
Destructor. More... | |
virtual bool | solve (std::size_t numEvolutions=1u)=0 |
Solve optimization problem. More... | |
virtual std::string | getType () const =0 |
Returns the type (implementation) of this Solver. More... | |
virtual std::shared_ptr< MultiObjectiveSolver > | clone () const =0 |
Creates an identical clone of this Solver. More... | |
void | setProperties (const Properties &properties) |
Set the generic Properties of this Solver. More... | |
const Properties & | getSolverProperties () const |
Get the generic Properties of this Solver. More... | |
virtual void | setProblem (std::shared_ptr< MultiObjectiveProblem > problem) |
std::shared_ptr< MultiObjectiveProblem > | getProblem () 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 Population & | getPopulation (std::size_t index) const |
Returns a population at index . More... | |
const std::vector< Population > & | getPopulations () const |
Returns all the populations. More... | |
Protected Attributes | |
Properties | mProperties |
Properties. More... | |
std::vector< Population > | mPopulations |
Populations. More... | |
Abstract class that provides a common interface for different multi-objective optimization solvers.
The different MultiObjectiveSolver implementations each use a different Pareto-optimization library, which could lead to differences in performance for various problem types. This base class allows the different MultiObjectiveSolver implementations to be swapped out with each other quickly and easily to help with testing, benchmarking, and experimentation.
|
explicit |
Default constructor.
|
virtualdefault |
Destructor.
|
pure virtual |
Creates an identical clone of this Solver.
Implemented in dart::optimizer::PagmoMultiObjectiveSolver.
std::size_t dart::optimizer::MultiObjectiveSolver::getNumIterationsPerEvolution | ( | ) | const |
Returns the number of iterations per evolution.
std::size_t dart::optimizer::MultiObjectiveSolver::getNumPopulations | ( | ) | const |
Returns the number of populations.
const Population & dart::optimizer::MultiObjectiveSolver::getPopulation | ( | std::size_t | index | ) | const |
Returns a population at index
.
const std::vector< Population > & dart::optimizer::MultiObjectiveSolver::getPopulations | ( | ) | const |
Returns all the populations.
std::size_t dart::optimizer::MultiObjectiveSolver::getPopulationSize | ( | ) | const |
Return sthe number of decision vectors in one population.
std::shared_ptr< MultiObjectiveProblem > dart::optimizer::MultiObjectiveSolver::getProblem | ( | ) | const |
Get nonlinear optimization problem.
const MultiObjectiveSolver::Properties & dart::optimizer::MultiObjectiveSolver::getSolverProperties | ( | ) | const |
Get the generic Properties of this Solver.
|
pure virtual |
Returns the type (implementation) of this Solver.
Implemented in dart::optimizer::PagmoMultiObjectiveSolver.
void dart::optimizer::MultiObjectiveSolver::setNumIterationsPerEvolution | ( | std::size_t | maxIterations | ) |
Sets the number of iterations per evolution.
void dart::optimizer::MultiObjectiveSolver::setNumPopulations | ( | std::size_t | size | ) |
Sets the number of populations.
void dart::optimizer::MultiObjectiveSolver::setPopulationSize | ( | std::size_t | size | ) |
Sets the number of decision vectors in one population.
|
virtual |
void dart::optimizer::MultiObjectiveSolver::setProperties | ( | const Properties & | properties | ) |
Set the generic Properties of this Solver.
|
pure virtual |
Solve optimization problem.
Implemented in dart::optimizer::PagmoMultiObjectiveSolver.
|
protected |
Populations.
|
protected |