Stores and evaluates LSQ mayer terms within optimal control problems. More...
#include <lsq_end_term.hpp>
Protected Attributes | |
DVector | r |
DMatrix | S |
double * | S_h_res |
Protected Attributes inherited from ObjectiveElement | |
BlockMatrix * | bSeed |
BlockMatrix * | bSeed2 |
BlockMatrix | dBackward |
BlockMatrix | dForward |
Function | fcn |
Grid | grid |
EvaluationPoint | JJ |
int | na |
int | np |
int | nu |
int | nw |
int | nx |
int | ny |
double | obj |
BlockMatrix * | pSeed |
BlockMatrix * | pSeed2 |
int | t_index |
BlockMatrix * | uSeed |
BlockMatrix * | uSeed2 |
BlockMatrix * | wSeed |
BlockMatrix * | wSeed2 |
BlockMatrix * | xaSeed |
BlockMatrix * | xaSeed2 |
BlockMatrix * | xSeed |
BlockMatrix * | xSeed2 |
int * | y_index |
EvaluationPoint | z |
Additional Inherited Members | |
Protected Member Functions inherited from ObjectiveElement | |
Grid | getGrid () const |
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.
Definition at line 61 of file lsq_end_term.hpp.
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.
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.
|
virtual |
Destructor.
Definition at line 80 of file lsq_end_term.cpp.
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.
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.
Definition at line 143 of file lsq_end_term.cpp.
|
inline |
grid_ | the objective grid |
S_ | the weighting matrix |
m_ | the LSQ function |
r_ | the reference vectors |
|
inline |
returns whether the constraint element is affine.
|
inline |
returns whether the constraint element is convex.
|
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.
|
inline |
overwrites the reference vector r
|
protected |
a tracking reference
Definition at line 159 of file lsq_end_term.hpp.
|
protected |
a symmetric weighting matrix
Definition at line 158 of file lsq_end_term.hpp.
|
protected |
specific intermediate results
to be stored for backward
differentiation
Definition at line 161 of file lsq_end_term.hpp.