OPTPP::OptBCNewtonLike Class Reference

#include <OptBCNewtonLike.h>

Inheritance diagram for OPTPP::OptBCNewtonLike:

OPTPP::OptimizeClass OPTPP::OptBCNewton1Deriv OPTPP::OptBCNewton2Deriv OPTPP::OptBaQNewton OPTPP::OptBCFDNewton OPTPP::OptBCQNewton OPTPP::OptBaNewton OPTPP::OptBCNewton List of all members.

Public Member Functions

 OptBCNewtonLike ()
 OptBCNewtonLike (int n)
 OptBCNewtonLike (int n, UPDATEFCN u)
 OptBCNewtonLike (int n, TOLS t)
virtual ~OptBCNewtonLike ()
virtual void acceptStep (int k, int step_type)
virtual NEWMAT::ColumnVector computeSearch (NEWMAT::SymmetricMatrix &H)
 Compute search direction.
virtual void updateModel (int k, int ndim, NEWMAT::ColumnVector x)
virtual void reset ()
virtual int updateConstraints (int)
 Add and remove variables from the working set.
virtual int checkConvg ()
 Check to see if algorithm satisfies the convergence criterion.
virtual int checkDeriv ()
 Compare the analytic gradient with the finite difference gradient.
virtual double computeMaxStep (NEWMAT::ColumnVector &)
 before we hit a constraint
virtual int computeStep (NEWMAT::ColumnVector sk)
 Compute the step length along the search direction.
virtual void initHessian ()
 Compute the Hessian or its approximation at the initial point.
virtual void initOpt ()
 Initialize algorithmic parameters.
virtual double initTrustRegionSize () const
 Initialize the size of the trust-region.
virtual void optimize ()
 Invoke a bound constrained Newton's method.
virtual void readOptInput ()
 Read user-specified input options from a file.
virtual NEWMAT::SymmetricMatrix updateH (NEWMAT::SymmetricMatrix &H, int k)=0
 Compute the Hessian or its approximation at the current point.
int checkAnalyticFDGrad ()
 Check analytic gradients against finite-difference gradients.
void printStatus (char *)
 Print status of the bound constrained Newton's method.
int getFevals () const
int getGevals () const
DerivOption getDerivOption () const
void setDerivOption (DerivOption d)
 Set the type of finite difference routine.
real getTRSize () const
void setTRSize (real delta)
 Set radius of trust-region.
real getGradMult () const
void setGradMult (real tau)
 Set gradient multiplier which is used to compute trust-region radius.
int getSearchSize () const
void setSearchSize (int sss)
 Set number of points in search scheme for trust-pds search strategy.
bool getWarmStart () const
void useWarmStart (NEWMAT::SymmetricMatrix &H)
SearchStrategy getSearchStrategy () const
void setSearchStrategy (SearchStrategy s)
 Set globalization strategy for optimization algorithms.
NEWMAT::SymmetricMatrix getHessian () const
void setHessian (NEWMAT::SymmetricMatrix &H)
 Store the current Hessian matrix.

Protected Member Functions

virtual NLP1nlprob () const =0
 returns an NLP1 pointer
void defaultAcceptStep (int, int)
NEWMAT::ColumnVector defaultComputeSearch (NEWMAT::SymmetricMatrix &)

Protected Attributes

NEWMAT::ColumnVector gprev
 Gradient at previous iteration.
NEWMAT::SymmetricMatrix Hessian
 Current Hessian.
int grad_evals
 Number of gradient evaluations.
SearchStrategy strategy
 User-specified globalization strategy.
DerivOption finitediff
 User-specified derivative option.
real TR_size
 Trust region radius.
real gradMult
 Gradient multiplier to compute TR_size.
int searchSize
 Search pattern size for TRPDS.
int m_nconvgd
 Syncs fcn & constraint convergence.
bool WarmStart

Friends

int trustregion (NLP1 *, ostream *, NEWMAT::SymmetricMatrix &, NEWMAT::ColumnVector &, NEWMAT::ColumnVector &, real &, real &, real stpmax, real stpmin)
int trustpds (NLP1 *, ostream *, NEWMAT::SymmetricMatrix &, NEWMAT::ColumnVector &, NEWMAT::ColumnVector &, real &, real &, real stpmax, real stpmin, int)

Detailed Description

Bound Constrained Newton abstract data classes OptBCNewtonLike OptBCNewton1Deriv OptBCNewton2Deriv OptBCNewtonLike provides common data and functionality for the OptBCQNewton, OptBCFDNewton, and OptBCNewton methods

OptBCNewtonlike implements a active set algorithm for bound constrained optimization.

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


Constructor & Destructor Documentation

OPTPP::OptBCNewtonLike::OptBCNewtonLike (  )  [inline]

