ROL
Public Member Functions | Private Attributes | List of all members
ROL::BundleStep< Real > Class Template Reference

Provides the interface to compute bundle trust-region steps. More...

#include <ROL_BundleStep.hpp>

+ Inheritance diagram for ROL::BundleStep< Real >:

Public Member Functions

 BundleStep (ROL::ParameterList &parlist)
 
void initialize (Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, BoundConstraint< Real > &con, AlgorithmState< Real > &algo_state)
 Initialize step with bound constraint. More...
 
void compute (Vector< Real > &s, const Vector< Real > &x, Objective< Real > &obj, BoundConstraint< Real > &con, AlgorithmState< Real > &algo_state)
 Compute step. More...
 
void update (Vector< Real > &x, const Vector< Real > &s, Objective< Real > &obj, BoundConstraint< Real > &con, AlgorithmState< Real > &algo_state)
 Update step, if successful. More...
 
std::string printHeader (void) const
 Print iterate header. More...
 
std::string printName (void) const
 Print step name. More...
 
std::string print (AlgorithmState< Real > &algo_state, bool print_header=false) const
 Print iterate status. More...
 
- Public Member Functions inherited from ROL::Step< Real >
virtual ~Step ()
 
 Step (void)
 
virtual void initialize (Vector< Real > &x, const Vector< Real > &s, const Vector< Real > &g, Objective< Real > &obj, BoundConstraint< Real > &con, AlgorithmState< Real > &algo_state)
 Initialize step with bound constraint. More...
 
virtual void initialize (Vector< Real > &x, const Vector< Real > &g, Vector< Real > &l, const Vector< Real > &c, Objective< Real > &obj, Constraint< Real > &con, AlgorithmState< Real > &algo_state)
 Initialize step with equality constraint. More...
 
virtual void initialize (Vector< Real > &x, const Vector< Real > &g, Vector< Real > &l, const Vector< Real > &c, Objective< Real > &obj, Constraint< Real > &con, BoundConstraint< Real > &bnd, AlgorithmState< Real > &algo_state)
 Initialize step with equality constraint. More...
 
virtual void compute (Vector< Real > &s, const Vector< Real > &x, const Vector< Real > &l, Objective< Real > &obj, Constraint< Real > &con, AlgorithmState< Real > &algo_state)
 Compute step (equality constraints). More...
 
virtual void update (Vector< Real > &x, Vector< Real > &l, const Vector< Real > &s, Objective< Real > &obj, Constraint< Real > &con, AlgorithmState< Real > &algo_state)
 Update step, if successful (equality constraints). More...
 
virtual void compute (Vector< Real > &s, const Vector< Real > &x, const Vector< Real > &l, Objective< Real > &obj, Constraint< Real > &con, BoundConstraint< Real > &bnd, AlgorithmState< Real > &algo_state)
 Compute step (equality constraints). More...
 
virtual void update (Vector< Real > &x, Vector< Real > &l, const Vector< Real > &s, Objective< Real > &obj, Constraint< Real > &con, BoundConstraint< Real > &bnd, AlgorithmState< Real > &algo_state)
 Update step, if successful (equality constraints). More...
 
const ROL::Ptr< const
StepState< Real > > 
getStepState (void) const
 Get state for step object. More...
 
void reset (const Real searchSize=1.0)
 Get state for step object. More...
 

Private Attributes

ROL::Ptr< Bundle< Real > > bundle_
 
ROL::Ptr< LineSearch< Real > > lineSearch_
 
unsigned QPiter_
 
unsigned QPmaxit_
 
Real QPtol_
 
int step_flag_
 
ROL::Ptr< Vector< Real > > y_
 
Real linErrNew_
 
Real valueNew_
 
ROL::Ptr< Vector< Real > > aggSubGradNew_
 
Real aggSubGradOldNorm_
 
Real aggLinErrNew_
 
Real aggLinErrOld_
 
Real aggDistMeasNew_
 
Real T_
 
Real tol_
 
Real m1_
 
Real m2_
 
Real m3_
 
Real nu_
 
int ls_maxit_
 
bool first_print_
 
bool isConvex_
 
Real ftol_
 
int verbosity_
 

Additional Inherited Members

- Protected Member Functions inherited from ROL::Step< Real >
ROL::Ptr< StepState< Real > > getState (void)
 

Detailed Description

template<class Real>
class ROL::BundleStep< Real >

Provides the interface to compute bundle trust-region steps.

Definition at line 33 of file ROL_BundleStep.hpp.

Constructor & Destructor Documentation

template<class Real >
ROL::BundleStep< Real >::BundleStep ( ROL::ParameterList &  parlist)
inline

Member Function Documentation

template<class Real >
void ROL::BundleStep< Real >::initialize ( Vector< Real > &  x,
const Vector< Real > &  g,
Objective< Real > &  obj,
BoundConstraint< Real > &  con,
AlgorithmState< Real > &  algo_state 
)
inlinevirtual
template<class Real >
void ROL::BundleStep< Real >::compute ( Vector< Real > &  s,
const Vector< Real > &  x,
Objective< Real > &  obj,
BoundConstraint< Real > &  bnd,
AlgorithmState< Real > &  algo_state 
)
inlinevirtual

Compute step.

Reimplemented from ROL::Step< Real >.

Definition at line 155 of file ROL_BundleStep.hpp.

