當在同一ILP問題(完全相同的輸入文件)運行CPLEX:CPLEX給予不同的最佳解決方案具有非常不同的目標值
- 隨着
MIPEmphasis = 3
我得到6.81613e-06的客觀價值 - 隨着
MIPEmphasis = 4
我得到1.03858
在這兩種情況下,CPLEX都會返回OPTIMAL
狀態。
從CPLEX用戶手冊:
明確指出,已經提到迄今爲止點:的
MIPEmphasis
結果的方式,搜索算法程序,最終會發現並證明了一個最佳的每一次選擇解決方案,或將證明沒有整數可行的解決方案存在。強調的選擇只會指導CPLEX以符合用戶特定目的的方式生成可行的解決方案,但在此過程中不會犧牲算法的準確性和完整性。
我在這裏錯過了什麼嗎?我不僅在MIPEmphasis
參數中遇到了這個問題,而且還遇到了其他參數(例如ScaInd
),其中通過改變參數我得到了質量差異很大的不同解決方案OPTIMAL
。
這裏有一些我似乎無法破譯的信息。
對於MIPEmphasis = 3
:
Maximum condition number = 5.03484e+12,
Attention level = 0.290111,
Suspicious bases: 0.0111111,
Unstable bases = 0.966667,
Ill-posed bases = 0,
CPLEX Status = `OptimalTol`
對於MIPEmphasis = 4
:
Maximum condition number = 4.73342e+08,
Attention level = 0.00925,
Suspicious bases: 0.925,
Unstable bases = 0,
Ill-posed bases = 0,
CPLEX Status = `Optimal`
感謝您的洞察!我跟着那個領導發現了主要的罪魁禍首。我的變量是具有非連續範圍的整數變量:每個變量可以是'x = 0','a <= x <= b'或'x = c'。去除這些OR中的至少一個導致0個不穩定的鹼基。任何有關如何最好地表達這一點的見解? –