[Cbc] CoinStructuredModel crash
David Einstein
deinst at gmail.com
Wed Mar 12 23:59:41 EDT 2014
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)
Running
clp KCMO.mps.bz2 -idiot 500 -primals
takes 44 minutes on my machine, about three times as fast as the default
(dual) computation.
If I want to do this with an instance of ClpSimplex, the cpp dump says
clpModel->setPerturbation(50);
ClpSolve::SolveType method = ClpSolve::usePrimalorSprint;
ClpSolve::PresolveType presolveType = ClpSolve::presolveOn;
int numberPasses = 5;
int options[] = {0,2,0,1,0,0};
int extraInfo[] = {-1,500,-1,-1,-1,-1};
int independentOptions[] = {0,0,3};
ClpSolve clpSolve(method,presolveType,numberPasses,
options,extraInfo,independentOptions);
clpModel->initialSolve(clpSolve);
The options and extra info are mysterious.
Would the following accomplish about the same thing?
ClpSolve clpSolve;
clpSolve.setPresolveType(ClpSolve::presolveOn, 5);
clpSolve.setSolveType(ClpSolve::usePrimalorSprint);
clpSolve.setSpecialOption(1,2,500);
clpModel->initialSolve(clpSolve);
That I can almost understand. I think.
Why is starting out with the barrier method entitled 'idiot'? I assume
that 'idiot 500' does 500 interior point steps before passing to the primal
simplex.
Thank you again.
On Wed, Mar 12, 2014 at 5:27 PM, John Forrest
<john.forrest at fastercoin.com>wrote:
> David,
>
> With my trunk, I get further. I will use problem to try and make DW more
> stable.
>
> However there are probably too many rows in master for DW to be fastest
> algorithm.
>
> Straightforward Dual and Primal are both slow.
>
> Using barrier took 28 minutes elapsed (4-way) - could be faster if I had
> used a different Cholesky.
>
> If you can bring yourself to type it in- try
>
> clp KCMO.mps.bz2 -idiot 500 -primals
>
> Took 20 minutes.
>
> John
>
>
>
> On 11/03/14 23:35, David Einstein wrote:
>
> I have a somewhat large model
>
> Coin0002I Problem BLANK has 157974 rows, 667812 columns and 10181088
> elements
>
> available for the nonce at http://www.sdcorp.net/deinst/KCMO.mps.bz2
>
> 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.)
>
> Kablooey.
>
>
> #0 0x00000000006501d7 in CoinPackedMatrix::timesMinor (this=0x4155200,
> x=0x0,
> y=0x3d2dfa0) at
> ../../../coin-Cbc/CoinUtils/src/CoinPackedMatrix.cpp:1859
> #1 0x000000000064cf27 in CoinPackedMatrix::transposeTimes
> (this=0x4155200,
> x=0x0, y=0x3d2dfa0)
> at ../../../coin-Cbc/CoinUtils/src/CoinPackedMatrix.cpp:1156
> #2 0x00000000004be126 in ClpSimplex::solveDW (this=0x7fff89a70fc0, model=
> 0x7fff89a70f20) at ../../../coin-Cbc/Clp/src/ClpSolve.cpp:4747
> #3 0x00000000004ba07c in ClpSimplex::solve (this=0x7fff89a70fc0,
> model=0x7fff89a70f20) at ../../../coin-Cbc/Clp/src/ClpSolve.cpp:4034
> #4 0x000000000040331c in main (argc=2, argv=0x7fff89a71768)
> at ../../../coin-Cbc/Clp/examples/decomp2.cpp:33
>
>
> (If this code is not ready, ignore me).
>
> Thanks,
> Deinst
>
>
> _______________________________________________
> Cbc mailing listCbc at list.coin-or.orghttp://list.coin-or.org/mailman/listinfo/cbc
>
>
>
> _______________________________________________
> 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/20140312/ee1223ea/attachment.html>
More information about the Cbc
mailing list