[Cbc] cbc.exe vs. Cbc API
Michal Kaut
mail at michalkaut.net
Wed Feb 6 11:00:12 EST 2008
Hello,
is there a (preferably easy) way to pass to a OsiCbcSolverInterface or
CbcModel object the same set of options that the standalone solver
(cbc.exe) is using?
I have a problem that cbc.exe solves in under a minute, but when I load
the same MPS file to an OsiCbcSolverInterface object and use
.branchAndBound(), it takes at least a day (I stopped after a day, so I
do not know)...
And if not, would someone venture a guess about what options should I
use, given the output?
cbc.exe:
---------------------------------------------------------------
Problem BLANK has 840 rows, 3990 columns and 10920 elements
Coin0008I BLANK read with 0 errors
Continuous objective value is 1157.17 - 0.09 seconds
Cgl0003I 0 fixed, 252 tightened bounds, 125 strengthened rows, 0
substitutions
Cgl0004I processed model has 362 rows, 1048 columns (252 integer) and
2850 elements
Cbc0031I 102 added rows had average density of 5.01961
Cbc0013I At root node, 102 cuts changed objective from 1428.63 to
4268.57 in 24 passes
Cbc0014I Cut generator 0 (Probing) - 2 row cuts (0 active), 0 column
cuts in 0.047 seconds - new frequency is 5
Cbc0014I Cut generator 1 (Gomory) - 64 row cuts (1 active), 0 column
cuts in 0.109 seconds - new frequency is 1
Cbc0014I Cut generator 2 (Knapsack) - 0 row cuts (0 active), 0 column
cuts in 0.063 seconds - new frequency is -100
Cbc0014I Cut generator 3 (Clique) - 0 row cuts (0 active), 0 column cuts
in 0.000 seconds - new frequency is -100
Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 194 row cuts (61
active), 0 column cuts in 0.031 seconds - new frequency is 1
Cbc0014I Cut generator 5 (FlowCover) - 0 row cuts (0 active), 0 column
cuts in 0.000 seconds - new frequency is -100
Cbc0014I Cut generator 6 (TwoMirCuts) - 237 row cuts (29 active), 0
column cuts in 0.078 seconds - new frequency is -100
Cbc0010I After 0 nodes, 1 on tree, 1e+050 best solution, best possible
4268.57 (2.94 seconds)
Cbc0004I Integer solution of 7465 found after 11465 iterations and 122
nodes (30.11 seconds)
Cbc0016I Integer solution of 5579 found by strong branching after 11566
iterations and 125 nodes (30.30 seconds)
Cbc0038I Full problem 362 rows 1048 columns, reduced to 320 rows 799
columns - too large
Cbc0004I Integer solution of 4796 found after 15969 iterations and 174
nodes (36.58 seconds)
Cbc0038I Full problem 362 rows 1048 columns, reduced to 330 rows 812
columns - too large
Cbc0001I Search completed - best objective 4796, took 20593 iterations
and 247 nodes (41.16 seconds)
Cbc0032I Strong branching done 2920 times (109798 iterations), fathomed
1 nodes and fixed 56 variables
Cbc0035I Maximum depth 32, 677 variables fixed on reduced cost
Cuts at root node changed objective from 1428.63 to 4268.57
Probing was tried 65 times and created 32 cuts of which 29 were active
after adding rounds of cuts (0.127 seconds)
Gomory was tried 233 times and created 102 cuts of which 23 were active
after adding rounds of cuts (0.618 seconds)
Knapsack was tried 24 times and created 0 cuts of which 0 were active
after adding rounds of cuts (0.063 seconds)
Clique was tried 24 times and created 0 cuts of which 0 were active
after adding rounds of cuts (0.000 seconds)
MixedIntegerRounding2 was tried 233 times and created 827 cuts of which
465 were active after adding rounds of cuts (0.373 seconds)
FlowCover was tried 1 times and created 0 cuts of which 0 were active
after adding rounds of cuts (0.000 seconds)
TwoMirCuts was tried 24 times and created 237 cuts of which 29 were
active after adding rounds of cuts (0.078 seconds)
Result - Finished objective 4796 after 247 nodes and 20593 iterations -
took 41.27 seconds (total time 41.50)
Total time 41.56
---------------------------------------------------------------
.branchAndBound():
---------------------------------------------------------------
Cbc0031I 72 added rows had average density of 57.1806
Cbc0013I At root node, 72 cuts changed objective from 1157.17 to 2496.59
in 20 passes
Cbc0014I Cut generator 0 (Probing) - 101 row cuts (48 active), 1 column
cuts in 0.079 seconds - new frequency is -100
Cbc0014I Cut generator 1 (Gomory) - 46 row cuts (18 active), 0 column
cuts in 0.154 seconds - new frequency is -100
Cbc0014I Cut generator 2 (Knapsack) - 0 row cuts (0 active), 0 column
cuts in 0.250 seconds - new frequency is -100
Cbc0014I Cut generator 3 (Clique) - 0 row cuts (0 active), 0 column cuts
in -0.000 seconds - new frequency is -100
Cbc0014I Cut generator 4 (FlowCover) - 0 row cuts (0 active), 0 column
cuts in 0.125 seconds - new frequency is -100
Cbc0014I Cut generator 5 (MixedIntegerRounding2) - 0 row cuts (0
active), 0 column cuts in 0.046 seconds - new frequency is -100
Cbc0010I After 0 nodes, 1 on tree, 1e+050 best solution, best possible
2496.59 (1.61 seconds)
Cbc0010I After 100 nodes, 53 on tree, 1e+050 best solution, best
possible 2540.24 (29.69 seconds)
Cbc0010I After 200 nodes, 111 on tree, 1e+050 best solution, best
possible 2540.24 (52.17 seconds)
Cbc0004I Integer solution of 9092 found after 20082 iterations and 238
nodes (59.21 seconds)
Cbc0010I After 300 nodes, 160 on tree, 9092 best solution, best possible
2540.24 (69.19 seconds)
Cbc0012I Integer solution of 7538 found by rounding after 27720
iterations and 350 nodes (78.11 seconds)
Cbc0010I After 400 nodes, 196 on tree, 7538 best solution, best possible
2540.24 (94.67 seconds)
Cbc0004I Integer solution of 5985 found after 40396 iterations and 493
nodes (119.99 seconds)
Cbc0010I After 500 nodes, 214 on tree, 5985 best solution, best possible
2540.24 (123.16 seconds)
Cbc0010I After 600 nodes, 264 on tree, 5985 best solution, best possible
2540.24 (149.77 seconds)
...
---------------------------------------------------------------
Thanks a lot in advance.
Regards,
Michal
More information about the Cbc
mailing list