Public Member Functions | Protected Attributes

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

#include <lsq_term.hpp>

Inheritance diagram for LSQTerm:
Inheritance graph
[legend]

List of all members.

Public Member Functions

returnValue evaluate (const OCPiterate &x)
returnValue evaluateSensitivities (BlockMatrix *hessian)
returnValue evaluateSensitivitiesGN (BlockMatrix *GNhessian)
returnValue getWeigthingtMatrix (const unsigned _index, DMatrix &_matrix) const
BooleanType isAffine ()
BooleanType isConvex ()
BooleanType isQuadratic ()
 LSQTerm ()
 LSQTerm (const MatrixVariablesGrid *S_, const Function &h, const VariablesGrid *r_)
 LSQTerm (const LSQTerm &rhs)
LSQTermoperator= (const LSQTerm &rhs)
returnValue setGrid (const Grid &grid_)
returnValue setReference (const VariablesGrid &ref)
virtual ~LSQTerm ()

Protected Attributes

DVectorr
VariablesGridr_temp
DMatrixS
double ** S_h_res
MatrixVariablesGridS_temp

Detailed Description

Stores and evaluates LSQ terms within optimal control problems.

The class LSQTerm allows to manage and evaluate least square objective functionals
of the general form:

0.5* sum_i || S(t_i) * ( h(t_i,x(t_i),u(t_i),p(t_i),...) - r(t_i) ) ||^2_2

Here the sum is over all grid points of the objective grid. The DMatrix S is assumed to
be symmetric and positive (semi-) definite.

Author:
Boris Houska, Hans Joachim Ferreau

Definition at line 61 of file lsq_term.hpp.


Constructor & Destructor Documentation

Default constructor.

Definition at line 46 of file acado/objective/lsq_term.cpp.

LSQTerm::LSQTerm ( const MatrixVariablesGrid S_,
const Function h,
const VariablesGrid r_ 
)

Default constructor.

Parameters:
S_the weighting matrix
hthe LSQ function
r_the reference vectors

Definition at line 59 of file acado/objective/lsq_term.cpp.

LSQTerm::LSQTerm ( const LSQTerm rhs)

Copy constructor (deep copy).

Definition at line 77 of file acado/objective/lsq_term.cpp.

LSQTerm::~LSQTerm ( ) [virtual]

Destructor.

Definition at line 115 of file acado/objective/lsq_term.cpp.


Member Function Documentation

Definition at line 201 of file acado/objective/lsq_term.cpp.

Evaluates the objective gradient contribution from this term
and computes the corresponding exact hessian if hessian != 0

Returns:
SUCCESSFUL_RETURN

Definition at line 279 of file acado/objective/lsq_term.cpp.

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 418 of file acado/objective/lsq_term.cpp.

returnValue LSQTerm::getWeigthingtMatrix ( const unsigned  _index,
DMatrix _matrix 
) const

Definition at line 575 of file acado/objective/lsq_term.cpp.

returns whether the constraint element is affine.

returns whether the constraint element is convex.

returns whether the constraint element is convex.

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

Assignment operator (deep copy).

Definition at line 139 of file acado/objective/lsq_term.cpp.

returnValue LSQTerm::setGrid ( const Grid grid_) [inline]

Sets the discretization grid.

Returns:
SUCCESSFUL_RETURN

Reimplemented from ObjectiveElement.

overwrites the reference vector r

Returns:
SUCCESSFUL_RETURN

Definition at line 587 of file acado/objective/lsq_term.cpp.


Member Data Documentation

DVector* LSQTerm::r [protected]

a tracking reference

Definition at line 170 of file lsq_term.hpp.

a tracking reference

Definition at line 167 of file lsq_term.hpp.

DMatrix* LSQTerm::S [protected]

a symmetric weighting matrix

Definition at line 169 of file lsq_term.hpp.

double** LSQTerm::S_h_res [protected]

specific intermediate results
to be stored for backward
differentiation

Definition at line 172 of file lsq_term.hpp.

a symmetric weighting matrix

Definition at line 166 of file lsq_term.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:24