2016-11-01 7 views
0

Я использую Gurobi 7.0 через Matlab. Основываясь на документации, чтобы найти n лучших решений, вам необходимо установить параметры:Gurobi 7.0-Как найти n лучших решений для MILP?

PoolSearchMode = 2, чтобы систематически находить альтернативные оптимальные решения.

PoolSolutions = n, номер решения в пуле.

Когда я это делаю, мой результат содержит те же поля, что и параметры по умолчанию, то есть только одно решение. Я также попытался изменить параметр SolutionNumber, но он не влияет на результат.

Я подозреваю, что найдены альтернативные оптимальные решения, так как solver сообщает о приглашении количество решений, равное n, с объективными значениями, но я не могу их восстановить. Надеюсь, это не является другим ограничением API Gurobi Matlab.

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

ответ

1

Невозможно. Интерфейс Gurobi Matlab ограничен, поскольку он не относится к модели как к классу, хотя Matlab предлагает объектно-ориентированное программирование. Это ограничивает многие функции. Однако CPLEX позволяет пользователям Matlab взаимодействовать с классом модели и извлекать решения из пула решений.