Default Constructor

See also:
OptBCNewtonLike(int n)

OptBCNewtonLike(int n, UPDATEFCN u)

OptBCNewtonLike(int n, TOLS t)

OPTPP::OptBCNewtonLike::OptBCNewtonLike ( int  n  )  [inline]

Parameters:
n an integer argument
See also:
OptBCNewtonLike(int n, UPDATEFCN u)

OptBCNewtonLike(int n, TOLS t)

OPTPP::OptBCNewtonLike::OptBCNewtonLike ( int  n,
UPDATEFCN  u 
) [inline]

Parameters:
n an integer argument
u a function pointer.
See also:
OptBCNewtonLike(int n)

OptBCNewtonLike(int n, UPDATEFCN u)

OPTPP::OptBCNewtonLike::OptBCNewtonLike ( int  n,
TOLS  t 
) [inline]

Parameters:
n an integer argument
t tolerance class reference.
See also:
OptBCNewtonLike(int n)

OptBCNewtonLike(int n, UPDATEFCN u)

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

Destructor


Member Function Documentation

virtual void OPTPP::OptBCNewtonLike::acceptStep ( int  k,
int  step_type 
) [inline, virtual]

Note:
Pure virtual functions

Each derived class must define these functions for themselves

Implements OPTPP::OptimizeClass.

Reimplemented in OPTPP::OptBaNewton, and OPTPP::OptBaQNewton.

int OPTPP::OptBCNewtonLike::checkAnalyticFDGrad (  ) 

Check analytic gradients against finite-difference gradients.

int OPTPP::OptBCNewtonLike::checkConvg (  )  [virtual]

Check to see if algorithm satisfies the convergence criterion.

Implements OPTPP::OptimizeClass.

Reimplemented in OPTPP::OptBaNewton, OPTPP::OptBaQNewton, OPTPP::OptBCNewton, and OPTPP::OptBCQNewton.

int OPTPP::OptBCNewtonLike::checkDeriv (  )  [virtual]

Compare the analytic gradient with the finite difference gradient.

Reimplemented in OPTPP::OptBCFDNewton, OPTPP::OptBCNewton, and OPTPP::OptBCQNewton.

virtual double OPTPP::OptBCNewtonLike::computeMaxStep ( NEWMAT::ColumnVector &   )  [inline, virtual]

before we hit a constraint

Reimplemented in OPTPP::OptBaNewton, OPTPP::OptBaQNewton, OPTPP::OptBCNewton, and OPTPP::OptBCQNewton.

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

Compute search direction.

Implements OPTPP::OptimizeClass.

Reimplemented in OPTPP::OptBCNewton, and OPTPP::OptBCQNewton.

virtual int OPTPP::OptBCNewtonLike::computeStep ( NEWMAT::ColumnVector  sk  )  [virtual]

Compute the step length along the search direction.

Reimplemented in OPTPP::OptBaNewton, and OPTPP::OptBaQNewton.

void OPTPP::OptBCNewtonLike::defaultAcceptStep ( int  iter,
int  step_type 
) [protected, virtual]

Provide default implementation of AcceptStep

Reimplemented from OPTPP::OptimizeClass.

NEWMAT::ColumnVector OPTPP::OptBCNewtonLike::defaultComputeSearch ( NEWMAT::SymmetricMatrix &   )  [protected]

DerivOption OPTPP::OptBCNewtonLike::getDerivOption (  )  const [inline]

Returns:
Type of finite difference approximation.

int OPTPP::OptBCNewtonLike::getFevals (  )  const [inline]

Returns:
The number of function evaluations

int OPTPP::OptBCNewtonLike::getGevals (  )  const [inline]

Returns:
The number of gradient evaluations

real OPTPP::OptBCNewtonLike::getGradMult (  )  const [inline]

Returns:
Gradient multiplier to compute TR_size

NEWMAT::SymmetricMatrix OPTPP::OptBCNewtonLike::getHessian (  )  const [inline]

Returns:
Hessian matrix

int OPTPP::OptBCNewtonLike::getSearchSize (  )  const [inline]

Returns:
Number of points in search scheme which is used in trustpds search strategy

SearchStrategy OPTPP::OptBCNewtonLike::getSearchStrategy (  )  const [inline]

Returns:
Globalization strategy for optimization algorithm

real OPTPP::OptBCNewtonLike::getTRSize (  )  const [inline]

Returns:
Radius of trust-region

bool OPTPP::OptBCNewtonLike::getWarmStart (  )  const [inline]

void OPTPP::OptBCNewtonLike::initHessian (  )  [virtual]

Compute the Hessian or its approximation at the initial point.

Reimplemented in OPTPP::OptBaNewton, OPTPP::OptBCNewton, and OPTPP::OptBCQNewton.

