High dual infeasibility and barrier parameters issue for non-Linear optimization #621
-
Hi, I am using IPOPT to solve a non-linear optimization problem. It is actually part of a bigger package called DAFoam that provides the Navier-Stokes equations in a discrete format as input to IPOPT as the constraints (so one equality constraint) and I am trying to optimize a scalar field \beta (where the Navier-Stokes equations in the constraint is a function of this \beta field). The objective function is simply a difference between the reference field of one of the quantities and a baseline case. I am attaching the results of an optimization case.
In this case, I notice somethings that I am finding hard to understand. Please keep these in mind before going over my questions
Here are my questions
Please do let me know. I want to try to fix this issue with my case and your answers will be helpful in doing so. P.S I am attaching another case that was similar.
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
There is something odd in the problem statistics:
You wrote something about an equality constraint, but it seems you have one free constraint, i.e., left-hand side at -infinity and right-hand side at +infinity. It's not surprising then that there Since you choose The high dual infeasibility means that Ipopt couldn't confirm that the current point is locally optimal. It can also find a direction in which to decrease the objective function. But going in that direction doesn't seem to help much to get the dual infeasibility down. Maybe the direction vector is not much accurate or the objective is very nonlinear and nonconvex. That the Hessian is only approximated doesn't help on getting fast convergence. You should also check whether the derivatives given to Ipopt seem correct: https://coin-or.github.io/Ipopt/SPECIALS.html#DERIVCHECK |
Beta Was this translation helpful? Give feedback.
There is something odd in the problem statistics:
You wrote something about an equality constraint, but it seems you have one free constraint, i.e., left-hand side at -infinity and right-hand side at +infinity. It's not surprising then that there
inf_pr
is always 0.Since you choose
mu_strategy = adaptive
(https://coin-or.github.io/Ipopt/OPTIONS.html#OPT_mu_strategy), there…