OPTPP::NLF2 Class Reference

#include <NLF.h>

Inheritance diagram for OPTPP::NLF2:

OPTPP::NLP2 OPTPP::NLP1 OPTPP::NLP0 OPTPP::NLPBase List of all members.

Public Member Functions

 NLF2 ()
 NLF2 (int ndim)
 NLF2 (int ndim, USERFCN2 f, INITFCN i, CompoundConstraint *constraint=0)
 NLF2 (int ndim, USERFCN2 f, INITFCN i, INITCONFCN c)
 NLF2 (int ndim, int nlncons, USERNLNCON1 f, INITFCN i)
 NLF2 (int ndim, int nlncons, USERNLNCON2 f, INITFCN i)
 NLF2 (int ndim, USERFCN2V f, INITFCN i, CompoundConstraint *constraint=0, void *v=0)
 Alternate function pointers with user-supplied void function pointer.
 NLF2 (int ndim, USERFCN2V f, INITFCN i, void *v)
 NLF2 (int ndim, USERFCN2V f, INITFCN i, INITCONFCN c, void *v)
virtual ~NLF2 ()
virtual void reset ()
 Reset parameter values.
virtual void initFcn ()
 Initialize function.
virtual void eval ()
 Evaluate the objective function, gradient, and Hessian.
virtual real evalF ()
 Evaluate the objective function.
virtual real evalF (const NEWMAT::ColumnVector &x)
 Evaluate the objective function at x.
virtual NEWMAT::ColumnVector evalG ()
 Evaluate the analytic gradient of the objective function.
virtual NEWMAT::ColumnVector evalG (const NEWMAT::ColumnVector &x)
 Evaluate the analytic gradient of the objective function at x.
virtual NEWMAT::SymmetricMatrix evalH ()
 Evaluate the analytic Hessian of the objective function.

Static Protected Member Functions

static void f_helper (int m, int n, const NEWMAT::ColumnVector &xc, real &f, NEWMAT::ColumnVector &g, NEWMAT::SymmetricMatrix &H, int &result, void *v)

Protected Attributes

USERFCN2 fcn
 User-defined objective function.
USERFCN2V fcn_v
 User-defined objective function.
USERNLNCON1 confcn1
 User-defined nonlinear constraints.
USERNLNCON2 confcn2
 User-defined nonlinear constraints.
INITFCN init_fcn
 Initializes the objective function.
INITCONFCN init_confcn
 Initializes the constraints.
bool init_flag
 Has the function been initialized?
void * vptr
 Void pointer.

Private Member Functions

virtual NEWMAT::SymmetricMatrix evalH (NEWMAT::ColumnVector &x)
 Evaluate the analytic Hessian of the objective function at x.
virtual real evalLagrangian (const NEWMAT::ColumnVector &x, NEWMAT::ColumnVector &mult, const NEWMAT::ColumnVector &type)
 Evaluate the Lagrangian at x.
virtual NEWMAT::ColumnVector evalLagrangianGradient (const NEWMAT::ColumnVector &x, const NEWMAT::ColumnVector &mult, const NEWMAT::ColumnVector &type)
 Evaluate the gradient of the Lagrangian at x.
NEWMAT::SymmetricMatrix evalLagrangianHessian (NEWMAT::ColumnVector &x, const NEWMAT::ColumnVector &mult, const NEWMAT::ColumnVector &type)
 Evaluate the Hessian of the Lagrangian at x.
virtual NEWMAT::ColumnVector evalCF (const NEWMAT::ColumnVector &x)
 Evaluate the nonlinear constraints at x.
virtual NEWMAT::Matrix evalCG (const NEWMAT::ColumnVector &x)
 Evaluate the gradient of the nonlinear constraints at x.
virtual NEWMAT::SymmetricMatrix evalCH (NEWMAT::ColumnVector &x)
 Evaluate the Hessian of the nonlinear constraints at x.
OptppArray< NEWMAT::SymmetricMatrix > evalCH (NEWMAT::ColumnVector &x, int darg)
 Evaluate constraint hessian at x.
virtual void evalC (const NEWMAT::ColumnVector &x)

Detailed Description

NLF2 is a derived class of NLP2, a nonlinear problem with analytic first and second derivatives. The NLF2 class implements function, gradient, and Hessian evaluators.

Author:
J. C. Meza, Sandia National Laboratories, meza@ca.sandia.gov
Note:
Modified by P.J. Williams, Sandia National Laboratories, pwillia@sandia.gov
Date:
Last modified 03/2007
Examples:

tstnewton.C.


Constructor & Destructor Documentation

OPTPP::NLF2::NLF2 (  )  [inline]

OPTPP::NLF2::NLF2 ( int  ndim  )  [inline]

OPTPP::NLF2::NLF2 ( int  ndim,
USERFCN2  f,
INITFCN  i,
CompoundConstraint constraint = 0 
) [inline]

OPTPP::NLF2::NLF2 ( int  ndim,
USERFCN2  f,
INITFCN  i,
INITCONFCN  c 
) [inline]

OPTPP::NLF2::NLF2 ( int  ndim,
int  nlncons,
USERNLNCON1  f,
INITFCN  i 
) [inline]

OPTPP::NLF2::NLF2 ( int  ndim,
int  nlncons,
USERNLNCON2  f,
INITFCN  i 
) [inline]

OPTPP::NLF2::NLF2 ( int  ndim,
USERFCN2V  f,
INITFCN  i,
CompoundConstraint constraint = 0,
void *  v = 0 
) [inline]

