Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes

User-interface to formulate and solve optimal control problems with multiple objectives. More...

#include <multi_objective_algorithm.hpp>

Inheritance diagram for MultiObjectiveAlgorithm:
Inheritance graph
[legend]

List of all members.

Public Member Functions

returnValue getAllAlgebraicStates (const char *fileName) const
returnValue getAllControls (const char *fileName) const
returnValue getAllDifferentialStates (const char *fileName) const
returnValue getAllDisturbances (const char *fileName) const
returnValue getAllParameters (const char *fileName) const
DVector getNadirVector () const
DVector getNormalizationVector () const
DMatrix getNormalizedPayOffMatrix () const
returnValue getParetoFront (VariablesGrid &paretoFront) const
returnValue getParetoFrontWithFilter (VariablesGrid &paretoFront) const
DMatrix getPayOffMatrix () const
DMatrix getUtopiaPlaneVectors () const
DVector getUtopiaVector () const
DMatrix getWeights () const
returnValue getWeights (const char *fileName) const
returnValue getWeightsWithFilter (const char *fileName) const
 MultiObjectiveAlgorithm ()
 MultiObjectiveAlgorithm (const OCP &ocp_)
 MultiObjectiveAlgorithm (const MultiObjectiveAlgorithm &arg)
MultiObjectiveAlgorithmoperator= (const MultiObjectiveAlgorithm &arg)
returnValue printInfo ()
returnValue setParetoFrontDiscretization (const int &N_)
virtual returnValue solve ()
virtual returnValue solveSingleObjective (const int &number)
virtual ~MultiObjectiveAlgorithm ()

Protected Member Functions

returnValue evaluateObjectives (VariablesGrid &xd_, VariablesGrid &xa_, VariablesGrid &p_, VariablesGrid &u_, VariablesGrid &w_, Expression **arg1)
returnValue formulateOCP (double *idx, OCP *ocp_, Expression **arg)
virtual returnValue initializeNlpSolver (const OCPiterate &_userInit)
virtual returnValue initializeObjective (Objective *F)
returnValue printAuxiliaryRoutine (const char *fileName, VariablesGrid *x_) const
virtual returnValue setupOptions ()

Protected Attributes

int count
int m
int N
VariablesGridpResults
DMatrix result
VariablesGriduResults
DMatrix vertices
VariablesGridwResults
VariablesGridxaResults
VariablesGridxResults

Private Attributes

double totalCPUtime
int totalNumberOfSQPiterations

Detailed Description

User-interface to formulate and solve optimal control problems with multiple objectives.

The class MultiObjectiveAlgorithm serves as a user-interface to formulate and solve optimal control problems with multiple objectives.

Author:
Boris Houska, Hans Joachim Ferreau

Definition at line 54 of file multi_objective_algorithm.hpp.


Constructor & Destructor Documentation

Default constructor.

Definition at line 45 of file multi_objective_algorithm.cpp.

Default constructor.

Definition at line 64 of file multi_objective_algorithm.cpp.

Copy constructor (deep copy).

Definition at line 83 of file multi_objective_algorithm.cpp.

Destructor.

Definition at line 106 of file multi_objective_algorithm.cpp.


Member Function Documentation

Evaluates the objectives.

Returns:
SUCCESSFUL_RETURN

Definition at line 623 of file multi_objective_algorithm.cpp.

returnValue MultiObjectiveAlgorithm::formulateOCP ( double *  idx,
OCP ocp_,
Expression **  arg 
) [protected]

Reformulates the OCP problem for the multi-objective case.

Returns:
SUCCESSFUL_RETURN

Definition at line 446 of file multi_objective_algorithm.cpp.

returnValue MultiObjectiveAlgorithm::getAllAlgebraicStates ( const char *  fileName) const [inline]
returnValue MultiObjectiveAlgorithm::getAllControls ( const char *  fileName) const [inline]
returnValue MultiObjectiveAlgorithm::getAllDifferentialStates ( const char *  fileName) const [inline]
returnValue MultiObjectiveAlgorithm::getAllDisturbances ( const char *  fileName) const [inline]
returnValue MultiObjectiveAlgorithm::getAllParameters ( const char *  fileName) const [inline]

