Python:“断言失败:ptr<结束”

时间:2015-07-31 12:55:57

标签: python assert glpk

我正在运行一些Nested For Loops,并且在其中运行一些If-Else条件。我没有在代码中的任何地方使用assert。运行一段时间后,程序会抛出一个断言错误:

Assertion failed: ptr < end

Error detected in file ..\src\bflib\sgf.c at line 146

这是从我导入的另一个库GNU Linear Programming Kit导入的COBRApy的一部分。

我尝试过不起作用的Try-Catch设置。还尝试使用-O标志运行代码,但这也不起作用。我的预感是,我无法捕获库引发的异常。我怎样才能做到这一点?还有其他建议吗?

1 个答案:

答案 0 :(得分:1)

我记得在运行Linux的计算机上将GLPK与COBRApy结合使用时也遇到了同样的问题。 GLPK大部分时间都可以正常工作,但是在执行大量优化时,我总是会遇到这个错误。这个问题似乎是在GLPK中,而不是在COBRApy中,但遗憾的是我从来没有能够解决它。

我唯一的建议是使用COBRApy支持的许多其他解算器之一。如果您在某种程度上与学术界有联系,GurobiMosekCPLEX都提供免费许可。具体来说,我发现Gurobi和Mosek都能与COBRApy完美配合,安装和获取许可证的过程非常简单。

如果您找到使用任何其他求解器的方法,则没有理由使用GLPK(除了方便之外)。