Alternate function pointers with user-supplied void function pointer.

OPTPP::NLF2::NLF2 ( int  ndim,
USERFCN2V  f,
INITFCN  i,
void *  v 
) [inline]

OPTPP::NLF2::NLF2 ( int  ndim,
USERFCN2V  f,
INITFCN  i,
INITCONFCN  c,
void *  v 
) [inline]

virtual OPTPP::NLF2::~NLF2 (  )  [inline, virtual]


Member Function Documentation

void OPTPP::NLF2::eval (  )  [virtual]

Evaluate the objective function, gradient, and Hessian.

Implements OPTPP::NLP2.

virtual void OPTPP::NLF2::evalC ( const NEWMAT::ColumnVector &  x  )  [private, virtual]

Implements OPTPP::NLP2.

virtual NEWMAT::ColumnVector OPTPP::NLF2::evalCF ( const NEWMAT::ColumnVector &  x  )  [private, virtual]

Evaluate the nonlinear constraints at x.

Implements OPTPP::NLP2.

virtual NEWMAT::Matrix OPTPP::NLF2::evalCG ( const NEWMAT::ColumnVector &  x  )  [private, virtual]

Evaluate the gradient of the nonlinear constraints at x.

Implements OPTPP::NLP2.

OptppArray<NEWMAT::SymmetricMatrix> OPTPP::NLF2::evalCH ( NEWMAT::ColumnVector &  x,
int  darg 
) [private, virtual]

Evaluate constraint hessian at x.

Implements OPTPP::NLP2.

virtual NEWMAT::SymmetricMatrix OPTPP::NLF2::evalCH ( NEWMAT::ColumnVector &  x  )  [private, virtual]

Evaluate the Hessian of the nonlinear constraints at x.

Implements OPTPP::NLP2.

virtual real OPTPP::NLF2::evalF ( const NEWMAT::ColumnVector &  x  )  [virtual]

Evaluate the objective function at x.

Implements OPTPP::NLP2.

double OPTPP::NLF2::evalF (  )  [virtual]

Evaluate the objective function.

Implements OPTPP::NLP2.

virtual NEWMAT::ColumnVector OPTPP::NLF2::evalG ( const NEWMAT::ColumnVector &  x  )  [virtual]

Evaluate the analytic gradient of the objective function at x.

Implements OPTPP::NLP2.

ColumnVector OPTPP::NLF2::evalG (  )  [virtual]

Evaluate the analytic gradient of the objective function.

Implements OPTPP::NLP2.

virtual NEWMAT::SymmetricMatrix OPTPP::NLF2::evalH ( NEWMAT::ColumnVector &  x  )  [private, virtual]

Evaluate the analytic Hessian of the objective function at x.

Implements OPTPP::NLP2.

SymmetricMatrix OPTPP::NLF2::evalH (  )  [virtual]

Evaluate the analytic Hessian of the objective function.

Implements OPTPP::NLP2.

virtual real OPTPP::NLF2::evalLagrangian ( const NEWMAT::ColumnVector &  x,
NEWMAT::ColumnVector &  mult,
const NEWMAT::ColumnVector &  type 
) [private, virtual]

Evaluate the Lagrangian at x.

Implements OPTPP::NLP2.

virtual NEWMAT::ColumnVector OPTPP::NLF2::evalLagrangianGradient ( const NEWMAT::ColumnVector &  x,
const NEWMAT::ColumnVector &  mult,
const NEWMAT::ColumnVector &  type 
) [private, virtual]

Evaluate the gradient of the Lagrangian at x.

Implements OPTPP::NLP2.

NEWMAT::SymmetricMatrix OPTPP::NLF2::evalLagrangianHessian ( NEWMAT::ColumnVector &  x,
const NEWMAT::ColumnVector &  mult,
const NEWMAT::ColumnVector &  type 
) [private]

Evaluate the Hessian of the Lagrangian at x.

static void OPTPP::NLF2::f_helper ( int  m,
int  n,
const NEWMAT::ColumnVector &  xc,
real f,
NEWMAT::ColumnVector &  g,
NEWMAT::SymmetricMatrix &  H,
int &  result,
void *  v 
) [inline, static, protected]

void OPTPP::NLF2::initFcn (  )  [virtual]

Initialize function.

Implements OPTPP::NLP2.

void OPTPP::NLF2::reset (  )  [virtual]

Reset parameter values.

Implements OPTPP::NLP2.


Member Data Documentation

USERNLNCON1 OPTPP::NLF2::confcn1 [protected]

User-defined nonlinear constraints.

USERNLNCON2 OPTPP::NLF2::confcn2 [protected]

User-defined nonlinear constraints.

USERFCN2 OPTPP::NLF2::fcn [protected]

User-defined objective function.

USERFCN2V OPTPP::NLF2::fcn_v [protected]

User-defined objective function.

INITCONFCN OPTPP::NLF2::init_confcn [protected]

Initializes the constraints.

INITFCN OPTPP::NLF2::init_fcn [protected]

Initializes the objective function.

bool OPTPP::NLF2::init_flag [protected]

Has the function been initialized?

void* OPTPP::NLF2::vptr [protected]

Void pointer.


The documentation for this class was generated from the following files:
Bug Reports    OPT++ Developers    Copyright Information    GNU Lesser General Public License
Documentation, generated by , last revised August 30, 2006.