我有一个随机混合整数问题,某些情况下可能会出现不可行的问题。
该模型被公式化为抽象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”
答案 0 :(得分:1)
您的模型似乎是Pyomo模型,但是示例使用的是Gurobi Model类。 Pyomo类没有方法computeIIS
。
GurobiDirect
类接受一些Gurobi参数,包括ResultFile
。以下内容将使Gurobi将IIS写入文件:
opt = SolverFactory('gurobi')
opt.options['ResultFile'] = "test.ilp"
文件名的后缀确定结果文件的类型; .ilp
用于IIS。 See here.