ACADO Toolkit  1.2.0beta
Toolkit for Automatic Control and Dynamic Optimization
Public Member Functions | Protected Member Functions | Protected Attributes

Data class for defining static optimization problems. More...

#include <nlp.hpp>

Inheritance diagram for NLP:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 NLP ()
 Default constructor.
 NLP (const NLP &rhs)
 Copy constructor (deep copy).
virtual ~NLP ()
 Destructor.
NLPoperator= (const NLP &rhs)
 Assignment operator (deep copy).
returnValue minimize (const Expression &arg)
returnValue minimize (const int &multiObjectiveIdx, const Expression &arg)
returnValue minimizeMayerTerm (const Expression &arg)
 Adds an expression as a the Mayer term to be minimized.
returnValue minimizeMayerTerm (const int &multiObjectiveIdx, const Expression &arg)
 Adds an expression as a the Mayer term to be minimized.
returnValue maximizeMayerTerm (const Expression &arg)
 Adds an expression as a the Mayer term to be maximized.
returnValue minimizeLagrangeTerm (const Expression &arg)
 Adds an expression as a the Lagrange term to be minimized.
returnValue maximizeLagrangeTerm (const Expression &arg)
 Adds an expression as a the Lagrange term to be maximized.
returnValue subjectTo (const DifferentialEquation &differentialEquation_)
 Adds an differential equation (as a continuous equality constraint).
returnValue subjectTo (const ConstraintComponent &component)
 Adds a (continuous) constraint.
returnValue subjectTo (const int index_, const ConstraintComponent &component)
returnValue subjectTo (const TimeHorizonElement index_, const ConstraintComponent &component)
 Adds a (discrete) contraint.
returnValue subjectTo (const double lb_, const Expression &arg1, const Expression &arg2, const double ub_)
 Add a coupled boundary constraint.
returnValue subjectTo (const double lb_, const Expression *arguments, const double ub_)
 Add a custom constraint.
int getNumberOfMayerTerms () const
returnValue setDimensions (uint _NX1, uint _NX2, uint _NX3, uint _NDX, uint _NDX3, uint _NXA, uint _NXA3, uint _NU, uint _NP)
 Assigns the model dimensions to be used by the integrator.
returnValue setDimensions (uint _NX1, uint _NX2, uint _NX3, uint _NDX, uint _NDX3, uint _NXA, uint _NXA3, uint _NU)
returnValue setDimensions (uint _NX1, uint _NX2, uint _NX3, uint _NDX, uint _NXA, uint _NU, uint _NP)
 Assigns the model dimensions to be used by the integrator.
returnValue setDimensions (uint _NX1, uint _NX2, uint _NX3, uint _NDX, uint _NXA, uint _NU)
returnValue setDimensions (uint _NX, uint _NDX, uint _NXA, uint _NU, uint _NP)
 Assigns the model dimensions to be used by the integrator.
returnValue setDimensions (uint _NX, uint _NDX, uint _NXA, uint _NU)
returnValue setDimensions (uint _NX, uint _NU, uint _NP)
 Assigns the model dimensions to be used by the integrator.
returnValue setDimensions (uint _NX, uint _NU)
returnValue setModel (const DifferentialEquation &_f)
 Assigns Differential Equation to be used by the integrator.
returnValue setModel (const String &fileName, const String &_rhs_ODE, const String &_diffs_rhs_ODE)
 Assigns the model to be used by the integrator.
returnValue setNARXmodel (const uint _delay, const Matrix &_parms)
 Assigns a polynomial NARX model to be used by the integrator.
returnValue setLinearInput (const Matrix &A1_, const Matrix &B1_)
 
returnValue setLinearInput (const Matrix &M1_, const Matrix &A1_, const Matrix &B1_)
 
returnValue setLinearOutput (const Matrix &A3_, const OutputFcn &rhs_)
 
returnValue setLinearOutput (const Matrix &M3_, const Matrix &A3_, const OutputFcn &rhs_)
 
returnValue setLinearOutput (const Matrix &A3_, const String &_rhs3, const String &_diffs_rhs3)
 
