<div dir="ltr"><div><div><div><div>Hi,<br><br></div>I tried solving an ILP problem with .lp and .mps on the command line with no threads, but a ratioGap 1e-4. But I get different objective function value.<br><br></div>Why is there a difference?<br><br></div>Regards,<br><br></div>Sam<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 12 August 2016 at 21:09, John Forrest <span dir="ltr"><<a href="mailto:john.forrest@fastercoin.com" target="_blank">john.forrest@fastercoin.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div><span lang="NO-BOK">Alexis,<br>
<br>
As Bjørn wrote, stopping on time is not deterministic.
Otherwise if you are not using more than one thread then it
should be.<br>
<br>
If you have "-threads 4", then cbc is not deterministic - all
that should be guaranteed is that if you finish the search you
will have a solution with the optimal objective value. This is
because the master thread hands out problems plus current state
to any available thread, and the current state may be slightly
different depending on exact timings.<br>
<br>
If you have "threads 104", then it should be deterministic. In
that case the master hands out what it hopes will be equal
amounts of work to each slave and then waits for all to finish -
and then repeats. For this to work efficiently each slave has
to compute how many "pseudo-seconds" it has taken so far. This
needs accurate estimates as to an iteration on a particular LP -
this needs tedious instrumentation - and most Coin coders don't
do tedious.<br>
<br>
If you are using threads try using threads 10n and see if cpu
utilization is reasonable on your problems.<br>
<br>
John Forrest<br>
<br>
</span><div><div class="h5">On 11/08/16 15:57, Alexis wrote:<br>
</div></div></div>
<blockquote type="cite"><div><div class="h5">
<p>Hi</p>
<p>I am just curious to know how ''deterministic'' CBC is. I know
this question has been raised a few times in this forum i.e.</p>
<p><a href="http://list.coin-or.org/pipermail/cbc/2016-February/001891.html" target="_blank">http://list.coin-or.org/<wbr>pipermail/cbc/2016-February/<wbr>001891.html</a></p>
<p><a href="http://list.coin-or.org/pipermail/cbc/2015-January/001580.html" target="_blank">http://list.coin-or.org/<wbr>pipermail/cbc/2015-January/<wbr>001580.html</a></p>
<p>I have embedded CBC in my own application. In the case where I
impose an integrality gap (e.g. 20%), I have had my program
stopping and returning with different final optimality gaps
(e.g. 12% and 19%). It is actually a little difficult to
reproduce. I am wondering whether this could come from the fact
that I have (re) implemented the optimality gap stopping
condition (with others actually) in the callback</p>
<p>CbcEventHandler::CbcAction myCbcEventHandler::event(<wbr>CbcEvent
whichEvent)<br>
{</p>
<p>...<br>
if (dIntGapCalc < dIntGapRef) {</p>
<p> ...</p>
<p> return stop;<br>
}</p>
<p> ...</p>
<p> }</p>
<p>....<br>
</p>
<p>}</p>
<p>Thanks in advance</p>
<p><br>
</p>
<div>-- <br>
Alexis Guigue, E.I.T., B.Eng., <a href="http://M.A.Sc" target="_blank">M.A.Sc</a>., Ph.D. <br>
Software Engineer/Research Engineer <br>
604-519-6222, ext. 107 <br>
<br>
<a href="http://www.softree.com" target="_blank">Softree
Technical Systems Inc.</a> <br>
Engineering an Easier Way <br>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
</div></div><pre>______________________________<wbr>_________________
Cbc mailing list
<a href="mailto:Cbc@list.coin-or.org" target="_blank">Cbc@list.coin-or.org</a>
<a href="http://list.coin-or.org/mailman/listinfo/cbc" target="_blank">http://list.coin-or.org/<wbr>mailman/listinfo/cbc</a>
</pre>
</blockquote>
<p><br>
</p>
</div>
<br>______________________________<wbr>_________________<br>
Cbc mailing list<br>
<a href="mailto:Cbc@list.coin-or.org">Cbc@list.coin-or.org</a><br>
<a href="http://list.coin-or.org/mailman/listinfo/cbc" rel="noreferrer" target="_blank">http://list.coin-or.org/<wbr>mailman/listinfo/cbc</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><font style="font-family:times new roman,serif" color="#888888">Senior Process Engineer<br><i>Gyan Data Pvt. Ltd.<br></i></font></div><font style="font-family:times new roman,serif" color="#888888"><i>IITM Research Park</i></font><br></div></div></div></div></div></div>
</div>