42 #ifndef LINE_SEARCH_WATCH_DOG_STEP_H
43 #define LINE_SEARCH_WATCH_DOG_STEP_H
45 #include "rSQPAlgo_StepBaseClasses.h"
46 #include "ConstrainedOptPack_MeritFuncNLP.hpp"
47 #include "ConstrainedOptPack_DirectLineSearch_Strategy.hpp"
48 #include "DenseLinAlgPack_DVectorClass.hpp"
50 #include "MiStandardAggregationMacros.h"
53 namespace MoochoPack {
86 const direct_line_search_ptr_t& direct_line_search = 0
87 ,
const merit_func_ptr_t& merit_func = 0
88 , value_type eta = 1e-4
89 , value_type opt_kkt_err_threshold = 1e-1
90 , value_type feas_kkt_err_threshold = 1e-3
97 bool do_step(
Algorithm& algo, poss_type step_poss, IterationPack::EDoStepType type
98 , poss_type assoc_step_poss);
101 void print_step(
const Algorithm& algo, poss_type step_poss, IterationPack::EDoStepType type
102 , poss_type assoc_step_poss, std::ostream& out,
const std::string& leading_str )
const;
118 #endif // LINE_SEARCH_WATCH_DOG_STEP_H
LineSearchWatchDog_Step(const direct_line_search_ptr_t &direct_line_search=0, const merit_func_ptr_t &merit_func=0, value_type eta=1e-4, value_type opt_kkt_err_threshold=1e-1, value_type feas_kkt_err_threshold=1e-3)
Implements watchdog line search.
void print_step(const Algorithm &algo, poss_type step_poss, IterationPack::EDoStepType type, poss_type assoc_step_poss, std::ostream &out, const std::string &leading_str) const
bool do_step(Algorithm &algo, poss_type step_poss, IterationPack::EDoStepType type, poss_type assoc_step_poss)
STANDARD_COMPOSITION_MEMBERS(DirectLineSearch_Strategy, direct_line_search)
<<std comp>="">> members for direct_line_search
STANDARD_MEMBER_COMPOSITION_MEMBERS(value_type, eta)
<<std member="" comp>="">> members for the armijo fractional reduction parameter. ...