MOOCHO (Single Doxygen Collection)
Version of the Day
|
Strategy interface for performing convergence checks. More...
#include <MoochoPack_CheckConvergence_Strategy.hpp>
Public Types | |
enum | EOptErrorCheck { OPT_ERROR_REDUCED_GRADIENT_LAGR, OPT_ERROR_GRADIENT_LAGR } |
enum | EScaleKKTErrorBy { SCALE_BY_ONE, SCALE_BY_NORM_2_X, SCALE_BY_NORM_INF_X } |
Public Member Functions | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (EOptErrorCheck, opt_error_check) | |
<<std member="" comp>="">> members for whether to check the reduced or full gradient of the Lagrangian. More... | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (EScaleKKTErrorBy, scale_opt_error_by) | |
<<std member="" comp>="">> members for how the optimality condition should be scaled More... | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (EScaleKKTErrorBy, scale_feas_error_by) | |
<<std member="" comp>="">> members for how the feasibility condition should be scaled More... | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (EScaleKKTErrorBy, scale_comp_error_by) | |
<<std member="" comp>="">> members for how the complimentarity condition should be scaled More... | |
STANDARD_MEMBER_COMPOSITION_MEMBERS (bool, scale_opt_error_by_Gf) | |
<<std member="" comp>="">> members for whether the optimality conditions should be scaled by the More... | |
CheckConvergence_Strategy (EOptErrorCheck opt_error_check=OPT_ERROR_REDUCED_GRADIENT_LAGR, EScaleKKTErrorBy scale_opt_error_by=SCALE_BY_ONE, EScaleKKTErrorBy scale_feas_error_by=SCALE_BY_ONE, EScaleKKTErrorBy scale_comp_error_by=SCALE_BY_ONE, bool scale_opt_error_by_Gf=true) | |
virtual bool | Converged (Algorithm &_algo)=0 |
virtual void | print_step (const Algorithm &_algo, std::ostream &out, const std::string &L) const =0 |
Strategy interface for performing convergence checks.
This object can not change the flow of control or do anything fancy. It just checks convergence by calculating norm errors and comparing with tolerance It can update iteration quantities if desired.
See the printed documentation generated by this->print_step()
.
Definition at line 60 of file MoochoPack_CheckConvergence_Strategy.hpp.
Enumerator | |
---|---|
OPT_ERROR_REDUCED_GRADIENT_LAGR | |
OPT_ERROR_GRADIENT_LAGR |
Definition at line 64 of file MoochoPack_CheckConvergence_Strategy.hpp.
Enumerator | |
---|---|
SCALE_BY_ONE | |
SCALE_BY_NORM_2_X | |
SCALE_BY_NORM_INF_X |
Definition at line 75 of file MoochoPack_CheckConvergence_Strategy.hpp.
MoochoPack::CheckConvergence_Strategy::CheckConvergence_Strategy | ( | EOptErrorCheck | opt_error_check = OPT_ERROR_REDUCED_GRADIENT_LAGR , |
EScaleKKTErrorBy | scale_opt_error_by = SCALE_BY_ONE , |
||
EScaleKKTErrorBy | scale_feas_error_by = SCALE_BY_ONE , |
||
EScaleKKTErrorBy | scale_comp_error_by = SCALE_BY_ONE , |
||
bool | scale_opt_error_by_Gf = true |
||
) |
Definition at line 54 of file MoochoPack_CheckConvergence_Strategy.cpp.
MoochoPack::CheckConvergence_Strategy::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | EOptErrorCheck | , |
opt_error_check | |||
) |
<<std member="" comp>="">> members for whether to check the reduced or full gradient of the Lagrangian.
MoochoPack::CheckConvergence_Strategy::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | EScaleKKTErrorBy | , |
scale_opt_error_by | |||
) |
<<std member="" comp>="">> members for how the optimality condition should be scaled
MoochoPack::CheckConvergence_Strategy::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | EScaleKKTErrorBy | , |
scale_feas_error_by | |||
) |
<<std member="" comp>="">> members for how the feasibility condition should be scaled
MoochoPack::CheckConvergence_Strategy::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | EScaleKKTErrorBy | , |
scale_comp_error_by | |||
) |
<<std member="" comp>="">> members for how the complimentarity condition should be scaled
MoochoPack::CheckConvergence_Strategy::STANDARD_MEMBER_COMPOSITION_MEMBERS | ( | bool | , |
scale_opt_error_by_Gf | |||
) |
<<std member="" comp>="">> members for whether the optimality conditions should be scaled by the
|
pure virtual |
Implemented in MoochoPack::CheckConvergenceIP_Strategy, and MoochoPack::CheckConvergenceStd_Strategy.
|
pure virtual |
Implemented in MoochoPack::CheckConvergenceIP_Strategy, and MoochoPack::CheckConvergenceStd_Strategy.