python - PuLP 错误+self.path

标签 python solver pulp

我正在使用 python 从 .xlsm excel 文件中读取数据。我有两个几乎相同的文件,它们保存在同一个目录中。当我给 python 程序一个 excel 表时,它正确读取数据并解决了问题。但是,使用其他 Excel 工作表时出现以下错误。

(我用####遮住了我的名字)

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    solve("updated_excel.xlsm")
  File "C:\Documents and Settings\#####\My Documents\GlockNew.py", line 111, in solve
    prob.solve()
  File "C:\Python27\lib\site-packages\pulp-1.5.4-py2.7.egg\pulp\pulp.py", line 1614, in solve
    status = solver.actualSolve(self, **kwargs)
  File "C:\Python27\lib\site-packages\pulp-1.5.4-py2.7.egg\pulp\solvers.py", line 1276, in actualSolve
    return self.solve_CBC(lp, **kwargs)
  File "C:\Python27\lib\site-packages\pulp-1.5.4-py2.7.egg\pulp\solvers.py", line 1343, in solve_CBC
    raise PulpSolverError, "Pulp: Error while executing "+self.path
PulpSolverError: Pulp: Error while executing C:\Python27\lib\site-packages\pulp-1.5.4-py2.7.egg\pulp\solverdir\cbc.exe

我不知道“”Pulp: Error while executing "+self.path"是什么意思,但两个文件都存储在同一个目录中,只有在我尝试解决问题时才会出现问题。有谁知道什么可能会触发此类错误?

编辑

经过进一步调试,发现错误出在COIN_CMD类中的solve_CBC方法。错误发生在这里:

if not os.path.exists(tmpSol):
    raise PulpSolverError, "Pulp: Error while executing "+self.path

当我为两个 Excel 工作表运行求解器时,它们具有相同的 tmpSol 值:4528-pulp.sol

但是,当我对一个 excel 工作表运行它时,os.path.exists(tmpSol) 返回 true,而对另一个 excel 工作表则返回 false。为什么 be- tmpSol 两次都具有相同的值?

最佳答案

名称是使用进程 ID 创建的,如果您有某种批处理作业从一个进程启动两个求解器应用程序,那么它们将具有相同的名称。

关于python - PuLP 错误+self.path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21686761/

相关文章:

python - PyInstaller "You may load I/O plugins with the ` skimage.io.use_plugin`"

python - 散点图的轴限制不在 matplotlib 中

matlab - 在 Matlab 中使用 Simulink 求解 ODE

c++ - 我的数独解算器功能有什么问题?

optimization - PuLP - COIN-CBC 错误 : How to add constraint with double inequality and relaxation?

python - 对内部包含列表的列表进行二值化

algorithm - 优化DNF谜题的SAT约束

python - 当计算机关闭时运行Python脚本会发生什么?

python - PuLP 求解器错误

python - 尝试从 bash 运行 Python 脚本时出现奇怪的 HTML 文档类型错误