<div dir="ltr"><div><div><div><div><div><div><div><div><div><div>To reproduce, check out current SYMPHONY trunk and build:<br><br></div>svn co <a href="https://projects.coin-or.org/svn/SYMPHONY/trunk">https://projects.coin-or.org/svn/SYMPHONY/trunk</a> SYMPHONY-trunk<br>

</div>mkdir build<br></div>cd build<br></div>../configure --enable-debug --enable-gnu-packages<br></div>make install<br><br></div>Create a parameter file &quot;par&quot; with the following contents:<br><br>use_hot_starts 0<br>

should_use_rel_br 0<br>do_primal_heuristic 0<br>limit_strong_branching_time 0<br><br></div><div>Run this command under a debugger:<br></div><div><br></div>symphony -F fast0507.mps -f par<br><br></div>Around line 1580 of lp_branch.c is where the solves happen in the strong branching loop. If you display &quot;can-&gt;objval&quot; on line 1601 each time through the loop, you will see the result of the strong branching pre-solves. What cannot happen is for both objective values to be above 161, since that would imply that the objective value for the MIP is above 161, whereas 161 is the true optimum (note that there is an objective offset of 13 in this example---the optimum including the offset is 174). <br>

<br></div>If you just keep looping until you see a case where can-&gt;objval has two values above 161, this is apparently a bug. Something like<br><br></div>(gdb) print can-&gt;objval<br><div>can-&gt;objval = {161.14556667654873, 161.14556667654873, 0, 0}<br>

<br>For me, it happens with the third candidate. If you then go and debug the solve call for one of these buggy LP calls (line 1584) and stop in hitMaximumIterations() when hitMax gets value &quot;true&quot;, you will be able to see what I&#39;m talking about. From within hitMaximumIterations(), the LP value seems correct, but as you step out of the solve call, the objective value gets changed in computeObjectiveValue() at some point and becomes incorrect.<br>

<br></div><div>If you change the value of use_hot_starts to 1 in the parameter file, everything is fine.<br></div><div><br></div><div>Let me know if you have trouble reproducing.<br><br></div><div>Cheers,<br><br>Ted<br></div>

<div><br>  <br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 18, 2014 at 1:43 PM, Ted Ralphs <span dir="ltr">&lt;<a href="mailto:ted@lehigh.edu" target="_blank">ted@lehigh.edu</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="">On Mon, Aug 18, 2014 at 12:58 PM, John Forrest <span dir="ltr">&lt;<a href="mailto:john.forrest@fastercoin.com" target="_blank">john.forrest@fastercoin.com</a>&gt;</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>Ted,<br>
      <br>
      2. - as described - is not a bug - you have to say solve or dual
      or similar before -solution $.  Clp is just giving you the
      solution before solving it.  <br></div></div></blockquote><div><br></div></div><div>Ah yes, you are right! However, in my stupidity, I might have stumbled onto a clue. The solution that Clp is giving me before solving on the command line is precisely the one I am seeing from within SYMPHONY. Inside SYMPHONY, I am definitely making the solve call first. It doesn&#39;t seem like that can be a coincidence. What is this solution it produces before solving?<br>


</div><div class=""><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><div>
      1. probably is a bug<br>
      <br>
      What version of SYMPHONY should I check out to debug this - and
      how do I reproduce bugs?<br></div></div></blockquote><div><br></div></div><div>It&#39;s SYMPHONY trunk. I&#39;ll check in my code and send you the details of how to reproduce in a separate e-mail. Thanks!<br><br></div>

<div>
Cheers,<br><br>Ted<br></div></div><div class="">-- <br>Dr. Ted Ralphs<br>Associate Professor, Lehigh University<br><a href="tel:%28610%29%20628-1280" value="+16106281280" target="_blank">(610) 628-1280</a><br>ted &#39;at&#39; lehigh &#39;dot&#39; edu<br>

<a href="http://coral.ie.lehigh.edu/~ted" target="_blank">coral.ie.lehigh.edu/~ted</a><br>

</div></div></div>
</blockquote></div><br><br clear="all"><br>-- <br>Dr. Ted Ralphs<br>Associate Professor, Lehigh University<br>(610) 628-1280<br>ted &#39;at&#39; lehigh &#39;dot&#39; edu<br><a href="http://coral.ie.lehigh.edu/~ted" target="_blank">coral.ie.lehigh.edu/~ted</a><br>


</div>