Есть ли способ сделать cvxpy timeout - PullRequest
0 голосов
/ 24 февраля 2020

Я использую cvxpy для решения задачи целочисленного программирования. Для возможных решений метод .solve () для cvxpy возвращает значение в несколько десятых секунды. Для недопустимых решений для cvxpy может потребоваться более 30 секунд, чтобы вернуть «неосуществимое». Вопросы:

1) Есть ли способ передать значение тайм-аута в метод solve ()? Если нет, каков рекомендуемый способ вызова cvxpy из программы python, где я не хочу ждать бесконечно долго?
2) Типично ли, что cvxpy займет 30+ секунд, чтобы вернуть невозможное?

1 Ответ

0 голосов
/ 24 февраля 2020

Ответ на этот вопрос зависит от используемого вами решателя. Эта страница содержит сводку опций для различных решателей.

Вы можете видеть, что CB C (Coin-or branch and cut) имеет опцию maximumSeconds, но большинство решателей не имеют подобной опции.

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

...