Along the same line, I think lp_solve should also be a good candidate to try.<br><br>
<div class="gmail_quote">On Tue, Oct 19, 2010 at 7:33 PM, Horand Gassmann <span dir="ltr">&lt;<a href="mailto:Horand.Gassmann@dal.ca">Horand.Gassmann@dal.ca</a>&gt;</span> wrote:<br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">Aside from understandable pride in one&#39;s product, is there any reason<br>why nobody has suggested to use a linear solver such as clp for this<br>
problem?<br><br>gus gassmann<br>
<div>
<div></div>
<div class="h5"><br><br><br><a href="mailto:sdirkse@gams.com">sdirkse@gams.com</a> wrote:<br><br>&gt; Andreas,<br>&gt; I won&#39;t try to make a model with 10.7 million NZ seem trivial but it<br>&gt; shouldn&#39;t be that tough either.  In general we expect the solver to<br>
&gt; take up most of the time, not GAMS.  So the reported times are not<br>&gt; what I expect.<br>&gt;<br>&gt; Tamas, I would be interested to see the AMPL code for this and the<br>&gt; original data to see what the times look like in GAMS.<br>
&gt;<br>&gt; -steve<br>&gt; Sent on the Sprint® Now Network from my BlackBerry®<br>&gt;<br>&gt; -----Original Message-----<br>&gt; From: Andreas Waechter &lt;<a href="mailto:andreasw@watson.ibm.com">andreasw@watson.ibm.com</a>&gt;<br>
&gt; Sender: <a href="mailto:ipopt-bounces@list.coin-or.org">ipopt-bounces@list.coin-or.org</a><br>&gt; Date: Tue, 19 Oct 2010 17:21:05<br>&gt; To: Kelly, Jeff (ON0F)&lt;<a href="mailto:jeff.kelly@honeywell.com">jeff.kelly@honeywell.com</a>&gt;<br>
&gt; Cc: ipopt mailing list&lt;<a href="mailto:ipopt@list.coin-or.org">ipopt@list.coin-or.org</a>&gt;<br>&gt; Subject: Re: [Ipopt] solving maxflow as LP<br>&gt;<br>&gt; Hi Tamas,<br>&gt;<br>&gt; A few additional comments:<br>
&gt;<br>&gt; - AMPL communicates the problem to Ipopt via a file, with the extension<br>&gt;    &quot;.nl&quot; .  AMPL is not really well suited for large problems, and it can<br>&gt; take the AMPL Solver Library (with which the AMPL Ipopt executable is<br>
&gt; linked) a very very long time just to read in this data file and to set up<br>&gt; the internal data structures.<br>&gt;<br>&gt; So, if it takes 20 hours before you see the printout of the size<br>&gt; statistics that you included, it means that all this time is just to set<br>
&gt; up AMPL data structures before Ipopt is doing anything.  To speed this up,<br>&gt; you need to use programming code (e.g., C++) to code your problem.<br>&gt;<br>&gt; It could also be that MUMPS takes a lot of time in the symbolic<br>
&gt; factorization.  In general, I would suggest to use a different linear<br>&gt; solver (Pardiso, WSMP) for such large problems.  Here, make sure you are<br>&gt; using some optimized BLAS as well.  This is probably the easiest thing to<br>
&gt; try first.<br>&gt;<br>&gt; (If you use Ipopt via AMPL, the Jacobian, as well as the Hessian, are<br>&gt; giving analytically, so there is no finite difference approximation)<br>&gt;<br>&gt; Hope this helps,<br>&gt;<br>
&gt; Andreas<br>&gt;<br>&gt; On Tue, 19 Oct 2010, Kelly, Jeff (ON0F) wrote:<br>&gt;<br>&gt;&gt; Tama;<br>&gt;&gt;<br>&gt;&gt; Is the AMPL primal presolve turned on?  It is important to turn on for<br>&gt;&gt; IPOPT because IPOPT does not recognize linear singleton constraints to<br>
&gt;&gt; perform primal reductions.  It assumes all constraints are non-linear<br>&gt;&gt; i.e., every non-zero in the Jacobian is a function of one or more of the<br>&gt;&gt; variables which for your problem is not the case.<br>
&gt;&gt;<br>&gt;&gt; In the startup phase, does IPOPT create the Jacobian matrix using<br>&gt;&gt; finite-difference?  If so then this is extremely inefficient because<br>&gt;&gt; IPOPT does not partition the variables into &quot;groups&quot; using a<br>
&gt;&gt; graph-coloring algorithm such as TOMS 618 by Coleman et. al. (1984).<br>&gt;&gt; This will more than substantially speedup of the generation of constant<br>&gt;&gt; Jacobian because it will reduce the number of function evaluations.<br>
&gt;&gt;<br>&gt;&gt; Also, for max-flow problems where there can be many doubleton &quot;x(i) -<br>&gt;&gt; x(j) = 0 for j&lt;&gt;i&quot; constraints you may look at adding your own presolve<br>&gt;&gt; to remove x(j) and the transfer/connection equality from the solver -<br>
&gt;&gt; you will however still need to include x(j) in your modeling of course<br>&gt;&gt; i.e., x(j) = x(i) where x(i) is from the solver and x(j) is now an<br>&gt;&gt; &quot;internal&quot; modeling variable.<br>&gt;&gt;<br>
&gt;&gt; All the best - Jeff<br>&gt;&gt;<br>&gt;&gt; -----Original Message-----<br>&gt;&gt; From: <a href="mailto:ipopt-bounces@list.coin-or.org">ipopt-bounces@list.coin-or.org</a><br>&gt;&gt; [mailto:<a href="mailto:ipopt-bounces@list.coin-or.org">ipopt-bounces@list.coin-or.org</a>] On Behalf Of Tamas Vinko<br>
&gt;&gt; Sent: Tuesday, October 19, 2010 2:00 PM<br>&gt;&gt; To: <a href="mailto:ipopt@list.coin-or.org">ipopt@list.coin-or.org</a><br>&gt;&gt; Subject: [Ipopt] solving maxflow as LP<br>&gt;&gt;<br>&gt;&gt; Hello,<br>&gt;&gt;<br>
&gt;&gt; I am trying to solve a huge max-flow problem, formulated as an LP with<br>&gt;&gt; ipopt+ampl (using mumps).<br>&gt;&gt; The size of the problem is:<br>&gt;&gt;<br>&gt;&gt; Number of nonzeros in equality constraint Jacobian...: 10748378<br>
&gt;&gt; Total number of variables............................:<br>&gt;&gt; 5374189<br>&gt;&gt;                variables with lower and upper bounds:         5374188<br>&gt;&gt; Total number of equality constraints.................:<br>
&gt;&gt; 37546<br>&gt;&gt;<br>&gt;&gt; Now, ampl takes about 10 minutes before it passes the problem to<br>&gt;&gt; ipopt. Then, ipopt takes about 20 hours to start with the first<br>&gt;&gt; iteration and finally converges to the solution in 3-4 hours.<br>
&gt;&gt;<br>&gt;&gt; Do you have any advice how can I speed up the solving time, especially in<br>&gt;&gt; the startup phase?<br>&gt;&gt;<br>&gt;&gt; Thanks,<br>&gt;&gt; Tamas.<br>&gt;&gt;<br>&gt;&gt; _______________________________________________<br>
&gt;&gt; Ipopt mailing list<br>&gt;&gt; <a href="mailto:Ipopt@list.coin-or.org">Ipopt@list.coin-or.org</a><br>&gt;&gt; <a href="http://list.coin-or.org/mailman/listinfo/ipopt" target="_blank">http://list.coin-or.org/mailman/listinfo/ipopt</a><br>
&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; _______________________________________________<br>&gt;&gt; Ipopt mailing list<br>&gt;&gt; <a href="mailto:Ipopt@list.coin-or.org">Ipopt@list.coin-or.org</a><br>&gt;&gt; <a href="http://list.coin-or.org/mailman/listinfo/ipopt" target="_blank">http://list.coin-or.org/mailman/listinfo/ipopt</a><br>
&gt;&gt;<br>&gt;&gt;<br>&gt;<br>&gt; _______________________________________________<br>&gt; Ipopt mailing list<br>&gt; <a href="mailto:Ipopt@list.coin-or.org">Ipopt@list.coin-or.org</a><br>&gt; <a href="http://list.coin-or.org/mailman/listinfo/ipopt" target="_blank">http://list.coin-or.org/mailman/listinfo/ipopt</a><br>
&gt;<br>&gt; _______________________________________________<br>&gt; Ipopt mailing list<br>&gt; <a href="mailto:Ipopt@list.coin-or.org">Ipopt@list.coin-or.org</a><br>&gt; <a href="http://list.coin-or.org/mailman/listinfo/ipopt" target="_blank">http://list.coin-or.org/mailman/listinfo/ipopt</a><br>
&gt;<br>&gt;<br><br><br><br>_______________________________________________<br>Ipopt mailing list<br><a href="mailto:Ipopt@list.coin-or.org">Ipopt@list.coin-or.org</a><br><a href="http://list.coin-or.org/mailman/listinfo/ipopt" target="_blank">http://list.coin-or.org/mailman/listinfo/ipopt</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>--------------------------------------------------<br>Binh Nguyen<br>Computer Science Department<br>Rensselaer Polytechnic Institute<br>Troy, NY, 12180<br>--------------------------------------------------<br>