Использование Gurobi для запуска MIQP: как я могу улучшить производительность по времени? - PullRequest
0 голосов
/ 15 ноября 2018

Я использую Gurobi для запуска MIQP (смешанного целочисленного квадратичного программирования) с линейными ограничениями в Matlab.Решатель очень медленный, и я хотел бы, чтобы ваша помощь поняла, могу ли я что-то с этим сделать.

Это строки, которые я использую для запуска проблемы

clear model;
clear params;
model.A=[Aineq; Aeq];
model.rhs=[bineq; beq]; 
model.sense=[repmat('<', size(Aineq,1),1); repmat('=', size(Aeq,1),1)];
model.Q=Q;
model.obj=c;
model.vtype=type; 
model.lb=total_lb;
model.ub=total_ub;
params.MIPGap=10^(-1);
result=gurobi(model,params); 

Это снимок экрана с выводом в окне Matlab.enter image description here


Вопрос 1: Я впервые пытаюсь запустить MIQP, и я хотел бы получить ваш совет, чтобы понять, чтоЯ могу сделать, чтобы улучшить производительность.Позвольте мне рассказать, что я пробовал до сих пор:

  • Я обманул, введя params.MIPGap=10^(-1).Таким образом, фаза исследования узла становится короче.Какие минусы в этом?

  • У меня есть коэффициенты big-M, и я привязал их к наименьшим возможным значениям.

  • Я попытался установить params.ScaleFlag=2; params.ObjScale=2, но этоделает вещи медленнее

  • Я изменил params.method, но это, кажется, не помогает (если у вас нет какой-то конкретной рекомендации)

  • У меня естьувеличьте params.Threads, но, похоже, это не поможет

Вопрос 2 (второстепенный): Почему я получаю отрицательную цель в корневом симплексном журнале?Как целевая функция может быть отрицательной?

1 Ответ

0 голосов
/ 23 ноября 2018

Не имея полной модели здесь, посоветовать особо нечего. Тесные составы Big-M важны, но вы сказали, что уже проверили их. Иногда их разделение может помочь, но это сложное поле.

Что может дать большие преимущества для некоторых проблем, так это использование инструмента настройки параметров Gurobi . Поэтому постарайтесь экспортировать свою модель и использовать инструмент для настройки. Он автоматически пробует разные из сотен параметров настройки и может дать хорошие результаты.

...