Diana  0.8.3
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
BasicNLPTask Class Reference

#include <DianaBasicNLPTask.hpp>

Inheritance diagram for BasicNLPTask:
DianaNLPTask ICapeSensNLPTask ICapeNLPTask ICapeNLPTask ICapeUtilities ICapeIdentification ICapeUtilities ICapeIdentification BasicDynamicNLPTask

List of all members.

Public Member Functions

 BasicNLPTask (const Common::Parameter::CapeArrayParameterSpec &_soughtParams)
virtual ~BasicNLPTask ()
eCapeNLPTaskType Type () const
virtual void SetObjFunction (ICapeNLPFunction *func) throw (Common::Error::ECapeUnknown)
virtual CapeDouble CalcObjFunction () throw (Common::Error::ECapeUnknown, Common::Error::ECapeSolvingError)
virtual
Common::Types::CapeArrayDouble 
GetObjFunctionGradient () throw (Common::Error::ECapeUnknown, Common::Error::ECapeSolvingError)
virtual const
Diana::DianaSparseArray
GetConstraintsJacobian (ConstraintType _type) throw (Common::Error::ECapeUnknown, Common::Error::ECapeSolvingError)
virtual const
Common::Types::CapeString
GetComponentName () const throw (Common::Error::ECapeUnknown)
virtual const
Common::Types::CapeString
GetComponentDescription () const throw (Common::Error::ECapeUnknown)

Protected Member Functions

virtual CapeDouble EvaluateObjFunction () throw (Common::Error::ECapeUnknown, Common::Error::ECapeSolvingError)

Protected Attributes

ICapeNLPFunctioneval
 Objective function.
Diana::DianaSparseArray mtrConstraintsJacobian
 Sparse matrix with Jacobian of constraints.
DerivativeApproximationType daGradientApprType
 Finite differencing formula for approximating the gradien.
Common::Types::CapeDouble dblEpsilon

Private Attributes

Common::Types::CapeString strName
 Component name.
Common::Types::CapeString strDescription
 Component description.

Detailed Description

Class for basic NLP tasks.


Constructor & Destructor Documentation

Constructor of BasicNLPTask class.

Parameters:
_soughtParams- sought parameters collection with names, bounds and precision for estimated parameters.
virtual ~BasicNLPTask ( ) [virtual]

Destructor of BasicNLPTask class.


Member Function Documentation

Calculates and returns objective function value for optimization task.

Implements ICapeNLPTask.

Reimplemented in BasicDynamicNLPTask.

Calculates and returns objective function value for optimization task.

Reimplemented in BasicDynamicNLPTask.

Gets the description of the component.

Implements ICapeIdentification.

virtual const Common::Types::CapeString& GetComponentName ( ) const throw (Common::Error::ECapeUnknown) [virtual]

Gets the name of the component.

Implements ICapeIdentification.

Calculates Jacoian with respect to constraint functions of the same type. Calculation performs by using the forward-difference:

\[\frac{\partial F}{\partial x_i}(x)=\frac{F(x+\epsilon e_i)-F(x)}{\partial x_i}\]

.

Parameters:
_typetype of constraints

Implements ICapeSensNLPTask.

Calculates and returns gradient with respect to objective function value for optimization task.

Implements ICapeSensNLPTask.

Reimplemented in BasicDynamicNLPTask.

virtual void SetObjFunction ( ICapeNLPFunction func) throw (Common::Error::ECapeUnknown) [virtual]

Sets objective function of optimization task.

eCapeNLPTaskType Type ( ) const [inline, virtual]

Returns type of solver that can be used for solvin this task

Implements ICapeNLPTask.

References Numeric::Solvers::NLPTasks::CAPE_FIRSTRANGE.


Member Data Documentation

Parameter that represents $ \epsilon=\partial x $ in formulas for approximating derivative. Default value $ 10^{-8}$. Usually $ \epsilon \approx \sqrt u $ for forward-difference where $ u $ is unit roundoff (for double $ u\approx 10^{-16} $).


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