Public Member Functions | Protected Attributes | List of all members

Stores and evaluates LSQ mayer terms within optimal control problems. More...

#include <lsq_end_term.hpp>

Inheritance diagram for LSQEndTerm:
Inheritance graph
[legend]

Public Member Functions

returnValue evaluate (const OCPiterate &x)
 
returnValue evaluateSensitivities (BlockMatrix *hessian)
 
returnValue evaluateSensitivitiesGN (BlockMatrix *GNhessian)
 
returnValue init (const Grid &grid_, const DMatrix &S_, const Function &m_, const DVector &r_)
 
BooleanType isAffine ()
 
BooleanType isConvex ()
 
BooleanType isQuadratic ()
 
 LSQEndTerm ()
 
 LSQEndTerm (const Grid &grid_, const DMatrix &S_, const Function &m_, const DVector &r_)
 
 LSQEndTerm (const LSQEndTerm &rhs)
 
LSQEndTermoperator= (const LSQEndTerm &rhs)
 
returnValue setReference (const DVector &ref)
 
virtual ~LSQEndTerm ()
 
- Public Member Functions inherited from ObjectiveElement
virtual returnValue getBackwardSensitivities (BlockMatrix *D, int order)
 
virtual returnValue getForwardSensitivities (BlockMatrix *D, int order)
 
returnValue getFunction (Function &_function)
 
int getNP () const
 
int getNU () const
 
int getNW () const
 
int getNX () const
 
int getNXA () const
 
virtual returnValue getObjectiveValue (double &objectiveValue)
 
returnValue init (const OCPiterate &x)
 
 ObjectiveElement ()
 
 ObjectiveElement (const Grid &grid_)
 
 ObjectiveElement (const ObjectiveElement &rhs)
 
ObjectiveElementoperator= (const ObjectiveElement &rhs)
 
virtual returnValue setBackwardSeed (BlockMatrix *seed, int order)
 
virtual returnValue setForwardSeed (BlockMatrix *xSeed_, BlockMatrix *xaSeed_, BlockMatrix *pSeed_, BlockMatrix *uSeed_, BlockMatrix *wSeed_, int order)
 
returnValue setGrid (const Grid &grid_)
 
virtual ~ObjectiveElement ()
 

Protected Attributes

DVector r
 
DMatrix S
 
double * S_h_res
 
- Protected Attributes inherited from ObjectiveElement
BlockMatrixbSeed
 
BlockMatrixbSeed2
 
BlockMatrix dBackward
 
BlockMatrix dForward
 
Function fcn
 
Grid grid
 
EvaluationPoint JJ
 
int na
 
int np
 
int nu
 
int nw
 
int nx
 
int ny
 
double obj
 
BlockMatrixpSeed
 
BlockMatrixpSeed2
 
int t_index
 
BlockMatrixuSeed
 
BlockMatrixuSeed2
 
BlockMatrixwSeed
 
BlockMatrixwSeed2
 
BlockMatrixxaSeed
 
BlockMatrixxaSeed2
 
BlockMatrixxSeed
 
BlockMatrixxSeed2
 
int * y_index
 
EvaluationPoint z
 

Additional Inherited Members

- Protected Member Functions inherited from ObjectiveElement
Grid getGrid () const
 

Detailed Description

Stores and evaluates LSQ mayer terms within optimal control problems.

The class LSQEndTerm allows to manage and evaluate least square objective mayer terms
of the general form:

0.5* || S * ( m(T,x(T),p(T),...) - r ) ||^2_2

Here the T is the time at the last grid point of the objective grid.

Author
Boris Houska, Hans Joachim Ferreau

Definition at line 61 of file lsq_end_term.hpp.

Constructor & Destructor Documentation

BEGIN_NAMESPACE_ACADO LSQEndTerm::LSQEndTerm ( )

Default constructor.

Definition at line 51 of file lsq_end_term.cpp.

LSQEndTerm::LSQEndTerm ( const Grid grid_,
const DMatrix S_,
const Function m_,
const DVector r_ 
)

Default constructor.

Parameters
grid_the objective grid
S_the weighting matrix
m_the LSQ function
r_the reference vector

Definition at line 58 of file lsq_end_term.cpp.

LSQEndTerm::LSQEndTerm ( const LSQEndTerm rhs)

Copy constructor (deep copy).

Definition at line 70 of file lsq_end_term.cpp.

LSQEndTerm::~LSQEndTerm ( )
virtual

Destructor.

Definition at line 80 of file lsq_end_term.cpp.

Member Function Documentation

returnValue LSQEndTerm::evaluate ( const OCPiterate x)

Definition at line 103 of file lsq_end_term.cpp.

returnValue LSQEndTerm::evaluateSensitivities ( BlockMatrix hessian)

Evaluates the objective gradient contribution from this term
and computes the corresponding exact hessian.

Returns
SUCCESSFUL_RETURN

Definition at line 136 of file lsq_end_term.cpp.

returnValue LSQEndTerm::evaluateSensitivitiesGN ( BlockMatrix GNhessian)

Evaluates the objective gradient contribution from this term
and computes the corresponding GN hessian approximation for
the case that GNhessian != 0.

Returns
SUCCESSFUL_RETURN

Definition at line 143 of file lsq_end_term.cpp.

returnValue LSQEndTerm::init ( const Grid grid_,
const DMatrix S_,
const Function m_,
const DVector r_ 
)
inline
Parameters
grid_the objective grid
S_the weighting matrix
m_the LSQ function
r_the reference vectors
BooleanType LSQEndTerm::isAffine ( )
inline

returns whether the constraint element is affine.

BooleanType LSQEndTerm::isConvex ( )
inline

returns whether the constraint element is convex.

BooleanType LSQEndTerm::isQuadratic ( )
inline

returns whether the constraint element is convex.

LSQEndTerm & LSQEndTerm::operator= ( const LSQEndTerm rhs)

Assignment operator (deep copy).

Definition at line 86 of file lsq_end_term.cpp.

returnValue LSQEndTerm::setReference ( const DVector ref)
inline

overwrites the reference vector r

Returns
SUCCESSFUL_RETURN

Member Data Documentation

DVector LSQEndTerm::r
protected

a tracking reference

Definition at line 159 of file lsq_end_term.hpp.

DMatrix LSQEndTerm::S
protected

a symmetric weighting matrix

Definition at line 158 of file lsq_end_term.hpp.

double* LSQEndTerm::S_h_res
protected

specific intermediate results
to be stored for backward
differentiation

Definition at line 161 of file lsq_end_term.hpp.


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


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:35:25