我正在使用 Python 中的 PuLP 库来解决 MILP 问题。我已经使用默认求解器 (CBC) 成功运行了我的问题。现在我想将 PuLP 与另一个求解器 (GLPK) 一起使用。 如何使用 GLPK 设置 PuLP?
我在网上做了一些研究,找到了有关如何使用 GLPK 的信息(例如使用 lp_prob.solve(pulp.GLPK_CMD())
),但尚未找到有关如何使用 GLPK(或任何其他求解器)实际设置 PuLP 的信息,所以它找到我的 GLPK 安装。我已经单独安装了 GLPK(但我没有将其添加到我的 PATH 环境变量中)。
我运行了命令 pulp.pulpTestAll()
得到:
Solver <class 'pulp.solvers.GLPK_CMD'> unavailable
我知道我应该得到“通过”而不是“不可用”才能使用它。
最佳答案
在更详细地阅读了代码并测试了一些内容之后,我终于找到了如何将 GLPK 与 PuLP 一起使用,而无需更改 PuLP 包本身的任何内容。
您需要将路径作为参数传递给求解中的 GLPK_CMD,如下所示(替换为您的 glpsol 路径):
lp_prob.solve(GLPK_CMD(path = 'C:\\Users\\用户名\\glpk-4.65\\w64\\glpsol.exe')
您还可以通过这种方式传递选项,例如
lp_prob.solve(GLPK_CMD(路径 = 'C:\\Users\\用户名\\glpk-4.65\\w64\\glpsol.exe', options = ["--mipgap", "0.01","--tmlim","1000"])
关于python - 如何配置 PuLP 调用 GLPK 求解器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55362984/