[Ipopt] Problem setting the convergence tolerance using the "tol" option in Matlab

Andreas Waechter andreasw at watson.ibm.com
Fri Feb 26 16:37:05 EST 2010

Hallo Uwe,

I just tried it myself (using the new MatlabInterface) in Ipopt (trunk 
version), and, in the example problem examplehs038, I set

options.ipopt.tol = 1e-2;

After I did this, Ipopt took much fewer iterations, and terminated with a 
tolerance of 1.2e-3  - the iteration before that had an error of 2e-2.

Maybe you are not correctly communicating the options to Ipopt?  What 
happens if you set the options in an options file (ipopt.opt)?  Also, if 
you set the print_level high enough, you can see what options are given to 
Ipopt and you can verify if Ipopt sees the options you are setting.

Also, maybe your problems is solved so quickly that the first iteration 
with an error better than 1e-2 has an error of already 1e-8?

Anyway, I hope this helps,


On Mon, 22 Feb 2010, Uwe Sander wrote:

> Hi everybody,
> I have a minimisation problem where the minimal function value is -1.
> But I'm happy when Ipopt gets close enough, let's say to -0.99. So I set
> the "tol" option (in Matlab) to 10^-2 and started the optimisation. But
> Ipopt still converged with an accuracy of 10^-8 which is the default for
> "tol". In the documentation I saw that three other criteria play a role
> when the algorithm terminates: "dual_inf_tol", "primal_inf_tol", and
> "cmpl_inf_tol". I could set the first and the third of these options but
> found no way to set the second ("primal_inf_tol"). I ran the
> optimisation again, having set all accessible options to 10^-2, but got
> the same result as before: a convergence tolerance of 10^-8.
> What am I doing wrong?
> Is there even a direct way to tell Ipopt to stop at -0.99?
> Best regards,
> Uwe
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt

More information about the Ipopt mailing list