OPTPP::OptNewtonLike Class Reference

OptNewtonLike is the base class for Newton Methods. More...

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

List of all members.

Public Member Functions

virtual void acceptStep (int k, int step_type)
int checkAnalyticFDGrad ()
 Compare the analytic gradient with the finite difference gradient.
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 NEWMAT::ColumnVector computeSearch (NEWMAT::SymmetricMatrix &H)
 Compute Newton direction.
virtual int computeStep (NEWMAT::ColumnVector sk)
 Compute the step length along the Newton direction.
DerivOption getDerivOption () const
 Set the type of finite difference routine.
int getFevals () const
int getGevals () const
real getGradMult () const
NEWMAT::SymmetricMatrix getHessian () const
int getSearchSize () const
SearchStrategy getSearchStrategy () const
 Set globalization strategy for optimization algorithms.
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.
virtual void optimize ()
 Invoke Newton's method on an unconstrained problem.
 OptNewtonLike (int n, TOLS t)
 OptNewtonLike (int n, UPDATEFCN u)
 OptNewtonLike (int n)
 OptNewtonLike ()
 Default Constructor.
void printStatus (char *)
 Print status of unconstrained Newton's method.
virtual void readOptInput ()
 Read user-specified input options from a file.
virtual void reset ()
 Reset parameters.
void setDerivOption (DerivOption d)
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)
void setTRSize (real delta)
 Set trust-region radius.
virtual NEWMAT::SymmetricMatrix updateH (NEWMAT::SymmetricMatrix &H, int k)=0
 Compute the Hessian of the objective function or its approximation at the current point.
virtual void updateModel (int k, int ndim, NEWMAT::ColumnVector x)
void UseWarmStart (NEWMAT::SymmetricMatrix &H)
virtual ~OptNewtonLike ()
 Destructor.

Protected Member Functions

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

Protected Attributes

DerivOption finitediff
 User-specified derivative option.
NEWMAT::ColumnVector gprev
 Gradient at the prev. iteration.
int grad_evals
 Number of gradient evaluations.
real gradMult
 Gradient multiplier to compute TR_size.
NEWMAT::SymmetricMatrix Hessian
 Current Hessian.
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

OptNewtonLike is the base class for Newton Methods.

OptNewtonLike provides common data and functionality for OptFDNewton, OptQNewton, and OptNewton methods.

Note:
Modified by P.J. Williams, pwillia@sandia.gov
Date:
Last modified 03/2007

Definition at line 25 of file OptNewtonLike.h.


Constructor & Destructor Documentation

OPTPP::OptNewtonLike::OptNewtonLike (  )  [inline]
OPTPP::OptNewtonLike::OptNewtonLike ( int  n  )  [inline]
Parameters:
n an integer argument.

Definition at line 53 of file OptNewtonLike.h.

OPTPP::OptNewtonLike::OptNewtonLike ( int  n,
UPDATEFCN  u 
) [inline]
Parameters:
n an integer argument.
u a function pointer.

Definition at line 62 of file OptNewtonLike.h.

References OPTPP::OptimizeClass::update_fcn.

OPTPP::OptNewtonLike::OptNewtonLike ( int  n,
TOLS  t 
) [inline]
Parameters:
n an integer argument.
t tolerance class reference.

Definition at line 70 of file OptNewtonLike.h.

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

Destructor.

Definition at line 78 of file OptNewtonLike.h.


Member Function Documentation

virtual void OPTPP::OptNewtonLike::acceptStep ( int  ,
int   
) [inline, virtual]
Note:
Pure virtual functions
Each derived class must define these functions for themselves

Implements OPTPP::OptimizeClass.

Definition at line 87 of file OptNewtonLike.h.

References defaultAcceptStep().

int OPTPP::OptNewtonLike::checkAnalyticFDGrad (  ) 

Compare the analytic gradient with the finite difference gradient.

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

Check to see if algorithm satisfies the convergence criterion.

Implements OPTPP::OptimizeClass.

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

Compare the analytic gradient with the finite difference gradient.

Reimplemented in OPTPP::OptFDNewton, OPTPP::OptNewton, and OPTPP::OptQNewton.

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