returnValue setLinearOutput (const Matrix &M3_, const Matrix &A3_, const String &_rhs3, const String &_diffs_rhs3)
 
uint addOutput (const OutputFcn &outputEquation_, const Vector &measurements)
 Adds an output function.
uint addOutput (const OutputFcn &outputEquation_, const uint numberMeasurements)
 Adds an output function.
uint addOutput (const String &output, const String &diffs_output, const uint dim, const Vector &measurements)
 Adds an output function.
uint addOutput (const String &output, const String &diffs_output, const uint dim, const uint numberMeasurements)
 Adds an output function.
uint addOutput (const String &output, const String &diffs_output, const uint dim, const Vector &measurements, const String &colInd, const String &rowPtr)
 Adds an output function.
uint addOutput (const String &output, const String &diffs_output, const uint dim, const uint numberMeasurements, const String &colInd, const String &rowPtr)
 Adds an output function.
returnValue setIntegrationGrid (const Grid &_ocpGrid, const uint _numSteps)
 Sets integration grid.
returnValue setupOutput (const Vector &numberMeasurements)
 Sets up the output functions.
returnValue getModel (DifferentialEquation &_f) const
 Returns the differential equations in the model.
BooleanType hasOutputs () const
BooleanType hasDifferentialEquation () const
BooleanType modelDimensionsSet () const
BooleanType hasEquidistantControlGrid () const
BooleanType exportRhs () const
uint getNX () const
 Returns number of differential states.
uint getNDX () const
 Returns number of differential state derivatives.
uint getNXA () const
 Returns number of algebraic states.
uint getNU () const
 Returns number of control inputs.
uint getNP () const
 Returns number of parameters.
uint getN () const
 Returns number of control intervals.
returnValue setN (const uint N_)
 Sets the number of shooting intervals.
Vector getDimOutputs () const
 Returns the dimensions of the different output functions.
Vector getNumMeas () const
 Returns the number of measurements for the different output functions.
ModelDatagetModelData ()
 Returns the model data object.
returnValue setModelData (const ModelData &data)
 Sets the model data object.
const String getFileNameModel () const
Least Squares terms.

Adds a Least Square term of the form

\begin{equation*} \frac{1}{2} \sum_i \Vert h(t_i,x(t_i),u(t_i),p(t_i),...) - r \Vert^2_{S_{i}} \end{equation*}

Here the sum is over all grid points of the objective grid. The Matrix \( S \) is assumed to be symmetric and positive (semi-) definite. The Function \( r \) is called reference and can be specified by the user. The function \( h \) is a standard Function.

See also:
function_.hpp
Returns:
SUCCESSFUL_RETURN
returnValue minimizeLSQ (const Matrix &S, const Function &h, const Vector &r)
returnValue minimizeLSQ (const Function &h, const Vector &r)
returnValue minimizeLSQ (const Function &h)
returnValue minimizeLSQ (const MatrixVariablesGrid &S, const Function &h, const VariablesGrid &r)
returnValue minimizeLSQ (const Matrix &S, const Function &h, const VariablesGrid &r)
returnValue minimizeLSQ (const Function &h, const VariablesGrid &r)
returnValue minimizeLSQ (const MatrixVariablesGrid &S, const Function &h, const char *rFilename)
returnValue minimizeLSQ (const Matrix &S, const Function &h, const char *rFilename)
returnValue minimizeLSQ (const Function &h, const char *rFilename)
returnValue minimizeLSQ (const ExportVariable &S, const Function &h)
returnValue minimizeLSQ (const ExportVariable &S, const String &h)
Least Squares end terms.

Adds an Least Square term that is only evaluated at the end:

\begin{equation*} \frac{1}{2} \Vert( m(T,x(T),u(T),p(T),...) - r )\Vert^2_S \end{equation*}

where \( S \) is a weighting matrix, \( r \) a reference vector and \( T \) the time at the last objective grid point. The function \( m \) is a standard Function.

