我是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中运行程序时,我也遇到了同样的错误。请帮我弄清楚我错过了什么。
答案 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