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_ |
ROL::Ptr< Vector< Real > > | xtmp_ |
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_ |
Real | alpha_init_ |
Initial line-search parameter for projected methods. More... | |
int | max_fval_ |
Maximum function evaluations in line-search for projected methods. More... | |
Real | mu_ |
Post-Smoothing tolerance for projected methods. More... | |
Real | beta_ |
Post-Smoothing rate for projected methods. More... | |
Provides interface for and implements trust-region subproblem solvers.
Definition at line 26 of file ROL_TrustRegion.hpp.
|
inlinevirtual |
Definition at line 56 of file ROL_TrustRegion.hpp.
|
inline |
Definition at line 59 of file ROL_TrustRegion.hpp.
References ROL::TrustRegion< Real >::alpha_init_, ROL::TrustRegion< Real >::beta_, 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 >::max_fval_, ROL::TrustRegion< Real >::mu0_, ROL::TrustRegion< Real >::mu_, 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::DoubleDogLeg< Real >, and ROL::DogLeg< Real >.
Definition at line 100 of file ROL_TrustRegion.hpp.
References ROL::Vector< Real >::clone(), ROL::TrustRegion< Real >::dual_, ROL::TrustRegion< Real >::prim_, and ROL::TrustRegion< Real >::xtmp_.
Referenced by ROL::DogLeg< Real >::initialize(), ROL::DoubleDogLeg< Real >::initialize(), ROL::TruncatedCG< Real >::initialize(), and ROL::LinMore< Real >::initialize().
|
inlinevirtual |
Definition at line 106 of file ROL_TrustRegion.hpp.
References ROL::TrustRegion< Real >::alpha_init_, ROL::TrustRegion< Real >::beta_, 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::Objective< Real >::gradient(), ROL::BoundConstraint< Real >::isActivated(), ROL::BoundConstraint< Real >::isFeasible(), ROL::TrustRegion< Real >::max_fval_, ROL::TrustRegion< Real >::mu0_, ROL::TrustRegion< Real >::mu_, 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::Vector< Real >::set(), 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_, ROL::TrustRegion< Real >::xtmp_, and zero.
|
pure virtual |
Implemented in ROL::LinMore< Real >, ROL::TruncatedCG< Real >, ROL::DoubleDogLeg< Real >, and ROL::DogLeg< Real >.
|
inline |
Definition at line 360 of file ROL_TrustRegion.hpp.
References ROL::TrustRegion< Real >::pRed_.
Referenced by ROL::DogLeg< Real >::run(), ROL::DoubleDogLeg< Real >::run(), ROL::TruncatedCG< Real >::run(), and ROL::LinMore< Real >::run().
|
inline |
Definition at line 364 of file ROL_TrustRegion.hpp.
References ROL::TrustRegion< Real >::pRed_.
|
private |
Definition at line 29 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::initialize(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 29 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::initialize(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 29 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::initialize(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 31 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 33 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 33 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 33 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 34 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 34 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 34 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 35 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::getPredictedReduction(), ROL::TrustRegion< Real >::setPredictedReduction(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 36 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion().
|
private |
Definition at line 36 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 37 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 39 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 41 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::update().
|
private |
Definition at line 43 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 43 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 43 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 43 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 44 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Definition at line 44 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::update().
|
private |
Definition at line 46 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Initial line-search parameter for projected methods.
Definition at line 49 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Maximum function evaluations in line-search for projected methods.
Definition at line 50 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Post-Smoothing tolerance for projected methods.
Definition at line 51 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().
|
private |
Post-Smoothing rate for projected methods.
Definition at line 52 of file ROL_TrustRegion.hpp.
Referenced by ROL::TrustRegion< Real >::TrustRegion(), and ROL::TrustRegion< Real >::update().