[Cbc] CBC deterministic

John Forrest john.forrest at fastercoin.com
Fri Aug 12 11:39:25 EDT 2016


Alexis,

As Bjørn wrote, stopping on time is not deterministic. Otherwise if you 
are not using more than one thread then it should be.

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.

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.

If you are using threads try using threads 10n and see if cpu 
utilization is reasonable on your problems.

John Forrest

On 11/08/16 15:57, Alexis wrote:
>
> Hi
>
> 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.
>
> http://list.coin-or.org/pipermail/cbc/2016-February/001891.html
>
> http://list.coin-or.org/pipermail/cbc/2015-January/001580.html
>
> 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
>
> CbcEventHandler::CbcAction myCbcEventHandler::event(CbcEvent whichEvent)
> {
>
> ...
>             if (dIntGapCalc < dIntGapRef)  {
>
>                 ...
>
>                 return stop;
>             }
>
>        ...
>
>   }
>
> ....
>
> }
>
> Thanks in advance
>
>
> -- 
> Alexis Guigue, E.I.T., B.Eng., M.A.Sc., Ph.D.
> Software Engineer/Research Engineer
> 604-519-6222, ext. 107
>
> Softree Technical Systems Inc. <http://www.softree.com>
> Engineering an Easier Way
>
>
>
> _______________________________________________
> Cbc mailing list
> Cbc at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/cbc


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20160812/19d17f85/attachment.html>


More information about the Cbc mailing list