Mosek работает бесконечно на больших MIQCQP

#optimization #cvxpy #mosek

Вопрос:

У нас есть крупномасштабная проблема MIQCQP. Размер проблемы:

 Decision vars: ~9K (with 3K continuous and 6K integral vars)
Objective: 1 Linear expression
Constraints (linear): 35K linear constraints (9K lower bound   9K upper bound   remaining inequality constraints)
Constraints (Quadratic): 1 quad constraint (with Q matrix size as 3K*3K, which is PSD)
 

Когда мы используем Mosek (через Cvxpy), он работает бесконечно (в логике ветвления и привязки). Более того, из журналов mosek: BEST_INT_OBJ и REL_GAP(%) отображаются NA повсюду.

Поскольку эта проблема содержит собственные данные, ею трудно поделиться.

Есть ли какие — либо общие советы или рекомендации, чтобы ускорить решение проблемы?

(Как ни странно, Гуроби может решить ту же проблему менее чем за минуту)

Комментарии:

1. Можем ли мы получить неоптимальное решение, изменив уровень допуска?

2. Разные решатели используют разные методы для решения ваших проблем, поэтому, если вы нашли хорошее решение с помощью Gurobi, почему вы хотите повторить эту производительность с другим решателем?

3. Если BEST_INT_OBJ равен NA, то он еще не нашел никакого целочисленного решения, поэтому изменение допусков, вероятно, не сильно поможет. Вы могли бы попытаться увеличить параметры, отвечающие за эвристику. На самом деле лучший способ-написать в службу поддержки Mosek.

4. Спасибо, Михал! Поможет ли установка начального предположения оптимизатору MIQCQP?

5. @pqrz Это очень часто помогает, но отправная точка должна быть осуществимой. Однако в cvxpy невозможно передать начальную точку в Mosek.