当前位置: 首页 > 工具软件 > Pulp > 使用案例 >

pulp.apis.core.PulpSolverError: PuLP: cannot execute glpsol.exe的一种解决方案

连德水
2023-12-01

问题描述

使用PuLP(版本2.3)解决线性规划问题时报错

Traceback (most recent call last):
  File "C:\app_install_dir\anaconda3\envs\cfr-rl\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\app_install_dir\anaconda3\envs\cfr-rl\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\app_install_dir\projects\CFR-RL\train.py", line 163, in agent
    reward = game.reward(tm_idx, actions)
  File "C:\app_install_dir\projects\CFR-RL\game.py", line 366, in reward
    mlu, _ = self.optimal_routing_mlu_critical_pairs(tm_idx, actions)
  File "C:\app_install_dir\projects\CFR-RL\game.py", line 244, in optimal_routing_mlu_critical_pairs
    model.solve(solver=GLPK(msg=False))
  File "C:\app_install_dir\anaconda3\envs\cfr-rl\lib\site-packages\pulp\pulp.py", line 1890, in solve
    status = solver.actualSolve(self, **kwargs)
  File "C:\app_install_dir\anaconda3\envs\cfr-rl\lib\site-packages\pulp\apis\glpk_api.py", line 59, in actualSolve
    raise PulpSolverError("PuLP: cannot execute "+self.path)
pulp.apis.core.PulpSolverError: PuLP: cannot execute glpsol.exe

解决方案

安装GLPK并配置glpsol.exe所在目录到环境变量里
GLPK的下载地址:https://sourceforge.net/projects/winglpk/

原因

PuLP解决线性问题的时候会去找glpsol.exe这个求解器,寻找的过程就是在环境变量列表里一个一个找glpsol.exe这个文件,没找到就报这个错了,因此需要配置环境变量。
但是,只安装PuLP是不会安装GLPK的,也就没有glpsol.exe这个求解器了。

 类似资料: