如何配置PuLP以调用GLPK解算器

问题描述 投票:0回答:1

我在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

我知道我应该得到一个“通过”而不是“不可用”才能使用它。

python pulp glpk
1个回答
1
投票

在详细阅读了代码并测试了一些内容后,我终于找到了如何将GLPK与PuLP一起使用,而不需要更改PuLP包中的任何内容。

您需要将路径作为参数传递给GLPK_CMD,解决方法如下(用您的glpsol路径替换):

lp_prob.solve(GLPK_CMD(path = 'C:\\Users\\username\\glpk-4.65\\w64\\glpsol.exe')

您也可以通过这种方式传递选项,例如

lp_prob.solve(GLPK_CMD(path = 'C:\\Users\\username\\glpk-4.65\\w64\\glpsol.exe', options = ["--mipgap", "0.01","--tmlim", "1000"])

© www.soinside.com 2019 - 2024. All rights reserved.