AttributeError:“ AbstractModel”对象没有属性“ computeIIS”

时间:2019-04-04 08:46:08

标签: python gurobi pyomo

我有一个随机混合整数问题,某些情况下可能会出现不可行的问题。

该模型被公式化为抽象Pyomo模型,而我使用的求解器是gurobi 8.1.0

我想查看不可还原的不一致子系统(IIS),以便解决我的无误性问题。

在下面的链接中,我尝试使用的功能是model.computeIIS()。

http://www.gurobi.com/documentation/8.1/refman/py_model_computeiis.html

我已经尝试从上方的时间链接复制粘贴,并在下方实现了代码(http://www.gurobi.com/documentation/8.1/examples.pdf,workforce1.py第401页)

model.computeIIS()
     if model.IISMinimal :
         print("IIS is minimal \n")
     else :
         print ("IIS is not minimal \n")
         print ("\ n The following constraint (s) cannot be satisfied:")

for c in model.getConstrs():
     if c.IISConstr:
     print ("%s" % c.constrName)

我希望这会打印IIS。不幸的是,它只是给我带来了属性错误:“ AbstractModel”对象没有属性“ computeISS”

1 个答案:

答案 0 :(得分:1)

您的模型似乎是Pyomo模型,但是示例使用的是Gurobi Model类。 Pyomo类没有方法computeIIS

GurobiDirect类接受一些Gurobi参数,包括ResultFile。以下内容将使Gurobi将IIS写入文件:

opt = SolverFactory('gurobi')
opt.options['ResultFile'] = "test.ilp"

文件名的后缀确定结果文件的类型; .ilp用于IIS。 See here.