OPTPP::OptNPSOL Class Reference

#include <OptNPSOL.h>

Inheritance diagram for OPTPP::OptNPSOL:

OPTPP::OptimizeClass List of all members.

Public Member Functions

 OptNPSOL (int n, int nclin, int ncnln, USERFCN0 f, INITFCN i)
 OptNPSOL (int n, int nclin, int ncnln, USERFCN1 f, INITFCN i)
 OptNPSOL (int n, int nclin, int ncnln, USERFCN0 f, INITFCN i, USERNLNCON0 c)
 OptNPSOL (int n, int nclin, int ncnln, USERFCN1 f, INITFCN i, USERNLNCON0 c)
 OptNPSOL (int n, int nclin, int ncnln, USERFCN1 f, INITFCN i, USERNLNCON1 c)
 ~OptNPSOL ()
 Destructor.
void initOpt ()
 Initialize algorithmic parameters.
void optimize ()
 Call the optimization method.
void allocate (int &, int &, int &, int &, int &)
void readOptInput ()
 Read user-specifed input options.
void printStatus (char *)
 Print status of opt. method.
void setX (const NEWMAT::ColumnVector &)
 Set the control vector.
void setLower (const NEWMAT::ColumnVector &)
 Set lower bounds on the constraints.
void setUpper (const NEWMAT::ColumnVector &)
 Set upper bounds on the constraints.
void setMatrix (const NEWMAT::Matrix &)
 Set linear constraint matrix.
void setDerivativeLevel (int &)
 Set user-specifed der interval.
void setDifferenceInterval (double &)
 Set user-specifed diff interval.
void setFcnAccrcy (double &)
 Set user-specifed function accuracy.
virtual void acceptStep (int, int)
virtual int checkConvg ()
virtual NEWMAT::ColumnVector computeSearch (NEWMAT::SymmetricMatrix &)
virtual void updateModel (int k, int ndim, NEWMAT::ColumnVector x)
virtual void reset ()

Private Attributes

int npsol_n
 dimension of control vector
int npsol_nclin
 number of linear constraints
int npsol_ncnln
 number of nonlinear constraints
int buf_len
 buffer length for Appl_Data_NPSOL
int deriv_level
 NPSOL input variable.
int lda
 NPSOL input variable.
int ldcjac
 NPSOL input variable.
int liwork
 NPSOL input variable.
int lwork
 NPSOL input variable.
int maxiter
 NPSOL input variable.
int iter_taken
 NPSOL output variable.
int ret_code
 NPSOL output variable.
int * istate
 NPSOL input array.
int * iwork
 NPSOL input array.
double diff_interval
 a user-specified difference interval
double fcn_accrcy
 a user-specified function accuracy
double * xvalue
 control variables
double fvalue
 function value
double * grad
 gradient of the objective function
double * A
 linear constraint coefficient matrix
double * cfcn
 nonlinear constraint vector matrix
double * clambda
 Lagrange multiplier.
double * cjac
 Jacobian of constraints.
double * hessian
 upper triangular Chol factor of Hessian
double * lowerbounds
 lower bound for the constraints
double * upperbounds
 upper bound for the constraints
double * work
 NPSOL input array.
bool setXFlag
 Flag which allows user to bypass initfcn.
INITFCN initfcn
 pointer to initialization function
USERFCN0 usrfcn0
 function evaluator
USERFCN1 usrfcn1
 function evaluator (with gradient)
USERNLNCON0 confcn0
 constraint evaluator
USERNLNCON1 confcn1
 constraint evaluator (with Jacobian)
Appl_Data_NPSOLapplication
 data store for efficiency

Detailed Description

The interface to NPSOL software package for nonlinear programming. For more information, see P. Gill, W. Murray, M. Saunders, and M. Wright, "User's Guide for NPSOL(Version 4.0): A Fortran Package for Nonlinear Programming", TR SOL 86-2, Department of Operations Research, Stanford, CA.

Note:
Modified by P.J. Williams


Constructor & Destructor Documentation

OPTPP::OptNPSOL::OptNPSOL ( int  n,
int  nclin,
int  ncnln,
USERFCN0  f,
INITFCN  i 
) [inline]

OPTPP::OptNPSOL::OptNPSOL ( int  n,
int  nclin,
int  ncnln,
USERFCN1  f,
INITFCN  i 
) [inline]

OPTPP::OptNPSOL::OptNPSOL ( int  n,
int  nclin,
int  ncnln,
USERFCN0  f,
INITFCN  i,
USERNLNCON0  c 
) [inline]

OPTPP::OptNPSOL::OptNPSOL ( int  n,
int  nclin,
int  ncnln,
USERFCN1  f,
INITFCN  i,
USERNLNCON0  c 
) [inline]

OPTPP::OptNPSOL::OptNPSOL ( int  n,
int  nclin,
int  ncnln,
USERFCN1  f,
INITFCN  i,
USERNLNCON1  c 
) [inline]

OPTPP::OptNPSOL::~OptNPSOL (  ) 

Destructor.


Member Function Documentation

virtual void OPTPP::OptNPSOL::acceptStep ( int  ,
int   
) [inline, virtual]

Note:
Pure virtual functions

Each derived class must define these functions for themselves

Implements OPTPP::OptimizeClass.

void OPTPP::OptNPSOL::allocate ( int &  ,
int &  ,
int &  ,
int &  ,
int &   
)