Returns:
SUCCESSFUL_RETURN
returnValue minimizeLSQEndTerm (const Matrix &S, const Function &m, const Vector &r)
returnValue minimizeLSQEndTerm (const Function &m, const Vector &r)
returnValue minimizeLSQEndTerm (const ExportVariable &S)
returnValue minimizeLSQEndTerm (const ExportVariable &S, const Function &m)
returnValue minimizeLSQEndTerm (const ExportVariable &S, const String &m)
Helper functions.
BooleanType hasObjective () const
BooleanType hasConstraint () const
returnValue getGrid (Grid &grid_) const
returnValue getObjective (Objective &objective_) const
returnValue getObjective (const int &multiObjectiveIdx, Expression **arg) const
returnValue getConstraint (Constraint &constraint_) const
returnValue setObjective (const Objective &objective_)
returnValue setConstraint (const Constraint &constraint_)
returnValue setNumberIntegrationSteps (const uint numSteps)
virtual BooleanType hasEquidistantGrid () const
 Returns whether the ocp grid is equidistant.
double getStartTime () const
double getEndTime () const
Set linear terms in the LSQ formulation.
returnValue minimizeLSQLinearTerms (const Vector &Slx, const Vector &Slu)
 Applicable only for automatic code generation.
returnValue minimizeLSQLinearTerms (const ExportVariable &Slx, const ExportVariable &Slu)
 Applicable only for automatic code generation.

Protected Member Functions

void setupGrid (double tStart, double tEnd, int N)
void setupGrid (const Vector &times)
void copy (const OCP &rhs)

Protected Attributes

Grid grid
 Common discretization grid.
Objective objective
 The Objective.
Constraint constraint
 The Constraints.
int nMayer
Expression ** mayerTerms
ModelData modelData
 The model data.

Detailed Description

The class NLP is a data class for defining static optimization problems.

Author:
Boris Houska, Hans Joachim Ferreau

Constructor & Destructor Documentation

NLP::NLP ( const NLP rhs)
NLP::~NLP ( ) [virtual]

Member Function Documentation

uint ModelContainer::addOutput ( const OutputFcn outputEquation_,
const Vector measurements 
) [inherited]
Parameters:
outputEquation_an output function to be added
measurementsthe measurement points per interval
Returns:
SUCCESSFUL_RETURN

References ModelData::addOutput(), Vector::append(), and ModelContainer::modelData.

uint ModelContainer::addOutput ( const OutputFcn outputEquation_,
const uint  numberMeasurements 
) [inherited]
Parameters:
outputEquation_an output function to be added
numberMeasurementsthe number of measurements per interval
Returns:
SUCCESSFUL_RETURN

References ModelData::addOutput(), and ModelContainer::modelData.

uint ModelContainer::addOutput ( const String output,
const String diffs_output,
const uint  dim,
const Vector measurements 
) [inherited]
Parameters:
outputThe output function to be added.
diffs_outputThe derivatives of the output function to be added.
dimThe dimension of the output function.
measurementsThe measurement points per interval
Returns:
SUCCESSFUL_RETURN

References ModelData::addOutput(), Vector::append(), and ModelContainer::modelData.

uint ModelContainer::addOutput ( const String output,
const String diffs_output,
const uint  dim,
const uint  numberMeasurements 
) [inherited]
Parameters:
outputThe output function to be added.
diffs_outputThe derivatives of the output function to be added.
dimThe dimension of the output function.
numberMeasurementsThe number of measurements per interval
Returns:
SUCCESSFUL_RETURN

References ModelData::addOutput(), and ModelContainer::modelData.

uint ModelContainer::addOutput ( const String output,
const String diffs_output,
const uint  dim,
const Vector measurements,
const String colInd,
const String rowPtr 
) [inherited]
Parameters:
outputThe output function to be added.
diffs_outputThe derivatives of the output function to be added.
dimThe dimension of the output function.
measurementsThe measurement points per interval
colIndVector stores the column indices of the elements for Compressed Row Storage (CRS).
rowPtrVector stores the locations that start a row for Compressed Row Storage (CRS).
Returns:
SUCCESSFUL_RETURN

