[Cbc] CoinStructuredModel crash
John Forrest
john.forrest at fastercoin.com
Thu Mar 13 05:53:05 EDT 2014
David,
On 13/03/14 03:59, David Einstein wrote:
> 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);
>
You may need to set perturbation on
>
> The options and extra info are mysterious.
ClpSolve.hpp gives hints - so setting options[1] says use idiot
with the associated extraInfo of 500
>
> 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);
>
Should be OK
> 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.
>
>
"idiot" is not the barrier method but a cheap imitation - so bad that I
called it the Idiot algorithm and gave a bad talk on it years ago - any
bad heuristic followed by an algorithm is an algorithm. The simplified
basic idea is that you minimize mu*objective + sum of squared primal
infeasibilities. This is done on a very local basis i.e. column by
column where you just solve a quadratic to get new value. Periodically
you reduce mu. For many problems you finish with a small sum of
infeasibilities and an objective a bit higher than the optimal one. You
then finish with primal.
John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20140313/116b967c/attachment.html>
More information about the Cbc
mailing list