[Cbc] CBC hints?

anthony at resolution.com anthony at resolution.com
Thu Oct 25 23:41:34 EDT 2007


We're using CBC to solve a problem.

However, CBC seems to get "stuck" on a particular solution, and then
spends hours getting to the best solution.

We've turned strong branching off, and end up with this:

Coin:solve
Optimal - objective value 4339.33
Cgl0006I 156 SOS (12012 members out of 24180) with 291368 overlaps - too
much overlap or too many others
Cgl0003I 0 fixed, 49 tightened bounds, 0 strengthened rows, 0 substitutions
Cgl0004I processed model has 36650 rows, 4886 columns (4747 integer) and
95136 elements
processed model has 36650 rows, 4886 columns and 95136 elements
Optimal - objective value 4339.33
4747 integer variables and 49 variables could be made integer

pass   1: obj.    1.00000 --> up =     0 , down =     0 -- rand =    4 (  11)
pass   2: obj.    3.00000 --> up =     0 , down =     4 Perturbation applied
pass   3: obj.  805.00000 --> up =     1 , down =   804
pass   4: obj.    0.00000 --> up =     0 , down =     0 -- rand =    0 ( 
19)  - solution found
Cbc0012I Integer solution of 2.70519e+06 found by heuristic after 0
iterations and 0 nodes (2.38 seconds)
Cbc0031I 26 added rows had average density of 107.769
Cbc0013I At root node, 26 cuts changed objective from 4339.12 to 4348.51
in 9 passes
Cbc0014I Cut generator 0 (Probing) - 0 row cuts (0 active), 2 column cuts 
in 0.419936 seconds - new frequency is -100
Cbc0014I Cut generator 1 (Gomory) - 472 row cuts (6 active), 0 column cuts
 in 1.02284 seconds - new frequency is -100
Cbc0014I Cut generator 2 (Knapsack) - 0 row cuts (0 active), 0 column cuts
 in 0.099986 seconds - new frequency is -100
Cbc0014I Cut generator 3 (Clique) - 488 row cuts (0 active), 0 column cuts
 in 0.038993 seconds - new frequency is -100
Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 195 row cuts (9
active), 0 column cuts  in 0.490926 seconds - new frequency is -100
Cbc0014I Cut generator 5 (FlowCover) - 66 row cuts (2 active), 0 column
cuts  in 0.173974 seconds - new frequency is -100
Cbc0014I Cut generator 6 (TwoMirCuts) - 441 row cuts (9 active), 0 column
cuts  in 1.84272 seconds - new frequency is -100
Cbc0010I After 0 nodes, 1 on tree, 2.70519e+06 best solution, best
possible 4348.51 (9.24 seconds)
Cbc0010I After 100 nodes, 57 on tree, 2.70519e+06 best solution, best
possible 4348.51 (16.45 seconds)
Cbc0010I After 200 nodes, 115 on tree, 2.70519e+06 best solution, best
possible 4348.51 (23.44 seconds)
Cbc0004I Integer solution of 4440.25 found after 5869 iterations and 211
nodes (24.28 seconds)
Cbc0010I After 300 nodes, 161 on tree, 4440.25 best solution, best
possible 4348.51 (31.23 seconds)
Cbc0010I After 400 nodes, 213 on tree, 4440.25 best solution, best
possible 4348.51 (38.17 seconds)
Cbc0010I After 500 nodes, 262 on tree, 4440.25 best solution, best
possible 4348.68 (45.21 seconds)
....
....
Cbc0005I Partial search - best objective 4440.25 (best possible 4348.68),
took 297131 iterations and 11630 nodes (841.59 seconds)
Cuts at root node changed objective from 4339.12 to 4348.51
Probing was tried 9 times and created 0 cuts of which 0 were active after
adding rounds of cuts ( 0.419936 seconds)
Gomory was tried 9 times and created 472 cuts of which 6 were active after
adding rounds of cuts ( 1.02284 seconds)
Knapsack was tried 9 times and created 0 cuts of which 0 were active after
adding rounds of cuts ( 0.099986 seconds)
Clique was tried 9 times and created 488 cuts of which 0 were active after
adding rounds of cuts ( 0.038993 seconds)
MixedIntegerRounding2 was tried 9 times and created 195 cuts of which 9
were active after adding rounds of cuts ( 0.490926 seconds)
FlowCover was tried 9 times and created 66 cuts of which 2 were active
after adding rounds of cuts ( 0.173974 seconds)
TwoMirCuts was tried 9 times and created 441 cuts of which 9 were active
after adding rounds of cuts ( 1.84272 seconds)
Result - Stopped on nodes objective 4440.25 after 11630 nodes and 297131
iterations - took 856.611 seconds


It continues going on, and on, after 11,100 nodes, it still has 4440.25 as
the best solution.

We can get it to stop by using allow or secs, or by reducing the number of
nodes it searches.

What can we do (if anything) to get it to solve faster?

Thanks!

--
Anthony



More information about the Cbc mailing list