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

问题描述 投票:0回答:1

我正在使用具有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)
pyomo glpk
1个回答
0
投票

Python有各种用于计时的实用程序,这可能很有用。您还可以从solve()调用中检查返回对象的内容:

import time
start = time.time()

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

end = time.time()
print(end - start)
© www.soinside.com 2019 - 2024. All rights reserved.