我是一个python和优化的新手。我收到一些错误,请帮我解决它。我尝试在运行Anaconda3的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,in solve status = solver.actualSolve(self,**kwargs)文件"C:\Users\rahul.bajaj\AppData\Local\Continuum\Anaconda3\lib\site-packages\pulp\solvers.py",第346行,在actualSolve raise PulpSolverError("PuLP: cannot execute "+self.path)中pulp.solvers.PulpSolverError: PuLP: cannot execute glpsol.exe
进程已完成,退出代码为%1
因此,我从here下载了glpk包,从压缩文件中解压出来,并将其放在C盘的文件夹中。在路径变量中,我添加了"C:\winglpk-4.57\glpk-4.57\w64“。
但即使是现在,当我在PyCharm集成开发环境中运行该程序时,也会收到相同的错误。请帮我找出我遗漏了什么。
发布于 2016-11-02 15:01:21
pulp.pulpTestAll()
当您运行此命令时,将运行测试列表,并在第32行上看到:
Solver pulp.solvers.GLPK_CMD unavailable。
因此请尝试下载glpk-utils包,然后运行
glpsol。
这也可以在cmd上完成,对我来说很有效。
发布于 2020-09-30 23:01:26
我也有同样的问题,我设法通过重命名变量来解决它。当代码中的变量名与LpVariable()的参数中声明的变量名不同时,它可以工作,否则我会得到相同的错误。
x = LpVariable('x', 0, 3) # This doesn't work
x = LpVariable('x_var', 0, 1) # This works我不知道这是否只是在我的机器上出现的情况,因为在documentation中,这两个变量也使用相同的名称,但值得一试。
发布于 2020-10-15 19:16:08
在挣扎了一段时间后,这为我解决了这个问题:将use_mps设置为False
prb.solve(use_mps=False)https://stackoverflow.com/questions/34764209
复制相似问题