Thanks @odow it works, however, it is still strange. Compared to JuMP 0.18.5 it is super slow meaning that in my problem the function which adds cuts ( MOI.submit(model, MOI.LazyConstraint(cb_data), con)
) is called significant more often with JuMP 0.21. And also the runtime is significant larger with JuMP 0.21. Here are some outputs for one and the same problem instance:
JuMP 0.21 | CPLEX 12.9 (or 12.8,… it is the same for both version)
* 0+ 0 135.8195 316.6316 133.13%
0 0 289.0692 10 135.8195 UserPurge2: 1 127 112.83%
0 0 283.7922 10 135.8195 UserPurge1: 75 213 108.95%
0 0 282.6926 13 135.8195 UserPurge1: 58 241 108.14%
* 0+ 0 198.3479 282.6926 42.52%
0 0 279.8942 14 198.3479 UserPurge1: 109 287 41.11%
0 0 279.7246 12 198.3479 UserPurge1: 6 301 41.03%
0 0 279.3128 14 198.3479 UserPurge1: 40 320 40.82%
0 0 279.0657 14 198.3479 UserPurge1: 25 338 40.70%
0 0 278.7915 15 198.3479 UserPurge1: 85 359 40.56%
0 0 278.7157 14 198.3479 UserPurge1: 72 370 40.52%
0 0 278.6908 14 198.3479 UserPurge1: 10 373 40.51%
0 0 278.6722 15 198.3479 UserPurge1: 64 378 40.50%
runtime: ~150s
# lazy cut calls: 11313
# user cut calls: 30521
# BB explored nodes: 51
JuMP 0.18.5 | CPLEX 12.8
* 0+ 0 0.0000 539.4865 ---
0 0 316.6316 6 0.0000 384.4218 118 ---
* 0+ 0 135.6275 316.6316 133.46%
0 0 289.8484 10 135.6275 Fract: 1 128 113.71%
0 0 283.9790 11 135.6275 Fract: 1 141 109.38%
* 0+ 0 172.8079 283.9790 64.33%
* 0+ 0 200.7656 283.9790 41.45%
0 2 219.9258 5 200.7656 219.9172 297 9.54%
runtime: ~24s
# lazy cuts calls: 1182
# user cuts calls: 3141
# BB explored nodes: 47
It seems that the add-cut functions are called but the cuts are not added. Is it possibly a bug, or just a default setting issue?