References ModelData::addOutput(), Vector::append(), and ModelContainer::modelData.

uint ModelContainer::addOutput ( const String output,
const String diffs_output,
const uint  dim,
const uint  numberMeasurements,
const String colInd,
const String rowPtr 
) [inherited]
Parameters:
outputThe output function to be added.
diffs_outputThe derivatives of the output function to be added.
dimThe dimension of the output function.
numberMeasurementsThe number of measurements per interval
colIndVector stores the column indices of the elements for Compressed Row Storage (CRS).
rowPtrVector stores the locations that start a row for Compressed Row Storage (CRS).
Returns:
SUCCESSFUL_RETURN

References ModelData::addOutput(), and ModelContainer::modelData.

void OCP::copy ( const OCP rhs) [protected, inherited]
BooleanType ModelContainer::exportRhs ( ) const [inherited]
returnValue OCP::getConstraint ( Constraint constraint_) const [inherited]
Vector ModelContainer::getDimOutputs ( ) const [inherited]
Returns:
dimensions of the different output functions.

References ModelData::getDimOutputs(), and ModelContainer::modelData.

Referenced by SIMexport::exportAcadoHeader().

double OCP::getEndTime ( ) const [inherited]
const String ModelContainer::getFileNameModel ( ) const [inherited]
returnValue OCP::getGrid ( Grid grid_) const [inherited]
Returns:
the model data object.

References ModelContainer::modelData.

Referenced by OCPexport::setup().

uint ModelContainer::getN ( ) const [inherited]
uint ModelContainer::getNDX ( ) const [inherited]
uint ModelContainer::getNP ( ) const [inherited]
uint ModelContainer::getNU ( ) const [inherited]
Vector ModelContainer::getNumMeas ( ) const [inherited]
Returns:
number of measurements for the different output functions.

References ModelData::getNumMeas(), and ModelContainer::modelData.

Referenced by SIMexport::exportAcadoHeader().

uint ModelContainer::getNX ( ) const [inherited]
uint ModelContainer::getNXA ( ) const [inherited]
returnValue OCP::getObjective ( Objective objective_) const [inherited]
returnValue OCP::getObjective ( const int &  multiObjectiveIdx,
Expression **  arg 
) const [inherited]

Reimplemented from MultiObjectiveFunctionality.

References OCP::getObjective().

double OCP::getStartTime ( ) const [inherited]
BooleanType OCP::hasConstraint ( ) const [inherited]
BooleanType OCP::hasEquidistantGrid ( ) const [virtual, inherited]
Returns:
BT_TRUE iff the OCP grid is equidistant, BT_FALSE otherwise.

References ModelData::getNumSteps(), VectorspaceElement::isEmpty(), and ModelContainer::modelData.

BooleanType OCP::hasObjective ( ) const [inherited]
BooleanType ModelContainer::hasOutputs ( ) const [inherited]
returnValue OCP::maximizeLagrangeTerm ( const Expression arg) [inherited]
Returns:
SUCCESSFUL_RETURN

References LagrangeTerm::addLagrangeTerm(), and OCP::objective.

returnValue OCP::maximizeMayerTerm ( const Expression arg) [inherited]

Note that this function is introduced for convenience only. A call of the form maximizeMayerTerm( arg ) is equivalent to calling minimizeMayerTerm( -arg ).

Returns:
SUCCESSFUL_RETURN

References Objective::addMayerTerm(), and OCP::objective.

returnValue NLP::minimize ( const int &  multiObjectiveIdx,
const Expression arg 
)
returnValue OCP::minimizeLagrangeTerm ( const Expression arg) [inherited]
Returns:
SUCCESSFUL_RETURN

References LagrangeTerm::addLagrangeTerm(), and OCP::objective.

returnValue OCP::minimizeLSQ ( const Matrix S,
const Function h,
const Vector r 
) [inherited]
Parameters:
Sa weighting matrix
hthe LSQ-Function
rthe reference

