ROL
|
Provides the interface to compute bundle trust-region steps. More...
#include <ROL_BundleStep.hpp>
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... | |
void | initialize (OptimizationProblem< Real > &opt, AlgorithmState< Real > &algo_state) |
void | compute (Vector< Real > &s, OptimizationProblem< Real > &opt, AlgorithmState< Real > &algo_state) |
void | update (OptimizationProblem< Real > &opt, const Vector< Real > &s, AlgorithmState< Real > &algo_state) |
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) |
Provides the interface to compute bundle trust-region steps.
Definition at line 67 of file ROL_BundleStep.hpp.
|
inline |
Definition at line 119 of file ROL_BundleStep.hpp.
References ROL::BundleStep< Real >::bundle_, ROL::Step< Real >::getState(), ROL::BundleStep< Real >::isConvex_, ROL::BundleStep< Real >::lineSearch_, ROL::BundleStep< Real >::ls_maxit_, ROL::BundleStep< Real >::m1_, ROL::BundleStep< Real >::m2_, ROL::BundleStep< Real >::m3_, ROL::BundleStep< Real >::nu_, ROL::BundleStep< Real >::QPmaxit_, ROL::BundleStep< Real >::QPtol_, ROL::BundleStep< Real >::T_, ROL::BundleStep< Real >::tol_, ROL::BundleStep< Real >::verbosity_, and zero.
|
inlinevirtual |
Initialize step with bound constraint.
Reimplemented from ROL::Step< Real >.
Definition at line 167 of file ROL_BundleStep.hpp.
References ROL::BundleStep< Real >::aggSubGradNew_, ROL::BundleStep< Real >::aggSubGradOldNorm_, ROL::BundleStep< Real >::bundle_, ROL::Vector< Real >::clone(), ROL::Step< Real >::getState(), ROL::AlgorithmState< Real >::gnorm, ROL::Step< Real >::initialize(), ROL::BundleStep< Real >::isConvex_, ROL::BundleStep< Real >::lineSearch_, and ROL::BundleStep< Real >::y_.
|
inlinevirtual |
Compute step.
Reimplemented from ROL::Step< Real >.
Definition at line 188 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().
|
inlinevirtual |
Update step, if successful.
Reimplemented from ROL::Step< Real >.
Definition at line 390 of file ROL_BundleStep.hpp.
References ROL::BundleStep< Real >::aggLinErrNew_, ROL::BundleStep< Real >::aggSubGradNew_, ROL::BundleStep< Real >::bundle_, ROL::AlgorithmState< Real >::flag, ROL::Step< Real >::getState(), ROL::AlgorithmState< Real >::gnorm, ROL::AlgorithmState< Real >::iter, ROL::AlgorithmState< Real >::iterateVec, ROL::BundleStep< Real >::linErrNew_, ROL::Vector< Real >::plus(), ROL::BundleStep< Real >::QPiter_, ROL::AlgorithmState< Real >::snorm, ROL::BundleStep< Real >::step_flag_, ROL::AlgorithmState< Real >::value, and ROL::BundleStep< Real >::valueNew_.
|
inlinevirtual |
Print iterate header.
Reimplemented from ROL::Step< Real >.
Definition at line 425 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::print().
|
inlinevirtual |
Print step name.
Reimplemented from ROL::Step< Real >.
Definition at line 442 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::print().
|
inlinevirtual |
Print iterate status.
Reimplemented from ROL::Step< Real >.
Definition at line 448 of file ROL_BundleStep.hpp.
References ROL::AlgorithmState< Real >::aggregateGradientNorm, ROL::AlgorithmState< Real >::aggregateModelError, ROL::BundleStep< Real >::first_print_, ROL::Step< Real >::getStepState(), ROL::AlgorithmState< Real >::gnorm, ROL::AlgorithmState< Real >::iter, ROL::AlgorithmState< Real >::nfval, ROL::AlgorithmState< Real >::ngrad, ROL::BundleStep< Real >::printHeader(), ROL::BundleStep< Real >::printName(), ROL::BundleStep< Real >::QPiter_, ROL::AlgorithmState< Real >::snorm, ROL::BundleStep< Real >::step_flag_, and ROL::AlgorithmState< Real >::value.
|
private |
Definition at line 70 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::BundleStep(), ROL::BundleStep< Real >::compute(), ROL::BundleStep< Real >::initialize(), and ROL::BundleStep< Real >::update().
|
private |
Definition at line 71 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::BundleStep(), ROL::BundleStep< Real >::compute(), and ROL::BundleStep< Real >::initialize().
|
private |
Definition at line 74 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::compute(), ROL::BundleStep< Real >::print(), and ROL::BundleStep< Real >::update().
|
private |
Definition at line 75 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::BundleStep(), and ROL::BundleStep< Real >::compute().
|
private |
Definition at line 76 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::BundleStep(), and ROL::BundleStep< Real >::compute().
|
private |
Definition at line 79 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::compute(), ROL::BundleStep< Real >::print(), and ROL::BundleStep< Real >::update().
|
private |
Definition at line 82 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::compute(), and ROL::BundleStep< Real >::initialize().
|
private |
Definition at line 85 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::compute(), and ROL::BundleStep< Real >::update().
|
private |
Definition at line 86 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::compute(), and ROL::BundleStep< Real >::update().
|
private |
Definition at line 89 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::compute(), ROL::BundleStep< Real >::initialize(), and ROL::BundleStep< Real >::update().
|
private |
Definition at line 90 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::compute(), and ROL::BundleStep< Real >::initialize().
|
private |
Definition at line 91 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::compute(), and ROL::BundleStep< Real >::update().
|
private |
Definition at line 92 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::compute().
|
private |
Definition at line 93 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::compute().
|
private |
Definition at line 96 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::BundleStep(), and ROL::BundleStep< Real >::compute().
|
private |
Definition at line 97 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::BundleStep(), and ROL::BundleStep< Real >::compute().
|
private |
Definition at line 98 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::BundleStep(), and ROL::BundleStep< Real >::compute().
|
private |
Definition at line 99 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::BundleStep(), and ROL::BundleStep< Real >::compute().
|
private |
Definition at line 100 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::BundleStep(), and ROL::BundleStep< Real >::compute().
|
private |
Definition at line 101 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::BundleStep(), and ROL::BundleStep< Real >::compute().
|
private |
Definition at line 104 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::BundleStep(), and ROL::BundleStep< Real >::compute().
|
private |
Definition at line 106 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::compute(), and ROL::BundleStep< Real >::print().
|
private |
Definition at line 107 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::BundleStep(), ROL::BundleStep< Real >::compute(), and ROL::BundleStep< Real >::initialize().
|
private |
Definition at line 109 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::compute().
|
private |
Definition at line 111 of file ROL_BundleStep.hpp.
Referenced by ROL::BundleStep< Real >::BundleStep(), and ROL::BundleStep< Real >::compute().