Использование приложения Concert Technology или приложения Callable Library с CVXPY - PullRequest
0 голосов
/ 02 мая 2020

Я смотрю на двухэтапный подход к проблеме оптимизации. Мой первый шаг - это использование формулировки проблемы MILP, а второй - использование решения с первого шага в качестве исходного решения, но теперь с формулировкой MIQP. Мне удалось применить эту концепцию в MATLAB с использованием CPLEX. Однако сейчас я пытаюсь сделать то же самое, используя CVXPY с CPLEX в качестве решателя. Теперь я знаю о параметре warm_start, но он не работает с решателем CPLEX. Я могу установить параметры CPLEX, но я не уверен, как инициализировать свое решение. Я подумываю установить для параметра ADVANCE START SWITCH для CPLEX значение 1, но теперь мне нужно установить начальное решение. Согласно этой странице: http://www-eio.upc.es/lceio/manuals/cplex-11/html/usrcplex/solveMIP17.html, мне нужно использовать метод setVectors в приложении Concert Technology или использовать CPXcopymipstart в приложении Callable Library для установки исходного решения. Я не уверен, как использовать это вместе с CVXPY.

1 Ответ

1 голос
/ 04 мая 2020

Функциональность, которую вы ищете, в настоящее время не существует в CVXPY. CVXPY - это базовый c слой моделирования, который охватывает несколько решателей и не предоставляет спецификацию CPLEX c CPXreadcopymipstarts или CPXaddmipstarts функциональность.

тот факт, что установка свойства value переменных и использование опции warm_start, как предложено в этом ответе, не работает, является проблемой CVXPY. Похоже, есть открытая проблема github для этого здесь . В будущем это, вероятно, будет намеченным решением вашего общего вопроса.

На данный момент вам придется напрямую использовать один из API-интерфейсов CPLEX. Как вы упомянули в комментариях к этому связанному с stackoverflow вопросу, вам не нравится идея использования API-интерфейса CPLEX Python более низкого уровня. Это оставляет вас в качестве жизнеспособного варианта docplex .

...