Parameters:
ncnln  Allocate storage space for arrays

virtual int OPTPP::OptNPSOL::checkConvg (  )  [inline, virtual]

Implements OPTPP::OptimizeClass.

virtual NEWMAT::ColumnVector OPTPP::OptNPSOL::computeSearch ( NEWMAT::SymmetricMatrix &   )  [inline, virtual]

Implements OPTPP::OptimizeClass.

void OPTPP::OptNPSOL::initOpt (  ) 

Initialize algorithmic parameters.

void OPTPP::OptNPSOL::optimize (  )  [virtual]

Call the optimization method.

Implements OPTPP::OptimizeClass.

void OPTPP::OptNPSOL::printStatus ( char *   )  [virtual]

Print status of opt. method.

Implements OPTPP::OptimizeClass.

void OPTPP::OptNPSOL::readOptInput (  )  [virtual]

Read user-specifed input options.

Implements OPTPP::OptimizeClass.

virtual void OPTPP::OptNPSOL::reset (  )  [inline, virtual]

Implements OPTPP::OptimizeClass.

void OPTPP::OptNPSOL::setDerivativeLevel ( int &   ) 

Set user-specifed der interval.

void OPTPP::OptNPSOL::setDifferenceInterval ( double &   ) 

Set user-specifed diff interval.

void OPTPP::OptNPSOL::setFcnAccrcy ( double &   ) 

Set user-specifed function accuracy.

void OPTPP::OptNPSOL::setLower ( const NEWMAT::ColumnVector &   ) 

Set lower bounds on the constraints.

void OPTPP::OptNPSOL::setMatrix ( const NEWMAT::Matrix &   ) 

Set linear constraint matrix.

void OPTPP::OptNPSOL::setUpper ( const NEWMAT::ColumnVector &   ) 

Set upper bounds on the constraints.

void OPTPP::OptNPSOL::setX ( const NEWMAT::ColumnVector &   ) 

Set the control vector.

virtual void OPTPP::OptNPSOL::updateModel ( int  k,
int  ndim,
NEWMAT::ColumnVector  x 
) [inline, virtual]

Implements OPTPP::OptimizeClass.


Member Data Documentation

double* OPTPP::OptNPSOL::A [private]

linear constraint coefficient matrix

Appl_Data_NPSOL* OPTPP::OptNPSOL::application [private]

data store for efficiency

int OPTPP::OptNPSOL::buf_len [private]

buffer length for Appl_Data_NPSOL

double* OPTPP::OptNPSOL::cfcn [private]

nonlinear constraint vector matrix

double* OPTPP::OptNPSOL::cjac [private]

Jacobian of constraints.

double* OPTPP::OptNPSOL::clambda [private]

Lagrange multiplier.

USERNLNCON0 OPTPP::OptNPSOL::confcn0 [private]

constraint evaluator

USERNLNCON1 OPTPP::OptNPSOL::confcn1 [private]

constraint evaluator (with Jacobian)

int OPTPP::OptNPSOL::deriv_level [private]

NPSOL input variable.

double OPTPP::OptNPSOL::diff_interval [private]

a user-specified difference interval

double OPTPP::OptNPSOL::fcn_accrcy [private]

a user-specified function accuracy

double OPTPP::OptNPSOL::fvalue [private]

function value

double* OPTPP::OptNPSOL::grad [private]

gradient of the objective function

double* OPTPP::OptNPSOL::hessian [private]

upper triangular Chol factor of Hessian

INITFCN OPTPP::OptNPSOL::initfcn [private]

pointer to initialization function

int* OPTPP::OptNPSOL::istate [private]

NPSOL input array.

int OPTPP::OptNPSOL::iter_taken [private]

NPSOL output variable.

Reimplemented from OPTPP::OptimizeClass.

int* OPTPP::OptNPSOL::iwork [private]

NPSOL input array.

int OPTPP::OptNPSOL::lda [private]

NPSOL input variable.

int OPTPP::OptNPSOL::ldcjac [private]

NPSOL input variable.

int OPTPP::OptNPSOL::liwork [private]

NPSOL input variable.

double* OPTPP::OptNPSOL::lowerbounds [private]

lower bound for the constraints

int OPTPP::OptNPSOL::lwork [private]

NPSOL input variable.

int OPTPP::OptNPSOL::maxiter [private]

NPSOL input variable.

int OPTPP::OptNPSOL::npsol_n [private]

dimension of control vector

int OPTPP::OptNPSOL::npsol_nclin [private]

number of linear constraints

int OPTPP::OptNPSOL::npsol_ncnln [private]

number of nonlinear constraints

int OPTPP::OptNPSOL::ret_code [private]

NPSOL output variable.

Reimplemented from OPTPP::OptimizeClass.

bool OPTPP::OptNPSOL::setXFlag [private]

Flag which allows user to bypass initfcn.

double* OPTPP::OptNPSOL::upperbounds [private]

upper bound for the constraints

USERFCN0 OPTPP::OptNPSOL::usrfcn0 [private]

function evaluator

USERFCN1 OPTPP::OptNPSOL::usrfcn1 [private]

function evaluator (with gradient)

double* OPTPP::OptNPSOL::work [private]

NPSOL input array.

double* OPTPP::OptNPSOL::xvalue [private]

control variables


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.