[Ipopt] Why equality constraints prevent reaching optimum?

Peter Carbonetto pcarbo at uchicago.edu
Fri Dec 18 18:01:53 EST 2009

A couple possibilities:

* The Euclidean norm is non-differentiable at zero.

* The set of constraints forms a circle, and any feasible point must lie
   on that circle. As such, your solver likely to get stuck as a suboptimal
   stationary point. Basically, your equality constraint is not very nice.

Peter Carbonetto, Ph.D.
Postdoctoral Researcher
Dept. of Human Genetics
University of Chicago

> Hello everyone,
> I have a task which consists of an equality and some inequality 
> constraints. The equality constraint simply forces the L2 norm of the 
> variable vector to be unity, i.e. ||x||=1 where x is the vector of 
> variables.
> The task is artificial to test IPOPT, and I know its global minimum x*. At this minimum, Objective=0 while perfectly satisfying all the equality and inequality constraints. However, even initializing with x*, IPOPT diverges from it and cannot find x*.
> I traced the problem and it happens to be from the the equality constraint. Simply when I remove the equality constraint (while keeping inequality constraints and the objective function as before), I get very good solution after 20 iterations (i.e. objective is close to zero and constraints are reasonably satisfied):
> Objective=1.45e-6
> Inf_Primal=3.13e-5
> Inf_Dual=4.69e-3
> However, when I just add the equality constraint, the solution becomes 
> very poor (Objective becomes 10^6 times larger and Inf_Dual 10^3 times 
> larger): Objective=1.44 Inf_Primal=6.35e-5 Inf_Dual=9.74
> In both situations, IPOPT is initialized with x*.
> So I want to know why this happens? Is there a way to fix it?
> Thanks
> --Hossein
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt

More information about the Ipopt mailing list