gpt4 book ai didi

python-2.7 - 在 PuLP Python 中指定 GLPK 求解器的容差

转载 作者:行者123 更新时间:2023-12-03 20:36:08 25 4
gpt4 key购买 nike

我在 Python 2.7.8、Windows 32 位上运行 PuLP 编程库。我使用 GLPK 作为混合整数线性规划问题的求解器。求解器收敛到大约。 1% 的最优解很快,但是计算精确最优解的时间很长。有没有办法使用 PuLP 为 GLPK 求解器指定百分比容差?我搜索了 https://pythonhosted.org/PuLP/solvers.html但它没有为 GLPK 求解器提供任何答案。

最佳答案

如果您在命令行上使用“--help”运行“glpsol”,您会看到“--mipgap tol”,其中 tol 是容差。

所以,在 PuLP 中,你有没有试过这个:

 model.solve(GLPK(options=['--mipgap', '0.01']))

(来自 this discussion 不久前)(并注意如何使用相同的方法传递更多您喜欢的参数)。

此外,我进入了源代码(“solvers.py”)并查看了 GLPK 如何期望其“选项”参数,实际上它期望参数如上(查看下面复制的文件中的第 345 行左右) :
 proc = ["glpsol", "--cpxlp", tmpLp, "-o", tmpSol]
if not self.mip: proc.append('--nomip')
proc.extend(self.options)

因此,您会看到“proc”(稍后使用 Python 的“子进程”运行的命令)被“扩展”了您通过“选项”(顺便存储在变量 self.options 中)指定的内容。因此,看起来上面的方法(在列表中使用“--mipgap”等)是(仍然)正确的。

最后,我自己还没有尝试过,但我希望这会有所帮助。

关于python-2.7 - 在 PuLP Python 中指定 GLPK 求解器的容差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26647271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com