|
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 61 of file ROL_LineSearch_U.hpp.
|
inlinevirtual |
Definition at line 112 of file ROL_LineSearch_U.hpp.
|
inline |
Definition at line 115 of file ROL_LineSearch_U.hpp.
References acceptMin_, alpha0_, alpha0bnd_, alphaMin_, c1_, c2_, c3_, ROL::DESCENT_U_NONLINEARCG, econd_, edesc_, FDdirDeriv_, fmin_, itcond_, maxit_, ROL::StringToECurvatureConditionU(), ROL::StringToEDescentU(), usePrevAlpha_, useralpha_, and zero.
|
inlineprivate |
Definition at line 84 of file ROL_LineSearch_U.hpp.
References ROL::Objective< Real >::dirDeriv(), FDdirDeriv_, ROL::Vector< Real >::norm(), ROL::ROL_EPSILON(), ROL::Trial, ROL::Objective< Real >::update(), ROL::Objective< Real >::value(), and xtst_.
Referenced by status().
|
inlinevirtual |
Definition at line 149 of file ROL_LineSearch_U.hpp.
References ROL::Vector< Real >::clone(), and xtst_.
Referenced by ROL::BackTracking_U< Real >::initialize(), ROL::CubicInterp_U< Real >::initialize(), ROL::IterationScaling_U< Real >::initialize(), ROL::PathBasedTargetLevel_U< Real >::initialize(), and ROL::ScalarMinimizationLineSearch_U< Real >::initialize().
|
pure virtual |
|
inline |
Definition at line 159 of file ROL_LineSearch_U.hpp.
References acceptMin_, alphaMin_, fmin_, itcond_, and setNextInitialAlpha().
|
inlineprotectedvirtual |
Definition at line 174 of file ROL_LineSearch_U.hpp.
References alphaMin_, c1_, c2_, 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, dirDeriv(), econd_, edesc_, fmin_, itcond_, ROL::LINESEARCH_U_BACKTRACKING, ROL::LINESEARCH_U_CUBICINTERP, and maxit_.
|
inlineprotectedvirtual |
Definition at line 237 of file ROL_LineSearch_U.hpp.
References alpha0_, alpha0bnd_, ROL::DESCENT_U_NONLINEARCG, ROL::DESCENT_U_STEEPEST, edesc_, ROL::ROL_EPSILON(), ROL::Trial, ROL::Objective< Real >::update(), usePrevAlpha_, useralpha_, ROL::Objective< Real >::value(), and xtst_.
|
inlineprotected |
Definition at line 265 of file ROL_LineSearch_U.hpp.
References alpha0_, and usePrevAlpha_.
Referenced by setMaxitUpdate().
|
inlineprotected |
Definition at line 271 of file ROL_LineSearch_U.hpp.
References acceptMin_, and itcond_.
|
inlineprotected |
Definition at line 275 of file ROL_LineSearch_U.hpp.
References acceptMin_, and itcond_.
|
private |
Definition at line 64 of file ROL_LineSearch_U.hpp.
Referenced by LineSearch_U(), and status().
|
private |
Definition at line 65 of file ROL_LineSearch_U.hpp.
Referenced by getInitialAlpha(), LineSearch_U(), and status().
|
private |
Definition at line 67 of file ROL_LineSearch_U.hpp.
Referenced by getInitialAlpha(), and LineSearch_U().
|
private |
Definition at line 68 of file ROL_LineSearch_U.hpp.
Referenced by getInitialAlpha(), LineSearch_U(), and setNextInitialAlpha().
|
private |
Definition at line 69 of file ROL_LineSearch_U.hpp.
Referenced by getInitialAlpha(), LineSearch_U(), and setNextInitialAlpha().
|
private |
Definition at line 70 of file ROL_LineSearch_U.hpp.
Referenced by getInitialAlpha(), and LineSearch_U().
|
private |
Definition at line 71 of file ROL_LineSearch_U.hpp.
Referenced by LineSearch_U(), and status().
|
private |
Definition at line 72 of file ROL_LineSearch_U.hpp.
Referenced by LineSearch_U(), and status().
|
private |
Definition at line 73 of file ROL_LineSearch_U.hpp.
Referenced by LineSearch_U(), and status().
|
private |
Definition at line 74 of file ROL_LineSearch_U.hpp.
Referenced by LineSearch_U(), and status().
|
private |
Definition at line 75 of file ROL_LineSearch_U.hpp.
|
private |
Definition at line 76 of file ROL_LineSearch_U.hpp.
Referenced by LineSearch_U(), setMaxitUpdate(), and status().
|
private |
Definition at line 77 of file ROL_LineSearch_U.hpp.
Referenced by LineSearch_U(), setMaxitUpdate(), and status().
|
private |
Definition at line 78 of file ROL_LineSearch_U.hpp.
Referenced by LineSearch_U(), setMaxitUpdate(), takeNoStep(), and useLocalMinimizer().
|
private |
Definition at line 79 of file ROL_LineSearch_U.hpp.
Referenced by LineSearch_U(), setMaxitUpdate(), status(), takeNoStep(), and useLocalMinimizer().
|
private |
Definition at line 80 of file ROL_LineSearch_U.hpp.
Referenced by dirDeriv(), and LineSearch_U().
|
private |
Definition at line 82 of file ROL_LineSearch_U.hpp.
Referenced by dirDeriv(), getInitialAlpha(), and initialize().