[Cbc] Non Deterministic solution

Ted Ralphs ted at lehigh.edu
Mon Feb 8 13:26:44 EST 2016


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:

https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/391364

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.

Cheers,

Ted

On Mon, Feb 8, 2016 at 12:21 PM, Yves Touchard <ytouchard at gopro.com> wrote:

> John,
>
>
>
> Sure that this problem is very tricky.
>
> I wrote a Python script launching cbc until the solution file is different
> from a reference solution.
>
> According to these tests, cbc must be ran (on the same machine) between 1
> and 200 times before failing (mean is around 50).
>
>
>
> Yves
>
>
>
> *From:* John Forrest [mailto:john.forrest at fastercoin.com]
> *Sent:* Monday, February 08, 2016 5:34 PM
> *To:* Yves Touchard <ytouchard at gopro.com>; cbc at list.coin-or.org
> *Subject:* Re: [Cbc] Non Deterministic solution
>
>
>
> Yves,
>
> Difficult to debug this.  I have run it a hundred times and got the same
> answer each time.
>
> John
>
> On 08/02/16 12:11, Yves Touchard wrote:
>
> John,
>
>
>
> I did the changes (two lines in ClpSimplex.cpp) and there is still
> determinism problems.
>
>
>
> Yves
>
>
>
> *From:* john.forrest at fastercoin.com [mailto:john.forrest at fastercoin.com
> <john.forrest at fastercoin.com>]
> *Sent:* Friday, February 05, 2016 5:33 PM
> *To:* Yves Touchard <ytouchard at gopro.com> <ytouchard at gopro.com>;
> cbc at list.coin-or.org
> *Subject:* RE: [Cbc] Non Deterministic solution
>
>
>
> Yves,
>
> My guess is that it is because there are places where CoinDrand48 is used.
>
> Most likely is in ClpSimplex.cpp - try changing
>
> Coindrand48()
>
> to
>
> randomNumberGenerator_.randomDouble()
>
>
>
> if that fixes I will check change in
>
>
> John
>
> -------- Original Message --------
> Subject: [Cbc] Non Deterministic solution
> From: Yves Touchard <ytouchard at gopro.com>
> Date: Thu, February 04, 2016 11:31 am
> To: "cbc at list.coin-or.org" <cbc at list.coin-or.org>
>
> Hello,
>
>
>
> I have just a got a determinism problem with a constraint file:
>
>
>
> You will find at https://www.dropbox.com/s/uzbmgj48kvtd5yj/pb.tar.gz?dl=0,
> a tar file containing five files:
>
> ·        pb.lp is the constraint file.
>
> ·        pbTriv.sol is a solution file of the trivial problem (same
> problem with relaxed constraints) used for mipstart.
>
> ·        pb.prio is the priority file.
>
> ·        pbCmd1.sol is the most frequent solution provided by coin.
>
> ·        pbCmd1Alt.sol is the alternative solution (not easy to catch it…).
>
>
>
> Command line is:
>
> 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
>
> Cbc coin is 2.9.7 rev:2232 compiled with gcc 4.9.0
>
>
>
> Could you have a look on it, please?
>
>
>
> Thanks
>
>
>
> Yves
>
>
> ------------------------------
>
> _______________________________________________
> Cbc mailing list
> Cbc at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/cbc
>
>
>
> _______________________________________________
> Cbc mailing list
> Cbc at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/cbc
>
>


-- 
Dr. Ted Ralphs
Professor, Lehigh University
(610) 628-1280
ted 'at' lehigh 'dot' edu
coral.ie.lehigh.edu/~ted
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20160208/85cae7bf/attachment-0001.html>


More information about the Cbc mailing list