ROL
|
Provides interface for and implements line searches. More...
#include <ROL_LineSearch_U.hpp>
Public Member Functions | |
virtual | ~LineSearch_U () |
LineSearch_U (ParameterList &parlist) | |
virtual void | initialize (const Vector< Real > &x, const Vector< Real > &g) |
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)=0 |
void | setMaxitUpdate (Real &alpha, Real &fnew, const Real &fold) |
Protected Member Functions | |
virtual bool | status (const ELineSearchU 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) |
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) |
void | setNextInitialAlpha (Real alpha) |
bool | useLocalMinimizer () |
bool | takeNoStep () |
Private Member Functions | |
Real | dirDeriv (const Vector< Real > &x, const Vector< Real > &s, const Real alpha, const Real fnew, Objective< Real > &obj) |
Private Attributes | |
ECurvatureConditionU | econd_ |
EDescentU | edesc_ |
bool | useralpha_ |
bool | usePrevAlpha_ |
Real | alpha0_ |
Real | alpha0bnd_ |
int | maxit_ |
Real | c1_ |
Real | c2_ |
Real | c3_ |
Real | eps_ |
Real | fmin_ |
Real | alphaMin_ |
bool | acceptMin_ |
bool | itcond_ |
bool | FDdirDeriv_ |
Ptr< Vector< Real > > | xtst_ |
Provides interface for and implements line searches.
Definition at line 27 of file ROL_LineSearch_U.hpp.
|
inlinevirtual |
Definition at line 78 of file ROL_LineSearch_U.hpp.
|
inline |
Definition at line 81 of file ROL_LineSearch_U.hpp.
References ROL::LineSearch_U< Real >::acceptMin_, ROL::LineSearch_U< Real >::alpha0_, ROL::LineSearch_U< Real >::alpha0bnd_, ROL::LineSearch_U< Real >::alphaMin_, ROL::LineSearch_U< Real >::c1_, ROL::LineSearch_U< Real >::c2_, ROL::LineSearch_U< Real >::c3_, ROL::DESCENT_U_NONLINEARCG, ROL::LineSearch_U< Real >::econd_, ROL::LineSearch_U< Real >::edesc_, ROL::LineSearch_U< Real >::FDdirDeriv_, ROL::LineSearch_U< Real >::fmin_, ROL::LineSearch_U< Real >::itcond_, ROL::LineSearch_U< Real >::maxit_, ROL::StringToECurvatureConditionU(), ROL::StringToEDescentU(), ROL::LineSearch_U< Real >::usePrevAlpha_, ROL::LineSearch_U< Real >::useralpha_, and zero.
|
inlineprivate |
Definition at line 50 of file ROL_LineSearch_U.hpp.
References ROL::Objective< Real >::dirDeriv(), ROL::LineSearch_U< Real >::FDdirDeriv_, ROL::Vector< Real >::norm(), ROL::Trial, ROL::Objective< Real >::update(), ROL::Objective< Real >::value(), and ROL::LineSearch_U< Real >::xtst_.
Referenced by ROL::LineSearch_U< Real >::status().
|
inlinevirtual |
Reimplemented in ROL::ScalarMinimizationLineSearch_U< Real >, ROL::PathBasedTargetLevel_U< Real >, ROL::BackTracking_U< Real >, ROL::CubicInterp_U< Real >, and ROL::IterationScaling_U< Real >.
Definition at line 117 of file ROL_LineSearch_U.hpp.
References ROL::Vector< Real >::clone(), and ROL::LineSearch_U< Real >::xtst_.
Referenced by ROL::IterationScaling_U< Real >::initialize(), ROL::CubicInterp_U< Real >::initialize(), ROL::BackTracking_U< Real >::initialize(), ROL::PathBasedTargetLevel_U< Real >::initialize(), and ROL::ScalarMinimizationLineSearch_U< Real >::initialize().
|
pure virtual |
|
inline |
Definition at line 127 of file ROL_LineSearch_U.hpp.
References ROL::LineSearch_U< Real >::acceptMin_, ROL::LineSearch_U< Real >::alphaMin_, ROL::LineSearch_U< Real >::fmin_, ROL::LineSearch_U< Real >::itcond_, and ROL::LineSearch_U< Real >::setNextInitialAlpha().
|
inlineprotectedvirtual |
Definition at line 142 of file ROL_LineSearch_U.hpp.
References ROL::LineSearch_U< Real >::alphaMin_, ROL::LineSearch_U< Real >::c1_, ROL::LineSearch_U< Real >::c2_, ROL::LineSearch_U< Real >::c3_, ROL::CURVATURECONDITION_U_APPROXIMATEWOLFE, ROL::CURVATURECONDITION_U_GENERALIZEDWOLFE, ROL::CURVATURECONDITION_U_GOLDSTEIN, ROL::CURVATURECONDITION_U_NULL, ROL::CURVATURECONDITION_U_STRONGWOLFE, ROL::CURVATURECONDITION_U_WOLFE, ROL::DESCENT_U_NONLINEARCG, ROL::LineSearch_U< Real >::dirDeriv(), ROL::LineSearch_U< Real >::econd_, ROL::LineSearch_U< Real >::edesc_, ROL::LineSearch_U< Real >::fmin_, ROL::LineSearch_U< Real >::itcond_, ROL::LINESEARCH_U_BACKTRACKING, ROL::LINESEARCH_U_CUBICINTERP, and ROL::LineSearch_U< Real >::maxit_.
Referenced by ROL::BackTracking_U< Real >::run(), and ROL::CubicInterp_U< Real >::run().
|
inlineprotectedvirtual |
Definition at line 205 of file ROL_LineSearch_U.hpp.
References ROL::LineSearch_U< Real >::alpha0_, ROL::LineSearch_U< Real >::alpha0bnd_, ROL::DESCENT_U_NONLINEARCG, ROL::DESCENT_U_STEEPEST, ROL::LineSearch_U< Real >::edesc_, ROL::Trial, ROL::Objective< Real >::update(), ROL::LineSearch_U< Real >::usePrevAlpha_, ROL::LineSearch_U< Real >::useralpha_, ROL::Objective< Real >::value(), and ROL::LineSearch_U< Real >::xtst_.
Referenced by ROL::IterationScaling_U< Real >::run(), ROL::CubicInterp_U< Real >::run(), ROL::BackTracking_U< Real >::run(), and ROL::ScalarMinimizationLineSearch_U< Real >::run().
|
inlineprotected |
Definition at line 233 of file ROL_LineSearch_U.hpp.
References ROL::LineSearch_U< Real >::alpha0_, and ROL::LineSearch_U< Real >::usePrevAlpha_.
Referenced by ROL::ScalarMinimizationLineSearch_U< Real >::run(), and ROL::LineSearch_U< Real >::setMaxitUpdate().
|
inlineprotected |
Definition at line 239 of file ROL_LineSearch_U.hpp.
References ROL::LineSearch_U< Real >::acceptMin_, and ROL::LineSearch_U< Real >::itcond_.
|
inlineprotected |
Definition at line 243 of file ROL_LineSearch_U.hpp.
References ROL::LineSearch_U< Real >::acceptMin_, and ROL::LineSearch_U< Real >::itcond_.
|
private |
Definition at line 30 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::LineSearch_U(), and ROL::LineSearch_U< Real >::status().
|
private |
Definition at line 31 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::getInitialAlpha(), ROL::LineSearch_U< Real >::LineSearch_U(), and ROL::LineSearch_U< Real >::status().
|
private |
Definition at line 33 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::getInitialAlpha(), and ROL::LineSearch_U< Real >::LineSearch_U().
|
private |
Definition at line 34 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::getInitialAlpha(), ROL::LineSearch_U< Real >::LineSearch_U(), and ROL::LineSearch_U< Real >::setNextInitialAlpha().
|
private |
Definition at line 35 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::getInitialAlpha(), ROL::LineSearch_U< Real >::LineSearch_U(), and ROL::LineSearch_U< Real >::setNextInitialAlpha().
|
private |
Definition at line 36 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::getInitialAlpha(), and ROL::LineSearch_U< Real >::LineSearch_U().
|
private |
Definition at line 37 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::LineSearch_U(), and ROL::LineSearch_U< Real >::status().
|
private |
Definition at line 38 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::LineSearch_U(), and ROL::LineSearch_U< Real >::status().
|
private |
Definition at line 39 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::LineSearch_U(), and ROL::LineSearch_U< Real >::status().
|
private |
Definition at line 40 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::LineSearch_U(), and ROL::LineSearch_U< Real >::status().
|
private |
Definition at line 41 of file ROL_LineSearch_U.hpp.
|
private |
Definition at line 42 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::LineSearch_U(), ROL::LineSearch_U< Real >::setMaxitUpdate(), and ROL::LineSearch_U< Real >::status().
|
private |
Definition at line 43 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::LineSearch_U(), ROL::LineSearch_U< Real >::setMaxitUpdate(), and ROL::LineSearch_U< Real >::status().
|
private |
Definition at line 44 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::LineSearch_U(), ROL::LineSearch_U< Real >::setMaxitUpdate(), ROL::LineSearch_U< Real >::takeNoStep(), and ROL::LineSearch_U< Real >::useLocalMinimizer().
|
private |
Definition at line 45 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::LineSearch_U(), ROL::LineSearch_U< Real >::setMaxitUpdate(), ROL::LineSearch_U< Real >::status(), ROL::LineSearch_U< Real >::takeNoStep(), and ROL::LineSearch_U< Real >::useLocalMinimizer().
|
private |
Definition at line 46 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::dirDeriv(), and ROL::LineSearch_U< Real >::LineSearch_U().
|
private |
Definition at line 48 of file ROL_LineSearch_U.hpp.
Referenced by ROL::LineSearch_U< Real >::dirDeriv(), ROL::LineSearch_U< Real >::getInitialAlpha(), and ROL::LineSearch_U< Real >::initialize().