44#ifndef ROL_FletcherStatusTest_H
45#define ROL_FletcherStatusTest_H
72 gtol_ = parlist.sublist(
"Status Test").get(
"Gradient Tolerance", em6);
73 ctol_ = parlist.sublist(
"Status Test").get(
"Constraint Tolerance", em6);
74 stol_ = parlist.sublist(
"Status Test").get(
"Step Tolerance", em6*
gtol_);
75 max_iter_ = parlist.sublist(
"Status Test").get(
"Iteration Limit", 100);
78 FletcherStatusTest( Real gtol = 1e-6, Real ctol = 1e-6, Real stol = 1e-12,
int max_iter = 100 ) :
83 virtual bool check( AlgorithmState<Real> &state ) {
84 if ( ((state.gnorm >
gtol_) || (state.cnorm >
ctol_)) &&
85 (state.snorm >
stol_) && (state.aggregateGradientNorm >
gtol_) &&
86 (state.iter <
max_iter_) && (!state.flag)) {
Provides an interface to check status of optimization algorithms for problems with equality constrain...
virtual ~FletcherStatusTest()
FletcherStatusTest(ROL::ParameterList &parlist)
virtual bool check(AlgorithmState< Real > &state)
Check algorithm status.
FletcherStatusTest(Real gtol=1e-6, Real ctol=1e-6, Real stol=1e-12, int max_iter=100)
Provides an interface to check status of optimization algorithms.