References ROL::BundleStep< Real >::aggDistMeasNew_, ROL::BundleStep< Real >::aggLinErrNew_, ROL::BundleStep< Real >::aggLinErrOld_, ROL::AlgorithmState< Real >::aggregateGradientNorm, ROL::AlgorithmState< Real >::aggregateModelError, ROL::BundleStep< Real >::aggSubGradNew_, ROL::BundleStep< Real >::aggSubGradOldNorm_, ROL::BundleStep< Real >::bundle_, ROL::Vector< Real >::dot(), ROL::BundleStep< Real >::first_print_, ROL::AlgorithmState< Real >::flag, ROL::BundleStep< Real >::ftol_, ROL::Step< Real >::getState(), ROL::Objective< Real >::gradient(), ROL::BundleStep< Real >::isConvex_, ROL::AlgorithmState< Real >::iter, ROL::BundleStep< Real >::linErrNew_, ROL::BundleStep< Real >::lineSearch_, ROL::BundleStep< Real >::ls_maxit_, ROL::BundleStep< Real >::m1_, ROL::BundleStep< Real >::m2_, ROL::BundleStep< Real >::m3_, ROL::AlgorithmState< Real >::nfval, ROL::AlgorithmState< Real >::ngrad, ROL::BundleStep< Real >::nu_, ROL::BundleStep< Real >::QPiter_, ROL::BundleStep< Real >::QPmaxit_, ROL::BundleStep< Real >::QPtol_, ROL::Vector< Real >::scale(), ROL::Vector< Real >::set(), ROL::AlgorithmState< Real >::snorm, ROL::BundleStep< Real >::step_flag_, ROL::BundleStep< Real >::T_, ROL::BundleStep< Real >::tol_, ROL::Objective< Real >::update(), ROL::Objective< Real >::value(), ROL::AlgorithmState< Real >::value, ROL::BundleStep< Real >::valueNew_, ROL::BundleStep< Real >::verbosity_, ROL::BundleStep< Real >::y_, zero, and ROL::Vector< Real >::zero().

template<class Real >
void ROL::BundleStep< Real >::update ( Vector< Real > &  x,
const Vector< Real > &  s,
Objective< Real > &  obj,
BoundConstraint< Real > &  bnd,
AlgorithmState< Real > &  algo_state 
)
inlinevirtual
template<class Real >
std::string ROL::BundleStep< Real >::printHeader ( void  ) const
inlinevirtual

Print iterate header.

Reimplemented from ROL::Step< Real >.

Definition at line 392 of file ROL_BundleStep.hpp.

Referenced by ROL::BundleStep< Real >::print().

template<class Real >
std::string ROL::BundleStep< Real >::printName ( void  ) const
inlinevirtual

Print step name.

Reimplemented from ROL::Step< Real >.

Definition at line 409 of file ROL_BundleStep.hpp.

Referenced by ROL::BundleStep< Real >::print().

template<class Real >
std::string ROL::BundleStep< Real >::print ( AlgorithmState< Real > &  algo_state,
bool  printHeader = false 
) const
inlinevirtual

Member Data Documentation

template<class Real >
ROL::Ptr<Bundle<Real> > ROL::BundleStep< Real >::bundle_
private
template<class Real >
ROL::Ptr<LineSearch<Real> > ROL::BundleStep< Real >::lineSearch_
private
template<class Real >
unsigned ROL::BundleStep< Real >::QPiter_
private
template<class Real >
unsigned ROL::BundleStep< Real >::QPmaxit_
private
template<class Real >
Real ROL::BundleStep< Real >::QPtol_
private
template<class Real >
int ROL::BundleStep< Real >::step_flag_
private
template<class Real >
ROL::Ptr<Vector<Real> > ROL::BundleStep< Real >::y_
private
template<class Real >
Real ROL::BundleStep< Real >::linErrNew_
private
template<class Real >
Real ROL::BundleStep< Real >::valueNew_
private
template<class Real >
ROL::Ptr<Vector<Real> > ROL::BundleStep< Real >::aggSubGradNew_
private
template<class Real >
Real ROL::BundleStep< Real >::aggSubGradOldNorm_
private
template<class Real >
Real ROL::BundleStep< Real >::aggLinErrNew_
private
template<class Real >
Real ROL::BundleStep< Real >::aggLinErrOld_
private

Definition at line 58 of file ROL_BundleStep.hpp.

Referenced by ROL::BundleStep< Real >::compute().

template<class Real >
Real ROL::BundleStep< Real >::aggDistMeasNew_
private

Definition at line 59 of file ROL_BundleStep.hpp.

Referenced by ROL::BundleStep< Real >::compute().

template<class Real >
Real ROL::BundleStep< Real >::T_
private
template<class Real >
Real ROL::BundleStep< Real >::tol_
private
template<class Real >
Real ROL::BundleStep< Real >::m1_
private
template<class Real >
Real ROL::BundleStep< Real >::m2_
private
template<class Real >
Real ROL::BundleStep< Real >::m3_
private
template<class Real >
Real ROL::BundleStep< Real >::nu_
private
template<class Real >
int ROL::BundleStep< Real >::ls_maxit_
private
template<class Real >
bool ROL::BundleStep< Real >::first_print_
private
template<class Real >
bool ROL::BundleStep< Real >::isConvex_
private
template<class Real >
Real ROL::BundleStep< Real >::ftol_
private

Definition at line 75 of file ROL_BundleStep.hpp.

Referenced by ROL::BundleStep< Real >::compute().

template<class Real >
int ROL::BundleStep< Real >::verbosity_
private

The documentation for this class was generated from the following file: