MOOCHO (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
ConstrainedOptPack::MeritFuncNLPDirecDeriv Class Referenceabstract

This class provides a mix-in interface for allowing subclass merit functions to compute the directional 1D derivative at a base point. More...

#include <ConstrainedOptPack_MeritFuncNLPDirecDeriv.hpp>

Inheritance diagram for ConstrainedOptPack::MeritFuncNLPDirecDeriv:
Inheritance graph
[legend]

Public Member Functions

virtual ~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. More...
 

Detailed Description

This class provides a mix-in interface for allowing subclass merit functions to compute the directional 1D derivative at a base point.

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 61 of file ConstrainedOptPack_MeritFuncNLPDirecDeriv.hpp.

Constructor & Destructor Documentation

virtual ConstrainedOptPack::MeritFuncNLPDirecDeriv::~MeritFuncNLPDirecDeriv ( )
inlinevirtual

Member Function Documentation

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 
)
pure virtual

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.

Implemented in ConstrainedOptPack::MeritFuncNLPModL1, and ConstrainedOptPack::MeritFuncNLPL1.


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