[Cbc] Options to prevent CBC from "stalling" in presolve / root node processing

John Forrest john.forrest at fastercoin.com
Thu Jan 24 11:16:24 EST 2013


Jean-Paul,

There is an opaque option tunePreprocess - the default is 6 which says 
something about looking for SOS >=6.  However it can influence number of 
passes.  So try setting it to 2006 and see what effect that has.

Looking at log, it is interesting that last two passes fix a lot of 
variables but does no substitutions.  If that coding is only switched 
after end of substitutions it may be possible to redo the code to make 
faster.

If you send me a sample, I can see why it is so slow.

John



On 24/01/13 14:31, Watson, Jean-paul wrote:
> Hi all,
>
> I have a medium-scale MIP that is behaving badly when I try to solve 
> it with CBC. In particular, it takes around 5+ minutes just to get to 
> the point where the feasibility pump kicks in (which turns out to 
> quickly find an optimal solution). This is in contrast to GLPK, SCIP, 
> CPLEX, Gurobi, etc., which get to this point in a few seconds at 
> worst. The output trace is below.
>
> The vast majority of the time is spent doing substitutions / variable 
> fixing. Is there an option to either turn such processing off, or 
> reduce the number of passes? I tried turning off all cuts and 
> presolve, and didn't see any other options that were obvious (at least 
> to me).
>
> Thanks!
>
> Jean-Paul
>
> ---
>
> command line - cbc foo.lp (default strategy 1)
> Coin0009I  CoinLpIO::readLp(): Maximization problem reformulated as 
> minimization
> Continuous objective value is -53.7 - 0.66 seconds
> Cgl0002I 542 variables fixed
> Cgl0003I 188 fixed, 0 tightened bounds, 0 strengthened rows, 58122 
> substitutions
> Cgl0003I 99 fixed, 0 tightened bounds, 0 strengthened rows, 42070 
> substitutions
> Cgl0003I 69 fixed, 0 tightened bounds, 0 strengthened rows, 41920 
> substitutions
> Cgl0003I 72 fixed, 0 tightened bounds, 0 strengthened rows, 41792 
> substitutions
> Cgl0003I 51 fixed, 0 tightened bounds, 0 strengthened rows, 41672 
> substitutions
> Cgl0003I 75 fixed, 0 tightened bounds, 0 strengthened rows, 41528 
> substitutions
> Cgl0003I 66 fixed, 0 tightened bounds, 0 strengthened rows, 41406 
> substitutions
> Cgl0003I 72 fixed, 0 tightened bounds, 0 strengthened rows, 41258 
> substitutions
> Cgl0003I 63 fixed, 0 tightened bounds, 0 strengthened rows, 41118 
> substitutions
> Cgl0003I 2320 fixed, 0 tightened bounds, 0 strengthened rows, 0 
> substitutions
> Cgl0003I 2324 fixed, 0 tightened bounds, 0 strengthened rows, 2 
> substitutions
> Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 1 substitutions
> Cgl0004I processed model has 777 rows, 6796 columns (6795 integer) and 
> 17610 elements
> Cbc0038I Pass   1: suminf.    0.00000 (0) obj. -25 iterations 938
> Cbc0038I Solution found of -25
> Cbc0038I Before mini branch and bound, 6715 integers at bound fixed 
> and 0 continuous
> Cbc0038I Full problem 777 rows 6796 columns, reduced to 20 rows 20 columns
> Cbc0038I Mini branch and bound improved solution from -25 to -27 
> (840.93 seconds)
> Cbc0038I Round again with cutoff of -27.065
> Cbc0038I Pass   2: suminf.    1.30018 (16) obj. -27.065 iterations 475
> Cbc0038I Pass   3: suminf.    1.04014 (16) obj. -27.065 iterations 89
> Cbc0038I Pass   4: suminf.    1.04014 (14) obj. -27.065 iterations 612
> Cbc0038I Pass   5: suminf.    0.91013 (14) obj. -27.065 iterations 72
> Cbc0038I Pass   6: suminf.    0.91013 (12) obj. -27.065 iterations 536
> Cbc0038I Pass   7: suminf.    0.78011 (12) obj. -27.065 iterations 55
> Cbc0038I Pass   8: suminf.    1.04014 (12) obj. -27.065 iterations 528
> Cbc0038I Pass   9: suminf.    0.78011 (12) obj. -27.065 iterations 239
> Cbc0038I Pass  10: suminf.    0.91013 (12) obj. -27.065 iterations 529
> Cbc0038I Pass  11: suminf.    0.78011 (11) obj. -27.065 iterations 85
> Cbc0038I Pass  12: suminf.    1.30018 (12) obj. -27.065 iterations 437
> Cbc0038I Pass  13: suminf.    0.78011 (12) obj. -27.065 iterations 270
> Cbc0038I Pass  14: suminf.    1.43020 (12) obj. -27.065 iterations 471
> Cbc0038I Pass  15: suminf.    0.78011 (11) obj. -27.065 iterations 136
> Cbc0038I Pass  16: suminf.    1.17016 (12) obj. -27.065 iterations 488
> Cbc0038I Pass  17: suminf.    0.78011 (11) obj. -27.065 iterations 130
> Cbc0038I Pass  18: suminf.    1.04014 (11) obj. -27.065 iterations 468
> Cbc0038I Pass  19: suminf.    0.78011 (12) obj. -27.065 iterations 144
> Cbc0038I Pass  20: suminf.    1.56022 (12) obj. -27.065 iterations 475
> Cbc0038I Pass  21: suminf.    0.78011 (11) obj. -27.065 iterations 150
> Cbc0038I Pass  22: suminf.    1.04014 (11) obj. -27.065 iterations 462
> Cbc0038I Pass  23: suminf.    0.78011 (12) obj. -27.065 iterations 145
> Cbc0038I Pass  24: suminf.    3.90054 (26) obj. -27.065 iterations 458
> Cbc0038I Pass  25: suminf.    1.62522 (21) obj. -27.065 iterations 375
> Cbc0038I Pass  26: suminf.    3.17016 (21) obj. -27.065 iterations 484
> Cbc0038I Pass  27: suminf.    1.43020 (20) obj. -27.065 iterations 439
> Cbc0038I Pass  28: suminf.    3.49521 (19) obj. -27.065 iterations 517
> Cbc0038I Pass  29: suminf.    1.36519 (18) obj. -27.065 iterations 411
> Cbc0038I Pass  30: suminf.    2.84512 (18) obj. -27.065 iterations 440
> Cbc0038I Pass  31: suminf.    1.36519 (16) obj. -27.065 iterations 504
> Cbc0038I No solution found this major pass
> Cbc0038I Before mini branch and bound, 6498 integers at bound fixed 
> and 0 continuous
> Cbc0038I Full problem 777 rows 6796 columns, reduced to 55 rows 170 
> columns
> Cbc0038I Mini branch and bound did not improve solution (841.72 seconds)
> Cbc0038I After 841.72 seconds - Feasibility pump exiting with 
> objective of -27 - took 0.90 seconds
>
>
>
> _______________________________________________
> 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/20130124/bdc783f7/attachment-0001.html>


More information about the Cbc mailing list