[Ipopt] solving maxflow as LP

Andreas Waechter andreasw at watson.ibm.com
Fri Oct 29 14:04:53 EDT 2010


Hi Tamas,

I'm happy to hear Ipopt works more efficiently for you now for the maxflow 
problem.

As someone else had mentioned in a posted message earlier, Ipopt is 
probably not the most efficient algorithm for solving LPs.  However, if 
you really want to work with it, you may want to use the 
"mehrotra_algorithm" option and set it to "yes".  This will disable 
linesearch etc.  You can also set the options "jac_c_constant", 
"jac_d_constant", "hessian_constant" to "yes" in which case Ipopt will not 
use the callback functions to reevaluate the derivatives are every iterate 
(they are constant for the LP, so it will just keep what it has).  The 
mehrotra_algorithm option is somewhat experimental and might not work as 
robust as the regular Ipopt algorithm (particularly, it probably does 
poorly if you are giving Ipopt an infeasible LP), but maybe it is still 
stable enough your problem.

Also, if moving to MA57 helped you to speed up things, it means that it 
was indeed the linear algebra work that took most of the time.  You might 
still want to try Pardiso, which often performs very efficiently for large 
problems.  And since it is a shared-memory parallel linear solver, you 
might be able to get additional speedup if you have a machine with more 
than one CPU that you can use.

Regards,

Andreas

On Fri, 29 Oct 2010, Tamas Vinko wrote:

> Hello,
>
> it seems that using IPOPT with the MA57 solver speeds the whole thing
> up. Now, I can solve this maxflow problem instance within 2 hours,
> which is a huge improvement.
>
> Could you please suggest IPOPT options which can even more speed up
> the search? This is a linear programming problem, I guess there might
> be some options for "switching off the nonlinear part" of the
> solver...
>
> Thanks again,
> Tamas.
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>
>



More information about the Ipopt mailing list