首页 > 解决方案 > 如何获得 Gurobi 的 Presolve 模型的属性?

问题描述

我有一个线性目标函数和一些二次约束的整数规划问题。当我使用 Gurobi 解决这个问题时,Gurobi 使用 Presolve 创建一个二次约束整数规划模型。现在,我想知道 Presolve 模型的目标函数是否也是二次的。

提前致谢。

标签: gurobiinteger-programmingquadratic-programming

解决方案


Gurobi 将使用模型对象上的 presolve 方法为您提供预求解模型。该对象是常规模型对象,您可以查询其属性isQCP如果存在任何二次约束,则该属性为真。该属性isQP表示模型具有二次目标,但没有二次约束。该属性NumQConstrs是二次约束数的计数。您也可以使用该printStats方法打印数字,或者您可以使用该write方法将预求解的模型写入文件。

presolved_model = model.presolve()
print(presolved_model.IsQCP)
print(presolved_model.IsQP)
presolved_model.printStats()
presolved_model.write("presolved.lp")

推荐阅读