Originally posted by: SystemAdmin
Dear all,
in my recent experiments I observed a strange behaviour within the solution process of a MIP. I construct a model via the C++ Concert API.
Among other parameters, I use the barrier solver to solve the root problem (rootalg = 4) and activate the feasibility pump heuristic (fpHeur = 1).
This works quite well. See the following log snippet:
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 2 threads.
Root relaxation solution time = 48.27 sec.
Nodes Cuts/
Node Left Objective IInf Best Integer Best Node ItCnt Gap
0 0 253221.8813 639 253221.8813 38
* 0+ 0 2097092.5595 253221.8813 38 87.93%
0 0 253245.5482 667 2097092.5595 Cuts: 11 166 87.92%
0 0 253317.8037 726 2097092.5595 Fract: 2 399 87.92%
0 0 253333.5589 687 2097092.5595 Fract: 1 440 87.92%
Heuristic still looking.
Heuristic still looking.
* 0+ 0 257115.9235 253333.5589 440 1.47%
* 0+ 0 256980.4048 253333.5589 440 1.42%
* 0+ 0 256666.8882 253333.5589 440 1.30%
* 0+ 0 256430.5748 253333.5589 440 1.21%
* 0+ 0 256047.9709 253333.5589 440 1.06%
0 2 253333.5589 687 256047.9709 253333.5589 440 1.06%
Elapsed real time = 214.70 sec. (tree size = 0.01 MB, solutions = 6)
1 3 253520.0311 635 256047.9709 253333.5589 3424 1.06%
2 4 253534.8535 631 256047.9709 253333.5878 4422 1.06%
* 3+ 3 255995.2409 253333.5878 4835 1.04%
* 3+ 3 255673.0742 253333.5878 4835 0.92%
I saved the model as sav-File and the parameter-file as prm-file in order to use both of them in the interactive optimizer.
To my suprise, this does not work as expected; it seems that the feasibility pump is not used (despite being activated).
Here are some lines from the log:
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 2 threads.
Root relaxation solution time = 39.97 sec.
Nodes Cuts/
Node Left Objective IInf Best Integer Best Node ItCnt Gap
0 0 253221.8813 637 253221.8813 68
Heuristic still looking.
Heuristic still looking.
Heuristic still looking.
0 2 253221.8813 637 253221.8813 68
Elapsed real time = 216.20 sec. (tree size = 0.01 MB, solutions = 0)
1 3 253278.2412 641 253221.8813 1332
2 4 253347.0616 546 253221.8813 2239
3 5 253395.2901 511 253278.2912 3137
5 7 253410.3133 509 253278.7901 5652
7 9 253441.3781 516 253278.7901 8613
9 11 268571.6532 488 253278.7901 10797
10 12 253423.1443 523 253278.7901 12338
12 14 253477.7069 439 253278.7901 14134
13 15 256957.9939 483 253278.7901 16803
14 16 253493.4709 448 253278.7901 17488
Elapsed real time = 419.36 sec. (tree size = 0.86 MB, solutions = 0)
15 17 256966.8990 469 253278.7901 18930
16 18 253687.2093 411 253278.7901 21744
19 21 257180.1164 454 253278.7901 24568
22 24 253790.2670 398 253278.7901 27204
25 27 253799.0317 433 253278.7901 28740
27 29 253863.1352 376 253278.7901 32278
36 38 253872.7401 381 253278.7901 37602
37 39 257352.4549 460 253278.7901 38993
38 40 254340.2262 393 253278.7901 41876
40 42 253876.1862 414 253278.7901 43101
Is there any reasonable explanation for this? Interestingly, when I change the subproblem algorithm to barrier, the feasibility pump works as expected also in the interactive optimizer.
Thank you in advance, kind regards,
Michael
#CPLEXOptimizers#DecisionOptimization