“求解器没有正常退出”

问题描述

我在 python 3.7 中运行代码升级到 3.9,因为 python 3.7 不支持 pickle 协议 5。当我尝试在 3.9 中运行相同的代码时,我的求解器都不起作用,GLPK 和Gurobi 给了我信息:

raise ApplicationError(
pyutilib.common._exceptions.ApplicationError: Solver (glpk) did not exit normally

  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pyomo/opt/base/solvers.py",line 601,in solve
    raise ApplicationError(
pyutilib.common._exceptions.ApplicationError: Solver (gurobi) did not exit normally

已尝试使用 pip、Conda 及其网络软件更新它们,但这些解决方案均无济于事。

解决方法

问题解决了。存储数据的 OneDrive 文件夹未连接到 Internet,因此某些参数数据为零值,导致目标函数获得不适当的值,这再次导致求解器无法运行。使用了 python 3.8 和 3.9,求解器现在在两个版本上都可以正常工作。