Inheritance diagram for ConstrainedOptPack::MeritFuncNLPDirecDeriv:
To be overridden by subclasses
|virtual value_type||calc_deriv (const Vector &Gf_k, const Vector *c_k, const Vector *h_k, const Vector *hl, const Vector *hu, const Vector &d_k)=0|
|Calculate d(phi(x_k + alpha_k*d_k))/d(alpha_k) at alpha_k = 0. |
Public Member Functions
The quantities Gf(xo) (gradient of f(xo)) c(xo), h(xo) and d are used by several types of merit functions to calculate the derivative of:
d(phi(x_k + alpha_k*d_k))/d(alpha_k) at alpha_k = 0.
It is generally assumed that d satisfies Gc_k'*d_k + c_k = 0 otherwise the merit function would need Gc_k to compute this directional derivative properly.
Definition at line 48 of file ConstrainedOptPack_MeritFuncNLPDirecDeriv.hpp.
|virtual value_type ConstrainedOptPack::MeritFuncNLPDirecDeriv::calc_deriv||(||const Vector &||Gf_k,|
|const Vector *||c_k,|
|const Vector *||h_k,|
|const Vector *||hl,|
|const Vector *||hu,|
|const Vector &||d_k|
Calculate d(phi(x_k + alpha_k*d_k))/d(alpha_k) at alpha_k = 0.
The value is stored internally by the subclass are returned by its deriv() member usually. The value is also returned from this function.
If the sizes of the vectors input do not aggree then std::length_error# exception will be thrown.