<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">James,</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">The problem is that the final solve
      does not use presolve so problem is large.  Normally this doesn't
      matter but in your case it does.  I am thinking about the best
      thing to do, but here are two solutions -</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">1) In CbcSolver.cpp look for <br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">originalSolver->setBasis(*basis);</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">and add</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix"> 
      originalSolver->setHintParam(OsiDoPresolveInResolve, true,
      OsiHintTry);</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">This may be what will be changed in
      code.</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">2) I have committed to
      trunk/Cbc/examples presolveBefore.cpp</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">This also works.  If you add</div>
    <div class="moz-cite-prefix">#define SAVE_MEMORY</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">then it should use less memory which
      may fix your other problems.</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">John Forrest<br>
    </div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">On 17/05/2019 16:09, James Levis wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAGQPxXwc=GFOanz64H9BHuhOQ=ZY1fw2863FHH80CqwF=LDWLw@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr"><span
style="color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe
          UI",Helvetica,Arial,sans-serif,"Apple Color
          Emoji","Segoe UI Emoji","Segoe UI
          Symbol";font-size:14px">I am reading a problem where the
          LP relaxation is also integer optimal. clp solves the problem
          in ~12 s. CPLEX solves the whole problem in several seconds.</span>
        <div><font face="-apple-system, BlinkMacSystemFont, Segoe UI,
            Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI
            Emoji, Segoe UI Symbol" color="#24292e"><span
              style="font-size:14px"><br>
            </span></font>
          <p
style="box-sizing:border-box;margin-bottom:16px;margin-top:0px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe
            UI",Helvetica,Arial,sans-serif,"Apple Color
            Emoji","Segoe UI Emoji","Segoe UI
            Symbol";font-size:14px">CBC finds the LP solution in
            1.8 s, and acknowledges that it is the optimal solution (<code
style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation
Mono",Menlo,Courier,monospace;font-size:11.9px;background-color:rgba(27,31,35,0.05);border-radius:3px;margin:0px;padding:0.2em
              0.4em">Cbc3007W No integer variables - nothing to do</code>),
            but then the root cuts change the optimal value by ~300
            orders of magnitude (<code
style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation
Mono",Menlo,Courier,monospace;font-size:11.9px;background-color:rgba(27,31,35,0.05);border-radius:3px;margin:0px;padding:0.2em
              0.4em">Cuts at root node changed objective from
              1.25864e+08 to -1.79769e+308</code>). It then starts the
            search with a large negative value (<code
style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation
Mono",Menlo,Courier,monospace;font-size:11.9px;background-color:rgba(27,31,35,0.05);border-radius:3px;margin:0px;padding:0.2em
              0.4em">200 Obj -1.0630244e+15 Primal inf 3.6043524e+12
              (98)</code>), and works back to the actual optimal value
            over the course of nearly an hour (3119 s).</p>
          <p
style="box-sizing:border-box;margin-bottom:16px;margin-top:0px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe
            UI",Helvetica,Arial,sans-serif,"Apple Color
            Emoji","Segoe UI Emoji","Segoe UI
            Symbol";font-size:14px">It also states that zero nodes
            were enumerated and zero iterations were performed.</p>
          <p
style="box-sizing:border-box;margin-bottom:16px;margin-top:0px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe
            UI",Helvetica,Arial,sans-serif,"Apple Color
            Emoji","Segoe UI Emoji","Segoe UI
            Symbol";font-size:14px">Can anyone tell me what is
            going on and how to avoid it? In general, the LP relaxation
            will not be integer optimal, so I can't just use clp.</p>
          <p
style="box-sizing:border-box;margin-bottom:16px;margin-top:0px;color:rgb(36,41,46);font-family:-apple-system,BlinkMacSystemFont,"Segoe
            UI",Helvetica,Arial,sans-serif,"Apple Color
            Emoji","Segoe UI Emoji","Segoe UI
            Symbol";font-size:14px">Selected prompt inputs and
            outputs are provided below:</p>
          <pre style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:11.9px;margin-top:0px;background-color:rgb(246,248,250);border-radius:3px;line-height:1.45;overflow:auto;padding:16px;color:rgb(36,41,46);margin-bottom:0px"><code style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;background:transparent;border-radius:3px;margin:0px;padding:0px;border:0px;word-break:normal;display:inline;line-height:inherit;overflow:visible">`C:\my_directory>cbc
Welcome to the CBC MILP Solver
Version: Trunk (unstable)
Build Date: May  3 2019

CoinSolver takes input from arguments ( - switches to stdin)
Enter ? for list of commands or help
Coin:import SF_STD.lp
Coin:solv
Continuous objective value is 1.25864e+08 - 1.83 seconds
Cgl0002I 6 variables fixed
Cgl0004I processed model has 18298 rows, 19156 columns (0 integer (0 of which binary)) and 137182 elements
Cbc3007W No integer variables - nothing to do
Cuts at root node changed objective from 1.25864e+08 to -1.79769e+308
....
Perturbing problem by 0.001% of 0.0057290012 - largest nonzero change 0 ( 0%) - largest zero change 1.0005696e-05
0  Obj 1.2586431e+08 Primal inf 3829487.6 (43) Dual inf 636.78239 (1) w.o. free dual inf (0)
200  Obj -1.0630244e+15 Primal inf 3.6043524e+12 (98)
...
272255  Obj 1.2586085e+08
Optimal - objective value 1.2586431e+08
Optimal - objective value 1.2586431e+08

Result - Optimal solution found

Objective value:                125864307.31267282
Enumerated nodes:               0
Total iterations:               0
Time (CPU seconds):             3119.13
Time (Wallclock seconds):       3119.13</code></pre>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Cbc mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Cbc@list.coin-or.org">Cbc@list.coin-or.org</a>
<a class="moz-txt-link-freetext" href="https://list.coin-or.org/mailman/listinfo/cbc">https://list.coin-or.org/mailman/listinfo/cbc</a>
</pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>