Bound Constrained Newton abstract data classes OptBCNewtonLike OptBCNewton1Deriv OptBCNewton2Deriv OptBCNewtonLike provides common data and functionality for the OptBCQNewton, OptBCFDNewton, and OptBCNewton methods. More...
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) |
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.
Definition at line 32 of file OptBCNewtonLike.h.
OPTPP::OptBCNewtonLike::OptBCNewtonLike | ( | ) | [inline] |
Default Constructor.
Definition at line 59 of file OptBCNewtonLike.h.
OPTPP::OptBCNewtonLike::OptBCNewtonLike | ( | int | n | ) | [inline] |
n | an integer argument |
Definition at line 65 of file OptBCNewtonLike.h.
OPTPP::OptBCNewtonLike::OptBCNewtonLike | ( | int | n, | |
UPDATEFCN | u | |||
) | [inline] |
n | an integer argument | |
u | a function pointer. |
Definition at line 75 of file OptBCNewtonLike.h.
References OPTPP::OptimizeClass::update_fcn.
OPTPP::OptBCNewtonLike::OptBCNewtonLike | ( | int | n, | |
TOLS | t | |||
) | [inline] |
n | an integer argument | |
t | tolerance class reference. |
Definition at line 86 of file OptBCNewtonLike.h.
virtual OPTPP::OptBCNewtonLike::~OptBCNewtonLike | ( | ) | [inline, virtual] |
Destructor.
Definition at line 94 of file OptBCNewtonLike.h.
virtual void OPTPP::OptBCNewtonLike::acceptStep | ( | int | , | |
int | ||||
) | [inline, virtual] |
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] |
Definition at line 175 of file OptBCNewtonLike.h.
References finitediff.
int OPTPP::OptBCNewtonLike::getFevals | ( | ) | const [inline] |
Definition at line 165 of file OptBCNewtonLike.h.
References OPTPP::OptimizeClass::fcn_evals.
int OPTPP::OptBCNewtonLike::getGevals | ( | ) | const [inline] |
Definition at line 170 of file OptBCNewtonLike.h.
References grad_evals.
real OPTPP::OptBCNewtonLike::getGradMult | ( | ) | const [inline] |
Definition at line 189 of file OptBCNewtonLike.h.
References gradMult.
NEWMAT::SymmetricMatrix OPTPP::OptBCNewtonLike::getHessian | ( | ) | const [inline] |
int OPTPP::OptBCNewtonLike::getSearchSize | ( | ) | const [inline] |
Definition at line 197 of file OptBCNewtonLike.h.
References searchSize.
SearchStrategy OPTPP::OptBCNewtonLike::getSearchStrategy | ( | ) | const [inline] |
Definition at line 207 of file OptBCNewtonLike.h.
References strategy.
real OPTPP::OptBCNewtonLike::getTRSize | ( | ) | const [inline] |
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] |
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.
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.
int OPTPP::OptBCNewtonLike::grad_evals [protected] |
Number of gradient evaluations.
Definition at line 38 of file OptBCNewtonLike.h.
Referenced by getGevals().
real OPTPP::OptBCNewtonLike::gradMult [protected] |
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().
int OPTPP::OptBCNewtonLike::m_nconvgd [protected] |
Syncs fcn & constraint convergence.
Definition at line 44 of file OptBCNewtonLike.h.
int OPTPP::OptBCNewtonLike::searchSize [protected] |
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().
real OPTPP::OptBCNewtonLike::TR_size [protected] |
Trust region radius.
Definition at line 41 of file OptBCNewtonLike.h.
Referenced by getTRSize(), and setTRSize().