<div dir="ltr">Thanks.  I was doing the moral equivalent of button mashing, having only the faintest memory of how Dantzig-Wolfe worked, and no idea of its applicability. (also apologies for posting this to Cbc instead of Clp)<div>
<br></div><div>Running</div><div><br></div><div><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px">clp KCMO.mps.bz2 -idiot 500 -primals</span><br></div><div><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px"><br>
</span></div><div><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px">takes 44 minutes on my machine, about three times as fast as the default (dual) computation.</span></div><div><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px"><br>
</span></div><div><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px">If I want to do this with an instance of ClpSimplex, the cpp dump says</span></div><div><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px"><br>
</span></div><div>







<p class="">  clpModel-&gt;setPerturbation(50);</p>
<p class="">  ClpSolve::SolveType method = ClpSolve::usePrimalorSprint;</p>
<p class="">  ClpSolve::PresolveType presolveType = ClpSolve::presolveOn;</p>
<p class="">  int numberPasses = 5;</p>
<p class="">  int options[] = {0,2,0,1,0,0};</p>
<p class="">  int extraInfo[] = {-1,500,-1,-1,-1,-1};</p>
<p class="">  int independentOptions[] = {0,0,3};</p>
<p class="">  ClpSolve clpSolve(method,presolveType,numberPasses,</p>
<p class="">                    options,extraInfo,independentOptions);</p></div><div>







<p class="">  clpModel-&gt;initialSolve(clpSolve);</p></div><div>The options and extra info are mysterious.</div><div><br></div><div>Would the following accomplish about the same thing?</div><div><br></div><div>  ClpSolve clpSolve;</div>
<div>  clpSolve.setPresolveType(ClpSolve::presolveOn, 5);</div><div>  clpSolve.setSolveType(ClpSolve::usePrimalorSprint);</div><div>  clpSolve.setSpecialOption(1,2,500);</div><div>  clpModel-&gt;initialSolve(clpSolve);</div>
<div><br></div><div>That I can almost understand. I think.</div><div><br></div><div>Why is starting out with the barrier method entitled &#39;idiot&#39;?  I assume that &#39;idiot 500&#39; does 500 interior point steps before passing to the primal simplex.</div>
<div><br></div><div>Thank you again.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Mar 12, 2014 at 5:27 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 text="#000000" bgcolor="#FFFFFF">
    <div>David,<br>
      <br>
      With my trunk, I get further.  I will use problem to try and make
      DW more stable.<br>
      <br>
      However there are probably too many rows in master for DW to be
      fastest algorithm.<br>
      <br>
      Straightforward Dual and Primal are both slow.<br>
      <br>
      Using barrier took 28 minutes elapsed (4-way) - could be faster if
      I had used a different Cholesky.<br>
      <br>
      If you can bring yourself to type it in- try<br>
      <br>
      clp KCMO.mps.bz2 -idiot 500 -primals<br>
      <br>
      Took 20 minutes.<br>
      <br>
      John<div><div class="h5"><br>
      <br>
      <br>
      On 11/03/14 23:35, David Einstein wrote:<br>
    </div></div></div>
    <blockquote type="cite"><div><div class="h5">
      <div dir="ltr">
        <div>I have a somewhat large model </div>
        <div><br>
        </div>
        <div>Coin0002I Problem BLANK has 157974 rows, 667812 columns and
          10181088 elements<br>
        </div>
        <div><br>
        </div>
        <div>available for the nonce at <a href="http://www.sdcorp.net/deinst/KCMO.mps.bz2" target="_blank">http://www.sdcorp.net/deinst/KCMO.mps.bz2</a></div>
        <div><br>
        </div>
        <div>In an effort to get it solving faster with little to no
          work on my part, I tried the Dantzig-Wolfe decomposition using
          CoinStructuredModel (I fed the mps to the decomp2 example.)</div>
        <div><br>
        </div>
        <div>
          Kablooey.</div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>#0  0x00000000006501d7 in CoinPackedMatrix::timesMinor
          (this=0x4155200, x=0x0, </div>
        <div>    y=0x3d2dfa0) at
          ../../../coin-Cbc/CoinUtils/src/CoinPackedMatrix.cpp:1859</div>
        <div>#1  0x000000000064cf27 in CoinPackedMatrix::transposeTimes
          (this=0x4155200, </div>
        <div>    x=0x0, y=0x3d2dfa0)</div>
        <div>    at
          ../../../coin-Cbc/CoinUtils/src/CoinPackedMatrix.cpp:1156</div>
        <div>#2  0x00000000004be126 in ClpSimplex::solveDW
          (this=0x7fff89a70fc0, model=</div>
        <div>    0x7fff89a70f20) at
          ../../../coin-Cbc/Clp/src/ClpSolve.cpp:4747</div>
        <div>#3  0x00000000004ba07c in ClpSimplex::solve
          (this=0x7fff89a70fc0, </div>
        <div>    model=0x7fff89a70f20) at
          ../../../coin-Cbc/Clp/src/ClpSolve.cpp:4034</div>
        <div>#4  0x000000000040331c in main (argc=2,
          argv=0x7fff89a71768)</div>
        <div>    at ../../../coin-Cbc/Clp/examples/decomp2.cpp:33</div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>(If this code is not ready, ignore me).<br>
        </div>
        <div>
          <br>
        </div>
        <div>Thanks,</div>
        <div>Deinst</div>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      </div></div><pre>_______________________________________________
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/mailman/listinfo/cbc</a>
</pre>
    </blockquote>
    <br>
  </div>

<br>_______________________________________________<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" target="_blank">http://list.coin-or.org/mailman/listinfo/cbc</a><br>
<br></blockquote></div><br></div>