Ipopt Documentation  
 
Loading...
Searching...
No Matches
Ipopt::OptimalityErrorConvergenceCheck Class Reference

#include <IpOptErrorConvCheck.hpp>

+ Inheritance diagram for Ipopt::OptimalityErrorConvergenceCheck:

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 bool CurrentIsAcceptable ()
 Auxiliary function for testing whether current iterate satisfies the acceptable level of optimality.
 
Constructors / Destructor
 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)
 

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 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.
 

Private Member Functions

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.

 OptimalityErrorConvergenceCheck (const OptimalityErrorConvergenceCheck &)
 Copy Constructor.
 
void operator= (const OptimalityErrorConvergenceCheck &)
 Default Assignment Operator.
 

Private Attributes

Index acceptable_counter_
 Counter for successive iterations in which acceptability criteria are met.
 
Number last_obj_val_
 Value of the objective function from last iteration.
 
Number curr_obj_val_
 Value of the objective function from current iteration.
 
Index last_obj_val_iter_
 Iteration counter for which last_obj_val most recently updated.
 

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 JournalistJnlst () const
 
IpoptNLPIpNLP () const
 
IpoptDataIpData () const
 
IpoptCalculatedQuantitiesIpCq () const
 
bool HaveIpData () const
 

Detailed Description

Definition at line 15 of file IpOptErrorConvCheck.hpp.

Constructor & Destructor Documentation

◆ OptimalityErrorConvergenceCheck() [1/2]

Ipopt::OptimalityErrorConvergenceCheck::OptimalityErrorConvergenceCheck ( )

Default Constructor.

◆ ~OptimalityErrorConvergenceCheck()

virtual Ipopt::OptimalityErrorConvergenceCheck::~OptimalityErrorConvergenceCheck ( )
virtual

Destructor.

◆ OptimalityErrorConvergenceCheck() [2/2]

Ipopt::OptimalityErrorConvergenceCheck::OptimalityErrorConvergenceCheck ( const OptimalityErrorConvergenceCheck )
private

Copy Constructor.

Member Function Documentation

◆ InitializeImpl()

virtual bool Ipopt::OptimalityErrorConvergenceCheck::InitializeImpl ( const OptionsList options,
const std::string &  prefix 
)
virtual

◆ CheckConvergence()

virtual ConvergenceStatus Ipopt::OptimalityErrorConvergenceCheck::CheckConvergence ( bool  call_intermediate_callback = true)
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.

Implements Ipopt::ConvergenceCheck.

Reimplemented in Ipopt::RestoConvergenceCheck.

◆ CurrentIsAcceptable()

virtual bool Ipopt::OptimalityErrorConvergenceCheck::CurrentIsAcceptable ( )
virtual

Auxiliary function for testing whether current iterate satisfies the acceptable level of optimality.

Implements Ipopt::ConvergenceCheck.

◆ RegisterOptions()

static void Ipopt::OptimalityErrorConvergenceCheck::RegisterOptions ( SmartPtr< RegisteredOptions roptions)
static

◆ operator=()

void Ipopt::OptimalityErrorConvergenceCheck::operator= ( const OptimalityErrorConvergenceCheck )
private

Default Assignment Operator.

Member Data Documentation

◆ max_iterations_

Index Ipopt::OptimalityErrorConvergenceCheck::max_iterations_
protected

Maximal number of iterations.

Definition at line 50 of file IpOptErrorConvCheck.hpp.

◆ dual_inf_tol_

Number Ipopt::OptimalityErrorConvergenceCheck::dual_inf_tol_
protected

Tolerance on unscaled dual infeasibility.

Definition at line 52 of file IpOptErrorConvCheck.hpp.

◆ constr_viol_tol_

Number Ipopt::OptimalityErrorConvergenceCheck::constr_viol_tol_
protected

Tolerance on unscaled constraint violation.

Definition at line 54 of file IpOptErrorConvCheck.hpp.

◆ compl_inf_tol_

Number Ipopt::OptimalityErrorConvergenceCheck::compl_inf_tol_
protected

Tolerance on unscaled complementarity.

Definition at line 56 of file IpOptErrorConvCheck.hpp.

◆ acceptable_iter_

Index Ipopt::OptimalityErrorConvergenceCheck::acceptable_iter_
protected

Number of iterations with acceptable level of accuracy, after which the algorithm terminates.

If 0, this heuristic is disabled.

Definition at line 62 of file IpOptErrorConvCheck.hpp.

◆ acceptable_tol_

Number Ipopt::OptimalityErrorConvergenceCheck::acceptable_tol_
protected

Acceptable tolerance for the problem to terminate earlier if algorithm seems stuck or cycling.

Definition at line 65 of file IpOptErrorConvCheck.hpp.

◆ acceptable_dual_inf_tol_

Number Ipopt::OptimalityErrorConvergenceCheck::acceptable_dual_inf_tol_
protected

Acceptable tolerance on unscaled dual infeasibility.

Definition at line 67 of file IpOptErrorConvCheck.hpp.

◆ acceptable_constr_viol_tol_

Number Ipopt::OptimalityErrorConvergenceCheck::acceptable_constr_viol_tol_
protected

Acceptable tolerance on unscaled constraint violation.

Definition at line 69 of file IpOptErrorConvCheck.hpp.

◆ acceptable_compl_inf_tol_

Number Ipopt::OptimalityErrorConvergenceCheck::acceptable_compl_inf_tol_
protected

Acceptable tolerance on unscaled complementarity.

Definition at line 71 of file IpOptErrorConvCheck.hpp.

◆ acceptable_obj_change_tol_

Number Ipopt::OptimalityErrorConvergenceCheck::acceptable_obj_change_tol_
protected

Acceptable tolerance for relative objective function change from iteration to iteration.

Definition at line 74 of file IpOptErrorConvCheck.hpp.

◆ diverging_iterates_tol_

Number Ipopt::OptimalityErrorConvergenceCheck::diverging_iterates_tol_
protected

Threshold for primal iterates for divergence test.

Definition at line 76 of file IpOptErrorConvCheck.hpp.

◆ mu_target_

Number Ipopt::OptimalityErrorConvergenceCheck::mu_target_
protected

Desired value of the barrier parameter.

Definition at line 78 of file IpOptErrorConvCheck.hpp.

◆ max_wall_time_

Number Ipopt::OptimalityErrorConvergenceCheck::max_wall_time_
protected

Upper bound on wallclock time.

Definition at line 80 of file IpOptErrorConvCheck.hpp.

◆ max_cpu_time_

Number Ipopt::OptimalityErrorConvergenceCheck::max_cpu_time_
protected

Upper bound on CPU time.

Definition at line 82 of file IpOptErrorConvCheck.hpp.

◆ acceptable_counter_

Index Ipopt::OptimalityErrorConvergenceCheck::acceptable_counter_
private

Counter for successive iterations in which acceptability criteria are met.

Definition at line 109 of file IpOptErrorConvCheck.hpp.

◆ last_obj_val_

Number Ipopt::OptimalityErrorConvergenceCheck::last_obj_val_
private

Value of the objective function from last iteration.

This is for accpetable_obj_change_tol.

Definition at line 115 of file IpOptErrorConvCheck.hpp.

◆ curr_obj_val_

Number Ipopt::OptimalityErrorConvergenceCheck::curr_obj_val_
private

Value of the objective function from current iteration.

This is for accpetable_obj_change_tol.

Definition at line 121 of file IpOptErrorConvCheck.hpp.

◆ last_obj_val_iter_

Index Ipopt::OptimalityErrorConvergenceCheck::last_obj_val_iter_
private

Iteration counter for which last_obj_val most recently updated.

Definition at line 124 of file IpOptErrorConvCheck.hpp.


The documentation for this class was generated from the following file: