Из Википедии, бесплатной энциклопедии
  (Перенаправлено с KNITRO )
Перейти к навигации Перейти к поиску

Artelys Knitro - это коммерческий программный пакет для решения крупномасштабных задач нелинейной математической оптимизации .

KNITRO - (первоначальное название решатель) сокращение от « Н onlinear Я nterior точка Т ржавчины Р области температуры O ptimization» ( «К» молчит) - была совместно создана Ричард Вальса, Jorge Nocedal , Тодд Plantenga и Ричарда Бэрда. Впервые он был представлен в 2001 году как результат академических исследований Северо-Западного университета (через Ziena Optimization LLC) и с тех пор постоянно улучшался разработчиками Artelys.

Проблемы оптимизации должны быть представлены Knitro в математической форме и должны обеспечивать способ вычисления производных функций с использованием разреженных матриц (Knitro может вычислять приближение производных, но в большинстве случаев предоставление точных производных является полезным). Часто более простой подход - разработать задачу оптимизации на языке алгебраического моделирования . Среда моделирования вычисляет производные функций, и Knitro вызывается как «решатель» изнутри среды.

Классы проблем, решаемые Artelys Knitro [ править ]

Knitro специализируется на нелинейной оптимизации, но также решает широкий спектр задач оптимизации:

  • Общие нелинейные задачи (НЛП), в том числе невыпуклые
  • Системы нелинейных уравнений
  • Линейные задачи (ЛП)
  • Квадратичные задачи (QP / QCQP / SOCP), как выпуклые, так и невыпуклые
  • Задачи наименьших квадратов / регрессия, как линейные, так и нелинейные
  • Математические программы с ограничениями дополнительности (MPCC / MPEC)
  • Смешанно-целочисленные нелинейные задачи (MIP / MINLP)
  • Задачи оптимизации без производных (DFO)

Алгоритмы [ править ]

Artelys Knitro содержит широкий спектр алгоритмов оптимизации.

Решатель нелинейного программирования (NLP) [ править ]

Knitro предлагает четыре различных алгоритма оптимизации для решения задач оптимизации. [1] Два алгоритма относятся к типу внутренней точки , а два - к типу активного набора . Как известно, эти алгоритмы имеют принципиально разные характеристики; например, методы внутренней точки следуют по пути через внутреннюю часть допустимой области, в то время как методы активного набора, как правило, остаются на границах. Knitro предоставляет оба типа алгоритмов для большей гибкости при решении проблем и позволяет переходить в процессе решения от одного алгоритма к другому. Код также предоставляет возможность многозадачности для ускорения вычисления глобального минимума .

  • Внутренний / Прямой алгоритм
  • Алгоритм внутреннего / сопряженного градиента
  • Алгоритм активного набора
  • Алгоритм последовательного квадратичного программирования (SQP)

Решатель смешанного целочисленного нелинейного программирования (MINLP) [ править ]

Knitro предоставляет инструменты для решения моделей оптимизации (как линейных, так и нелинейных) с двоичными или целочисленными переменными. Код смешанного целочисленного программирования (MIP) Knitro предлагает три алгоритма смешанного целочисленного нелинейного программирования (MINLP): [2]

  • Нелинейный переход и граница
  • Алгоритм Кесада Гроссмана
  • Смешанное целочисленное последовательное квадратичное программирование (MISQP)

Особенности [ править ]

Artelys Knitro поддерживает множество языков программирования и моделирования, в том числе. [3]

  • Объектно-ориентированные интерфейсы для C ++, C #, Java и Python
  • Матрично-ориентированные интерфейсы для Julia, C, Fortran, MATLAB и R
  • Ссылки на языки моделирования: AIMMS, AMPL, GAMS и MPL
  • Ссылки на Excel через Frontline Solvers

Artelys Knitro также включает ряд ключевых функций:

  • Большой набор хорошо задокументированных пользовательских опций [4] и автоматический тюнер
  • (Параллельный) мультизапуск для глобальной оптимизации
  • Аппроксимация и проверка производных
  • Внутренний предварительный преобразователь

Поддерживаемые платформы [ править ]

Artelys Knitro доступен на следующих платформах:

Ссылки [ править ]

Внешние ссылки [ править ]

  1. ^ Artelys Knitro алгоритмы НЛП
  2. ^ Artelys Knitro алгоритмы MINLP
  3. ^ Особенности Artelys Knitro
  4. ^ Руководство пользователя Artelys Knitro
  5. ^ Artelys Knitro и процессоры ARM
  • Хорхе Носедаль , профиль в отделе EECS инженерной школы Маккормика