pyomo无法找到GLPK求解器

Dyl*_*oss 5 linear-programming python-2.7 glpk

我正在尝试将Pyomo与GLPK求解器一起使用。我有一个经过测试的工作模型,但是不断收到错误消息,说找不到GLPK。

警告:无法找到解决程序“ glpk”所需的“ glpsol”可执行文件

我已经成功安装了glpk。我还将目录添加到我的path变量中,以便可以全局调用执行的目录。我从命令行使用glpsol --help对此进行了测试,并查看了打印的帮助信息。

下面的线程说它应该工作,但是可惜没有。

如何在WinPython中将glpk-solver和pyomo一起安装

有任何想法吗?

Gue*_*est 5

这个答案来晚了,但我想分享对我有用的解决方案。

solvername='glpk'

solverpath_folder='C:\\glpk\\w64' #does not need to be directly on c drive

solverpath_exe='C:\\glpk\\w64\\glpsol' #does not need to be directly on c drive
Run Code Online (Sandbox Code Playgroud)

我曾经这样做过:

sys.path.append(solverpath_folder)

solver=SolverFactory(solvername)
Run Code Online (Sandbox Code Playgroud)

这适用于 coin-or 中的 cbc 求解器,但不适用于 glpk。然后我尝试了一些不同的东西:

solver=SolverFactory(solvername,executable=solverpath_exe)
Run Code Online (Sandbox Code Playgroud)

这对 cbc 和 glpk 都有效。不知道为什么会这样(我真的什么也没做)。

版本:Python 2.7 或 Python 3.7(都测试过),glpk 4.65