AttributeError: объект «AbstractModel» не имеет атрибута «computeIIS» - PullRequest
1 голос
/ 04 апреля 2019

У меня есть стохастическая смешанная целочисленная задача, в которой некоторые сценарии могут привести к неосуществимым проблемам.

Модель сформулирована как Абстрактная модель 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 Ответ

1 голос
/ 04 апреля 2019

Кажется, ваша модель - модель Pyomo, но в примере используется класс Gurobi Model. Класс Pyomo не имеет метода computeIIS.

Класс GurobiDirect принимает некоторые параметры Gurobi, включая ResultFile. Следующее заставит Гуроби записать IIS в файл:

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

Суффикс имени файла определяет тип файла результата; .ilp для IIS. Смотри здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...