[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