DART  6.10.1
dart::optimizer::MultiObjectiveSolver::Properties Struct Reference

The MultiObjectiveSolver::Properties class contains Solver parameters that are common to all MultiObjectiveSolver types. More...

#include <MultiObjectiveSolver.hpp>

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

Public Member Functions

 Properties (std::shared_ptr< MultiObjectiveProblem > problem=nullptr, std::size_t numPopulations=1u, std::size_t populationSize=100u, double tolerance=1e-9, std::size_t numMaxIterations=500u, std::size_t iterationsPerPrint=0u, std::ostream *ostream=&std::cout, bool printFinalResult=false)
 Constructor. More...
 

Public Attributes

std::shared_ptr< MultiObjectiveProblemmProblem
 Multi-objective optimization problem to be solved. More...
 
std::size_t mNumPopulations
 Number of populations. More...
 
std::size_t mPopulationSize
 Number of decision vectors in one population. More...
 
double mTolerance
 The maximum step size allowed for the Problem to be considered converged. More...
 
std::size_t mIterationsPerEvolution
 How many iterations per evolution. More...
 
std::size_t mIterationsPerPrint
 How many iterations between printing the Solver's progress to the terminal. More...
 
std::ostream * mOutStream
 Stream for printing the Solver's progress. Default is std::cout. More...
 
bool mPrintFinalResult
 Set to true if the final result should be printed to the terminal. More...
 

Detailed Description

The MultiObjectiveSolver::Properties class contains Solver parameters that are common to all MultiObjectiveSolver types.

Most (but not necessarily all) Solvers will make use of these parameters, and these parameters can be directly copied or transferred between all Solver types.

Constructor & Destructor Documentation

◆ Properties()

dart::optimizer::MultiObjectiveSolver::Properties::Properties ( std::shared_ptr< MultiObjectiveProblem problem = nullptr,
std::size_t  numPopulations = 1u,
std::size_t  populationSize = 100u,
double  tolerance = 1e-9,
std::size_t  numMaxIterations = 500u,
std::size_t  iterationsPerPrint = 0u,
std::ostream *  ostream = &std::cout,
bool  printFinalResult = false 
)

Constructor.

Member Data Documentation

◆ mIterationsPerEvolution

std::size_t dart::optimizer::MultiObjectiveSolver::Properties::mIterationsPerEvolution

How many iterations per evolution.

◆ mIterationsPerPrint

std::size_t dart::optimizer::MultiObjectiveSolver::Properties::mIterationsPerPrint

How many iterations between printing the Solver's progress to the terminal.

Use 0 for no printing.

◆ mNumPopulations

std::size_t dart::optimizer::MultiObjectiveSolver::Properties::mNumPopulations

Number of populations.

◆ mOutStream

std::ostream* dart::optimizer::MultiObjectiveSolver::Properties::mOutStream

Stream for printing the Solver's progress. Default is std::cout.

◆ mPopulationSize

std::size_t dart::optimizer::MultiObjectiveSolver::Properties::mPopulationSize

Number of decision vectors in one population.

◆ mPrintFinalResult

bool dart::optimizer::MultiObjectiveSolver::Properties::mPrintFinalResult

Set to true if the final result should be printed to the terminal.

◆ mProblem

std::shared_ptr<MultiObjectiveProblem> dart::optimizer::MultiObjectiveSolver::Properties::mProblem

Multi-objective optimization problem to be solved.

◆ mTolerance

double dart::optimizer::MultiObjectiveSolver::Properties::mTolerance

The maximum step size allowed for the Problem to be considered converged.