1
我正在用C++解決一大羣使用CPLEX Concert的MIP實例。我爲每個實例(通過設置參數TiLim)對CPLEX施加了時間限制,但有些實例在內存不足時終止。下面是輸出的最後幾行從這樣的實例:CPLEX內存不足,但報告的樹大小超過RAM;如何設置TreLim?
8734238 3080224 431.8614 36 470.0000 429.0000 3.88e+008 8.72%
8752674 3084391 cutoff 470.0000 429.0000 3.89e+008 8.72%
Elapsed time = 59713.88 sec. (5451069.58 ticks, tree = 73513.33 MB, solutions = 6)
Nodefile size = 73384.21 MB (49191.99 MB after compression)
8770964 3089127 429.9550 82 470.0000 429.0000 3.90e+008 8.72%
8787928 3092972 442.7316 31 470.0000 429.0000 3.91e+008 8.72%
8809081 3099887 429.4993 68 470.0000 429.0000 3.92e+008 8.72%
8829373 3104804 cutoff 470.0000 429.0000 3.93e+008 8.72%
There may be further error information in the clone logs.
Cover cuts applied: 24
Implied bound cuts applied: 2
Flow cuts applied: 6
Mixed integer rounding cuts applied: 9
Zero-half cuts applied: 44
Gomory fractional cuts applied: 5
Root node processing (before b&c):
Real time = 7.19 sec. (744.51 ticks)
Parallel b&c, 8 threads:
Real time = 60536.50 sec. (5522542.15 ticks)
Sync time (average) = 0.00 sec.
Wait time (average) = 0.00 sec.
------------
Total (root+branch&cut) = 60543.69 sec. (5523286.67 ticks)
計算機有32 GB的RAM,但所報道的樹文件大小(71 GB,48 GB壓縮後)超過。 CPLEX報告的樹文件大小是什麼意思,它與可用內存有什麼關係?我想將參數TreLim設置爲一個可以防止內存不足錯誤的值,但是我不清楚究竟限制了樹的大小。
順便說一下,我沒有在硬盤上使用CPLEX Error 1001 Out of memory的答案存儲樹。我不關心爲每個實例獲得最佳解決方案;我只需要一種在每個實例上施加統一的時間或內存限制的方法,以便一旦實例超出其限制,CPLEX就可以繼續進行下一個實例。