Я работаю над крупномасштабным MIP. Поэтому я должен установить ограничение по времени на разумное значение. Но проблема в том, что по истечении срока я не знаю, как оценить решение, иначе говоря, разрыв между нижней и верхней границами. Да, разрыв будет отображаться на экране. Но есть ли способ получить его значение с помощью Python API? Поэтому я могу вывести его или сделать следующую статистику. Мне нужно решить более 10 MIP одновременно, трудно найти пробелы один за другим на экране. Спасибо за вашу помощь!
Как получить относительный разрыв оптимальности MIP после истечения срока?
Ответы (1)
Ваши теги указывают на то, что вы используете Gurobi с Python API для решения своих моделей.
Чтобы получить относительный разрыв MIP, вы можете запросить атрибут MIPGap
(см. http://www.gurobi.com/documentation/6.5/refman/mipgap.html)
Пример Python:
from gurobipy import *
model = read("model.mps")
model.params.TimeLimit = 100
model.optimize()
print("Final MIP gap value: %f" % model.MIPGap)
person
Kostja
schedule
09.05.2016
Это действительно помогает, извините, что не смог сразу прокомментировать.
- person R. Song; 12.04.2017