ROL
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.
void compute (Vector< Real > &s, const Vector< Real > &x, Objective< Real > &obj, BoundConstraint< Real > &con, AlgorithmState< Real > &algo_state)
 Compute step.
void update (Vector< Real > &x, const Vector< Real > &s, Objective< Real > &obj, BoundConstraint< Real > &con, AlgorithmState< Real > &algo_state)
 Update step, if successful.
std::string printHeader (void) const
 Print iterate header.
std::string printName (void) const
 Print step name.
std::string print (AlgorithmState< Real > &algo_state, bool print_header=false) const
 Print iterate status.
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.
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.
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.
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).
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).
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).
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).
const ROL::Ptr< const StepState< Real > > getStepState (void) const
 Get state for step object.
void reset (const Real searchSize=1.0)
 Get state for step object.

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

◆ BundleStep()

Member Function Documentation

◆ initialize()

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

◆ compute()

◆ update()

◆ printHeader()

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 print().

◆ printName()

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 print().

◆ print()

Member Data Documentation

◆ bundle_

template<class Real>
ROL::Ptr<Bundle<Real> > ROL::BundleStep< Real >::bundle_
private

Definition at line 36 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), compute(), initialize(), and update().

◆ lineSearch_

template<class Real>
ROL::Ptr<LineSearch<Real> > ROL::BundleStep< Real >::lineSearch_
private

Definition at line 37 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), compute(), and initialize().

◆ QPiter_

template<class Real>
unsigned ROL::BundleStep< Real >::QPiter_
private

Definition at line 40 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), compute(), print(), and update().

◆ QPmaxit_

template<class Real>
unsigned ROL::BundleStep< Real >::QPmaxit_
private

Definition at line 41 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), and compute().

◆ QPtol_

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

Definition at line 42 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), and compute().

◆ step_flag_

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

Definition at line 45 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), compute(), print(), and update().

◆ y_

template<class Real>
ROL::Ptr<Vector<Real> > ROL::BundleStep< Real >::y_
private

Definition at line 48 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), compute(), and initialize().

◆ linErrNew_

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

Definition at line 51 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), compute(), and update().

◆ valueNew_

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

Definition at line 52 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), compute(), and update().

◆ aggSubGradNew_

template<class Real>
ROL::Ptr<Vector<Real> > ROL::BundleStep< Real >::aggSubGradNew_
private

Definition at line 55 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), compute(), initialize(), and update().

◆ aggSubGradOldNorm_

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

Definition at line 56 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), compute(), and initialize().

◆ aggLinErrNew_

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

Definition at line 57 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), compute(), and update().

◆ aggLinErrOld_

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

Definition at line 58 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), and compute().

◆ aggDistMeasNew_

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

Definition at line 59 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), and compute().

◆ T_

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

Definition at line 62 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), and compute().

◆ tol_

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

Definition at line 63 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), and compute().

◆ m1_

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

Definition at line 64 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), and compute().

◆ m2_

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

Definition at line 65 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), and compute().

◆ m3_

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

Definition at line 66 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), and compute().

◆ nu_

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

Definition at line 67 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), and compute().

◆ ls_maxit_

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

Definition at line 70 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), and compute().

◆ first_print_

template<class Real>
bool ROL::BundleStep< Real >::first_print_
private

Definition at line 72 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), compute(), and print().

◆ isConvex_

template<class Real>
bool ROL::BundleStep< Real >::isConvex_
private

Definition at line 73 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), compute(), and initialize().

◆ ftol_

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

Definition at line 75 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), and compute().

◆ verbosity_

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

Definition at line 77 of file ROL_BundleStep.hpp.

Referenced by BundleStep(), and compute().


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