OPTPP::OptNIPSLike Class Reference

OptNIPSLike is a derived class of OptConstrNewtonLike. More...

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

List of all members.

Public Member Functions

virtual int checkConvg ()
 Check to see if algorithm satisfies the convergence criterion.
virtual int checkDeriv ()
 Compare the analytic gradient with the finite-difference approximation.
void computeDirDeriv (NEWMAT::ColumnVector &sk, const NEWMAT::ColumnVector &xc, NEWMAT::ColumnVector &derivative)
 Takes three arguments and void return.
NEWMAT::ColumnVector computeSearch2 (NEWMAT::Matrix &Jacobian, const NEWMAT::ColumnVector &rhs)
virtual int computeStep (NEWMAT::ColumnVector step)
 Compute the steplength along the search direction.
double dampenStep (NEWMAT::ColumnVector &step)
 Takes one arguments and returns a real value.
real getMu () const
virtual void initHessian ()
 Initialize Hessian of Lagrangian.
NEWMAT::ColumnVector initMultipliers (const NEWMAT::ColumnVector &df, NEWMAT::Matrix &dcon)
 Takes two arguments and returns a NEWMAT::ColumnVector.
virtual void initOpt ()
 Initialize algorithmic parameters.
virtual real merit (int flag, const NEWMAT::ColumnVector &xc, const NEWMAT::ColumnVector &yc, NEWMAT::ColumnVector &zc, NEWMAT::ColumnVector &sc)
real merit2 (int flag, const NEWMAT::ColumnVector &xc, const NEWMAT::ColumnVector &yc, NEWMAT::ColumnVector &zc, NEWMAT::ColumnVector &sc)
 Takes five arguments and returns a real value.
real merit3 (int flag, const NEWMAT::ColumnVector &xc, NEWMAT::ColumnVector &zc, NEWMAT::ColumnVector &sc)
 Takes four arguments and returns a real value.
virtual void optimize ()
 Call the interior-point method.
 OptNIPSLike (int n, TOLS t)
 OptNIPSLike (int n, UPDATEFCN u)
 OptNIPSLike (int n)
 OptNIPSLike ()
 Default Constructor.
virtual void printStatus (char *s)
 Print status of opt. method.
virtual void readOptInput ()
 Read user-specified input options.
void recoverFeasibility (NEWMAT::ColumnVector xinit, CompoundConstraint *constraints, double ftol)
virtual void reset ()
 Takes zero arguments with void return.
void setCenteringParameter (real newSigma)
 Sets the value of the centering parameter.
virtual void setMeritFcn (MeritFcn option)
 Specify the merit function to used in step acceptance test.
void setMu (real newMu)
 Set the value of the perturbation parameter.
void setStepLengthToBdry (real newTau)
 Sets the percentage of step taken towards the boundary.
virtual NEWMAT::Matrix setupMatrix (const NEWMAT::ColumnVector &xc)
virtual NEWMAT::ColumnVector setupRHS (const NEWMAT::ColumnVector &xplus, const NEWMAT::ColumnVector &yplus, const NEWMAT::ColumnVector &zplus, const NEWMAT::ColumnVector &splus, real mu)
virtual NEWMAT::ColumnVector setupRHS (const NEWMAT::ColumnVector &xc, real mu)
virtual NEWMAT::SymmetricMatrix updateH (NEWMAT::SymmetricMatrix &H, int k)=0
 Compute the Hessian of the Lagrangrian or its approximation at iteration k.
void updateMu (int k)
 Takes one arguments and updates the perturbation parameter.
virtual ~OptNIPSLike ()
 Destructor.

Protected Member Functions

virtual NLP1 * nlprob () const =0
 pointer to NLP1

Protected Attributes

real beta_
 penalty parameter for merit function 3
real dirder_
 directional derivative of a merit function
real mu_
 pertubation parameter
real penalty_
 penalty parameter for merit function 2
const real rho_
 constant set to .5
real sigmin_
 centering parameter
const real sw_
 constant
real taumin_
 percentage of steplength to boundary

Detailed Description

OptNIPSLike is a derived class of OptConstrNewtonLike.

OptNIPSLike provides common data and functionality for OptFDNIPS, OptQNIPS, and OptNIPS.

The OptNIPS algorithm is a C++ implementation of NIPSM, a nonlinear interior-point code developed under MATLAB by Amr El-Bakry at Rice University and NIPSF, a Fortran implementation of the same code written by Frederik Saaf. Additional features include the merit functions proposed by Miguel Argaez and Richard Tapia in "Global Convergence of a Primal-Dual Newton Interior-Point Method for Nonlinear Programming Using a Modified Augmented Lagrange Function" as well as Robert Vanderbei and David Shanno in "An Interior-Point Algorithm For Nonconvex Nonlinear Programming".

Author:
P.J. Williams, Sandia National Laboratories, pwillia@sandia.gov

Definition at line 37 of file OptNIPSLike.h.


Constructor & Destructor Documentation

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

Definition at line 63 of file OptNIPSLike.h.

References OPTPP::OptimizeClass::method.

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

Definition at line 71 of file OptNIPSLike.h.

References OPTPP::OptimizeClass::method.

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

Definition at line 79 of file OptNIPSLike.h.

References OPTPP::OptimizeClass::method.

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

Destructor.

Definition at line 87 of file OptNIPSLike.h.


Member Function Documentation

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

Check to see if algorithm satisfies the convergence criterion.

Reimplemented from OPTPP::OptConstrNewtonLike.

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

Compare the analytic gradient with the finite-difference approximation.

Reimplemented from OPTPP::OptConstrNewtonLike.

Reimplemented in OPTPP::OptFDNIPS, and OPTPP::OptQNIPS.

void OPTPP::OptNIPSLike::computeDirDeriv ( NEWMAT::ColumnVector &  sk,
const NEWMAT::ColumnVector &  xc,
NEWMAT::ColumnVector &  derivative 
)

Takes three arguments and void return.

Parameters:
sk a NEWMAT::ColumnVector with contains the search direction
xc a NEWMAT::ColumnVector of current point
derivative a NEWMAT::ColumnVector of derivative of cost function
virtual int OPTPP::OptNIPSLike::computeStep ( NEWMAT::ColumnVector  sk  )  [virtual]

Compute the steplength along the search direction.

If an acceptable step not found, returns an error code = -1.

Reimplemented from OPTPP::OptConstrNewtonLike.

double OPTPP::OptNIPSLike::dampenStep ( NEWMAT::ColumnVector &  step  ) 

Takes one arguments and returns a real value.

Parameters:
step a NEWMAT::ColumnVector with contains the search direction
real OPTPP::OptNIPSLike::getMu (  )  const [inline]
Returns:
The value of mu_, the pertubation parameter

Definition at line 122 of file OptNIPSLike.h.

References mu_.

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

Initialize Hessian of Lagrangian.

Reimplemented from OPTPP::OptConstrNewtonLike.

Reimplemented in OPTPP::OptDHNIPS, and OPTPP::OptNIPS.

NEWMAT::ColumnVector OPTPP::OptNIPSLike::initMultipliers ( const NEWMAT::ColumnVector &  df,
NEWMAT::Matrix &  dcon 
)

Takes two arguments and returns a NEWMAT::ColumnVector.

Parameters:
df a NEWMAT::ColumnVector - gradient of obj. function
dcon a Matrix - gradient of constraints
Returns:
The initial value of the Lagrange multiplier z
virtual void OPTPP::OptNIPSLike::initOpt (  )  [virtual]

Initialize algorithmic parameters.

Reimplemented from OPTPP::OptConstrNewtonLike.

real OPTPP::OptNIPSLike::merit2 ( int  flag,
const NEWMAT::ColumnVector &  xc,
const NEWMAT::ColumnVector &  yc,
NEWMAT::ColumnVector &  zc,
NEWMAT::ColumnVector &  sc 
)

Takes five arguments and returns a real value.

Parameters:
flag an integer argument
xc a NEWMAT::ColumnVector
yc a NEWMAT::ColumnVector of Lagrange multipliers
zc a NEWMAT::ColumnVector of Lagrange multipliers
sc a NEWMAT::ColumnVector of slack variables
See also:
merit(flag,xc,yc,zc,sc)
Returns:
The value of the Argaez-Tapia merit function.
real OPTPP::OptNIPSLike::merit3 ( int  flag,
const NEWMAT::ColumnVector &  xc,
NEWMAT::ColumnVector &  zc,
NEWMAT::ColumnVector &  sc 
)

Takes four arguments and returns a real value.

Parameters:
flag an integer argument
xc a NEWMAT::ColumnVector
zc a NEWMAT::ColumnVector of Lagrange multipliers
sc a NEWMAT::ColumnVector of slack variables
See also:
merit(flag,xc,yc,zc,sc)
Returns:
The value of the Vanderbei et al merit function.
virtual NLP1* OPTPP::OptNIPSLike::nlprob (  )  const [protected, pure virtual]
virtual void OPTPP::OptNIPSLike::optimize (  )  [virtual]

Call the interior-point method.

Reimplemented from OPTPP::OptConstrNewtonLike.

virtual void OPTPP::OptNIPSLike::printStatus ( char *  s  )  [virtual]

Print status of opt. method.

Reimplemented from OPTPP::OptConstrNewtonLike.

Reimplemented in OPTPP::OptDHNIPS, and OPTPP::OptNIPS.

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

Read user-specified input options.

Reimplemented from OPTPP::OptConstrNewtonLike.

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

Takes zero arguments with void return.

Resets parameter values.

Reimplemented from OPTPP::OptConstrNewtonLike.

Reimplemented in OPTPP::OptDHNIPS.

void OPTPP::OptNIPSLike::setCenteringParameter ( real  newSigma  )  [inline]

Sets the value of the centering parameter.

Definition at line 131 of file OptNIPSLike.h.

References sigmin_.

virtual void OPTPP::OptNIPSLike::setMeritFcn ( MeritFcn  option  )  [virtual]

Specify the merit function to used in step acceptance test.

Reimplemented from OPTPP::OptConstrNewtonLike.

void OPTPP::OptNIPSLike::setMu ( real  newMu  )  [inline]

Set the value of the perturbation parameter.

Definition at line 126 of file OptNIPSLike.h.

References mu_.

void OPTPP::OptNIPSLike::setStepLengthToBdry ( real  newTau  )  [inline]

Sets the percentage of step taken towards the boundary.

Definition at line 136 of file OptNIPSLike.h.

References taumin_.

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

Compute the Hessian of the Lagrangrian or its approximation at iteration k.

Implements OPTPP::OptConstrNewtonLike.

Implemented in OPTPP::OptDHNIPS, OPTPP::OptFDNIPS, OPTPP::OptNIPS, and OPTPP::OptQNIPS.

void OPTPP::OptNIPSLike::updateMu ( int  k  ) 

Takes one arguments and updates the perturbation parameter.

Parameters:
k an integer - iteration counter

Member Data Documentation

real OPTPP::OptNIPSLike::beta_ [protected]

penalty parameter for merit function 3

Definition at line 40 of file OptNIPSLike.h.

real OPTPP::OptNIPSLike::dirder_ [protected]

directional derivative of a merit function

Definition at line 41 of file OptNIPSLike.h.

real OPTPP::OptNIPSLike::mu_ [protected]

pertubation parameter

Definition at line 42 of file OptNIPSLike.h.

Referenced by getMu(), and setMu().

real OPTPP::OptNIPSLike::penalty_ [protected]

penalty parameter for merit function 2

Definition at line 43 of file OptNIPSLike.h.

const real OPTPP::OptNIPSLike::rho_ [protected]

constant set to .5

Definition at line 46 of file OptNIPSLike.h.

real OPTPP::OptNIPSLike::sigmin_ [protected]

centering parameter

Definition at line 44 of file OptNIPSLike.h.

Referenced by setCenteringParameter().

const real OPTPP::OptNIPSLike::sw_ [protected]

constant

Definition at line 47 of file OptNIPSLike.h.

real OPTPP::OptNIPSLike::taumin_ [protected]

percentage of steplength to boundary

Definition at line 45 of file OptNIPSLike.h.

Referenced by setStepLengthToBdry().


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