[Ipopt] Feasible initial guess but high inf_pr and inf_du values

Andreas Waechter andreasw at watson.ibm.com
Wed Sep 8 21:57:29 EDT 2010


Hi Rishi,

As an interior point method, Ipopt needs to make sure that all variables 
(including slack variables) are not too close the their bounds, and it 
therefore might modify the starting point (see the Ipopt implementation 
paper).  The options bound_push and bound_frac determine how much the 
points has to be away from the bounds.

If you set the ipopt options

bound_push 1e-16
bound_frac 1e-16

the infeasibility should be very small if you give Ipopt a feasbile 
starting point, since it makes barely any modifications.  However, if you 
still see inf_pr large with those options, your starting point is not 
feasible.

I hope this helps,

Andreas

On Tue, 7 Sep 2010, Rishi Amrit wrote:

> Hi,
>
>   I am initializing IPOPT with a feasible initial guess but the output
> looks like:
>
> iter    objective    inf_pr   inf_du lg(mu)  ||d||  lg(rg) alpha_du alpha_pr
> ls
>   0  8.3902116e+01 1.00e-01 1.49e+02  -1.0 0.00e+00    -  0.00e+00 0.00e+00
>  0
>   1  6.9363128e+01 9.06e-02 1.32e+02  -1.0 2.20e+00    -  4.16e-01
> 9.43e-02f  1
>   2  1.9359378e+02 7.79e-02 1.13e+02  -1.0 6.40e+00    -  1.26e-01
> 1.40e-01f  1
>   3  3.3197352e+02 4.77e-02 1.00e+02  -1.0 3.92e+00    -  1.29e-01
> 5.71e-01f  1
>   4  3.1409124e+02 4.34e-02 8.26e+01  -1.0 3.22e+00    -  4.79e-01
> 7.90e-02f  1
>   5  1.8281675e+02 1.98e-01 2.40e+01  -1.0 5.72e+00    -  5.92e-01
> 6.92e-01f  1
>   6  1.5641328e+02 2.64e-01 2.01e+01  -1.0 1.09e+01    -  3.45e-01
> 4.75e-01f  1
>   7  1.3479589e+02 3.77e-01 8.61e+00  -1.0 1.24e+01    -  4.26e-01
> 3.89e-01f  1
>
>
> I am trying to understand why does the cost go up even when the initial
> point is feasible. Is there a way to make sure that the cost always drops
> from the initial cost ? I am using IPOPT 3.8.3
>
> Thanks,
>
> Rishi
>



More information about the Ipopt mailing list