<br><font size=2 face="sans-serif">Ojas,</font>
<br>
<br><font size=2 face="sans-serif">I will have to run those problems to
check but it is probable that the clp executable is being clever about
algorithms and initial solutions. &nbsp;You should be able to get same
results with ClpSimplex::initialSolve by setting parameters.</font>
<br>
<br><font size=2 face="sans-serif">Would it be useful if I worked on the
interface and documentation for part of my DIMACS presentation?</font>
<br>
<br><font size=2 face="sans-serif">John Forrest</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>Ojas Parekh &lt;ojas@mathcs.emory.edu&gt;</b>
</font>
<br><font size=1 face="sans-serif">Sent by: coin-lpsolver-bounces@list.coin-or.org</font>
<p><font size=1 face="sans-serif">05/01/2006 10:07 PM</font>
<td width=59%>
<table width=100%>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td><font size=1 face="sans-serif">coin-lpsolver@list.coin-or.org</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td><font size=1 face="sans-serif">Sebastien Siva &lt;ssiva@emory.edu&gt;,
Cynthia A Phillips &lt;caphill@sandia.gov&gt;</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td><font size=1 face="sans-serif">[Coin-lpsolver] OsiClp/ClpSimplex/clp
performance disparity</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><tt><font size=2>Hi,<br>
<br>
 &nbsp; We've observed appreciable disparities in the performance of &nbsp;<br>
OsiClpSolverInterface-&gt;initialSolve(), ClpSimplex-&gt;initialSolve(),
&nbsp;<br>
and the clp executable program. &nbsp;In particular here are some of our
&nbsp;<br>
observed running times on instances from well-known collections:<br>
<br>
collection/file &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; clp exec. &nbsp; &nbsp; ClpSimplex &nbsp; &nbsp; OsiClp<br>
----------------------------- &nbsp; &nbsp; --------- &nbsp; &nbsp; ----------
&nbsp; &nbsp; ------<br>
Linderoth-MIP/dano3_4.mps &nbsp; &nbsp; &nbsp; &nbsp; 57.78 &nbsp; &nbsp;
&nbsp; &nbsp; 151.99 &nbsp; &nbsp; &nbsp; &nbsp; 145.44<br>
Linderoth-MIP/neos-520729.mps &nbsp; &nbsp; &nbsp;7.70 &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp;20.46 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;20.50<br>
Linedroth-MIP/qap10.mps &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;4.00 &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; 3.90 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;51.51<br>
COIN/Mps/Big/mkc7.mps &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 21.15 &nbsp;
&nbsp; &nbsp; &nbsp; 169.08 &nbsp; &nbsp; &nbsp; &nbsp; 165.12<br>
<br>
All numbers represent seconds on a 2.2Ghz dual core Opteron running a &nbsp;<br>
SUSE x86_64 Linux distribution using a CVS build of COIN-OR no older &nbsp;<br>
than a few weeks. &nbsp;We've also observed comparable ratios on Solaris
&nbsp;<br>
and PPC Mac OS X machines. &nbsp;We passed no parameters to the clp &nbsp;<br>
executable other than the file name and used the following code for &nbsp;<br>
the object oriented interfaces:<br>
<br>
ClpSimplex model;<br>
model.readMps(argv[1]);<br>
model.initialSolve();<br>
<br>
and<br>
<br>
OsiClpSolverInterface si;<br>
si.readMps(argv[1]);<br>
si.initialSolve();<br>
<br>
We have larger instances particular to our application (Sandia Labs' &nbsp;<br>
PICO combinatorial optimization engine) that have exhibited similar &nbsp;<br>
behavior: the clp executable performs an order of magnitude better. &nbsp;
<br>
We have tried experimenting with ClpSolve parameters and writing a &nbsp;<br>
simple heuristic to mimic the clp executable but have been &nbsp;<br>
unsuccessful in consistently obtaining comparable performance. &nbsp; <br>
Before proceeding any further I thought it would be a good idea to &nbsp;<br>
ask the following questions here:<br>
<br>
(1) Does the clp executable do any extra preprocessing or &nbsp;<br>
presolving? &nbsp;Do you think the gap is explained only by the way in
&nbsp;<br>
which the three interfaces each set their parameters? &nbsp;If so, which
&nbsp;<br>
parameters are especially critical for the problems above?<br>
<br>
(2) I have explored the source code; however, I was wondering if &nbsp;<br>
there was any documentation that speaks specifically to the &nbsp;<br>
differences in (in philosophy of) the three interfaces.<br>
<br>
(3) PICO currently exclusively relies on the OsiClp interface. &nbsp;I
&nbsp;<br>
understand that I can use the getModelPtr() method to call &nbsp;<br>
ClpSimplex's version of initialSolve(). &nbsp;Is there callable access
to &nbsp;<br>
the code that the clp executable uses?<br>
<br>
Thanks!<br>
-Ojas<br>
_______________________________________________<br>
Coin-lpsolver mailing list<br>
Coin-lpsolver@list.coin-or.org<br>
http://list.coin-or.org/mailman/listinfo/coin-lpsolver<br>
</font></tt>
<br>