【发布时间】:2019-02-14 20:48:46
【问题描述】:
我正在尝试解决 GLPK 和/或 CBC 中的 MIP。 .lp 文件有 907 兆字节,大约有 500 万个变量,但它甚至没有在 CBC 上运行,并且在 GLPK 上运行了 8 天以上,但没有找到解决方案。 此外,每当我对 GLPK 设置时间限制时,它都会显示 TIME LIMIT EXCEEDED; SEARCH TERMINATED,想知道是否可以使用 CMD 窗口或 python 获得输出。
ERROR: "[base]\site-packages\pyomo\opt\base\solvers.py", 616, solve
Solver (cbc) returned non-zero return code (-1073740791) ERROR: "[base]\site-packages\pyomo\opt\base\solvers.py", 619, solve
See the solver log above for diagnostic information. Traceback (most recent call last):
File "<ipython-input-1-55698ac3ed56>", line 1, in <module>
runfile('D:/Data/Central Data Repository/Pooling Optimisation/Python Scripts/Run_Solver_From_Spyder v2.py', wdir='D:/Data/Central Data Repository/Pooling Optimisation/Python Scripts')
File "C:\ProgramData\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 710, in runfile
execfile(filename, namespace)
File "C:\ProgramData\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 86, in execfile
exec(compile(scripttext, filename, 'exec'), glob, loc)
File "D:/Data/Central Data Repository/Pooling Optimisation/Python Scripts/Run_Solver_From_Spyder v2.py", line 37, in <module>
results = opt.solve(instance, options=solver_opt, tee=True, keepfiles=True)
File "C:\ProgramData\Anaconda2\lib\site-packages\pyomo\opt\base\solvers.py", line 623, in solve
"Solver (%s) did not exit normally" % self.name)
ApplicationError: Solver (cbc) did not exit normally
【问题讨论】:
-
对于 LP,这很大但并不过分(我们错过了对 LP 更重要的非零数字;您的 LP 文件大小表明它可能相当密集)。如果模型是 LP 并且它很稀疏,您可能需要考虑使用内点求解器。如果您的模型是 MIP(即包含离散变量),那么最好的方法通常是查看商业求解器。最好显示求解器日志的第一部分。
-
添加了 cbc 错误的求解器日志。 @ErwinKalvelagen
-
我猜你内存不足
-
运行它的计算机有 128GB 内存,所以我希望不会!
标签: optimization mathematical-optimization pyomo glpk coin-or-cbc