IPOPT termination condition #658
-
Hello, While trying to solve a NLP using IPOPT (Matlab), I am unable to get the solver to terminate naturally. Upon looking through the IPOPT docs, I see that there are 4 criteria's, including: 'tol' <1e-08 Can 'tol' (NLP error) be inferred from the 'objective' output?
While there is hardly any change in the objective, and the constraints are well met, the solver is still not stopping. Is there some way to display the above 4 criterions at the end of every iteration? Thanks, |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
The log is explained in the docu: https://coin-or.github.io/Ipopt/OUTPUT.html Ipopt doesn't stop because the dual infeasibility ( You cannot see the NLP error or complementarity violation from the log. |
Beta Was this translation helpful? Give feedback.
The log is explained in the docu: https://coin-or.github.io/Ipopt/OUTPUT.html
Ipopt doesn't stop because the dual infeasibility (
inf_du
) is still abovedual_inf_tol
.You cannot see the NLP error or complementarity violation from the log.
If you set option print_level to 6, you should get for each iteration a print of all violations (NLP error, primal, dual, complementarity) for the scaled and unscaled problem, like the one you see when Ipopt terminates. That values can be better matched to the various termination tolerances.