【问题标题】:How to set Gurobi parameter in Pulp如何在 Pulp 中设置 Gurobi 参数
【发布时间】:2019-01-07 14:52:27
【问题描述】:

我正在使用 Pulp 和 Python 来指定 LP 问题。我想用 Gurobi 解决这个问题。以下确实有效:

prob.solve(pulp.GUROBI_CMD())

但是,现在我想指定一个 MIP Gap。根据this页面,这应该是Gurobi求解器的参数。

定义这个参数的语法是什么(比如说,0.05)?

编辑:我检查了this 的帖子,但没有任何建议有效:

  • GUROBI_CMD(options=["MIPGap=0.9"] throws "ValueError: too many values to unpack (expected 2)"
  • prob.solve(GUROBI(epgap = 0.9)) 抛出“pulp.solvers.PulpSolverError:GUROBI:不可用。”此外,无法安装 gurobipy(“未找到 gurobipy 的匹配发行版”)。

希望任何人都可以就如何解决这个问题提出任何建议!

【问题讨论】:

  • 感谢您的建议。但是,我已经查看了这篇文章,并且文章中提到的两个选项似乎都不适合我。特别是,GUROBI_CMD(options=["MIPGap=0.9"] 抛出“ValueError: too many values to unpack (expected 2)”和 GUROBI(epgap=0.9) 抛出“pulp.solvers.PulpSolverError: GUROBI: Not Available。”此外无法安装 gurobipy(“未找到 gurobipy 的匹配发行版”)。所以这些选项都不起作用......
  • GUROBI_CMD(options=["MIPGap","0.9"]) 怎么样?我没有安装 Gurobi,所以我无法尝试。
  • 再次感谢您的快速回复。抛出同样的错误:“ValueError: too many values to unpack (expected 2)”
  • 纸浆代码创建选项确实cmd += ' ' + ' '.join(['%s=%s' % (key, value) for key, value in options]) 所以GUROBI_CMD(options=[("MIPGap","0.9")]) 应该可以工作

标签: python parameters gurobi pulp


【解决方案1】:

在之前的评论中提到“选项”参数的语法可能错误(谢谢!),我发现正确的语法是:

prob.solve(pulp.GUROBI_CMD(options=[("MIPgap", 0.9)]))

这行得通!非常感谢。

【讨论】:

    猜你喜欢
    • 2018-03-04
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    相关资源
    最近更新 更多