Compute Newton direction.

Implements OPTPP::OptimizeClass.

Definition at line 91 of file OptNewtonLike.h.

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

Compute the step length along the Newton direction.

void OPTPP::OptNewtonLike::defaultAcceptStep ( int  ,
int   
) [protected, virtual]

Provide default implementation of AcceptStep.

Reimplemented from OPTPP::OptimizeClass.

Referenced by acceptStep().

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

Set the type of finite difference routine.

Definition at line 186 of file OptNewtonLike.h.

References finitediff.

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

Definition at line 140 of file OptNewtonLike.h.

References OPTPP::OptimizeClass::fcn_evals.

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

Definition at line 145 of file OptNewtonLike.h.

References grad_evals.

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

Definition at line 157 of file OptNewtonLike.h.

References gradMult.

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

Definition at line 191 of file OptNewtonLike.h.

References Hessian.

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

Definition at line 166 of file OptNewtonLike.h.

References searchSize.

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

Set globalization strategy for optimization algorithms.

Definition at line 178 of file OptNewtonLike.h.

References strategy.

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

Definition at line 150 of file OptNewtonLike.h.

References TR_size.

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

Compute the Hessian or its approximation at the initial point.

Reimplemented in OPTPP::OptNewton.

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

Initialize algorithmic parameters.

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

Initialize the size of the trust-region.

Only relevant when either the trustregion or trustpds globalization strategies are selected

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

Returns pointer to an NLP1 object.

Implemented in OPTPP::OptNewton1Deriv, and OPTPP::OptNewton2Deriv.

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

Invoke Newton's method on an unconstrained problem.

Implements OPTPP::OptimizeClass.

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

Print status of unconstrained Newton's method.

Implements OPTPP::OptimizeClass.

Reimplemented in OPTPP::OptNewton.

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

Read user-specified input options from a file.

Implements OPTPP::OptimizeClass.

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

Reset parameters.

Implements OPTPP::OptimizeClass.

void OPTPP::OptNewtonLike::setDerivOption ( DerivOption  d  )  [inline]
Returns:
Type of finite difference approximation.

Definition at line 184 of file OptNewtonLike.h.

References finitediff.

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

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

Definition at line 159 of file OptNewtonLike.h.

References gradMult.

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

Store the current Hessian matrix.

Definition at line 193 of file OptNewtonLike.h.

References Hessian.

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

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

Definition at line 168 of file OptNewtonLike.h.

References searchSize.

void OPTPP::OptNewtonLike::setSearchStrategy ( SearchStrategy  s  )  [inline]
Returns:
Globalization strategy for optimization algorithms

Definition at line 176 of file OptNewtonLike.h.

References strategy.

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

Set trust-region radius.

Definition at line 152 of file OptNewtonLike.h.

References TR_size.

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

Compute the Hessian of the objective function or its approximation at the current point.

Implemented in OPTPP::OptFDNewton, OPTPP::OptNewton, and OPTPP::OptQNewton.


Member Data Documentation

DerivOption OPTPP::OptNewtonLike::finitediff [protected]

User-specified derivative option.

Definition at line 32 of file OptNewtonLike.h.

Referenced by getDerivOption(), and setDerivOption().

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

Gradient at the prev. iteration.

Definition at line 28 of file OptNewtonLike.h.

Number of gradient evaluations.

Definition at line 30 of file OptNewtonLike.h.

Referenced by getGevals().

Gradient multiplier to compute TR_size.

Definition at line 34 of file OptNewtonLike.h.

Referenced by getGradMult(), and setGradMult().

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

Current Hessian.

Definition at line 29 of file OptNewtonLike.h.

Referenced by getHessian(), and setHessian().

Search pattern size for TRPDS.

Definition at line 35 of file OptNewtonLike.h.

Referenced by getSearchSize(), and setSearchSize().

SearchStrategy OPTPP::OptNewtonLike::strategy [protected]

User-specified globalization Strategy.

Definition at line 31 of file OptNewtonLike.h.

Referenced by getSearchStrategy(), and setSearchStrategy().

Trust region radius.

Definition at line 33 of file OptNewtonLike.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