【问题标题】:pulp.solvers.PulpSolverError: PuLP: cannot execute glpsol.exe纸浆.solvers.PulpSolverError:纸浆:无法执行glpsol.exe
【发布时间】:2016-01-13 10:27:34
【问题描述】:

我是 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)

我遇到了一个错误

Traceback(最近一次调用最后一次): 文件“D:/Projects/RH Analytics/RNN/TestPulp.py”,第 10 行,在 状态 = 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 行,实际求解 raise PulpSolverError("PuLP: 无法执行 "+self.path) 纸浆.solvers.PulpSolverError:纸浆:无法执行glpsol.exe

进程以退出代码 1 结束

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

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

【问题讨论】:

    标签: python pycharm anaconda glpk


    【解决方案1】:

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

    Solver pulp.solvers.GLPK_CMD unavailable.

    所以尝试下载 glpk-utils 包然后运行

    glpsol.

    也可以从 cmd 完成,对我有用。

    【讨论】:

    • 我运行了 pinch.pulpTestAll() ,得到以下输出 * Solver 已通过。但我仍然收到错误 PulpSolverError: PuLP: Error while execution glpsol.exe
    【解决方案2】:

    我遇到了同样的问题,我设法通过重命名变量来解决它。当代码中的变量名和LpVariable()的参数中声明的变量名相同时,它可以工作,否则我会得到相同的错误。

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        经过一段时间的挣扎,这为我解决了:将use_mps设置为False

        prb.solve(use_mps=False)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-02-08
          • 2019-12-27
          相关资源
          最近更新 更多