Optimization CBC/GLPK中的.lp文件大小或变量数量是否有限制?

Optimization CBC/GLPK中的.lp文件大小或变量数量是否有限制?,optimization,mathematical-optimization,pyomo,glpk,coin-or-cbc,Optimization,Mathematical Optimization,Pyomo,Glpk,Coin Or Cbc,我正在尝试解决GLPK和/或CBC中的MIP。lp文件是907兆字节,大约有500万个变量,但它甚至没有在CBC上运行,并且已经在GLPK上运行了8天多,没有找到解决方案。 而且,每当我对GLPK设置时间限制时,它都会说超出了时间限制;搜索终止,并想知道是否可以使用CMD窗口或python获得输出 ERROR: "[base]\site-packages\pyomo\opt\base\solvers.py", 616, solve Solver (cbc) returned no

我正在尝试解决GLPK和/或CBC中的MIP。lp文件是907兆字节,大约有500万个变量,但它甚至没有在CBC上运行,并且已经在GLPK上运行了8天多,没有找到解决方案。 而且,每当我对GLPK设置时间限制时,它都会说超出了时间限制;搜索终止,并想知道是否可以使用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
错误:“[base]\site packages\pyomo\opt\base\solvers.py”,616,求解
解算器(cbc)返回非零返回代码(-1073740791)错误:“[base]\site packages\pyomo\opt\base\solvers.py”,619,solve
有关诊断信息,请参阅上面的解算器日志。回溯(最近一次呼叫最后一次):
文件“”,第1行,在
runfile('D:/Data/Central datarepository/Pooling optimization/Python Scripts/Run_Solver_From_Spyder v2.py',wdir='D:/Data/Central datarepository/Pooling optimization/Python Scripts')
文件“C:\ProgramData\Anaconda2\lib\site packages\spyder\utils\site\sitecustomize.py”,第710行,在runfile中
execfile(文件名、命名空间)
文件“C:\ProgramData\Anaconda2\lib\site packages\spyder\utils\site\sitecustomize.py”,第86行,在execfile中
exec(编译(脚本文本,文件名,'exec'),glob,loc)
文件“D:/Data/Central datarepository/Pooling optimization/Python Scripts/Run_Solver_From_Spyder v2.py”,第37行,在
结果=opt.solve(实例,options=solver\u opt,tee=True,keepfiles=True)
文件“C:\ProgramData\Anaconda2\lib\site packages\pyomo\opt\base\solvers.py”,第623行,在solve中
解算器(%s)未正常退出“%self.name”
ApplicationError:解算器(cbc)未正常退出

通常,LP模型是可解的。8天太多了。您可以在此处找到lp解算器的比较“”。您可以更改解算器

如果解算器在终止之前找到了解决方案,您可以从python pyomo获得


此外,CBC是MIP解算器。但你说你的模特是LP

对不起,这确实是一个MIP。您是否推荐任何可以解决此问题的开源解决方案。关于它是否找到了解决方案,您知道在pyomo中输出它的代码是什么吗。谢谢。如果你是一名学生,有商业解决方案的免费版本。你可以把它们和pyomo一起使用。与lp页面类似,有MIP的比较页面,请检查。您可以在此页面上找到一个获取值的好例子。此外,作为SO用户,请查看此处。对于LP,这是一个很大的值,但不是非常大(我们忽略了对LP更重要的非零数;您的LP文件大小表明它可能相当密集)。如果模型是LP且稀疏,则可能需要使用内部点解算器进行研究。如果您的模型是MIP(即包含离散变量),那么最好的方法通常是查看商业解算器。最好显示解算器日志的第一部分。为cbc错误添加解算器日志@Erwinkalvelagen我猜你的内存快用完了这台计算机有128GB的内存,所以我希望没有!