pulp.solvers.PulpSolverError:PuLP:无法执行glpsol.exe

时间:2016-01-13 10:27:35

标签: python pycharm anaconda glpk

我是python和优化的新手。我收到一些错误,请帮我解决。我尝试在运行Anaconda 3的PyCharm中运行下面提到的代码

from pulp import *
x = LpVariable("x", 0, 3)
y = LpVariable("y", 0, 1)
prob = LpProblem("myProblem", LpMinimize)

prob += x + y <= 2

prob += -4*x + y

status = prob.solve(GLPK(msg = 0))

value(x)

我收到了错误

追踪(最近一次通话):   文件“D:/ Projects / RH Analytics / RNN / TestPulp.py”,第10行,in     status = prob.solve(GLPK(msg = 0))   文件“C:\ Users \ rahul.bajaj \ AppData \ Local \ Continuum \ Anaconda3 \ lib \ site-packages \ pulp \ pulp.py”,第1643行,解决     status = solver.actualSolve(self,** kwargs)   文件“C:\ Users \ rahul.bajaj \ AppData \ Local \ Continuum \ Anaconda3 \ lib \ site-packages \ pulp \ solvers.py”,第346行,在actualSolve中     提出PulpSolverError(“PuLP:无法执行”+ self.path) pulp.solvers.PulpSolverError:PuLP:无法执行glpsol.exe

使用退出代码1完成处理

所以我从here下载了glpk包,从zip文件中提取并放在C盘的文件夹中。在路径变量中我添加了“C:\ winglpk-4.57 \ glpk-4.57 \ w64”。

但即使是现在,当我在PyCharm IDE中运行程序时,我也遇到了同样的错误。请帮我弄清楚我错过了什么。

4 个答案:

答案 0 :(得分:4)

pulp.pulpTestAll()
 运行此命令时,将运行测试列表,在第32行,您会看到:

Solver pulp.solvers.GLPK_CMD unavailable

请尝试下载glpk-utils包,然后运行

glpsol

也可以从cmd完成,为我工作。

答案 1 :(得分:0)

我遇到了同样的问题,我设法通过重命名变量来解决了这个问题。当代码中的变量名与LpVariable()的参数中声明的变量名不相同时,它将起作用,否则我将收到相同的错误。

x = LpVariable('x', 0, 3)      # This doesn't work
x = LpVariable('x_var', 0, 1)  # This works

我不知道这是否只是我的机器上的情况,因为在documentation中,它们对于两个变量也使用相同的名称,但是值得一试。

答案 2 :(得分:0)

经过一段时间的努力,这为我解决了问题:将use_mps设置为 False

prb.solve(use_mps=False)

答案 3 :(得分:0)

它在 Ubuntu 中给了我同样的错误。使用以下命令修复了该问题,

sudo apt-get install python-glpk
sudo apt-get install glpk-utils