References ACADOERROR, Objective::addLSQ(), BT_FALSE, Matrix::isPositiveSemiDefinite(), OCP::objective, and RET_NONPOSITIVE_WEIGHT.

Referenced by OCP::minimizeLSQ().

returnValue OCP::minimizeLSQ ( const Function h,
const Vector r 
) [inherited]
Parameters:
hthe LSQ-Function
rthe reference

References Function::getDim(), OCP::minimizeLSQ(), and Matrix::setIdentity().

returnValue OCP::minimizeLSQ ( const Function h) [inherited]
returnValue OCP::minimizeLSQ ( const MatrixVariablesGrid S,
const Function h,
const VariablesGrid r 
) [inherited]
Parameters:
Sa weighting matrix
hthe LSQ-Function
rthe reference

References Objective::addLSQ(), and OCP::objective.

returnValue OCP::minimizeLSQ ( const Matrix S,
const Function h,
const VariablesGrid r 
) [inherited]
Parameters:
Sa weighting matrix
hthe LSQ-Function
rthe reference

References ACADOERROR, Objective::addLSQ(), BT_FALSE, Matrix::isPositiveSemiDefinite(), OCP::objective, and RET_NONPOSITIVE_WEIGHT.

returnValue OCP::minimizeLSQ ( const Function h,
const VariablesGrid r 
) [inherited]
Parameters:
hthe LSQ-Function
rthe reference

References Objective::addLSQ(), and OCP::objective.

returnValue OCP::minimizeLSQ ( const MatrixVariablesGrid S,
const Function h,
const char *  rFilename 
) [inherited]
Parameters:
Sa weighting matrix
hthe LSQ-Function
rFilenamefilename where the reference is stored

References ACADOERROR, BT_TRUE, Grid::isEmpty(), OCP::minimizeLSQ(), readFromFile(), and RET_FILE_CAN_NOT_BE_OPENED.

returnValue OCP::minimizeLSQ ( const Matrix S,
const Function h,
const char *  rFilename 
) [inherited]
Parameters:
Sa weighting matrix
hthe LSQ-Function
rFilenamefilename where the reference is stored

References ACADOERROR, BT_TRUE, Grid::isEmpty(), OCP::minimizeLSQ(), readFromFile(), and RET_FILE_CAN_NOT_BE_OPENED.

returnValue OCP::minimizeLSQ ( const Function h,
const char *  rFilename 
) [inherited]
Parameters:
hthe LSQ-Function
rFilenamefilename where the reference is stored

References ACADOERROR, BT_TRUE, Grid::isEmpty(), OCP::minimizeLSQ(), readFromFile(), and RET_FILE_CAN_NOT_BE_OPENED.

returnValue OCP::minimizeLSQ ( const ExportVariable S,
const Function h 
) [inherited]
Note:
Applicable only for automatic code generation.
Warning:
Experimental.
Parameters:
Sa weighting matrix
hthe LSQ-Function

References Objective::addLSQ(), and OCP::objective.

returnValue OCP::minimizeLSQ ( const ExportVariable S,
const String h 
) [inherited]
Parameters:
Sa weighting matrix
hthe externally defined LSQ-Function

References Objective::addLSQ(), and OCP::objective.

returnValue OCP::minimizeLSQEndTerm ( const Matrix S,
const Function m,
const Vector r 
) [inherited]
Parameters:
Sa weighting matrix
mthe LSQ-Function
rthe reference

References ACADOERROR, Objective::addLSQEndTerm(), BT_FALSE, Matrix::isPositiveSemiDefinite(), OCP::objective, and RET_NONPOSITIVE_WEIGHT.

Referenced by OCP::minimizeLSQEndTerm().

returnValue OCP::minimizeLSQEndTerm ( const Function m,
const Vector r 
) [inherited]
Parameters:
mthe LSQ-Function
rthe reference

References Function::getDim(), OCP::minimizeLSQEndTerm(), and Matrix::setIdentity().

