ROL
Public Member Functions | Private Attributes | List of all members
ROL::TrustRegion< Real > Class Template Referenceabstract

Provides interface for and implements trust-region subproblem solvers. More...

#include <ROL_TrustRegion.hpp>

+ Inheritance diagram for ROL::TrustRegion< Real >:

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...
 

Detailed Description

template<class Real>
class ROL::TrustRegion< Real >

Provides interface for and implements trust-region subproblem solvers.

Definition at line 26 of file ROL_TrustRegion.hpp.

Constructor & Destructor Documentation

template<class Real >
virtual ROL::TrustRegion< Real >::~TrustRegion ( )
inlinevirtual

Definition at line 56 of file ROL_TrustRegion.hpp.

template<class Real >
ROL::TrustRegion< Real >::TrustRegion ( ROL::ParameterList &  parlist)
inline

Member Function Documentation

template<class Real >
virtual void ROL::TrustRegion< Real >::initialize ( const Vector< Real > &  x,
const Vector< Real > &  s,
const Vector< Real > &  g 
)
inlinevirtual
template<class Real >
virtual void ROL::TrustRegion< Real >::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 
)
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.

template<class Real >
virtual void ROL::TrustRegion< Real >::run ( Vector< Real > &  s,
Real &  snorm,
int &  iflag,
int &  iter,
const Real  del,
TrustRegionModel< Real > &  model 
)
pure virtual
template<class Real >
void ROL::TrustRegion< Real >::setPredictedReduction ( const Real  pRed)
inline
template<class Real >
Real ROL::TrustRegion< Real >::getPredictedReduction ( void  ) const
inline

Definition at line 364 of file ROL_TrustRegion.hpp.

References ROL::TrustRegion< Real >::pRed_.

Member Data Documentation

template<class Real >
ROL::Ptr<Vector<Real> > ROL::TrustRegion< Real >::prim_
private
template<class Real >
ROL::Ptr<Vector<Real> > ROL::TrustRegion< Real >::dual_
private
template<class Real >
ROL::Ptr<Vector<Real> > ROL::TrustRegion< Real >::xtmp_
private
template<class Real >
ETrustRegionModel ROL::TrustRegion< Real >::TRmodel_
private
template<class Real >
Real ROL::TrustRegion< Real >::eta0_
private
template<class Real >
Real ROL::TrustRegion< Real >::eta1_
private
template<class Real >
Real ROL::TrustRegion< Real >::eta2_
private
template<class Real >
Real ROL::TrustRegion< Real >::gamma0_
private
template<class Real >
Real ROL::TrustRegion< Real >::gamma1_
private
template<class Real >
Real ROL::TrustRegion< Real >::gamma2_
private
template<class Real >
Real ROL::TrustRegion< Real >::pRed_
private
template<class Real >
Real ROL::TrustRegion< Real >::TRsafe_
private

Definition at line 36 of file ROL_TrustRegion.hpp.

Referenced by ROL::TrustRegion< Real >::TrustRegion().

template<class Real >
Real ROL::TrustRegion< Real >::eps_
private
template<class Real >
Real ROL::TrustRegion< Real >::mu0_
private
template<class Real >
std::vector<bool> ROL::TrustRegion< Real >::useInexact_
private
template<class Real >
Real ROL::TrustRegion< Real >::ftol_old_
private

Definition at line 41 of file ROL_TrustRegion.hpp.

Referenced by ROL::TrustRegion< Real >::update().

template<class Real >
Real ROL::TrustRegion< Real >::scale_
private
template<class Real >
Real ROL::TrustRegion< Real >::omega_
private
template<class Real >
Real ROL::TrustRegion< Real >::force_
private
template<class Real >
Real ROL::TrustRegion< Real >::forceFactor_
private
template<class Real >
int ROL::TrustRegion< Real >::updateIter_
private
template<class Real >
int ROL::TrustRegion< Real >::cnt_
private

Definition at line 44 of file ROL_TrustRegion.hpp.

Referenced by ROL::TrustRegion< Real >::update().

template<class Real >
unsigned ROL::TrustRegion< Real >::verbosity_
private
template<class Real >
Real ROL::TrustRegion< Real >::alpha_init_
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().

template<class Real >
int ROL::TrustRegion< Real >::max_fval_
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().

template<class Real >
Real ROL::TrustRegion< Real >::mu_
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().

template<class Real >
Real ROL::TrustRegion< Real >::beta_
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().


The documentation for this class was generated from the following file: