Subsections

Termination


tol:

Desired convergence tolerance (relative).
Determines the convergence tolerance for the algorithm. The algorithm terminates successfully, if the (scaled) NLP error becomes smaller than this value, and if the (absolute) criteria according to "dual_inf_tol", "constr_viol_tol", and "compl_inf_tol" are met. (This is epsilon_tol in Eqn. (6) in implementation paper). See also "acceptable_tol" as a second termination criterion. Note, some other algorithmic features also use this quantity to determine thresholds etc. The valid range for this real option is $ 0 < {\tt tol } < {\tt +inf}$ and its default value is $ 1 \cdot 10^{-08}$.


max_iter:

Maximum number of iterations.
The algorithm terminates with an error message if the number of iterations exceeded this number. The valid range for this integer option is $ 0 \le {\tt max\_iter } < {\tt +inf}$ and its default value is $ 3000$.


max_cpu_time:

Maximum number of CPU seconds.
A limit on CPU seconds that Ipopt can use to solve one problem. If during the convergence check this limit is exceeded, Ipopt will terminate with a corresponding error message. The valid range for this real option is $ 0 < {\tt max\_cpu\_time } < {\tt +inf}$ and its default value is $ 1 \cdot 10^{+06}$.


dual_inf_tol:

Desired threshold for the dual infeasibility.
Absolute tolerance on the dual infeasibility. Successful termination requires that the max-norm of the (unscaled) dual infeasibility is less than this threshold. The valid range for this real option is $ 0 < {\tt dual\_inf\_tol } < {\tt +inf}$ and its default value is $ 1$.


constr_viol_tol:

Desired threshold for the constraint violation.
Absolute tolerance on the constraint violation. Successful termination requires that the max-norm of the (unscaled) constraint violation is less than this threshold. The valid range for this real option is $ 0 < {\tt constr\_viol\_tol } < {\tt +inf}$ and its default value is $ 0.0001$.


compl_inf_tol:

Desired threshold for the complementarity conditions.
Absolute tolerance on the complementarity. Successful termination requires that the max-norm of the (unscaled) complementarity is less than this threshold. The valid range for this real option is $ 0 < {\tt compl\_inf\_tol } < {\tt +inf}$ and its default value is $ 0.0001$.


acceptable_tol:

"Acceptable" convergence tolerance (relative).
Determines which (scaled) overall optimality error is considered to be "acceptable." There are two levels of termination criteria. If the usual "desired" tolerances (see tol, dual_inf_tol etc) are satisfied at an iteration, the algorithm immediately terminates with a success message. On the other hand, if the algorithm encounters "acceptable_iter" many iterations in a row that are considered "acceptable", it will terminate before the desired convergence tolerance is met. This is useful in cases where the algorithm might not be able to achieve the "desired" level of accuracy. The valid range for this real option is $ 0 < {\tt acceptable\_tol } < {\tt +inf}$ and its default value is $ 1 \cdot 10^{-06}$.


acceptable_iter:

Number of "acceptable" iterates before triggering termination.
If the algorithm encounters this many successive "acceptable" iterates (see "acceptable_tol"), it terminates, assuming that the problem has been solved to best possible accuracy given round-off. If it is set to zero, this heuristic is disabled. The valid range for this integer option is $ 0 \le {\tt acceptable\_iter } < {\tt +inf}$ and its default value is $ 15$.


acceptable_constr_viol_tol:

"Acceptance" threshold for the constraint violation.
Absolute tolerance on the constraint violation. "Acceptable" termination requires that the max-norm of the (unscaled) constraint violation is less than this threshold; see also acceptable_tol. The valid range for this real option is $ 0 < {\tt acceptable\_constr\_viol\_tol } < {\tt +inf}$ and its default value is $ 0.01$.


acceptable_dual_inf_tol:

"Acceptance" threshold for the dual infeasibility.
Absolute tolerance on the dual infeasibility. "Acceptable" termination requires that the (max-norm of the unscaled) dual infeasibility is less than this threshold; see also acceptable_tol. The valid range for this real option is $ 0 < {\tt acceptable\_dual\_inf\_tol } < {\tt +inf}$ and its default value is $ 1 \cdot 10^{+10}$.


acceptable_compl_inf_tol:

"Acceptance" threshold for the complementarity conditions.
Absolute tolerance on the complementarity. "Acceptable" termination requires that the max-norm of the (unscaled) complementarity is less than this threshold; see also acceptable_tol. The valid range for this real option is $ 0 < {\tt acceptable\_compl\_inf\_tol } < {\tt +inf}$ and its default value is $ 0.01$.


acceptable_obj_change_tol:

"Acceptance" stopping criterion based on objective function change.
If the relative change of the objective function (scaled by Max(1,|f(x)|)) is less than this value, this part of the acceptable tolerance termination is satisfied; see also acceptable_tol. This is useful for the quasi-Newton option, which has trouble to bring down the dual infeasibility. The valid range for this real option is $ 0 \le {\tt acceptable\_obj\_change\_tol } < {\tt +inf}$ and its default value is $ 1 \cdot 10^{+20}$.


diverging_iterates_tol:

Threshold for maximal value of primal iterates.
If any component of the primal iterates exceeded this value (in absolute terms), the optimization is aborted with the exit message that the iterates seem to be diverging. The valid range for this real option is $ 0 < {\tt diverging\_iterates\_tol } < {\tt +inf}$ and its default value is $ 1 \cdot 10^{+20}$.