OPTPP::OptBCEllipsoid Class Reference

#include <OptBCEllipsoid.h>

Inheritance diagram for OPTPP::OptBCEllipsoid:

OPTPP::OptimizeClass List of all members.

Public Member Functions

 OptBCEllipsoid ()
 OptBCEllipsoid (NLP1 *p)
 OptBCEllipsoid (NLP1 *p, UPDATEFCN u)
 OptBCEllipsoid (NLP1 *p, TOLS t)
 ~OptBCEllipsoid ()
virtual void acceptStep (int k, int step_type)
virtual int checkConvg ()
 Check to see if algorithm satisfies the convergence criteria.
NEWMAT::ColumnVector computeSearch (NEWMAT::SymmetricMatrix &)
virtual void optimize ()
 Call the optimization method.
virtual void readOptInput ()
 Read user-specified input options.
virtual void printStatus (char *)
 Print status of the bound constrained ellipsoidal method.
virtual void updateModel (int k, int ndim, NEWMAT::ColumnVector x)
virtual void reset ()
virtual void initOpt ()
 Sets up the optimization method.
void setInitialEllipsoid (double rad)
 Sets the initial ellipsoid radius.
double computeFeasibility (NEWMAT::ColumnVector &)
 Computes feasibility of the constraints.
NEWMAT::ColumnVector computeConstraintSubgradient (NEWMAT::ColumnVector &)
 Picks the row corresponding to the most infeasible constraints.
int infeasibilityStep (NEWMAT::ColumnVector &, NEWMAT::SymmetricMatrix &, double &)
 Step taken if the current x is infeasible.
int halfSpaceStep (NEWMAT::ColumnVector &, NEWMAT::SymmetricMatrix &, double &)
 Deep cut step for upper bound.
void setXScale (NEWMAT::ColumnVector &x)
 Set the scaling vector for x.
void setDeepCut ()
 Set deepcutflag = 1.
void resetDeepCut ()
 Set deepcutflag = 0.
double computeGamma (double)
 Given x, compute the gamma function.

Protected Member Functions

NLP1nlprob () const
 Pointer to an NLP1*.

Protected Attributes

double fval_lowbound
 Function lower/upper bounds.
double fval_upbound
double initial_radius
 Radius of the initial sphere.
int xscal_flag
 Scaling indicator.
int deepcutflag
 Deep cut indicator.

Private Attributes

NLP1mem_nlp
 Pointer to an NLP1*.
int nlp_type
 NLP identifier.

Detailed Description

Bound Constrained Newton abstract data classes. OptBCEllipsoid implements the bound constrained ellipsoid method.

Author:
J.C. Meza, Sandia National Laboratories, meza@ca.sandia.gov

Charles Tong

Note:
Modified by P.J. Williams to accept new constrained nlp objects


Constructor & Destructor Documentation

OPTPP::OptBCEllipsoid::OptBCEllipsoid (  )  [inline]

Default constructor

OPTPP::OptBCEllipsoid::OptBCEllipsoid ( NLP1 p  )  [inline]

Parameters:
p a pointer to an NLP1 object
See also:
OptBCEllipsoid(NLP1* p, UPDATEFCN u)

OptBCEllipsoid(NLP1* p, TOLS t)

OPTPP::OptBCEllipsoid::OptBCEllipsoid ( NLP1 p,
UPDATEFCN  u 
) [inline]

Parameters:
p a pointer to an NLP1 object
u an update function
See also:
OptBCEllipsoid(NLP1* p)

OptBCEllipsoid(NLP1* p, UPDATEFCN u)

OPTPP::OptBCEllipsoid::OptBCEllipsoid ( NLP1 p,
TOLS  t 
) [inline]

Parameters:
p a pointer to an NLP1 object
t a TOLS object
See also:
OptBCEllipsoid(NLP1* p)

OptBCEllipsoid(NLP1* p, UPDATEFCN u)

OPTPP::OptBCEllipsoid::~OptBCEllipsoid (  )  [inline]

Destructor


Member Function Documentation

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

Note:
Pure virtual functions

Each derived class must define these functions for themselves

Implements OPTPP::OptimizeClass.

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

Check to see if algorithm satisfies the convergence criteria.

Implements OPTPP::OptimizeClass.

NEWMAT::ColumnVector OPTPP::OptBCEllipsoid::computeConstraintSubgradient ( NEWMAT::ColumnVector &   ) 

Picks the row corresponding to the most infeasible constraints.

double OPTPP::OptBCEllipsoid::computeFeasibility ( NEWMAT::ColumnVector &   ) 

Computes feasibility of the constraints.

double OPTPP::OptBCEllipsoid::computeGamma ( double   ) 

Given x, compute the gamma function.

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

Implements OPTPP::OptimizeClass.

int OPTPP::OptBCEllipsoid::halfSpaceStep ( NEWMAT::ColumnVector &  ,
NEWMAT::SymmetricMatrix &  ,
double &   
)

Deep cut step for upper bound.

int OPTPP::OptBCEllipsoid::infeasibilityStep ( NEWMAT::ColumnVector &  ,
NEWMAT::SymmetricMatrix &  ,
double &   
)

Step taken if the current x is infeasible.

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

Sets up the optimization method.

NLP1* OPTPP::OptBCEllipsoid::nlprob (  )  const [inline, protected]

Pointer to an NLP1*.

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

Call the optimization method.

Implements OPTPP::OptimizeClass.

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

Print status of the bound constrained ellipsoidal method.

Implements OPTPP::OptimizeClass.

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

Read user-specified input options.

Implements OPTPP::OptimizeClass.

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

Implements OPTPP::OptimizeClass.

void OPTPP::OptBCEllipsoid::resetDeepCut (  )  [inline]

Set deepcutflag = 0.

void OPTPP::OptBCEllipsoid::setDeepCut (  )  [inline]

Set deepcutflag = 1.

void OPTPP::OptBCEllipsoid::setInitialEllipsoid ( double  rad  )  [inline]

Sets the initial ellipsoid radius.

void OPTPP::OptBCEllipsoid::setXScale ( NEWMAT::ColumnVector &  x  )  [inline]

Set the scaling vector for x.

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

Implements OPTPP::OptimizeClass.


Member Data Documentation

int OPTPP::OptBCEllipsoid::deepcutflag [protected]

Deep cut indicator.

double OPTPP::OptBCEllipsoid::fval_lowbound [protected]

Function lower/upper bounds.

double OPTPP::OptBCEllipsoid::fval_upbound [protected]

double OPTPP::OptBCEllipsoid::initial_radius [protected]

Radius of the initial sphere.

NLP1* OPTPP::OptBCEllipsoid::mem_nlp [private]

Pointer to an NLP1*.

int OPTPP::OptBCEllipsoid::nlp_type [private]

NLP identifier.

int OPTPP::OptBCEllipsoid::xscal_flag [protected]

Scaling indicator.


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.