void OPTPP::OptBCNewtonLike::initOpt (  )  [virtual]

Initialize algorithmic parameters.

Reimplemented in OPTPP::OptBaNewton, OPTPP::OptBaQNewton, OPTPP::OptBCNewton, and OPTPP::OptBCQNewton.

double OPTPP::OptBCNewtonLike::initTrustRegionSize (  )  const [virtual]

Initialize the size of the trust-region.

virtual NLP1* OPTPP::OptBCNewtonLike::nlprob (  )  const [protected, pure virtual]

returns an NLP1 pointer

Implemented in OPTPP::OptBCNewton1Deriv, and OPTPP::OptBCNewton2Deriv.

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

Invoke a bound constrained Newton's method.

Implements OPTPP::OptimizeClass.

Reimplemented in OPTPP::OptBaNewton, and OPTPP::OptBaQNewton.

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

Print status of the bound constrained Newton's method.

Implements OPTPP::OptimizeClass.

Reimplemented in OPTPP::OptBCNewton, and OPTPP::OptBCQNewton.

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

Read user-specified input options from a file.

Implements OPTPP::OptimizeClass.

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

Implements OPTPP::OptimizeClass.

Reimplemented in OPTPP::OptBCFDNewton, OPTPP::OptBCNewton, and OPTPP::OptBCQNewton.

void OPTPP::OptBCNewtonLike::setDerivOption ( DerivOption  d  )  [inline]

Set the type of finite difference routine.

void OPTPP::OptBCNewtonLike::setGradMult ( real  tau  )  [inline]

Set gradient multiplier which is used to compute trust-region radius.

void OPTPP::OptBCNewtonLike::setHessian ( NEWMAT::SymmetricMatrix &  H  )  [inline]

Store the current Hessian matrix.

void OPTPP::OptBCNewtonLike::setSearchSize ( int  sss  )  [inline]

Set number of points in search scheme for trust-pds search strategy.

void OPTPP::OptBCNewtonLike::setSearchStrategy ( SearchStrategy  s  )  [inline]

Set globalization strategy for optimization algorithms.

void OPTPP::OptBCNewtonLike::setTRSize ( real  delta  )  [inline]

Set radius of trust-region.

virtual int OPTPP::OptBCNewtonLike::updateConstraints ( int   )  [inline, virtual]

Add and remove variables from the working set.

Reimplemented in OPTPP::OptBCNewton, and OPTPP::OptBCQNewton.

virtual NEWMAT::SymmetricMatrix OPTPP::OptBCNewtonLike::updateH ( NEWMAT::SymmetricMatrix &  H,
int  k 
) [pure virtual]

Compute the Hessian or its approximation at the current point.

Implemented in OPTPP::OptBaNewton, OPTPP::OptBaQNewton, OPTPP::OptBCFDNewton, OPTPP::OptBCNewton, and OPTPP::OptBCQNewton.

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

Implements OPTPP::OptimizeClass.

void OPTPP::OptBCNewtonLike::useWarmStart ( NEWMAT::SymmetricMatrix &  H  )  [inline]


Friends And Related Function Documentation

int trustpds ( NLP1 ,
ostream *  ,
NEWMAT::SymmetricMatrix &  ,
NEWMAT::ColumnVector &  ,
NEWMAT::ColumnVector &  ,
real ,
real ,
real  stpmax,
real  stpmin,
int   
) [friend]

int trustregion ( NLP1 ,
ostream *  ,
NEWMAT::SymmetricMatrix &  ,
NEWMAT::ColumnVector &  ,
NEWMAT::ColumnVector &  ,
real ,
real ,
real  stpmax,
real  stpmin 
) [friend]


Member Data Documentation

DerivOption OPTPP::OptBCNewtonLike::finitediff [protected]

User-specified derivative option.

NEWMAT::ColumnVector OPTPP::OptBCNewtonLike::gprev [protected]

Gradient at previous iteration.

int OPTPP::OptBCNewtonLike::grad_evals [protected]

Number of gradient evaluations.

real OPTPP::OptBCNewtonLike::gradMult [protected]

Gradient multiplier to compute TR_size.

NEWMAT::SymmetricMatrix OPTPP::OptBCNewtonLike::Hessian [protected]

Current Hessian.

int OPTPP::OptBCNewtonLike::m_nconvgd [protected]

Syncs fcn & constraint convergence.

int OPTPP::OptBCNewtonLike::searchSize [protected]

Search pattern size for TRPDS.

SearchStrategy OPTPP::OptBCNewtonLike::strategy [protected]

User-specified globalization strategy.

real OPTPP::OptBCNewtonLike::TR_size [protected]

Trust region radius.

bool OPTPP::OptBCNewtonLike::WarmStart [protected]


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.