[Coin-ipopt] primal-dual feasible point

Andreas Waechter andreasw at watson.ibm.com
Mon Feb 4 14:20:12 EST 2008


Hi Adela,

> Looking at the iterations output I've seen that usually the 
> complementarity, lg(mu), is very small in comparison to primal and dual 
> infeasibilities. My experience from a self-coded IPM in Matlab was that 
> these three values should have the same order of magnitude. Is there any 
> option in Ipopt which first tries to reduce primal and dual 
> infeasibility?

I think that interior point methods for LINEAR programming usually have 
the feature that they bring down primal and dual infeasibility at a 
similar rate.  However, if you have a nonlinear problem, the algorithm 
might try to get closer to a good solution by going through some 
infeasible points.  Also, the values in the lg(mu) columns are not the 
complementarity error, but the value of the barrier parameter (the 
"target" complementarity if you will).

By default, Ipopt follows the classical "Fiacco-McCormick" approach, where 
the barrier parameter is kept constant, until the primal and dual 
infeasibilities go below a tolerance, which is related (linearly) to the 
value of the barrier parameter; then the barrier parameter is decreased. 
The details can be found on pages 3-4 of the Ipopt paper:

http://www.research.ibm.com/people/a/andreasw/papers/ipopt.pdf

However, we also developed an adaptive barrier approach, where the value 
of the barrier parameter can change in every iteration.  The hope is that 
this is a better ways to handle the barrier parameter, if the problem is 
badly scaled, or if the value of the barrier parameter becomes too small 
too quickly, see

http://www.research.ibm.com/people/a/andreasw/papers/adaptive.pdf

The options related to this are

mu_strategy
mu_oracle

see http://www.coin-or.org/Ipopt/documentation/node95.html

> PS: I'm still working on finding a good warm start point which I suspect 
> that should be primal and dual feasible but I don't care much about 
> complementarity.

I think this is not easy to answer, and it might be worthwhile to 
experiment a little bit.

Andreas



More information about the Coin-ipopt mailing list