|
ROL
|
Provides the interface to compute Fletcher steps. More...
#include <ROL_FletcherStep.hpp>
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::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. | |
| 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::Step< Real > | |
| ROL::Ptr< StepState< Real > > | getState (void) |
Provides the interface to compute Fletcher steps.
Definition at line 28 of file ROL_FletcherStep.hpp.
|
inline |
Definition at line 88 of file ROL_FletcherStep.hpp.
|
inline |
Definition at line 90 of file ROL_FletcherStep.hpp.
References bnd_activated_, delta_, deltaMin_, deltaUpdate_, ROL::Step< Real >::getState(), isDeltaChanged_, isPenaltyChanged_, maxPenaltyParam_, minPenaltyParam_, modifyPenalty_, numSuccessSteps_, parlist_, penaltyUpdate_, ROL::Step< Real >::Step(), stepHeaderLength_, subStep_, and zero.
|
inlineprivate |
Definition at line 65 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().
|
inlinevirtual |
Initialize step with equality constraint.
Reimplemented from ROL::Step< Real >.
Definition at line 113 of file ROL_FletcherStep.hpp.
References bnd_, and initialize().
Referenced by initialize().
|
inlinevirtual |
Initialize step with equality and bound constraints.
Reimplemented from ROL::Step< Real >.
Definition at line 123 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_.
|
inlinevirtual |
Compute step (equality constraint).
Reimplemented from ROL::Step< Real >.
Definition at line 186 of file ROL_FletcherStep.hpp.
References bnd_, and compute().
Referenced by compute().
|
inlinevirtual |
Compute step (equality and bound constraints).
Reimplemented from ROL::Step< Real >.
Definition at line 194 of file ROL_FletcherStep.hpp.
References step_, and tr_algo_state_.
|
inlinevirtual |
Update step, if successful (equality constraint).
Reimplemented from ROL::Step< Real >.
Definition at line 202 of file ROL_FletcherStep.hpp.
References bnd_, and update().
Referenced by update().
|
inlinevirtual |
Update step, if successful (equality and bound constraints).
Reimplemented from ROL::Step< Real >.
Definition at line 210 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::Step< Real >.
Definition at line 315 of file ROL_FletcherStep.hpp.
References etr_, step_, stepHeaderLength_, subStep_, and ROL::TRUSTREGION_TRUNCATEDCG.
Referenced by print().
|
inlinevirtual |
Print step name.
Reimplemented from ROL::Step< Real >.
Definition at line 356 of file ROL_FletcherStep.hpp.
References subStep_.
Referenced by print().
|
inlinevirtual |
Print iterate status.
Reimplemented from ROL::Step< Real >.
Definition at line 365 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 421 of file ROL_FletcherStep.hpp.
References print(), and ROL::value().
Referenced by print().
|
inlinevirtual |
Compute step for bound constraints; here only to satisfy the interface requirements, does nothing, needs refactoring.
Reimplemented from ROL::Step< Real >.
Definition at line 435 of file ROL_FletcherStep.hpp.
|
inlinevirtual |
Update step, for bound constraints; here only to satisfy the interface requirements, does nothing, needs refactoring.
Reimplemented from ROL::Step< Real >.
Definition at line 442 of file ROL_FletcherStep.hpp.
|
private |
Definition at line 30 of file ROL_FletcherStep.hpp.
Referenced by compute(), initialize(), print(), printHeader(), and update().
|
private |
Definition at line 31 of file ROL_FletcherStep.hpp.
Referenced by compute(), initialize(), and update().
|
private |
Definition at line 33 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and initialize().
|
private |
Definition at line 35 of file ROL_FletcherStep.hpp.
Referenced by computeProjGradientNorm(), and initialize().
|
private |
Definition at line 38 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and update().
|
private |
Definition at line 39 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and update().
|
private |
Definition at line 40 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and update().
|
private |
Definition at line 41 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and update().
|
private |
Definition at line 43 of file ROL_FletcherStep.hpp.
|
private |
Definition at line 44 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), initialize(), print(), printHeader(), and printName().
|
private |
Definition at line 46 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), print(), and update().
|
private |
Definition at line 47 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and update().
|
private |
Definition at line 48 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and update().
|
private |
Definition at line 49 of file ROL_FletcherStep.hpp.
Referenced by initialize(), print(), and printHeader().
|
private |
Definition at line 51 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and initialize().
|
private |
Definition at line 53 of file ROL_FletcherStep.hpp.
Referenced by initialize(), and update().
|
private |
Definition at line 55 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), and update().
|
mutableprivate |
Definition at line 58 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), print(), and update().
|
mutableprivate |
Definition at line 59 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), print(), and update().
|
mutableprivate |
Definition at line 61 of file ROL_FletcherStep.hpp.
Referenced by compute(), initialize(), print(), and update().
|
mutableprivate |
Definition at line 63 of file ROL_FletcherStep.hpp.
Referenced by FletcherStep(), print(), and printHeader().