首页 > 解决方案 > 带有gurobi求解器最大时间限制终止标准的pyomo不起作用

问题描述

我正在尝试使用 gurobipy 解决 pyomo 中的优化问题。鉴于问题的规模,我想将 100 秒的时间限制设置为终止标准。尽管我在求解器选项中指定了它,如下所示,它似乎完全被忽略了。

opt = SolverFactory("gurobi", solver_io="python", maxTimeLimit=100)
results = opt.solve(model)

标签: pyomogurobitermination

解决方案


Gurobi 的时间限制名称是TimeLimit,不是maxTimeLimit。时间限制是在求解时定义的选项,而不是求解器实例化的一部分。这是因为您可能希望在指定的时间内求解相同的模型,然后再求解不同的时间:

opt.solve(model, options={'TimeLimit': 100})
opt.solve(model, options={'TimeLimit': 1000})

有关参数名称,请参阅此 Gurobi 文档页面


推荐阅读