|
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. | |
| int | max_fval_ |
| Maximum function evaluations in line-search for projected methods. | |
| Real | mu_ |
| Post-Smoothing tolerance for projected methods. | |
| Real | beta_ |
| Post-Smoothing rate for projected methods. | |
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 alpha_init_, beta_, cnt_, eps_, eta0_, eta1_, eta2_, force_, forceFactor_, ftol_old_, gamma0_, gamma1_, gamma2_, max_fval_, mu0_, mu_, omega_, pRed_, ROL::ROL_EPSILON(), ROL::ROL_OVERFLOW(), scale_, ROL::StringToETrustRegionModel(), TRmodel_, TRsafe_, updateIter_, useInexact_, and verbosity_.
Referenced by ROL::DogLeg< Real >::DogLeg(), ROL::DoubleDogLeg< Real >::DoubleDogLeg(), ROL::LinMore< Real >::LinMore(), and ROL::TruncatedCG< Real >::TruncatedCG().
|
inlinevirtual |
Reimplemented in ROL::DogLeg< Real >, ROL::DoubleDogLeg< Real >, ROL::LinMore< Real >, and ROL::TruncatedCG< Real >.
Definition at line 100 of file ROL_TrustRegion.hpp.
References ROL::Vector< Real >::clone(), dual_, prim_, and xtmp_.
Referenced by ROL::DogLeg< Real >::initialize(), ROL::DoubleDogLeg< Real >::initialize(), ROL::LinMore< Real >::initialize(), and ROL::TruncatedCG< Real >::initialize().
|
inlinevirtual |
Definition at line 106 of file ROL_TrustRegion.hpp.
References alpha_init_, beta_, cnt_, ROL::Vector< Real >::dot(), ROL::Vector< Real >::dual(), dual_, ROL::TrustRegionModel< Real >::dualTransform(), eps_, eta0_, eta1_, eta2_, force_, forceFactor_, ftol_old_, gamma0_, gamma1_, gamma2_, ROL::TrustRegionModel< Real >::getGradient(), ROL::Objective< Real >::gradient(), ROL::BoundConstraint< Real >::isActivated(), ROL::BoundConstraint< Real >::isFeasible(), max_fval_, mu0_, mu_, omega_, ROL::Vector< Real >::plus(), pRed_, prim_, ROL::BoundConstraint< Real >::project(), ROL::BoundConstraint< Real >::pruneActive(), ROL::ROL_EPSILON(), scale_, ROL::Vector< Real >::set(), 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(), updateIter_, ROL::TrustRegionModel< Real >::updatePredictedReduction(), useInexact_, ROL::Objective< Real >::value(), ROL::TrustRegionModel< Real >::value(), verbosity_, xtmp_, and zero.
|
pure virtual |
Implemented in ROL::DogLeg< Real >, ROL::DoubleDogLeg< Real >, ROL::LinMore< Real >, and ROL::TruncatedCG< Real >.
|
inline |
Definition at line 360 of file ROL_TrustRegion.hpp.
References pRed_.
Referenced by ROL::DogLeg< Real >::run(), ROL::DoubleDogLeg< Real >::run(), ROL::LinMore< Real >::run(), and ROL::TruncatedCG< Real >::run().
|
inline |
Definition at line 364 of file ROL_TrustRegion.hpp.
References pRed_.
|
private |
Definition at line 29 of file ROL_TrustRegion.hpp.
Referenced by initialize(), and update().
|
private |
Definition at line 29 of file ROL_TrustRegion.hpp.
Referenced by initialize(), and update().
|
private |
Definition at line 29 of file ROL_TrustRegion.hpp.
Referenced by initialize(), and update().
|
private |
Definition at line 31 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 33 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 33 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 33 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 34 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 34 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 34 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 35 of file ROL_TrustRegion.hpp.
Referenced by getPredictedReduction(), setPredictedReduction(), TrustRegion(), and update().
|
private |
Definition at line 36 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion().
|
private |
Definition at line 36 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 37 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 39 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 41 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 43 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 43 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 43 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 43 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 44 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 44 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Definition at line 46 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Initial line-search parameter for projected methods.
Definition at line 49 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Maximum function evaluations in line-search for projected methods.
Definition at line 50 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Post-Smoothing tolerance for projected methods.
Definition at line 51 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().
|
private |
Post-Smoothing rate for projected methods.
Definition at line 52 of file ROL_TrustRegion.hpp.
Referenced by TrustRegion(), and update().