在Pyomo中使用GLPK优化后,如何检索使用的时间和相对MIP差距?

时间:2019-03-07 13:57:20

标签: pyomo glpk

我正在使用带有Pyomo的具体模型(使用GLPK),其中每年每天进行两次优化,但是在测试运行(仅几天)期间,MIP差距有时会非常高(大约8%)在时间限制之后。我希望存储(在一个数据帧中)每次优化所用的时间以及达到的MIP差距,因此我可以了解一下a)平均优化需要多长时间,b)结果与优化之间的接近程度。如何获取这些数据?我还没有找到一种方法。

使用的代码和数据太长,无法共享,但这就是我调用求解器并给出时间限制和间隔标准的方式:

model = create_model(parameters_a, parameters_b)
solver = SolverFactory('glpk')
solver.options["mipgap"] = 0.01
solver.options["tmlim"] = 1000
solver.solve(model, tee=True, symbolic_solver_labels=False)

1 个答案:

答案 0 :(得分:0)

Python有多种计时工具,可能很有用。您还可以通过solve()调用检查返回对象的内容:

import time
start = time.time()

results = solver.solve(model, tee=True)
print(results)

end = time.time()
print(end - start)