Что такое MathOpt

MathOpt — это библиотека для моделирования и решения задач математической оптимизации, например, задач линейного программирования (LP) или задач смешанного целочисленного программирования (MIP). MathOpt отделяет моделирование от решения, позволяя пользователям переключаться между методами решения, изменяя перечисление (и зависимость сборки) для выбора решателя.

Посмотрите это видео , чтобы получить краткое представление о MathOpt из презентации конференции JuMP 2023 года.

Возможности MathOpt

Модели MathOpt могут содержать:

  • целые или непрерывные переменные
  • линейные или квадратичные ограничения
  • линейные или квадратичные цели
  • несколько иерархических целей
  • специализированные ограничения MIP (SOS, индикатор и многое другое)
  • некоторые конические ограничения (конус второго порядка, еще больше)

Модели определяются независимо от решателя, и решатели можно взаимозаменяемо менять. MathOpt поддерживает следующие решатели:

MathOpt предоставляет клиентские библиотеки на C++ и Python для построения модели оптимизации.

MathOpt поддерживает множество расширенных функций, в том числе:

  • Анализ невыполнимости (неприводимый недопустимый набор или IIS), только Гуроби
  • Инкрементальное решение
  • Обратные вызовы
  • Двойственность
  • Первичные и Двойные лучи
  • Субоптимальные первичные и двойственные решения
  • Удаление переменных и ограничений
  • Теплый старт (по раствору или основе)
  • Подробная причина прекращения
  • Приоритет ветвления
  • Прерывание
  • Многие параметры, независимые от решателя