<div dir="ltr">I don't know any details, but apparently non-determinism is a possibility on some Intel chipsets using AVX intructions, even for code that should be deterministic, due to alignment issues. For example, see this discussion:<div><br></div><div><a href="https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/391364">https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/391364</a><br></div><div><br></div><div>I'm not sure if this could be the issue, but worth checking into. The above thread contains some ideas for what to try to make the code deterministic. </div><div><br></div><div>Cheers,</div><div><br></div><div>Ted</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 8, 2016 at 12:21 PM, Yves Touchard <span dir="ltr"><<a href="mailto:ytouchard@gopro.com" target="_blank">ytouchard@gopro.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="white" lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">John,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Sure that this problem is very tricky.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">I wrote a Python script launching cbc until the solution file is different from a reference solution.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">According to these tests, cbc must be ran (on the same machine) between 1 and 200 times before failing (mean is around 50).<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d">Yves<u></u><u></u></span></p>
<p class="MsoNormal"><a name="-755534028__MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d"><u></u> <u></u></span></a></p>
<div>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext"> John Forrest [mailto:<a href="mailto:john.forrest@fastercoin.com" target="_blank">john.forrest@fastercoin.com</a>]
<br>
<b>Sent:</b> Monday, February 08, 2016 5:34 PM<span class=""><br>
<b>To:</b> Yves Touchard <<a href="mailto:ytouchard@gopro.com" target="_blank">ytouchard@gopro.com</a>>; <a href="mailto:cbc@list.coin-or.org" target="_blank">cbc@list.coin-or.org</a><br>
</span><b>Subject:</b> Re: [Cbc] Non Deterministic solution<u></u><u></u></span></p>
</div>
</div><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Yves,<br>
<br>
Difficult to debug this.  I have run it a hundred times and got the same answer each time.<br>
<br>
John<br>
<br>
On 08/02/16 12:11, Yves Touchard wrote:<u></u><u></u></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">John,<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">I did the changes (two lines in ClpSimplex.cpp) and there is still determinism problems.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Yves<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"><b>From:</b>
<a href="mailto:john.forrest@fastercoin.com" target="_blank">john.forrest@fastercoin.com</a> [<a href="mailto:john.forrest@fastercoin.com" target="_blank">mailto:john.forrest@fastercoin.com</a>]
<br>
<b>Sent:</b> Friday, February 05, 2016 5:33 PM<br>
<b>To:</b> Yves Touchard <a href="mailto:ytouchard@gopro.com" target="_blank"><ytouchard@gopro.com></a>;
<a href="mailto:cbc@list.coin-or.org" target="_blank">cbc@list.coin-or.org</a><br>
<b>Subject:</b> RE: [Cbc] Non Deterministic solution<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<p class="MsoNormal">Yves,<br>
<br>
My guess is that it is because there are places where CoinDrand48 is used. <br>
<br>
Most likely is in ClpSimplex.cpp - try changing<br>
<br>
Coindrand48()<br>
<br>
to<br>
<br>
randomNumberGenerator_.randomDouble()<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">if that fixes I will check change in<br>
<br>
<br>
John<u></u><u></u></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">-------- Original Message --------<br>
Subject: [Cbc] Non Deterministic solution<br>
From: Yves Touchard <<a href="mailto:ytouchard@gopro.com" target="_blank">ytouchard@gopro.com</a>><br>
Date: Thu, February 04, 2016 11:31 am<br>
To: "<a href="mailto:cbc@list.coin-or.org" target="_blank">cbc@list.coin-or.org</a>" <<a href="mailto:cbc@list.coin-or.org" target="_blank">cbc@list.coin-or.org</a>><u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"><span lang="FR">Hello,</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"> </span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I have just a got a determinism problem with a constraint file:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">You will find at
<a href="https://www.dropbox.com/s/uzbmgj48kvtd5yj/pb.tar.gz?dl=0" target="_blank">https://www.dropbox.com/s/uzbmgj48kvtd5yj/pb.tar.gz?dl=0</a>, a tar file containing five files:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">·        pb.lp is the constraint file.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">·        pbTriv.sol is a solution file of the trivial problem (same problem with relaxed constraints) used for mipstart.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">·        pb.prio is the priority file.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">·        pbCmd1.sol is the most frequent solution provided by coin.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">·        pbCmd1Alt.sol is the alternative solution (not easy to catch it…).<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Command line is:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">bin/cbc pb.lp threads 104 ratio 0.05 mipstart pbTriv.sol priority pb.prio divingP on divingV on divesolves 301 multiple 4 branch printingOptions normal solution pb.sol<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Cbc coin is 2.9.7 rev:2232 compiled with gcc 4.9.0<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Could you have a look on it, please?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Yves<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
</div>
<div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="3" width="100%" align="center">
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
Cbc mailing list<br>
<a href="mailto:Cbc@list.coin-or.org" target="_blank">Cbc@list.coin-or.org</a><br>
<a href="http://list.coin-or.org/mailman/listinfo/cbc" target="_blank">http://list.coin-or.org/mailman/listinfo/cbc</a><u></u><u></u></p>
</div>
</blockquote>
</div>
</blockquote>
<p class="MsoNormal"><u></u> <u></u></p>
</div></div></div>
</div>

<br>_______________________________________________<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/mailman/listinfo/cbc</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Dr. Ted Ralphs<br>Professor, Lehigh University<br>(610) 628-1280<br>ted 'at' lehigh 'dot' edu<br><a href="http://coral.ie.lehigh.edu/~ted" target="_blank">coral.ie.lehigh.edu/~ted</a><br></div></div>
</div>