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. More... | |
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. More... | |
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). More... | |
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). More... | |
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). More... | |
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). 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 pHeader=false) const |
Print iterate status. More... | |
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. More... | |
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. More... | |
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. More... | |
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... | |
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 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 63 of file ROL_FletcherStep.hpp.
|
inline |
Definition at line 123 of file ROL_FletcherStep.hpp.
|
inline |
Definition at line 125 of file ROL_FletcherStep.hpp.
References ROL::FletcherStep< Real >::delta_, ROL::FletcherStep< Real >::deltaMin_, ROL::FletcherStep< Real >::deltaUpdate_, ROL::Step< Real >::getState(), ROL::FletcherStep< Real >::maxPenaltyParam_, ROL::FletcherStep< Real >::minPenaltyParam_, ROL::FletcherStep< Real >::modifyPenalty_, ROL::FletcherStep< Real >::parlist_, ROL::FletcherStep< Real >::penaltyUpdate_, ROL::FletcherStep< Real >::subStep_, and zero.
|
inlineprivate |
Definition at line 100 of file ROL_FletcherStep.hpp.
References ROL::Vector< Real >::dual(), ROL::BoundConstraint< Real >::isActivated(), ROL::Vector< Real >::norm(), ROL::BoundConstraint< Real >::project(), and ROL::FletcherStep< Real >::x_.
Referenced by ROL::FletcherStep< Real >::initialize(), and ROL::FletcherStep< Real >::update().
|
inlinevirtual |
Initialize step with equality constraint.
Reimplemented from ROL::Step< Real >.
Definition at line 148 of file ROL_FletcherStep.hpp.
References ROL::FletcherStep< Real >::bnd_.
|
inlinevirtual |
Initialize step with equality and bound constraints.
Reimplemented from ROL::Step< Real >.
Definition at line 158 of file ROL_FletcherStep.hpp.
References ROL::AlgorithmState< Real >::aggregateGradientNorm, ROL::FletcherStep< Real >::bnd_activated_, ROL::Vector< Real >::clone(), ROL::AlgorithmState< Real >::cnorm, ROL::FletcherStep< Real >::computeProjGradientNorm(), ROL::FletcherStep< Real >::etr_, ROL::FletcherStep< Real >::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, ROL::FletcherStep< Real >::parlist_, ROL::FletcherStep< Real >::step_, ROL::StringToETrustRegion(), ROL::FletcherStep< Real >::subStep_, ROL::FletcherStep< Real >::tr_algo_state_, ROL::AlgorithmState< Real >::value, and ROL::FletcherStep< Real >::x_.
|
inlinevirtual |
Compute step (equality constraint).
Reimplemented from ROL::Step< Real >.
Definition at line 220 of file ROL_FletcherStep.hpp.
References ROL::FletcherStep< Real >::bnd_.
|
inlinevirtual |
Compute step (equality and bound constraints).
Reimplemented from ROL::Step< Real >.
Definition at line 228 of file ROL_FletcherStep.hpp.
References ROL::FletcherStep< Real >::step_, and ROL::FletcherStep< Real >::tr_algo_state_.
|
inlinevirtual |
Update step, if successful (equality constraint).
Reimplemented from ROL::Step< Real >.
Definition at line 236 of file ROL_FletcherStep.hpp.
References ROL::FletcherStep< Real >::bnd_.
|
inlinevirtual |
Update step, if successful (equality and bound constraints).
Reimplemented from ROL::Step< Real >.
Definition at line 244 of file ROL_FletcherStep.hpp.
References ROL::AlgorithmState< Real >::aggregateGradientNorm, ROL::AlgorithmState< Real >::cnorm, ROL::FletcherStep< Real >::computeProjGradientNorm(), ROL::FletcherStep< Real >::delta_, ROL::FletcherStep< Real >::deltaMin_, ROL::FletcherStep< Real >::deltaUpdate_, ROL::AlgorithmState< Real >::flag, ROL::FletcherStep< Real >::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::Objective< Real >::gradient(), ROL::FletcherStep< Real >::isDeltaChanged_, ROL::FletcherStep< Real >::isPenaltyChanged_, ROL::AlgorithmState< Real >::iter, ROL::AlgorithmState< Real >::iterateVec, ROL::AlgorithmState< Real >::lagmultVec, ROL::FletcherStep< Real >::maxPenaltyParam_, ROL::FletcherStep< Real >::minPenaltyParam_, ROL::FletcherStep< Real >::modifyPenalty_, ROL::AlgorithmState< Real >::ncval, ROL::AlgorithmState< Real >::nfval, ROL::AlgorithmState< Real >::ngrad, ROL::FletcherStep< Real >::numSuccessSteps_, ROL::FletcherStep< Real >::penaltyUpdate_, ROL::FletcherBase< Real >::setDelta(), ROL::FletcherBase< Real >::setPenaltyParameter(), ROL::AlgorithmState< Real >::snorm, ROL::FletcherStep< Real >::step_, ROL::FletcherStep< Real >::tr_algo_state_, ROL::Objective< Real >::value(), and ROL::AlgorithmState< Real >::value.
|
inlinevirtual |
Print iterate header.
Reimplemented from ROL::Step< Real >.
Definition at line 350 of file ROL_FletcherStep.hpp.
References ROL::FletcherStep< Real >::etr_, ROL::FletcherStep< Real >::step_, ROL::FletcherStep< Real >::stepHeaderLength_, ROL::FletcherStep< Real >::subStep_, and ROL::TRUSTREGION_TRUNCATEDCG.
Referenced by ROL::FletcherStep< Real >::print().
|
inlinevirtual |
Print step name.
Reimplemented from ROL::Step< Real >.
Definition at line 391 of file ROL_FletcherStep.hpp.
References ROL::FletcherStep< Real >::subStep_.
Referenced by ROL::FletcherStep< Real >::print().
|
inlinevirtual |
Print iterate status.
Reimplemented from ROL::Step< Real >.
Definition at line 400 of file ROL_FletcherStep.hpp.
References ROL::AlgorithmState< Real >::cnorm, ROL::FletcherStep< Real >::delta_, ROL::FletcherStep< Real >::etr_, ROL::FletcherStep< Real >::getValueString(), ROL::AlgorithmState< Real >::gnorm, ROL::FletcherStep< Real >::isDeltaChanged_, ROL::FletcherStep< Real >::isPenaltyChanged_, ROL::AlgorithmState< Real >::iter, ROL::AlgorithmState< Real >::ncval, ROL::FletcherStep< Real >::printHeader(), ROL::FletcherStep< Real >::printName(), ROL::FletcherStep< Real >::step_, ROL::FletcherStep< Real >::stepHeaderLength_, ROL::FletcherStep< Real >::subStep_, ROL::FletcherStep< Real >::tr_algo_state_, ROL::TRUSTREGION_TRUNCATEDCG, and ROL::AlgorithmState< Real >::value.
|
inline |
Definition at line 456 of file ROL_FletcherStep.hpp.
References ROL::value.
Referenced by ROL::FletcherStep< Real >::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 470 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 477 of file ROL_FletcherStep.hpp.
|
private |
Definition at line 65 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::compute(), ROL::FletcherStep< Real >::initialize(), ROL::FletcherStep< Real >::print(), ROL::FletcherStep< Real >::printHeader(), and ROL::FletcherStep< Real >::update().
|
private |
Definition at line 66 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::compute(), ROL::FletcherStep< Real >::initialize(), and ROL::FletcherStep< Real >::update().
|
private |
Definition at line 68 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::FletcherStep(), and ROL::FletcherStep< Real >::initialize().
|
private |
Definition at line 70 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::computeProjGradientNorm(), and ROL::FletcherStep< Real >::initialize().
|
private |
Definition at line 73 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::FletcherStep(), and ROL::FletcherStep< Real >::update().
|
private |
Definition at line 74 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::FletcherStep(), and ROL::FletcherStep< Real >::update().
|
private |
Definition at line 75 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::FletcherStep(), and ROL::FletcherStep< Real >::update().
|
private |
Definition at line 76 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::FletcherStep(), and ROL::FletcherStep< Real >::update().
|
private |
Definition at line 78 of file ROL_FletcherStep.hpp.
|
private |
Definition at line 79 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::FletcherStep(), ROL::FletcherStep< Real >::initialize(), ROL::FletcherStep< Real >::print(), ROL::FletcherStep< Real >::printHeader(), and ROL::FletcherStep< Real >::printName().
|
private |
Definition at line 81 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::FletcherStep(), ROL::FletcherStep< Real >::print(), and ROL::FletcherStep< Real >::update().
|
private |
Definition at line 82 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::FletcherStep(), and ROL::FletcherStep< Real >::update().
|
private |
Definition at line 83 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::FletcherStep(), and ROL::FletcherStep< Real >::update().
|
private |
Definition at line 84 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::initialize(), ROL::FletcherStep< Real >::print(), and ROL::FletcherStep< Real >::printHeader().
|
private |
Definition at line 86 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::initialize().
|
private |
Definition at line 88 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::initialize(), and ROL::FletcherStep< Real >::update().
|
private |
Definition at line 90 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::update().
|
mutableprivate |
Definition at line 93 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::print(), and ROL::FletcherStep< Real >::update().
|
mutableprivate |
Definition at line 94 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::print(), and ROL::FletcherStep< Real >::update().
|
mutableprivate |
Definition at line 96 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::compute(), ROL::FletcherStep< Real >::initialize(), ROL::FletcherStep< Real >::print(), and ROL::FletcherStep< Real >::update().
|
mutableprivate |
Definition at line 98 of file ROL_FletcherStep.hpp.
Referenced by ROL::FletcherStep< Real >::print(), and ROL::FletcherStep< Real >::printHeader().