Note:
Applicable only for automatic code generation.
Warning:
This function will be deprecated in the next release.
Parameters:
Sa weighting matrix for differential states
returnValue OCP::minimizeLSQEndTerm ( const ExportVariable S,
const Function m 
) [inherited]
Note:
Applicable only for automatic code generation.
Warning:
Experimental.
Parameters:
Sa weighting matrix
mthe LSQ-Function

References Objective::addLSQEndTerm(), and OCP::objective.

returnValue OCP::minimizeLSQEndTerm ( const ExportVariable S,
const String m 
) [inherited]
Note:
Applicable only for automatic code generation.
Warning:
Experimental.
Parameters:
Sa weighting matrix
mthe externally defined LSQ-Function

References Objective::addLSQEndTerm(), and OCP::objective.

returnValue OCP::minimizeLSQLinearTerms ( const Vector Slx,
const Vector Slu 
) [inherited]
Note:
Experimental.
Parameters:
Slxa weighting vector for differential states.
Slua weighting vector for controls.

References Objective::addLSQLinearTerms(), and OCP::objective.

returnValue OCP::minimizeLSQLinearTerms ( const ExportVariable Slx,
const ExportVariable Slu 
) [inherited]
Note:
Experimental.
Parameters:
Slxa weighting vector for differential states.
Slua weighting vector for controls.

References Objective::addLSQLinearTerms(), and OCP::objective.

returnValue OCP::minimizeMayerTerm ( const Expression arg) [inherited]
Returns:
SUCCESSFUL_RETURN

References Objective::addMayerTerm(), and OCP::objective.

Referenced by minimize(), and OCP::minimizeMayerTerm().

returnValue OCP::minimizeMayerTerm ( const int &  multiObjectiveIdx,
const Expression arg 
) [inherited]

In this version the number of the objective can be specified as well. This functionality is needed for multi-objective optimal control problems.

Returns:
SUCCESSFUL_RETURN

Reimplemented from MultiObjectiveFunctionality.

References OCP::minimizeMayerTerm().

NLP & NLP::operator= ( const NLP rhs)
returnValue OCP::setConstraint ( const Constraint constraint_) [inherited]
returnValue ModelContainer::setDimensions ( uint  _NX1,
uint  _NX2,
uint  _NX3,
uint  _NDX,
uint  _NDX3,
uint  _NXA,
uint  _NXA3,
uint  _NU,
uint  _NP 
) [inherited]
Parameters:
[in]_NX1Number of differential states in linear input subsystem.
[in]_NX2Number of differential states in nonlinear subsystem.
[in]_NX3Number of differential states in linear output subsystem.
[in]_NDXNumber of differential states derivatives.
[in]_NDX3Number of differential states derivatives in the linear output subsystem.
[in]_NXANumber of algebraic states.
[in]_NXA3Number of algebraic states in the linear output subsystem.
[in]_NUNumber of control inputs
[in]_NPNumber of parameters
Returns:
SUCCESSFUL_RETURN

References ModelContainer::modelData, and ModelData::setDimensions().

Referenced by ModelContainer::setDimensions().

returnValue ModelContainer::setDimensions ( uint  _NX1,
uint  _NX2,
uint  _NX3,
uint  _NDX,
uint  _NDX3,
uint  _NXA,
uint  _NXA3,
uint  _NU 
) [inherited]
returnValue ModelContainer::setDimensions ( uint  _NX1,
uint  _NX2,
uint  _NX3,
uint  _NDX,
uint  _NXA,
uint  _NU,
uint  _NP 
) [inherited]
Parameters:
[in]_NX1Number of differential states in linear input subsystem.
[in]_NX2Number of differential states in nonlinear subsystem.
[in]_NX3Number of differential states in linear output subsystem.
[in]_NDXNumber of differential states derivatives.
[in]_NXANumber of algebraic states.
[in]_NUNumber of control inputs
[in]_NPNumber of parameters
Returns:
SUCCESSFUL_RETURN

References ModelContainer::setDimensions().

