OPTPP::OptBCNewtonLike Class Reference

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

Inheritance diagram for OPTPP::OptBCNewtonLike:
[legend]
Collaboration diagram for OPTPP::OptBCNewtonLike:
[legend]

List of all members.

Public Member Functions

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

Protected Member Functions

void defaultAcceptStep (int, int)
 Provide default implementation of AcceptStep.
NEWMAT::ColumnVector defaultComputeSearch (NEWMAT::SymmetricMatrix &)
virtual NLP1 * nlprob () const =0
 returns an NLP1 pointer

Protected Attributes

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

Friends

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

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

Definition at line 32 of file OptBCNewtonLike.h.


Constructor & Destructor Documentation

OPTPP::OptBCNewtonLike::OptBCNewtonLike (  )  [inline]
OPTPP::OptBCNewtonLike::OptBCNewtonLike ( int  n  )  [inline]
Parameters:
n an integer argument
See also:
OptBCNewtonLike(int n, UPDATEFCN u)
OptBCNewtonLike(int n, TOLS t)

Definition at line 65 of file OptBCNewtonLike.h.

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)

Definition at line 75 of file OptBCNewtonLike.h.

References OPTPP::OptimizeClass::update_fcn.

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)

Definition at line 86 of file OptBCNewtonLike.h.

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

Destructor.

Definition at line 94 of file OptBCNewtonLike.h.


Member Function Documentation

virtual void OPTPP::OptBCNewtonLike::acceptStep ( int  ,
int   
) [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.

Definition at line 103 of file OptBCNewtonLike.h.

References defaultAcceptStep().

int OPTPP::OptBCNewtonLike::checkAnalyticFDGrad (  ) 

Check analytic gradients against finite-difference gradients.

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

virtual 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]

Compute the maximum step allowed along the search direction before we hit a constraint.

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

Definition at line 130 of file OptBCNewtonLike.h.

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

Compute search direction.

Implements OPTPP::OptimizeClass.

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

Definition at line 107 of file OptBCNewtonLike.h.

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  ,
int   
) [protected, virtual]

Provide default implementation of AcceptStep.

Reimplemented from OPTPP::OptimizeClass.

Referenced by acceptStep().

DerivOption OPTPP::OptBCNewtonLike::getDerivOption (  )  const [inline]
Returns:
Type of finite difference approximation.

Definition at line 175 of file OptBCNewtonLike.h.

References finitediff.

int OPTPP::OptBCNewtonLike::getFevals (  )  const [inline]
Returns:
The number of function evaluations

Definition at line 165 of file OptBCNewtonLike.h.

References OPTPP::OptimizeClass::fcn_evals.

int OPTPP::OptBCNewtonLike::getGevals (  )  const [inline]
Returns:
The number of gradient evaluations

Definition at line 170 of file OptBCNewtonLike.h.

References grad_evals.

real OPTPP::OptBCNewtonLike::getGradMult (  )  const [inline]
Returns:
Gradient multiplier to compute TR_size

Definition at line 189 of file OptBCNewtonLike.h.

References gradMult.

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

Definition at line 214 of file OptBCNewtonLike.h.

References Hessian.

int OPTPP::OptBCNewtonLike::getSearchSize (  )  const [inline]
Returns:
Number of points in search scheme which is used in trustpds search strategy

Definition at line 197 of file OptBCNewtonLike.h.

References searchSize.

SearchStrategy OPTPP::OptBCNewtonLike::getSearchStrategy (  )  const [inline]
Returns:
Globalization strategy for optimization algorithm

Definition at line 207 of file OptBCNewtonLike.h.

References strategy.

real OPTPP::OptBCNewtonLike::getTRSize (  )  const [inline]
Returns:
Radius of trust-region

Definition at line 182 of file OptBCNewtonLike.h.

References TR_size.

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

Compute the Hessian or its approximation at the initial point.

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

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

Initialize algorithmic parameters.

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

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

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

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

Read user-specified input options from a file.

Implements OPTPP::OptimizeClass.

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

Set the type of finite difference routine.

Definition at line 177 of file OptBCNewtonLike.h.

References finitediff.

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

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

Definition at line 191 of file OptBCNewtonLike.h.

References gradMult.

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

Store the current Hessian matrix.

Definition at line 216 of file OptBCNewtonLike.h.

References Hessian.

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

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

Definition at line 199 of file OptBCNewtonLike.h.

References searchSize.

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

Set globalization strategy for optimization algorithms.

Definition at line 209 of file OptBCNewtonLike.h.

References strategy.

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

Set radius of trust-region.

Definition at line 184 of file OptBCNewtonLike.h.

References TR_size.

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

Add and remove variables from the working set.

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

Definition at line 117 of file OptBCNewtonLike.h.

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.


Member Data Documentation

DerivOption OPTPP::OptBCNewtonLike::finitediff [protected]

User-specified derivative option.

Definition at line 40 of file OptBCNewtonLike.h.

Referenced by getDerivOption(), and setDerivOption().

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

Gradient at previous iteration.

Definition at line 36 of file OptBCNewtonLike.h.

Number of gradient evaluations.

Definition at line 38 of file OptBCNewtonLike.h.

Referenced by getGevals().

Gradient multiplier to compute TR_size.

Definition at line 42 of file OptBCNewtonLike.h.

Referenced by getGradMult(), and setGradMult().

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

Current Hessian.

Definition at line 37 of file OptBCNewtonLike.h.

Referenced by getHessian(), and setHessian().

Syncs fcn & constraint convergence.

Definition at line 44 of file OptBCNewtonLike.h.

Search pattern size for TRPDS.

Definition at line 43 of file OptBCNewtonLike.h.

Referenced by getSearchSize(), and setSearchSize().

SearchStrategy OPTPP::OptBCNewtonLike::strategy [protected]

User-specified globalization strategy.

Definition at line 39 of file OptBCNewtonLike.h.

Referenced by getSearchStrategy(), and setSearchStrategy().

Trust region radius.

Definition at line 41 of file OptBCNewtonLike.h.

Referenced by getTRSize(), and setTRSize().


The documentation for this class was generated from the following file:
Generated on Mon Jan 24 12:04:41 2011 for FASTlib by  doxygen 1.6.3