#include <IpOptErrorConvCheck.hpp>
Detailed Class Description.
Public Member Functions | |
virtual bool | InitializeImpl (const OptionsList &options, const std::string &prefix) |
overloaded from AlgorithmStrategyObject | |
virtual ConvergenceStatus | CheckConvergence (bool call_intermediate_callback=true) |
Overloaded convergence check. | |
virtual bool | CurrentIsAcceptable () |
Auxilliary function for testing whether current iterate satisfies the acceptable level of optimality. | |
Constructors/Destructors | |
OptimalityErrorConvergenceCheck () | |
Default Constructor. | |
virtual | ~OptimalityErrorConvergenceCheck () |
Default destructor. | |
Static Public Member Functions | |
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions) |
Methods for IpoptType. | |
Protected Attributes | |
Algorithmic parameters | |
Index | max_iterations_ |
Maximal number of iterations. | |
Number | dual_inf_tol_ |
Tolerance on unscaled dual infeasibility. | |
Number | constr_viol_tol_ |
Tolerance on unscaled constraint violation. | |
Number | compl_inf_tol_ |
Tolerance on unscaled complementarity. | |
Index | acceptable_iter_ |
Number of iterations with acceptable level of accuracy, after which the algorithm terminates. | |
Number | acceptable_tol_ |
Acceptable tolerance for the problem to terminate earlier if algorithm seems stuck or cycling. | |
Number | acceptable_dual_inf_tol_ |
Acceptable tolerance on unscaled dual infeasibility. | |
Number | acceptable_constr_viol_tol_ |
Acceptable tolerance on unscaled constraint violation. | |
Number | acceptable_compl_inf_tol_ |
Acceptable tolerance on unscaled complementarity. | |
Number | diverging_iterates_tol_ |
Threshold for primal iterates for divergence test. |
Default Constructor.
~OptimalityErrorConvergenceCheck | ( | ) | [virtual] |
Default destructor.
bool InitializeImpl | ( | const OptionsList & | options, | |
const std::string & | prefix | |||
) | [virtual] |
overloaded from AlgorithmStrategyObject
Implements ConvergenceCheck.
Reimplemented in RestoFilterConvergenceCheck.
References OptimalityErrorConvergenceCheck::acceptable_compl_inf_tol_, OptimalityErrorConvergenceCheck::acceptable_constr_viol_tol_, OptimalityErrorConvergenceCheck::acceptable_dual_inf_tol_, OptimalityErrorConvergenceCheck::acceptable_iter_, OptimalityErrorConvergenceCheck::acceptable_tol_, OptimalityErrorConvergenceCheck::compl_inf_tol_, OptimalityErrorConvergenceCheck::constr_viol_tol_, OptimalityErrorConvergenceCheck::diverging_iterates_tol_, OptimalityErrorConvergenceCheck::dual_inf_tol_, OptionsList::GetIntegerValue(), OptionsList::GetNumericValue(), and OptimalityErrorConvergenceCheck::max_iterations_.
Referenced by RestoFilterConvergenceCheck::InitializeImpl().
ConvergenceCheck::ConvergenceStatus CheckConvergence | ( | bool | call_intermediate_callback = true |
) | [virtual] |
Overloaded convergence check.
Implements ConvergenceCheck.
Reimplemented in RestoFilterConvergenceCheck.
References OptimalityErrorConvergenceCheck::acceptable_iter_, IpoptData::Append_info_string(), OptimalityErrorConvergenceCheck::compl_inf_tol_, OptimalityErrorConvergenceCheck::constr_viol_tol_, ConvergenceCheck::CONTINUE, ConvergenceCheck::CONVERGED, ConvergenceCheck::CONVERGED_TO_ACCEPTABLE_POINT, IpoptCalculatedQuantities::curr_dual_infeasibility(), IpoptData::curr_mu(), IpoptCalculatedQuantities::curr_nlp_error(), IpoptCalculatedQuantities::curr_primal_infeasibility(), OptimalityErrorConvergenceCheck::CurrentIsAcceptable(), DBG_START_METH, ConvergenceCheck::DIVERGING, OptimalityErrorConvergenceCheck::diverging_iterates_tol_, OptimalityErrorConvergenceCheck::dual_inf_tol_, IpoptData::info_alpha_dual(), IpoptData::info_alpha_primal(), IpoptData::info_ls_count(), IpoptData::info_regu_x(), IpoptNLP::IntermediateCallBack(), AlgorithmStrategyObject::IpCq(), AlgorithmStrategyObject::IpData(), AlgorithmStrategyObject::IpNLP(), Ipopt::IsValid(), IpoptData::iter_count(), Ipopt::Max(), OptimalityErrorConvergenceCheck::max_iterations_, ConvergenceCheck::MAXITER_EXCEEDED, Ipopt::NORM_MAX, Ipopt::RegularMode, IpoptCalculatedQuantities::unscaled_curr_complementarity(), IpoptCalculatedQuantities::unscaled_curr_dual_infeasibility(), IpoptCalculatedQuantities::unscaled_curr_f(), IpoptCalculatedQuantities::unscaled_curr_nlp_constraint_violation(), ConvergenceCheck::USER_STOP, and x.
Referenced by RestoFilterConvergenceCheck::CheckConvergence().
bool CurrentIsAcceptable | ( | ) | [virtual] |
Auxilliary function for testing whether current iterate satisfies the acceptable level of optimality.
Implements ConvergenceCheck.
References OptimalityErrorConvergenceCheck::acceptable_compl_inf_tol_, OptimalityErrorConvergenceCheck::acceptable_constr_viol_tol_, OptimalityErrorConvergenceCheck::acceptable_dual_inf_tol_, OptimalityErrorConvergenceCheck::acceptable_tol_, IpoptCalculatedQuantities::curr_nlp_error(), DBG_PRINT, DBG_START_METH, AlgorithmStrategyObject::IpCq(), AlgorithmStrategyObject::IpData(), Ipopt::NORM_MAX, IpoptCalculatedQuantities::unscaled_curr_complementarity(), IpoptCalculatedQuantities::unscaled_curr_dual_infeasibility(), IpoptCalculatedQuantities::unscaled_curr_nlp_constraint_violation(), and x.
Referenced by OptimalityErrorConvergenceCheck::CheckConvergence().
void RegisterOptions | ( | SmartPtr< RegisteredOptions > | roptions | ) | [static] |
Methods for IpoptType.
Reimplemented in RestoFilterConvergenceCheck.
Referenced by Ipopt::RegisterOptions_Algorithm().
Index max_iterations_ [protected] |
Maximal number of iterations.
Referenced by OptimalityErrorConvergenceCheck::CheckConvergence(), and OptimalityErrorConvergenceCheck::InitializeImpl().
Number dual_inf_tol_ [protected] |
Tolerance on unscaled dual infeasibility.
Referenced by OptimalityErrorConvergenceCheck::CheckConvergence(), and OptimalityErrorConvergenceCheck::InitializeImpl().
Number constr_viol_tol_ [protected] |
Tolerance on unscaled constraint violation.
Referenced by RestoFilterConvergenceCheck::CheckConvergence(), OptimalityErrorConvergenceCheck::CheckConvergence(), and OptimalityErrorConvergenceCheck::InitializeImpl().
Number compl_inf_tol_ [protected] |
Tolerance on unscaled complementarity.
Referenced by OptimalityErrorConvergenceCheck::CheckConvergence(), and OptimalityErrorConvergenceCheck::InitializeImpl().
Index acceptable_iter_ [protected] |
Number of iterations with acceptable level of accuracy, after which the algorithm terminates.
If 0, this heuristic is disabled.
Referenced by OptimalityErrorConvergenceCheck::CheckConvergence(), and OptimalityErrorConvergenceCheck::InitializeImpl().
Number acceptable_tol_ [protected] |
Acceptable tolerance for the problem to terminate earlier if algorithm seems stuck or cycling.
Referenced by OptimalityErrorConvergenceCheck::CurrentIsAcceptable(), and OptimalityErrorConvergenceCheck::InitializeImpl().
Number acceptable_dual_inf_tol_ [protected] |
Acceptable tolerance on unscaled dual infeasibility.
Referenced by OptimalityErrorConvergenceCheck::CurrentIsAcceptable(), and OptimalityErrorConvergenceCheck::InitializeImpl().
Number acceptable_constr_viol_tol_ [protected] |
Acceptable tolerance on unscaled constraint violation.
Referenced by OptimalityErrorConvergenceCheck::CurrentIsAcceptable(), and OptimalityErrorConvergenceCheck::InitializeImpl().
Number acceptable_compl_inf_tol_ [protected] |
Acceptable tolerance on unscaled complementarity.
Referenced by OptimalityErrorConvergenceCheck::CurrentIsAcceptable(), and OptimalityErrorConvergenceCheck::InitializeImpl().
Number diverging_iterates_tol_ [protected] |
Threshold for primal iterates for divergence test.
Referenced by OptimalityErrorConvergenceCheck::CheckConvergence(), and OptimalityErrorConvergenceCheck::InitializeImpl().