|
ROL
|
Provides the interface to compute Fletcher steps. More...
#include <ROL_FletcherStep.hpp>
Inheritance diagram for ROL::FletcherStep< Real >:Public Member Functions | |
| ~FletcherStep () | |
| FletcherStep (ROL::ParameterList &parlist) | |
| 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. | |
| 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 and bound constraints. | |
| 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 constraint). | |
| 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 and bound constraints). | |
| 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 constraint). | |
| 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 and bound constraints). | |
| std::string | printHeader (void) const |
| Print iterate header. | |
| std::string | printName (void) const |
| Print step name. | |
| std::string | print (AlgorithmState< Real > &algo_state, bool pHeader=false) const |
| Print iterate status. | |
| std::string | getValueString (const Real value, const bool print) const |
| void | compute (Vector< Real > &s, const Vector< Real > &x, Objective< Real > &obj, BoundConstraint< Real > &con, AlgorithmState< Real > &algo_state) |
| Compute step for bound constraints; here only to satisfy the interface requirements, does nothing, needs refactoring. | |
| void | update (Vector< Real > &x, const Vector< Real > &s, Objective< Real > &obj, BoundConstraint< Real > &con, AlgorithmState< Real > &algo_state) |
| Update step, for bound constraints; here only to satisfy the interface requirements, does nothing, needs refactoring. | |
Public Member Functions inherited from ROL::ROL::Step< Real > | |
| virtual | ~Step () |
| Step (void) | |
| virtual void | initialize (Vector< Real > &x, 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 > &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, Objective< Real > &obj, BoundConstraint< Real > &bnd, AlgorithmState< Real > &algo_state) |
| Compute step. | |
| virtual void | update (Vector< Real > &x, const Vector< Real > &s, Objective< Real > &obj, BoundConstraint< Real > &bnd, AlgorithmState< Real > &algo_state) |
| Update step, if successful. | |
| 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). | |
| virtual std::string | print (AlgorithmState< Real > &algo_state, bool printHeader=false) const |
| Print iterate status. | |
| 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 Member Functions | |
| Real | computeProjGradientNorm (const Vector< Real > &g, const Vector< Real > &x, BoundConstraint< Real > &bnd) |
Private Attributes | |
| ROL::Ptr< Step< Real > > | step_ |
| ROL::Ptr< BoundConstraint< Real > > | bnd_ |
| ROL::ParameterList | parlist_ |
| ROL::Ptr< Vector< Real > > | x_ |
| Real | penaltyUpdate_ |
| bool | modifyPenalty_ |
| Real | maxPenaltyParam_ |
| Real | minPenaltyParam_ |
| bool | print_ |
| std::string | subStep_ |
| Real | delta_ |
| Real | deltaMin_ |
| Real | deltaUpdate_ |
| ETrustRegion | etr_ |
| bool | bnd_activated_ |
| ROL::Ptr< Vector< Real > > | g_ |
| int | numSuccessSteps_ |
| bool | isDeltaChanged_ |
| bool | isPenaltyChanged_ |
| AlgorithmState< Real > | tr_algo_state_ |
| int | stepHeaderLength_ |
Additional Inherited Members | |
Protected Member Functions inherited from ROL::ROL::Step< Real > | |
| ROL::Ptr< StepState< Real > > | getState (void) |
Provides the interface to compute Fletcher steps.
Definition at line 62 of file ROL_FletcherStep.hpp.
|
inline |
Definition at line 122 of file ROL_FletcherStep.hpp.
|
inline |
Definition at line 124 of file ROL_FletcherStep.hpp.
References bnd_activated_, delta_, deltaMin_, deltaUpdate_, ROL::Step< Real >::getState(), isDeltaChanged_, isPenaltyChanged_, maxPenaltyParam_, minPenaltyParam_, modifyPenalty_, numSuccessSteps_, parlist_, penaltyUpdate_, ROL::ROL::Step< Real >::Step(), stepHeaderLength_, subStep_, and zero.
|
inlineprivate |
Definition at line 99 of file ROL_FletcherStep.hpp.
References ROL::Vector< Real >::dual(), ROL::BoundConstraint< Real >::isActivated(), ROL::Vector< Real >::norm(), ROL::BoundConstraint< Real >::project(), and x_.
Referenced by initialize(), and update().
|
inline |
Initialize step with equality constraint.
Definition at line 147 of file ROL_FletcherStep.hpp.
References bnd_, and initialize().
Referenced by initialize().
|
inline |
Initialize step with equality and bound constraints.
Definition at line 157 of file ROL_FletcherStep.hpp.
References ROL::AlgorithmState< Real >::aggregateGradientNorm, bnd_activated_, ROL::Vector< Real >::clone(), ROL::AlgorithmState< Real >::cnorm, computeProjGradientNorm(), etr_, g_, ROL::FletcherBase< Real >::getConstraintVec(), ROL::FletcherBase< Real >::getLagrangianGradient(), ROL::FletcherBase< Real >::getNumberConstraintEvaluations(), ROL::FletcherBase< Real >::getNumberFunctionEvaluations(), ROL::FletcherBase< Real >::getNumberGradientEvaluations(), ROL::FletcherBase< Real >::getObjectiveValue(), ROL::Step< Real >::getState(), ROL::AlgorithmState< Real >::gnorm, ROL::BoundConstraint< Real >::isActivated(), ROL::AlgorithmState< Real >::ncval, ROL::AlgorithmState< Real >::nfval, ROL::AlgorithmState< Real >::ngrad, parlist_, step_, ROL::StringToETrustRegion(), subStep_, tr_algo_state_, ROL::AlgorithmState< Real >::value, and x_.
|
inline |
Compute step (equality constraint).
Definition at line 219 of file ROL_FletcherStep.hpp.
References bnd_, and compute().
Referenced by compute().
|
inline |
Compute step (equality and bound constraints).
Definition at line 227 of file ROL_FletcherStep.hpp.
References step_, and tr_algo_state_.
|
inline |
Update step, if successful (equality constraint).
Definition at line 235 of file ROL_FletcherStep.hpp.
References bnd_, and update().
Referenced by update().
|
inline |
Update step, if successful (equality and bound constraints).
Definition at line 243 of file ROL_FletcherStep.hpp.
References ROL::AlgorithmState< Real >::aggregateGradientNorm, ROL::AlgorithmState< Real >::cnorm, computeProjGradientNorm(), delta_, deltaMin_, deltaUpdate_, ROL::AlgorithmState< Real >::flag, g_, ROL::FletcherBase< Real >::getConstraintVec(), ROL::FletcherBase< Real >::getLagrangianGradient(), ROL::FletcherBase< Real >::getMultiplierVec(), ROL::FletcherBase< Real >::getNumberConstraintEvaluations(), ROL::FletcherBase< Real >::getNumberFunctionEvaluations(), ROL::FletcherBase< Real >::getNumberGradientEvaluations(), ROL::FletcherBase< Real >::getObjectiveValue(), ROL::Step< Real >::getState(), ROL::Step< Real >::getStepState(), ROL::AlgorithmState< Real >::gnorm, ROL::ROL::Objective< Real >::gradient(), isDeltaChanged_, isPenaltyChanged_, ROL::AlgorithmState< Real >::iter, ROL::AlgorithmState< Real >::iterateVec, ROL::AlgorithmState< Real >::lagmultVec, maxPenaltyParam_, minPenaltyParam_, modifyPenalty_, ROL::AlgorithmState< Real >::ncval, ROL::AlgorithmState< Real >::nfval, ROL::AlgorithmState< Real >::ngrad, numSuccessSteps_, penaltyUpdate_, ROL::FletcherBase< Real >::setDelta(), ROL::FletcherBase< Real >::setPenaltyParameter(), ROL::AlgorithmState< Real >::snorm, step_, tr_algo_state_, ROL::AlgorithmState< Real >::value, and ROL::ROL::Objective< Real >::value().
|
inlinevirtual |
Print iterate header.
Reimplemented from ROL::ROL::Step< Real >.
Definition at line 348 of file ROL_FletcherStep.hpp.
References etr_, step_, stepHeaderLength_, subStep_, and ROL::TRUSTREGION_TRUNCATEDCG.
Referenced by print().
|
inlinevirtual |
Print step name.
Reimplemented from ROL::ROL::Step< Real >.
Definition at line 389 of file ROL_FletcherStep.hpp.
References subStep_.
Referenced by print().
|
inline |
Print iterate status.
Definition at line 398 of file ROL_FletcherStep.hpp.
References ROL::AlgorithmState< Real >::cnorm, delta_, etr_, ROL::Step< Real >::getStepState(), getValueString(), ROL::AlgorithmState< Real >::gnorm, isDeltaChanged_, isPenaltyChanged_, ROL::AlgorithmState< Real >::iter, ROL::AlgorithmState< Real >::ncval, printHeader(), printName(), step_, stepHeaderLength_, subStep_, tr_algo_state_, ROL::TRUSTREGION_TRUNCATEDCG, and ROL::AlgorithmState< Real >::value.
Referenced by getValueString().
|
inline |
Definition at line 454 of file ROL_FletcherStep.hpp.
References print(), and ROL::value().
Referenced by print().
|
inline |
Compute step for bound constraints; here only to satisfy the interface requirements, does nothing, needs refactoring.
Definition at line 468 of file ROL_FletcherStep.hpp.
|
inline |
Update step, for bound constraints; here only to satisfy the interface requirements, does nothing, needs refactoring.
Definition at line 475 of file ROL_FletcherStep.hpp.
|
private |
Definition at line 64 of file ROL_FletcherStep.hpp.
Referenced by compute(), initialize(), print(), printHeader(), and update().
|
private |
Definition at line 65 of file ROL_FletcherStep.hpp.
Referenced by compute(), initialize(), and update().
|
private |
Definition at line 67 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and initialize().
|
private |
Definition at line 69 of file ROL_FletcherStep.hpp.
Referenced by computeProjGradientNorm(), and initialize().
|
private |
Definition at line 72 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and update().
|
private |
Definition at line 73 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and update().
|
private |
Definition at line 74 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and update().
|
private |
Definition at line 75 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and update().
|
private |
Definition at line 77 of file ROL_FletcherStep.hpp.
|
private |
Definition at line 78 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), initialize(), print(), printHeader(), and printName().
|
private |
Definition at line 80 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), print(), and update().
|
private |
Definition at line 81 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and update().
|
private |
Definition at line 82 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and update().
|
private |
Definition at line 83 of file ROL_FletcherStep.hpp.
Referenced by initialize(), print(), and printHeader().
|
private |
Definition at line 85 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and initialize().
|
private |
Definition at line 87 of file ROL_FletcherStep.hpp.
Referenced by initialize(), and update().
|
private |
Definition at line 89 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and update().
|
mutableprivate |
Definition at line 92 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), print(), and update().
|
mutableprivate |
Definition at line 93 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), print(), and update().
|
mutableprivate |
Definition at line 95 of file ROL_FletcherStep.hpp.
Referenced by compute(), initialize(), print(), and update().
|
mutableprivate |
Definition at line 97 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), print(), and printHeader().