Originally posted by: agent337
Hello, I think I have a mis-understanding of the cplex log from my c++ program using cplex 12.7.1 on Red Hat Enterprise Linux Server release 7.3 (Maipo)
Can someone please help me understand?
Here is the main question, (also repeated below with a more detailed context):
In my cplex log, I see what appear to be new integer solutions in my minimization (due to the improved best integer column) along gap reductions w/o changing the lower bound, but they do not produce incumbents (presumably due to nonzero integer infeasibilties counts) How can I get a new / improved integer solution with a reduction in gap, but not get a new incumbent?
Thank you in advance, Lee
--- Details below here---
This is all from a single program run (instance), and a single call to IloCplex::solve(), but, I have also seen this same behavior with several runs of my program using different input data instances.
I am using the CPXPARAM_Output_IntSolFilePrefix parameter, but what I think are new integer solutions are not recognized as new incumbents, and no sol file is written.
From the log/output
=======
CPXPARAM_ClockType 1
CPXPARAM_Preprocessing_Reduce 1
CPXPARAM_WorkMem 102400
CPXPARAM_Parallel -1
CPXPARAM_MIP_Tolerances_MIPGap 0.01
CPXPARAM_MIP_Interval 1
CPXPARAM_MIP_Strategy_File 3
CPXPARAM_MIP_Limits_Nodes 30000000
CPXPARAM_MIP_Tolerances_ObjDifference 10000
CPXPARAM_MIP_Strategy_CallbackReducedLP 0
CPXPARAM_MIP_Strategy_RINSHeur 25
CPXPARAM_Output_IntSolFilePrefix "FinalMipSoln"
Tried aggregator 2 times.
MIP Presolve eliminated 751 rows and 25419 columns.
MIP Presolve added 64 rows and 0 columns.
MIP Presolve modified 150396 coefficients.
Aggregator did 47 substitutions.
Reduced MIP has 39765 rows, 271502 columns, and 4735876 nonzeros.
Reduced MIP has 128970 binaries, 104768 generals, 0 SOSs, and 0 indicators.
Presolve time = 4.40 sec. (2108.26 ticks)
Tried aggregator 2 times.
Aggregator did 1 substitutions.
Reduced MIP has 39764 rows, 271501 columns, and 4735877 nonzeros.
Reduced MIP has 133842 binaries, 104768 generals, 0 SOSs, and 0 indicators.
Presolve time = 2.63 sec. (1149.17 ticks)
Probing time = 2.40 sec. (157.01 ticks)
Clique table members: 20090.
MIP emphasis: balance optimality and feasibility.
MIP search method: dynamic search.
Parallel mode: opportunistic, using up to 24 threads.
Root relaxation solution time = 2116.24 sec. (149145.06 ticks)
Nodes Cuts/
Node Left Objective IInf Best Integer Best Bound ItCnt Gap
* 0+ 0 6.65257e+09 375234.6000 99.99%
New incumbent written to file 'FinalMipSoln-00001.sol'.
=========
egrep '^\*|New incumbent' output
* 0+ 0 6.65257e+09 375234.6000 99.99%
New incumbent written to file 'FinalMipSoln-00001.sol'.
* 1752+ 1680 7418551.9335 626430.0063 91.56%
New incumbent written to file 'FinalMipSoln-00002.sol'.
* 2047+ 1576 6110214.9236 626430.0063 89.75%
New incumbent written to file 'FinalMipSoln-00003.sol'.
* 2483+ 2088 5620612.6321 626430.0063 88.85%
New incumbent written to file 'FinalMipSoln-00004.sol'.
* 4132+ 3915 2591082.3631 626430.0063 75.82%
New incumbent written to file 'FinalMipSoln-00005.sol'.
* 4138+ 3915 2534476.5101 626430.0063 75.28%
New incumbent written to file 'FinalMipSoln-00006.sol'.
* 4138+ 3915 2490811.7965 626430.0063 74.85%
New incumbent written to file 'FinalMipSoln-00007.sol'.
* 5186+ 3955 2229854.4558 626430.0063 71.91%
New incumbent written to file 'FinalMipSoln-00008.sol'.
* 5507+ 4333 2143678.0621 626430.0063 70.78%
New incumbent written to file 'FinalMipSoln-00009.sol'.
* 5706+ 4610 1921127.3641 626430.0063 67.39%
New incumbent written to file 'FinalMipSoln-00010.sol'.
* 7312+ 1141 1821005.1641 633652.0756 65.20%
New incumbent written to file 'FinalMipSoln-00011.sol'.
==============
But later in my output I see what appear to be new integer solutions (due to the improved best integer column, underlined values below), but these integer solutions do not produce new incumbents (presumably due to nonzero integer infeasible counts) But, how can I get a new / improved integer solution with a reduction in gap, and no change in the lower bound, but not get a new incumbent?
Node Left Objective IInf Best Integer Best Bound ItCnt Gap
* 0+ 0 6.65257e+09 375234.6000 99.99%
New incumbent written to file 'FinalMipSoln-00001.sol'.
---snip---
17378 8480 912764.1742 1954 1197125.6303 633652.0756 42006539 47.07%
17379 10907 765161.2316 3003 1197125.6303 633652.0756 46208917 47.07%
17380 15917 701381.1227 5137 1093147.3852 633652.0756 53893755 42.03% << new solution here? No *?, no incumbent file?
Elapsed time = 2310920.22 sec. (37390558.19 ticks, tree = 8750.23 MB, solutions = 111)
17381 9182 752675.8242 4108 1093147.3852 633652.0756 43341234 42.03%
17382 9183 752617.2620 4084 1093147.3852 633652.0756 43341245 42.03%
17383 14510 758907.3094 3382 1093147.3852 633652.0756 51885652 42.03%
---snip---
28805 17086 639692.2328 7129 1083025.6507 633653.7203 56004618 41.49%
28806 16335 758322.8183 3295 1083025.6507 633653.7203 54525978 41.49%
28807 27210 900817.9856 2355 1054336.6034 633653.7203 74310472 39.90% << new solution here? No *?, no incumbent file?
28808 18506 1048384.3287 762 1054336.6034 633653.7203 58103600 39.90%
#CPLEXOptimizers#DecisionOptimization