Convergence check for the restoration phase. More...
#include <IpRestoConvCheck.hpp>
Public Member Functions | |
virtual bool | InitializeImpl (const OptionsList &options, const std::string &prefix) |
overloaded from AlgorithmStrategyObject | |
virtual ConvergenceStatus | CheckConvergence (bool call_intermediate_callback=true) |
Pure virtual method for performing the convergence test. | |
virtual void | SetOrigLSAcceptor (const BacktrackingLSAcceptor &orig_ls_acceptor)=0 |
Method for setting the LS acceptor from the main algorithm. | |
Constructors/Destructors | |
RestoConvergenceCheck () | |
Default Constructor. | |
virtual | ~RestoConvergenceCheck () |
Destructor. | |
Public Member Functions inherited from Ipopt::OptimalityErrorConvergenceCheck | |
virtual bool | CurrentIsAcceptable () |
Auxiliary function for testing whether current iterate satisfies the acceptable level of optimality. | |
OptimalityErrorConvergenceCheck () | |
Default Constructor. | |
virtual | ~OptimalityErrorConvergenceCheck () |
Destructor. | |
Public Member Functions inherited from Ipopt::ConvergenceCheck | |
ConvergenceCheck () | |
Constructor. | |
virtual | ~ConvergenceCheck () |
Destructor. | |
Public Member Functions inherited from Ipopt::AlgorithmStrategyObject | |
bool | Initialize (const Journalist &jnlst, IpoptNLP &ip_nlp, IpoptData &ip_data, IpoptCalculatedQuantities &ip_cq, const OptionsList &options, const std::string &prefix) |
This method is called every time the algorithm starts again - it is used to reset any internal state. | |
bool | ReducedInitialize (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Reduced version of the Initialize method, which does not require special Ipopt information. | |
AlgorithmStrategyObject () | |
Default Constructor. | |
virtual | ~AlgorithmStrategyObject () |
Destructor. | |
Public Member Functions inherited from Ipopt::ReferencedObject | |
ReferencedObject () | |
virtual | ~ReferencedObject () |
Index | ReferenceCount () const |
void | AddRef (const Referencer *referencer) const |
void | ReleaseRef (const Referencer *referencer) const |
Static Public Member Functions | |
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions) |
Static Public Member Functions inherited from Ipopt::OptimalityErrorConvergenceCheck | |
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions) |
Private Member Functions | |
virtual ConvergenceStatus | TestOrigProgress (Number orig_trial_barr, Number orig_trial_theta)=0 |
Method for checking progress with original globalization mechanism. | |
Default Compiler Generated Methods | |
(Hidden to avoid implicit creation/calling). These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called. | |
RestoConvergenceCheck (const RestoConvergenceCheck &) | |
Copy Constructor. | |
void | operator= (const RestoConvergenceCheck &) |
Default Assignment Operator. | |
Private Attributes | |
bool | first_resto_iter_ |
Flag indicating that this is the first call. | |
Index | successive_resto_iter_ |
Counter for successive iterations in restoration phase. | |
Algorithmic parameters | |
Number | kappa_resto_ |
Fraction of required reduction in infeasibility before problem is considered to be solved. | |
Index | maximum_iters_ |
Maximum number of iterations in restoration phase. | |
Index | maximum_resto_iters_ |
Maximum number of successive iterations in restoration phase. | |
Number | orig_constr_viol_tol_ |
Constraint violation tolerance for original algorithm. | |
Additional Inherited Members | |
Public Types inherited from Ipopt::ConvergenceCheck | |
enum | ConvergenceStatus { CONTINUE , CONVERGED , CONVERGED_TO_ACCEPTABLE_POINT , MAXITER_EXCEEDED , CPUTIME_EXCEEDED , WALLTIME_EXCEEDED , DIVERGING , USER_STOP , FAILED } |
Convergence return enum. More... | |
Protected Member Functions inherited from Ipopt::AlgorithmStrategyObject | |
const Journalist & | Jnlst () const |
IpoptNLP & | IpNLP () const |
IpoptData & | IpData () const |
IpoptCalculatedQuantities & | IpCq () const |
bool | HaveIpData () const |
Protected Attributes inherited from Ipopt::OptimalityErrorConvergenceCheck | |
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 | acceptable_obj_change_tol_ |
Acceptable tolerance for relative objective function change from iteration to iteration. | |
Number | diverging_iterates_tol_ |
Threshold for primal iterates for divergence test. | |
Number | mu_target_ |
Desired value of the barrier parameter. | |
Number | max_wall_time_ |
Upper bound on wallclock time. | |
Number | max_cpu_time_ |
Upper bound on CPU time. | |
Convergence check for the restoration phase.
This inherits from the OptimalityErrorConvergenceCheck so that the method for the regular optimality error convergence criterion can be checked as well. In addition, this convergence check returns the CONVERGED message, if the current iteration is acceptable to the original globalization scheme.
Definition at line 27 of file IpRestoConvCheck.hpp.
Ipopt::RestoConvergenceCheck::RestoConvergenceCheck | ( | ) |
Default Constructor.
|
virtual |
Destructor.
|
private |
Copy Constructor.
|
virtual |
overloaded from AlgorithmStrategyObject
Reimplemented from Ipopt::OptimalityErrorConvergenceCheck.
Reimplemented in Ipopt::RestoFilterConvergenceCheck, and Ipopt::RestoPenaltyConvergenceCheck.
|
virtual |
Pure virtual method for performing the convergence test.
If call_intermediate_callback is true, the user callback method in the NLP should be called in order to see if the user requests an early termination.
Reimplemented from Ipopt::OptimalityErrorConvergenceCheck.
|
pure virtual |
Method for setting the LS acceptor from the main algorithm.
Implemented in Ipopt::RestoFilterConvergenceCheck, and Ipopt::RestoPenaltyConvergenceCheck.
|
static |
|
private |
Default Assignment Operator.
|
privatepure virtual |
Method for checking progress with original globalization mechanism.
Implemented in Ipopt::RestoFilterConvergenceCheck, and Ipopt::RestoPenaltyConvergenceCheck.
|
private |
Fraction of required reduction in infeasibility before problem is considered to be solved.
Definition at line 87 of file IpRestoConvCheck.hpp.
|
private |
Maximum number of iterations in restoration phase.
Definition at line 90 of file IpRestoConvCheck.hpp.
|
private |
Maximum number of successive iterations in restoration phase.
Definition at line 93 of file IpRestoConvCheck.hpp.
|
private |
Constraint violation tolerance for original algorithm.
Definition at line 96 of file IpRestoConvCheck.hpp.
|
private |
Flag indicating that this is the first call.
We don't want to leave the restoration phase without taking at least one step, so this flag is used to ensure this.
Definition at line 104 of file IpRestoConvCheck.hpp.
|
private |
Counter for successive iterations in restoration phase.
Definition at line 107 of file IpRestoConvCheck.hpp.