如何获得Gurobi的Presolve模型的属性?

问题描述

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

谢谢。

解决方法

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

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...