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

Provides interface for and implements line searches. More...

#include <ROL_LineSearch.hpp>

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

Public Member Functions

virtual ~LineSearch ()
 
 LineSearch (Teuchos::ParameterList &parlist)
 
virtual void initialize (const Vector< Real > &x, const Vector< Real > &s, const Vector< Real > &g, Objective< Real > &obj, BoundConstraint< Real > &con)
 
void setData (Real &eps)
 
virtual bool status (const ELineSearch type, int &ls_neval, int &ls_ngrad, const Real alpha, const Real fold, const Real sgold, const Real fnew, const Vector< Real > &x, const Vector< Real > &s, Objective< Real > &obj, BoundConstraint< Real > &con)
 
virtual void run (Real &alpha, Real &fval, int &ls_neval, int &ls_ngrad, const Real &gs, const Vector< Real > &s, const Vector< Real > &x, Objective< Real > &obj, BoundConstraint< Real > &con)=0
 
virtual Real getInitialAlpha (int &ls_neval, int &ls_ngrad, const Real fval, const Real gs, const Vector< Real > &x, const Vector< Real > &s, Objective< Real > &obj, BoundConstraint< Real > &con)
 
void updateIterate (Vector< Real > &xnew, const Vector< Real > &x, const Vector< Real > &s, Real alpha, BoundConstraint< Real > &con)
 
bool useLocalMinimizer ()
 
bool takeNoStep ()
 
void setMaxitUpdate (Real &alpha, Real &fnew, const Real &fold)
 

Private Attributes

ECurvatureCondition econd_
 
EDescent edesc_
 
bool useralpha_
 
Real alpha0_
 
int maxit_
 
Real c1_
 
Real c2_
 
Real c3_
 
Real eps_
 
Real fmin_
 
Real alphaMin_
 
bool acceptMin_
 
bool itcond_
 
Teuchos::RCP< Vector< Real > > xtst_
 
Teuchos::RCP< Vector< Real > > d_
 
Teuchos::RCP< Vector< Real > > g_
 
Teuchos::RCP< const Vector< Real > > grad_
 

Detailed Description

template<class Real>
class ROL::LineSearch< Real >

Provides interface for and implements line searches.

Definition at line 61 of file ROL_LineSearch.hpp.

Constructor & Destructor Documentation

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

Definition at line 87 of file ROL_LineSearch.hpp.

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

Member Function Documentation

template<class Real >
virtual void ROL::LineSearch< Real >::initialize ( const Vector< Real > &  x,
const Vector< Real > &  s,
const Vector< Real > &  g,
Objective< Real > &  obj,
BoundConstraint< Real > &  con 
)
inlinevirtual
template<class Real >
void ROL::LineSearch< Real >::setData ( Real &  eps)
inline

Definition at line 128 of file ROL_LineSearch.hpp.

template<class Real >
virtual bool ROL::LineSearch< Real >::status ( const ELineSearch< Real >  type,
int &  ls_neval,
int &  ls_ngrad,
const Real  alpha,
const Real  fold,
const Real  sgold,
const Real  fnew,
const Vector< Real > &  x,
const Vector< Real > &  s,
Objective< Real > &  obj,
BoundConstraint< Real > &  con 
)
inlinevirtual
template<class Real >
virtual void ROL::LineSearch< Real >::run ( Real &  alpha,
Real &  fval,
int &  ls_neval,
int &  ls_ngrad,
const Real &  gs,
const Vector< Real > &  s,
const Vector< Real > &  x,
Objective< Real > &  obj,
BoundConstraint< Real > &  con 
)
pure virtual
template<class Real >
virtual Real ROL::LineSearch< Real >::getInitialAlpha ( int &  ls_neval,
int &  ls_ngrad,
const Real  fval,
const Real  gs,
const Vector< Real > &  x,
const Vector< Real > &  s,
Objective< Real > &  obj,
BoundConstraint< Real > &  con 
)
inlinevirtual
template<class Real >
void ROL::LineSearch< Real >::updateIterate ( Vector< Real > &  xnew,
const Vector< Real > &  x,
const Vector< Real > &  s,
Real  alpha,
BoundConstraint< Real > &  con 
)
inline
template<class Real >
bool ROL::LineSearch< Real >::useLocalMinimizer ( )
inline

Definition at line 280 of file ROL_LineSearch.hpp.

References ROL::LineSearch< Real >::acceptMin_.

template<class Real >
bool ROL::LineSearch< Real >::takeNoStep ( )
inline

Definition at line 284 of file ROL_LineSearch.hpp.

References ROL::LineSearch< Real >::acceptMin_.

template<class Real >
void ROL::LineSearch< Real >::setMaxitUpdate ( Real &  alpha,
Real &  fnew,
const Real &  fold 
)
inline

Member Data Documentation

template<class Real >
ECurvatureCondition ROL::LineSearch< Real >::econd_
private

Definition at line 64 of file ROL_LineSearch.hpp.

template<class Real >
EDescent ROL::LineSearch< Real >::edesc_
private

Definition at line 65 of file ROL_LineSearch.hpp.

template<class Real >
bool ROL::LineSearch< Real >::useralpha_
private

Definition at line 67 of file ROL_LineSearch.hpp.

template<class Real >
Real ROL::LineSearch< Real >::alpha0_
private

Definition at line 68 of file ROL_LineSearch.hpp.

Referenced by ROL::LineSearch< Real >::getInitialAlpha().

template<class Real >
int ROL::LineSearch< Real >::maxit_
private

Definition at line 69 of file ROL_LineSearch.hpp.

template<class Real >
Real ROL::LineSearch< Real >::c1_
private

Definition at line 70 of file ROL_LineSearch.hpp.

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

template<class Real >
Real ROL::LineSearch< Real >::c2_
private

Definition at line 71 of file ROL_LineSearch.hpp.

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

template<class Real >
Real ROL::LineSearch< Real >::c3_
private

Definition at line 72 of file ROL_LineSearch.hpp.

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

template<class Real >
Real ROL::LineSearch< Real >::eps_
private

Definition at line 73 of file ROL_LineSearch.hpp.

Referenced by ROL::LineSearch< Real >::status().

template<class Real >
Real ROL::LineSearch< Real >::fmin_
private

Definition at line 74 of file ROL_LineSearch.hpp.

Referenced by ROL::LineSearch< Real >::setMaxitUpdate().

template<class Real >
Real ROL::LineSearch< Real >::alphaMin_
private

Definition at line 75 of file ROL_LineSearch.hpp.

Referenced by ROL::LineSearch< Real >::setMaxitUpdate().

template<class Real >
bool ROL::LineSearch< Real >::acceptMin_
private
template<class Real >
bool ROL::LineSearch< Real >::itcond_
private

Definition at line 77 of file ROL_LineSearch.hpp.

Referenced by ROL::LineSearch< Real >::status().

template<class Real >
Teuchos::RCP<Vector<Real> > ROL::LineSearch< Real >::xtst_
private

Definition at line 79 of file ROL_LineSearch.hpp.

template<class Real >
Teuchos::RCP<Vector<Real> > ROL::LineSearch< Real >::d_
private

Definition at line 80 of file ROL_LineSearch.hpp.

template<class Real >
Teuchos::RCP<Vector<Real> > ROL::LineSearch< Real >::g_
private

Definition at line 81 of file ROL_LineSearch.hpp.

template<class Real >
Teuchos::RCP<const Vector<Real> > ROL::LineSearch< Real >::grad_
private

Definition at line 82 of file ROL_LineSearch.hpp.

Referenced by ROL::LineSearch< Real >::status().


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