<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>