Я решаю задачу смешанно-целочисленного линейного программирования (MILP) на Matlab, используя решатель gurobi. Во время итераций я вижу такую информацию, как:
Optimal solution found (tolerance 1.00e-04) Best objective 6.076620143590e+02, best bound 6.076620143590e+02, gap 0.0000%
У меня вопрос: как можно получить доступ к информации о разрыве? Я хотел бы хранить его на каждой итерации в массиве. Однако, если я просто позвоню X = gurobi(model);, где model содержит мою модель MILP, я не увижу информацию о пробеле в X.
@sascha могу ли я сделать это на Matlab?
Эта страница может помочь: gurobi.com/documentation/8.1/refman/logging.html





Я узнал, что информация о разрыве уже возвращается gurobi, начиная с версии 8. До этого я использовал версию 7, и поэтому у меня не было доступа к этой информации. Переменная в возвращаемом объекте, содержащая информацию о разрыве, называется mipgap, поясняется здесь.
Возможно, вам придется рассчитать его самостоятельно в пределах Перезвоните.