[Cbc] CoinStructuredModel crash
David Einstein
deinst at gmail.com
Thu Mar 13 13:14:20 EDT 2014
Thanks. The hints in ClpSolver.hpp make sense now.
Despite its name, idiot seems to be doing a pretty good job, at least on
the small number of examples I have tried.
On Thu, Mar 13, 2014 at 5:53 AM, John Forrest
<john.forrest at fastercoin.com>wrote:
> 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/deb038de/attachment.html>
More information about the Cbc
mailing list