Returns the nadir vector.

Returns:
the nadir vector.

Returns the normalisation vector
= difference between nadir vector and utopia vector.

Returns:
the normalization vector.

Returns the normalized pay-off matrix.

Returns:
the pay-off matrix.

Returns the Pareto front

Parameters:
paretoFrontThe pareto front in form of a
VariablesGrid.

Returns:
SUCCESSFUL_RETURN

Returns the filtered Pareto front

Parameters:
paretoFrontThe pareto front in form of a
VariablesGrid.

Returns:
SUCCESSFUL_RETURN

Returns the pay-off matrix.

Returns:
the pay-off matrix.

Returns the utopia plane vectors

Returns:
the utopia plane vector (stored column-wise).

Returns the utopia vector.

Returns:
the utopia vector.

Returns the weights

Returns:
SUCCESSFUL_RETURN
returnValue MultiObjectiveAlgorithm::getWeights ( const char *  fileName) const [inline]

Prints the weights into a file (with pre-ordering)

Returns:
SUCCESSFUL_RETURN
returnValue MultiObjectiveAlgorithm::getWeightsWithFilter ( const char *  fileName) const [inline]

Prints the weights into a file (with pre-ordering)
and after applying the Pareto filter.

Returns:
SUCCESSFUL_RETURN
returnValue MultiObjectiveAlgorithm::initializeNlpSolver ( const OCPiterate _userInit) [protected, virtual]

Reimplemented from OptimizationAlgorithm.

Definition at line 431 of file multi_objective_algorithm.cpp.

Reimplemented from OptimizationAlgorithm.

Definition at line 437 of file multi_objective_algorithm.cpp.

MultiObjectiveAlgorithm & MultiObjectiveAlgorithm::operator= ( const MultiObjectiveAlgorithm arg)

Assignment operator (deep copy).

Definition at line 116 of file multi_objective_algorithm.cpp.

returnValue MultiObjectiveAlgorithm::printAuxiliaryRoutine ( const char *  fileName,
VariablesGrid x_ 
) const [inline, protected]

Prints general Info (statistics)

Returns:
SUCCESSFUL_RETURN

Defines the descretization of the Pareto front
(for the 2-dimensional case)

Parameters:
Nthe number of descretization intervals

Returns:
SUCCESSFUL_RETURN

Sets-up default options.

Returns:
SUCCESSFUL_RETURN

Reimplemented from OptimizationAlgorithm.

Definition at line 418 of file multi_objective_algorithm.cpp.

Starts execution.

Reimplemented from OptimizationAlgorithm.

Definition at line 278 of file multi_objective_algorithm.cpp.

Starts the optimization of one objective specified by the
the number.

Parameters:
numberThe number of the objective to be optimized

Returns:
SUCCESSFUL_RETURN
or an error message from the optimization
algorithms

Definition at line 142 of file multi_objective_algorithm.cpp.


Member Data Documentation

Definition at line 264 of file multi_objective_algorithm.hpp.

int MultiObjectiveAlgorithm::m [protected]

Definition at line 259 of file multi_objective_algorithm.hpp.

int MultiObjectiveAlgorithm::N [protected]

Definition at line 258 of file multi_objective_algorithm.hpp.

Definition at line 269 of file multi_objective_algorithm.hpp.

Definition at line 263 of file multi_objective_algorithm.hpp.

Definition at line 277 of file multi_objective_algorithm.hpp.

Definition at line 276 of file multi_objective_algorithm.hpp.

Definition at line 270 of file multi_objective_algorithm.hpp.

Definition at line 260 of file multi_objective_algorithm.hpp.

Definition at line 271 of file multi_objective_algorithm.hpp.

Definition at line 268 of file multi_objective_algorithm.hpp.

Definition at line 267 of file multi_objective_algorithm.hpp.


The documentation for this class was generated from the following files:


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Sat Jun 8 2019 19:40:25