Originally posted by: Falcon_G
Hi everybody
I am experiencing the following:
I have a branch and cut implementation and I run in on two different machines. The algorithm generates some cuts offline and starts to add some during IloCplex::solve() using callbacks.
I also have a CutUp parameter set to bestheuristicobj + 1. I also inject as MIP start a dozen of initial solutions.
One single thread has been used.
Any constructive comment is appreciated.
the first machine's output is the following:
It does not call at my separator and converges to a strange value.
4 of 5 MIP starts provided solutions.
MIP start 'm5' defined initial solution with objective 1211.8849.
Retaining values of one MIP start for possible repair.
Probing time = 0.00 sec. (11.23 ticks)
Clique table members: 486.
MIP emphasis: best bound.
MIP search method: traditional branch-and-cut.
Parallel mode: none, using 1 thread.
Root relaxation solution time = 0.02 sec. (18.88 ticks)
Nodes Cuts/
Node Left Objective IInf Best Integer Best Bound ItCnt Gap Variable B NodeID Parent Depth
* 0+ 0 1211.8849 1194.6156 132 1.42%
0 0 1194.6156 60 1211.8849 1194.6156 132 1.42%
0 0 1194.6156 48 1211.8849 MIRcuts: 6 197 1.42%
0 0 1194.6156 54 1211.8849 Cuts: 45 283 1.42%
0 0 1194.6156 53 1211.8849 Cuts: 42 327 1.42%
0 0 1194.6156 53 1211.8849 User: 1 327 1.42%
Repair heuristic found nothing.
Repeating presolve.
Tried aggregator 1 time.
MIP Presolve eliminated 3 rows and 3 columns.
MIP Presolve modified 16 coefficients.
Reduced MIP has 4309 rows, 271 columns, and 18694 nonzeros.
Reduced MIP has 187 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (10.23 ticks)
Probing fixed 1 vars, tightened 0 bounds.
Probing time = 0.00 sec. (12.63 ticks)
Tried aggregator 1 time.
MIP Presolve eliminated 1 rows and 1 columns.
Reduced MIP has 4308 rows, 270 columns, and 18590 nonzeros.
Reduced MIP has 186 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (6.73 ticks)
Represolve time = 0.06 sec. (33.99 ticks)
Probing time = 0.00 sec. (12.58 ticks)
Probing added 3594 nonzeros.
Clique table members: 649.
MIP emphasis: best bound.
MIP search method: traditional branch-and-cut.
Parallel mode: none, using 1 thread.
Root relaxation solution time = 0.01 sec. (22.42 ticks)
Nodes Cuts/
Node Left Objective IInf Best Integer Best Bound ItCnt Gap Variable B NodeID Parent Depth
* 0+ 0 1211.8849 1194.6156 457 1.42%
0 0 1194.6156 60 1211.8849 1194.6156 457 1.42%
0 0 1194.6156 54 1211.8849 MIRcuts: 4 509 1.42%
0 0 1194.6156 50 1211.8849 Cuts: 41 551 1.42%
0 0 1194.6156 49 1211.8849 Cuts: 39 605 1.42%
0 0 1194.6156 54 1211.8849 Cuts: 35 666 1.42%
Repair heuristic found nothing.
0 2 1194.6156 53 1211.8849 1194.6156 666 1.42% 0 0
Elapsed time = 3.31 sec. (4037.46 ticks, tree = 0.01 MB, solutions = 1)
1 2 1194.6156 53 1211.8849 1194.6156 987 1.42% z(9)(9) N 1 0 1
2 3 1194.6156 59 1211.8849 1194.6156 1337 1.42% z(9)(9) N 2 0 1
3 3 1195.7182 66 1211.8849 1194.6156 1979 1.42% z(0)(6) N 3 1 2
6 6 1200.3791 50 1211.8849 1194.6156 2538 1.42% z(0)(2) N 6 5 3
9 7 1194.6156 50 1211.8849 1194.6156 3017 1.42% r(1)(5) N 9 7 4
11 8 1194.6156 56 1211.8849 1194.6156 3674 1.42% r(0)(8) N 11 9 5
17 12 1194.6156 47 1211.8849 1194.6156 4857 1.42% z(8)(2) N 17 15 8
20 13 1195.4513 49 1211.8849 1194.6156 5197 1.42% r(5)(9) N 20 19 10
21 14 1194.6159 61 1211.8849 1194.6157 5699 1.42% r(5)(9) N 21 19 10
60 42 1206.1800 36 1211.8849 1195.0824 8474 1.39% r(7)(6) N 60 24 12
Elapsed time = 7.14 sec. (9583.54 ticks, tree = 0.24 MB, solutions = 1)
74 47 1197.2393 60 1211.8849 1195.8672 9693 1.32% z(0)(5) N 74 3 3
114 54 1210.7803 35 1211.8849 1198.0642 13660 1.14% z(8)(8) N 114 76 20
146 61 1203.5417 53 1211.8849 1200.8637 18126 0.91% z(0)(5) N 146 68 21
199 67 1205.8349 57 1211.8849 1203.2273 21141 0.71% r(0)(9) N 199 192 17
GUB cover cuts applied: 2
Clique cuts applied: 18
Cover cuts applied: 2
Flow cuts applied: 2
Mixed integer rounding cuts applied: 298
Zero-half cuts applied: 99
User cuts applied: 1
Root node processing (before b&c):
Real time = 3.32 sec. (4037.35 ticks)
Sequential b&c:
Real time = 7.08 sec. (9981.92 ticks)
------------
Total (root+branch&cut) = 10.40 sec. (14019.26 ticks)
obj 1211.88488793
OptimalTol
but on the second machine I have several calls to my separator and convergence to a correct optimal value:
1 of 1 MIP starts provided solutions.
MIP start 'm1' defined initial solution with objective 3297.0060.
Tried aggregator 1 time.
MIP Presolve eliminated 4322 rows and 97 columns.
MIP Presolve modified 1134 coefficients.
Reduced MIP has 4312 rows, 274 columns, and 18986 nonzeros.
Reduced MIP has 190 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.06 sec. (21.12 ticks)
Probing time = 0.00 sec. (3.01 ticks)
Tried aggregator 1 time.
Reduced MIP has 4312 rows, 274 columns, and 18986 nonzeros.
Reduced MIP has 190 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (8.86 ticks)
Probing time = 0.00 sec. (3.00 ticks)
Probing added 43 nonzeros.
Clique table members: 486.
MIP emphasis: best bound.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 6 threads.
Root relaxation solution time = 0.05 sec. (21.74 ticks)
Nodes Cuts/
Node Left Objective IInf Best Integer Best Bound ItCnt Gap
* 0+ 0 3297.0060 1194.6156 132 63.77%
0 0 1194.6156 60 3297.0060 1194.6156 132 63.77%
* 0+ 0 1366.7640 1194.6156 132 12.60%
0 0 1194.6156 54 1366.7640 Cuts: 12 188 12.60%
* 0+ 0 1350.6156 1194.6156 188 11.55%
* 0+ 0 1214.0522 1194.6156 246 1.60%
0 0 1194.6156 53 1214.0522 Cuts: 38 246 1.60%
0 0 1194.6156 48 1214.0522 Cuts: 8 294 1.05%
0 0 1194.6156 50 1214.0522 Cuts: 49 347 1.05%
0 2 1194.6156 39 1214.0522 1202.8577 347 0.92%
Elapsed time = 1.69 sec. (865.72 ticks, tree = 0.00 MB, solutions = 4)
14 16 1197.9404 59 1214.0522 1202.8577 3434 0.92%
* 107 62 integral 0 1211.8849 1202.8577 10996 0.74%
Clique cuts applied: 1
Implied bound cuts applied: 16
Mixed integer rounding cuts applied: 150
Gomory fractional cuts applied: 1
Root node processing (before b&c):
Real time = 1.69 sec. (864.02 ticks)
Parallel b&c, 6 threads:
Real time = 0.78 sec. (406.48 ticks)
Sync time (average) = 0.24 sec.
Wait time (average) = 0.01 sec.
------------
Total (root+branch&cut) = 2.47 sec. (1270.50 ticks)
Warning: Output names have been modified to conform to LP format.
Default row names c1, c2 ... being created.
Warning: Output names have been modified to conform to LP format.
Default row names c1, c2 ... being created.
Warning: Control callbacks may disable some MIP features.
Lazy constraint(s) or lazy constraint callback is present.
Disabling dual reductions (CPX_PARAM_REDUCE) in presolve.
Disabling non-linear reductions (CPX_PARAM_PRELINEAR) in presolve.
Probing time = 0.00 sec. (11.23 ticks)
Clique table members: 486.
MIP emphasis: best bound.
MIP search method: traditional branch-and-cut.
Parallel mode: none, using 1 thread.
Root relaxation solution time = 0.02 sec. (18.88 ticks)
CALL TO SEPARATION ORACLE (integer)
CALL TO SEPARATION ORACLE (integer)
CALL TO SEPARATION ORACLE (integer)
Delayed MIP starts found nothing.
Nodes Cuts/
Node Left Objective IInf Best Integer Best Bound ItCnt Gap Variable B NodeID Parent Depth
0 0 1281.6482 68 1194.6156 132
0 0 1288.6074 69 Cuts: 36 217
0 0 1296.1567 74 Cuts: 52 312
0 0 1303.4517 77 Cuts: 47 474
0 0 1307.0478 70 Cuts: 44 563
0 0 1308.5971 74 Cuts: 52 707
0 0 1309.2038 75 Cuts: 61 799
0 0 1309.9072 76 Cuts: 56 1044
0 0 1312.9508 73 Cuts: 64 1149
0 0 1315.6596 79 Cuts: 47 1341
0 0 1315.9799 78 Cuts: 55 1457
0 0 1316.3276 76 Cuts: 13 1506
0 0 1316.4330 77 Cuts: 17 1582
0 0 1316.5305 78 Cuts: 14 1609
0 0 1316.5305 85 User: 38 1636
0 0 1316.5305 83 User: 4 1645
0 0 1316.5305 83 User: 14 1664
CALL TO SEPARATION ORACLE (fractional)
CALL TO SEPARATION ORACLE (fractional)
CALL TO SEPARATION ORACLE (fractional)
---------------------------------
0 0 2057.0110 75 User: 90 2670
0 0 2073.7307 78 User: 18 2686
0 0 2073.7307 79 User: 4 2688
0 0 2073.7307 80 User: 2 2689
0 0 2073.7307 81 User: 8 2695
0 0 2073.7307 81 User: 2 2696
CALL TO SEPARATION ORACLE (fractional)
CALL TO SEPARATION ORACLE (fractional)
CALL TO SEPARATION ORACLE (fractional)
0 0 2923.6040 67 User: 90 3633
getObjValue 3216.74696565
getIncumbentObjValue 1e+075
CALL TO SEPARATION ORACLE (integer)
CALL TO SEPARATION ORACLE (fractional)
0 0 2938.8968 69 User: 8 3647
CALL TO SEPARATION ORACLE (integer)
* 0+ 0 3297.0060 2938.8968 3647 10.86%
Repair heuristic found nothing.
0 0 cutoff 3297.0060 2938.8968 3647 10.86% 0 0
Elapsed time = 27.02 sec. (9593.81 ticks, tree = 0.00 MB, solutions = 4)
Cover cuts applied: 2
User cuts applied: 649
Root node processing (before b&c):
Real time = 27.03 sec. (9593.85 ticks)
Sequential b&c:
Real time = 0.00 sec. (0.00 ticks)
------------
Total (root+branch&cut) = 27.03 sec. (9593.85 ticks)
3297.0060477368.65625
Optimal
#CPLEXOptimizers#DecisionOptimization