returnValue ModelContainer::setDimensions ( uint  _NX1,
uint  _NX2,
uint  _NX3,
uint  _NDX,
uint  _NXA,
uint  _NU 
) [inherited]
returnValue ModelContainer::setDimensions ( uint  _NX,
uint  _NDX,
uint  _NXA,
uint  _NU,
uint  _NP 
) [inherited]
Parameters:
[in]_NXNumber of differential states.
[in]_NDXNumber of differential states derivatives.
[in]_NXANumber of algebraic states.
[in]_NUNumber of control inputs
[in]_NPNumber of parameters
Returns:
SUCCESSFUL_RETURN

References ModelContainer::setDimensions().

returnValue ModelContainer::setDimensions ( uint  _NX,
uint  _NDX,
uint  _NXA,
uint  _NU 
) [inherited]
returnValue ModelContainer::setDimensions ( uint  _NX,
uint  _NU,
uint  _NP 
) [inherited]
Parameters:
[in]_NXNumber of differential states.
[in]_NUNumber of control inputs
[in]_NPNumber of parameters
Returns:
SUCCESSFUL_RETURN

References ModelContainer::setDimensions().

returnValue ModelContainer::setDimensions ( uint  _NX,
uint  _NU 
) [inherited]
returnValue ModelContainer::setIntegrationGrid ( const Grid _ocpGrid,
const uint  _numSteps 
) [inherited]
Parameters:
[in]_ocpGridEvaluation grid for optimal control.
[in]numStepsThe number of integration steps along the horizon.
Returns:
SUCCESSFUL_RETURN

References ModelContainer::modelData, and ModelData::setIntegrationGrid().

Referenced by OCP::setNumberIntegrationSteps().

returnValue ModelContainer::setLinearInput ( const Matrix A1_,
const Matrix B1_ 
) [inherited]
Parameters:
[in].
Returns:
SUCCESSFUL_RETURN

References eye(), Matrix::getNumRows(), ModelContainer::modelData, and ModelData::setLinearInput().

returnValue ModelContainer::setLinearInput ( const Matrix M1_,
const Matrix A1_,
const Matrix B1_ 
) [inherited]
Parameters:
[in].
Returns:
SUCCESSFUL_RETURN

References ModelContainer::modelData, and ModelData::setLinearInput().

returnValue ModelContainer::setLinearOutput ( const Matrix A3_,
const OutputFcn rhs_ 
) [inherited]
Parameters:
[in].
Returns:
SUCCESSFUL_RETURN

References eye(), Matrix::getNumRows(), ModelContainer::modelData, and ModelData::setLinearOutput().

returnValue ModelContainer::setLinearOutput ( const Matrix M3_,
const Matrix A3_,
const OutputFcn rhs_ 
) [inherited]
Parameters:
[in].
Returns:
SUCCESSFUL_RETURN

References ModelContainer::modelData, and ModelData::setLinearOutput().

returnValue ModelContainer::setLinearOutput ( const Matrix A3_,
const String _rhs3,
const String _diffs_rhs3 
) [inherited]
Parameters:
[in].
Returns:
SUCCESSFUL_RETURN

References eye(), Matrix::getNumRows(), ModelContainer::modelData, and ModelData::setLinearOutput().

returnValue ModelContainer::setLinearOutput ( const Matrix M3_,
const Matrix A3_,
const String _rhs3,
const String _diffs_rhs3 
) [inherited]
Parameters:
[in].
Returns:
SUCCESSFUL_RETURN

References ModelContainer::modelData, and ModelData::setLinearOutput().

Parameters:
[in]fDifferential equation.
Returns:
SUCCESSFUL_RETURN

References ModelContainer::modelData, and ModelData::setModel().

returnValue ModelContainer::setModel ( const String fileName,
const String _rhs_ODE,
const String _diffs_rhs_ODE 
) [inherited]
Parameters:
[in]_rhs_ODEName of the function, evaluating the ODE right-hand side.
[in]_diffs_rhs_ODEName of the function, evaluating the derivatives of the ODE right-hand side.
Returns:
SUCCESSFUL_RETURN

References ModelContainer::modelData, and ModelData::setModel().

