[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