我有一个随机混合整数问题,某些情况下可能会提出不可行的问题。
该模型被公式化为抽象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”
最佳答案
您的模型似乎是Pyomo模型,但是示例使用的是Gurobi Model类。 Pyomo类没有方法computeIIS
。GurobiDirect
类接受一些Gurobi参数,包括ResultFile
。以下将使Gurobi将IIS写入文件:
opt = SolverFactory('gurobi')
opt.options['ResultFile'] = "test.ilp"
文件名的后缀确定结果文件的类型。
.ilp
用于IIS。 See here.关于python - AttributeError:“AbstractModel”对象没有属性“computeIIS”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55511569/