-
Hi all, I am using IPOPT with CasADi on Python to solve a cascade of optimal control problems. That is the solution at the last time step for a problem is fed as the initial conditions to another. In some cases, the feasibility set becomes smaller and smaller due to such a cascade and, IPOPT throws an Infeasibile_Problem_Detected' error even though the underlying problem is feasible. Has anyone encountered such a problem? Any help is appreciated. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Ipopt usually declares a problem is (locally) infeasible if the feasibility restoration phase did not succeed to find a feasible point. In this phase, the norm of the constraint violations is minimized (see Ipopt implementation paper). |
Beta Was this translation helpful? Give feedback.
Ipopt usually declares a problem is (locally) infeasible if the feasibility restoration phase did not succeed to find a feasible point. In this phase, the norm of the constraint violations is minimized (see Ipopt implementation paper).
If solving the restoration phase problem fails due to numerical issues, and infeasibility was already small, then Ipopt may declare the problem as locally infeasible. You would need to look into the detailed log to see whether that happened. Option resto_failure_feasibility_threshold can be used to influence this.