ROL
|
Provides interface for and implements trust-region subproblem solvers. More...
#include <ROL_TrustRegion.hpp>
Public Member Functions | |
virtual | ~TrustRegion () |
TrustRegion (ROL::ParameterList &parlist) | |
virtual void | initialize (const Vector< Real > &x, const Vector< Real > &s, const Vector< Real > &g) |
virtual void | update (Vector< Real > &x, Real &fnew, Real &del, int &nfval, int &ngrad, ETrustRegionFlag &flagTR, const Vector< Real > &s, const Real snorm, const Real fold, const Vector< Real > &g, int iter, Objective< Real > &obj, BoundConstraint< Real > &bnd, TrustRegionModel< Real > &model) |
virtual void | run (Vector< Real > &s, Real &snorm, int &iflag, int &iter, const Real del, TrustRegionModel< Real > &model)=0 |
void | setPredictedReduction (const Real pRed) |
Real | getPredictedReduction (void) const |
Private Attributes | |
ROL::Ptr< Vector< Real > > | prim_ |
ROL::Ptr< Vector< Real > > | dual_ |
ETrustRegionModel | TRmodel_ |
Real | eta0_ |
Real | eta1_ |
Real | eta2_ |
Real | gamma0_ |
Real | gamma1_ |
Real | gamma2_ |
Real | pRed_ |
Real | TRsafe_ |
Real | eps_ |
Real | mu0_ |
std::vector< bool > | useInexact_ |
Real | ftol_old_ |
Real | scale_ |
Real | omega_ |
Real | force_ |
Real | forceFactor_ |
int | updateIter_ |
int | cnt_ |
unsigned | verbosity_ |
Provides interface for and implements trust-region subproblem solvers.
Definition at line 60 of file ROL_TrustRegion.hpp.
|
inlinevirtual |
Definition at line 84 of file ROL_TrustRegion.hpp.
|
inline |
Definition at line 87 of file ROL_TrustRegion.hpp.
References ROL::TrustRegion< Real >::eps_, ROL::TrustRegion< Real >::eta0_, ROL::TrustRegion< Real >::eta1_, ROL::TrustRegion< Real >::eta2_, ROL::TrustRegion< Real >::force_, ROL::TrustRegion< Real >::forceFactor_, ROL::TrustRegion< Real >::gamma0_, ROL::TrustRegion< Real >::gamma1_, ROL::TrustRegion< Real >::gamma2_, ROL::TrustRegion< Real >::mu0_, ROL::TrustRegion< Real >::omega_, ROL::TrustRegion< Real >::scale_, ROL::StringToETrustRegionModel(), ROL::TrustRegion< Real >::TRmodel_, ROL::TrustRegion< Real >::TRsafe_, ROL::TrustRegion< Real >::updateIter_, ROL::TrustRegion< Real >::useInexact_, and ROL::TrustRegion< Real >::verbosity_.
|
inlinevirtual |
Reimplemented in ROL::LinMore< Real >, ROL::TruncatedCG< Real >, ROL::CauchyPoint< Real >, ROL::DoubleDogLeg< Real >, and ROL::DogLeg< Real >.
Definition at line 118 of file ROL_TrustRegion.hpp.
References ROL::Vector< Real >::clone(), ROL::TrustRegion< Real >::dual_, and ROL::TrustRegion< Real >::prim_.
Referenced by ROL::DogLeg< Real >::initialize(), ROL::DoubleDogLeg< Real >::initialize(), ROL::CauchyPoint< Real >::initialize(), ROL::TruncatedCG< Real >::initialize(), and ROL::LinMore< Real >::initialize().
|
inlinevirtual |
Definition at line 123 of file ROL_TrustRegion.hpp.
References ROL::TrustRegion< Real >::cnt_, ROL::Vector< Real >::dot(), ROL::Vector< Real >::dual(), ROL::TrustRegion< Real >::dual_, ROL::TrustRegionModel< Real >::dualTransform(), ROL::TrustRegion< Real >::eps_, ROL::TrustRegion< Real >::eta0_, ROL::TrustRegion< Real >::eta1_, ROL::TrustRegion< Real >::eta2_, ROL::TrustRegion< Real >::force_, ROL::TrustRegion< Real >::forceFactor_, ROL::TrustRegion< Real >::ftol_old_, ROL::TrustRegion< Real >::gamma0_, ROL::TrustRegion< Real >::gamma1_, ROL::TrustRegion< Real >::gamma2_, ROL::TrustRegionModel< Real >::getGradient(), ROL::BoundConstraint< Real >::isActivated(), ROL::BoundConstraint< Real >::isFeasible(), ROL::TrustRegion< Real >::mu0_, ROL::TrustRegion< Real >::omega_, ROL::Vector< Real >::plus(), ROL::TrustRegion< Real >::pRed_, ROL::TrustRegion< Real >::prim_, ROL::BoundConstraint< Real >::project(), ROL::BoundConstraint< Real >::pruneActive(), ROL::TrustRegion< Real >::scale_, ROL::TrustRegion< Real >::TRmodel_, ROL::TRUSTREGION_FLAG_NAN, ROL::TRUSTREGION_FLAG_NPOSPREDNEG, ROL::TRUSTREGION_FLAG_NPOSPREDPOS, ROL::TRUSTREGION_FLAG_POSPREDNEG, ROL::TRUSTREGION_FLAG_QMINSUFDEC, ROL::TRUSTREGION_FLAG_SUCCESS, ROL::TRUSTREGION_MODEL_KELLEYSACHS, ROL::Objective< Real >::update(), ROL::TrustRegionModel< Real >::updateActualReduction(), ROL::TrustRegion< Real >::updateIter_, ROL::TrustRegionModel< Real >::updatePredictedReduction(), ROL::TrustRegion< Real >::useInexact_, ROL::Objective< Real >::value(), ROL::TrustRegionModel< Real >::value(), ROL::TrustRegion< Real >::verbosity_, and zero.
|
pure virtual |
Implemented in ROL::LinMore< Real >, ROL::TruncatedCG< Real >, ROL::CauchyPoint< Real >, ROL::DoubleDogLeg< Real >, and ROL::DogLeg< Real >.
|
inline |
Definition at line 325 of file ROL_TrustRegion.hpp.
References ROL::TrustRegion< Real >::pRed_.
Referenced by ROL::DogLeg< Real >::run(), ROL::DoubleDogLeg< Real >::run(), ROL::CauchyPoint< Real >::run(), ROL::TruncatedCG< Real >::run(), and ROL::LinMore< Real >::run().
|
inline |
Definition at line 329 of file ROL_TrustRegion.hpp.
References ROL::TrustRegion< Real >::pRed_.
|
private |
Definition at line 63 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::initialize(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 63 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::initialize(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 65 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 67 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 67 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 67 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 68 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 68 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 68 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 69 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::getPredictedReduction(), ROL::TrustRegion< Real >::setPredictedReduction(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 70 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion().
|
private |
Definition at line 70 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 71 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 73 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 75 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::update().
|
private |
Definition at line 77 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 77 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 77 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 77 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 78 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 78 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::update().
|
private |
Definition at line 80 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().