如何在gurobi中保存解决方案差距(MIP Gap)和上限(objective bound)?

How to save solution gap (MIP Gap) and upper bound (objective bound) in gurobi?

我正在使用 gurobi 求解器求解 MIP。这是一个具有许多约束的 NP-hard 公式。找到最佳解决方案需要花费大量时间;所以,我不得不给这个问题加上时间限制。我不要求只保存指定时间内gurobi获得的解和变量值,而是要求保存上界和解决MIP时报告的解差距。你能提供一种方法吗?

我找到了一个解决方案,Gurobi website 已经给出了所有的属性,这些属性可以在其他一些语言中使用,特别是 C、C++、C#、Java 和 VBA 除了python;幸运的是,有属性 MIPGap 和 ObjBoundC 符合我的规范。 model.Runtime 提供解决问题的持续时间;如果 model.Runtime >= 时间约束,则 model.MIPGap 提供 MIPGap = abs(ObjVal - ObjBound)/ abs(ObjVal) , 并且 model.ObjBoundC 提供 'ObjBound' dubble.