<br><font size=2 face="sans-serif">We have a Cbc application that has been
doing quite well for us, but as we foray into more and more complicated
problems we are always interested in improving performance. &nbsp;So we
were pleased to learn that parallelization had been added to Cbc, and we
decided to test it out.</font>
<br>
<br><font size=2 face="sans-serif">For this test we built Cbc &nbsp;with
the --enable-cbc-parallel-flag on a quad-core Linux box, and used the bin/cbc
executable. &nbsp;We downloaded a few test problems from MIPLIB2003 from
the archive site miplib.zib.de. &nbsp;We ran these problems with different
values of the -threads parameter, and were surprised to discover that adding
threads did not improve performance; instead, performance was almost unchanged
for one problem (miu.mps), and degraded slightly with additional threads
for some others (aflow30a.mps, aflow40b.mps, misc07.mps).</font>
<br>
<br><font size=2 face="sans-serif">We used the following command structure:</font>
<br>
<br><font size=2 face="sans-serif">cbc -threads &lt;n&gt; -import &lt;mps
file&gt; -solve</font>
<br>
<br><font size=2 face="sans-serif">We varied n from 0 (though we don't
know what 0 means!) through 5 (even though we didn't have five cores!),
and never saw a case where increasing n improved performance more than
marginally, and many cases where it hurt.</font>
<br>
<br><font size=2 face="sans-serif">We must be doing it wrong. &nbsp;Is
anyone else having success improving performance with parallelized Cbc?</font>