0

我正在运行几个嵌套 For 循环,并在其中运行一些 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标志运行代码,但这也不起作用。我的预感是我无法捕捉到图书馆抛出的异常。我怎样才能做到这一点?还有其他建议吗?

4

1 回答 1

1

我记得在运行 Linux 的计算机上结合使用 GLPK 和 COBRApy 时也遇到了同样的问题。GLPK 在大多数情况下都可以正常工作,但是在执行大量优化时,我最终总是会收到此错误。问题似乎在 GLPK 中,而不是在 COBRApy 中,但不幸的是我永远无法解决它。

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

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

于 2015-10-16T12:16:55.717 回答