returnValue ModelContainer::setModelData ( const ModelData data) [inherited]
Parameters:
[in]datathe model data object.
Returns:
SUCCESSFUL_RETURN

References ModelContainer::modelData, and SUCCESSFUL_RETURN.

returnValue ModelContainer::setN ( const uint  N_) [inherited]
Parameters:
[in]N_The number of shooting intervals.
Returns:
SUCCESSFUL_RETURN

References ModelContainer::modelData, ModelData::setN(), and SUCCESSFUL_RETURN.

Referenced by OCP::OCP(), OCP::setupGrid(), and SIMexport::SIMexport().

returnValue ModelContainer::setNARXmodel ( const uint  _delay,
const Matrix _parms 
) [inherited]
Parameters:
[in]delayThe delay for the states in the NARX model.
[in]parmsThe parameters defining the polynomial NARX model.
Returns:
SUCCESSFUL_RETURN

References ModelContainer::modelData, and ModelData::setNARXmodel().

returnValue OCP::setNumberIntegrationSteps ( const uint  numSteps) [inherited]
returnValue OCP::setObjective ( const Objective objective_) [inherited]
void OCP::setupGrid ( double  tStart,
double  tEnd,
int  N 
) [protected, inherited]
void OCP::setupGrid ( const Vector times) [protected, inherited]
returnValue ModelContainer::setupOutput ( const Vector numberMeasurements) [inherited]



Parameters:
numberMeasurementsthe number of measurements per horizon for each output function

Returns:
SUCCESSFUL_RETURN
returnValue OCP::subjectTo ( const DifferentialEquation differentialEquation_) [inherited]



Parameters:
differentialEquation_the differential equation to be added
n_the number of control intervals

Returns:
SUCCESSFUL_RETURN

References ModelContainer::modelData, ModelData::setModel(), and SUCCESSFUL_RETURN.

Referenced by MultiObjectiveAlgorithm::formulateOCP().

returnValue OCP::subjectTo ( const ConstraintComponent component) [inherited]
Returns:
SUCCESSFUL_RETURN
RET_INFEASIBLE_CONSTRAINT
Adds a (discrete) constraint.
SUCCESSFUL_RETURN
RET_INFEASIBLE_CONSTRAINT

References Constraint::add(), OCP::constraint, ConstraintComponent::getDim(), SUCCESSFUL_RETURN, and uint.

returnValue OCP::subjectTo ( const int  index_,
const ConstraintComponent component 
) [inherited]
returnValue OCP::subjectTo ( const TimeHorizonElement  index_,
const ConstraintComponent component 
) [inherited]
returnValue OCP::subjectTo ( const double  lb_,
const Expression arg1,
const Expression arg2,
const double  ub_ 
) [inherited]

Coupled boundary constraints of general form

\begin{equation*} \text{lb} \leq h_1( t_0,x(t_0),u(t_0),p,... ) + h_2( t_e,x(t_e),u(t_e),p,... ) \leq \text{ub} \end{equation*}

where \( t_0 \) is the first and \( t_e \) the last time point in the grid. Adds a constraint of the form

lb <= arg1(0) + arg2(T) <= ub 

with constant lower and upper bounds.

Returns:
SUCCESSFUL_RETURN
RET_INFEASIBLE_CONSTRAINT

References Constraint::add(), and OCP::constraint.

returnValue OCP::subjectTo ( const double  lb_,
const Expression arguments,
const double  ub_ 
) [inherited]

Adds a constraint of the form

\begin{equation*} \text{lb} <= \sum_i h_i(t_i, x(t_i), u(t_i), p, ...) <= \text{ub} \end{equation*}

with constant lower and upper bounds.

Returns:
SUCCESSFUL_RETURN
RET_INFEASIBLE_CONSTRAINT

References Constraint::add(), and OCP::constraint.


Member Data Documentation

Constraint OCP::constraint [protected, inherited]
Grid OCP::grid [protected, inherited]
ModelData ModelContainer::modelData [protected, inherited]
int MultiObjectiveFunctionality::nMayer [protected, inherited]
Objective OCP::objective [protected, inherited]

The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines