Public Member Functions | List of all members

Implements an exact Hessian computation for obtaining second-order derivatives within NLPsolvers. More...

#include <exact_hessian.hpp>

Inheritance diagram for ExactHessian:
Inheritance graph
[legend]

Public Member Functions

virtual returnValue apply (BlockMatrix &B, const BlockMatrix &x, const BlockMatrix &y)
 
virtual NLPderivativeApproximationclone () const
 
 ExactHessian ()
 
 ExactHessian (UserInteraction *_userInteraction)
 
 ExactHessian (const ExactHessian &rhs)
 
double getHessianScaling () const
 
virtual returnValue initHessian (BlockMatrix &B, uint N, const OCPiterate &iter)
 
virtual returnValue initScaling (BlockMatrix &B, const BlockMatrix &x, const BlockMatrix &y)
 
ExactHessianoperator= (const ExactHessian &rhs)
 
virtual ~ExactHessian ()
 
- Public Member Functions inherited from NLPderivativeApproximation
double getHessianScaling () const
 
 NLPderivativeApproximation ()
 
 NLPderivativeApproximation (UserInteraction *_userInteraction)
 
 NLPderivativeApproximation (const NLPderivativeApproximation &rhs)
 
NLPderivativeApproximationoperator= (const NLPderivativeApproximation &rhs)
 
virtual ~NLPderivativeApproximation ()
 
- Public Member Functions inherited from AlgorithmicBase
int addLogRecord (LogRecord &_record)
 
returnValue addOption (OptionsName name, int value)
 
returnValue addOption (OptionsName name, double value)
 
returnValue addOption (uint idx, OptionsName name, int value)
 
returnValue addOption (uint idx, OptionsName name, double value)
 
returnValue addOptionsList ()
 
 AlgorithmicBase ()
 
 AlgorithmicBase (UserInteraction *_userInteraction)
 
 AlgorithmicBase (const AlgorithmicBase &rhs)
 
returnValue get (OptionsName name, int &value) const
 
returnValue get (OptionsName name, double &value) const
 
returnValue get (OptionsName name, std::string &value) const
 
returnValue get (uint idx, OptionsName name, int &value) const
 
returnValue get (uint idx, OptionsName name, double &value) const
 
returnValue getAll (LogName _name, MatrixVariablesGrid &values) const
 
returnValue getFirst (LogName _name, DMatrix &firstValue) const
 
returnValue getFirst (LogName _name, VariablesGrid &firstValue) const
 
returnValue getLast (LogName _name, DMatrix &lastValue) const
 
returnValue getLast (LogName _name, VariablesGrid &lastValue) const
 
Options getOptions (uint idx) const
 
BooleanType haveOptionsChanged () const
 
BooleanType haveOptionsChanged (uint idx) const
 
AlgorithmicBaseoperator= (const AlgorithmicBase &rhs)
 
returnValue plot (PlotFrequency _frequency=PLOT_IN_ANY_CASE)
 
returnValue printLogRecord (std::ostream &_stream, int idx, LogPrintMode _mode=PRINT_ITEM_BY_ITEM) const
 
returnValue replot (PlotFrequency _frequency=PLOT_IN_ANY_CASE)
 
returnValue set (OptionsName name, int value)
 
returnValue set (OptionsName name, double value)
 
returnValue set (OptionsName name, const std::string &value)
 
returnValue set (uint idx, OptionsName name, int value)
 
returnValue set (uint idx, OptionsName name, double value)
 
returnValue setAll (LogName _name, const MatrixVariablesGrid &values)
 
returnValue setLast (LogName _name, int lastValue, double time=-INFTY)
 
returnValue setLast (LogName _name, double lastValue, double time=-INFTY)
 
returnValue setLast (LogName _name, const DVector &lastValue, double time=-INFTY)
 
returnValue setLast (LogName _name, const DMatrix &lastValue, double time=-INFTY)
 
returnValue setLast (LogName _name, const VariablesGrid &lastValue, double time=-INFTY)
 
returnValue setOptions (const Options &arg)
 
returnValue setOptions (uint idx, const Options &arg)
 
virtual ~AlgorithmicBase ()
 

Additional Inherited Members

- Protected Member Functions inherited from NLPderivativeApproximation
virtual returnValue setupLogging ()
 
virtual returnValue setupOptions ()
 
- Protected Attributes inherited from NLPderivativeApproximation
double hessianScaling
 
- Protected Attributes inherited from AlgorithmicBase
int outputLoggingIdx
 
BooleanType useModuleStandalone
 
UserInteractionuserInteraction
 

Detailed Description

Implements an exact Hessian computation for obtaining second-order derivatives within NLPsolvers.

The class ExactHessian implements an exact Hessian computation for obtaining second-order derivatives within iterative NLPsolvers.

Author
Boris Houska, Hans Joachim Ferreau

Definition at line 56 of file exact_hessian.hpp.

Constructor & Destructor Documentation

BEGIN_NAMESPACE_ACADO ExactHessian::ExactHessian ( )

Default constructor.

Definition at line 45 of file exact_hessian.cpp.

ExactHessian::ExactHessian ( UserInteraction _userInteraction)

Default constructor.

Definition at line 50 of file exact_hessian.cpp.

ExactHessian::ExactHessian ( const ExactHessian rhs)

Copy constructor (deep copy).

Definition at line 55 of file exact_hessian.cpp.

ExactHessian::~ExactHessian ( )
virtual

Destructor.

Definition at line 60 of file exact_hessian.cpp.

Member Function Documentation

returnValue ExactHessian::apply ( BlockMatrix B,
const BlockMatrix x,
const BlockMatrix y 
)
virtual

Applies a BFGS update in its "standard" form:

B = B - B*x*x^T*B/(x^T*B*x) + y*y^T/(x^T*y)

Returns
SUCCESSFUL_RETURN
Parameters
Bmatrix to be updated
xdirection x
yresiduum

Implements NLPderivativeApproximation.

Definition at line 146 of file exact_hessian.cpp.

NLPderivativeApproximation * ExactHessian::clone ( ) const
virtual

Implements NLPderivativeApproximation.

Definition at line 76 of file exact_hessian.cpp.

double ExactHessian::getHessianScaling ( ) const
inline
returnValue ExactHessian::initHessian ( BlockMatrix B,
uint  N,
const OCPiterate iter 
)
virtual
Parameters
Bmatrix to be initialised
Nnumber of intervals
itercurrent iterate

Implements NLPderivativeApproximation.

Definition at line 82 of file exact_hessian.cpp.

returnValue ExactHessian::initScaling ( BlockMatrix B,
const BlockMatrix x,
const BlockMatrix y 
)
virtual
Parameters
Bmatrix to be updated
xdirection x
yresiduum

Implements NLPderivativeApproximation.

Definition at line 123 of file exact_hessian.cpp.

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

Assignment operator (deep copy).

Definition at line 65 of file exact_hessian.cpp.


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:23