ConstrainedOptPack: C++ Tools for Constrained (and Unconstrained) Optimization  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Classes | Public Member Functions | List of all members
ConstrainedOptPack::MeritFuncNLP Class Referenceabstract

Base class for all merit functions for NonLinear Programs (NLP) {abstract}. More...

#include <ConstrainedOptPack_MeritFuncNLP.hpp>

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

Classes

class  InvalidInitialization
 

Public Member Functions

virtual ~MeritFuncNLP ()
 

To be overridden by subclasses

virtual MeritFuncNLPoperator= (const MeritFuncNLP &)
 Assign the state of one Merit functions. More...
 
virtual value_type value (value_type f, const Vector *c, const Vector *h, const Vector *hl, const Vector *hu) const =0
 Return the value of the merit function at f(x), c(x), h(x). This interface requires the client to compute f(x) c(x) and h(x) and pass it to this function to have the value of phi(f,c,h,hl,hu) calculated. More...
 
virtual value_type deriv () const =0
 Return the value of the directional derivative of the merit function w.r.t. alpha at alpha = 0. In other words compute return d( phi(f(x),c(x),h(x)) ) / d(alpha_k) at alpha_k = 0 where x = x_k + alpha_k * d_k. More...
 
virtual void print_merit_func (std::ostream &out, const std::string &leading_str) const =0
 Print the merit funciton. More...
 

Detailed Description

Base class for all merit functions for NonLinear Programs (NLP) {abstract}.

Definition at line 53 of file ConstrainedOptPack_MeritFuncNLP.hpp.

Constructor & Destructor Documentation

virtual ConstrainedOptPack::MeritFuncNLP::~MeritFuncNLP ( )
inlinevirtual

Definition at line 61 of file ConstrainedOptPack_MeritFuncNLP.hpp.

Member Function Documentation

MeritFuncNLP & ConstrainedOptPack::MeritFuncNLP::operator= ( const MeritFuncNLP merit_func)
virtual

Assign the state of one Merit functions.

The default implementation throws an std::logic_error exception unless it is assignment to self.

Reimplemented in ConstrainedOptPack::MeritFuncNLPL1.

Definition at line 49 of file ConstrainedOptPack_MeritFuncNLP.cpp.

virtual value_type ConstrainedOptPack::MeritFuncNLP::value ( value_type  f,
const Vector *  c,
const Vector *  h,
const Vector *  hl,
const Vector *  hu 
) const
pure virtual

Return the value of the merit function at f(x), c(x), h(x). This interface requires the client to compute f(x) c(x) and h(x) and pass it to this function to have the value of phi(f,c,h,hl,hu) calculated.

If the merit function has not been initialized properly then a InvalidInitialization exception will be thrown.

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

virtual value_type ConstrainedOptPack::MeritFuncNLP::deriv ( ) const
pure virtual

Return the value of the directional derivative of the merit function w.r.t. alpha at alpha = 0. In other words compute return d( phi(f(x),c(x),h(x)) ) / d(alpha_k) at alpha_k = 0 where x = x_k + alpha_k * d_k.

If the merit function has not been initialized properly then a InvalidInitialization exception will be thrown.

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

virtual void ConstrainedOptPack::MeritFuncNLP::print_merit_func ( std::ostream &  out,
const std::string &  leading_str 
) const
pure virtual

Print the merit funciton.

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


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