Jump to content

Сравнение программного обеспечения для оптимизации

Учитывая систему, преобразующую набор входных данных в выходные значения, описываемую математической функцией f , оптимизация означает генерацию и выбор лучшего решения из некоторого набора доступных альтернатив. [1] систематически выбирая входные значения из разрешенного набора, вычисляя значение функции и записывая лучшее значение, найденное в ходе процесса. Многие реальные и теоретические проблемы могут быть смоделированы в этой общей структуре. Например, входными данными могут быть расчетные параметры двигателя, а выходными — потребляемая мощность. Другие ресурсы могут быть выбраны бизнесом, а на выходе будет получена прибыль. или описание конфигурации физической системы, выходным сигналом которой является ее энергия.

Задачу оптимизации можно представить следующим образом.

Дано функция f : : A R из некоторого множества A к действительным числам
Найдите: элемент x 0 в A такой, что f ( x 0 ) ≤ f ( x ) для всех x в A («минимизация»).

Обычно A — это некоторое подмножество евклидова пространства R. н , часто задаваемый набором ограничений члены A. , равенств или неравенств, которым должны удовлетворять Максимизацию можно свести к минимизации, умножив функцию на минус единицу.

Использование программного обеспечения для оптимизации требует, чтобы функция f была определена на подходящем языке программирования и связана с программным обеспечением для оптимизации. Программное обеспечение для оптимизации предоставит входные значения в A , программный модуль, реализующий f, предоставит вычисленное значение f ( x ). Таким образом достигается четкое разделение задач: разные модули программного обеспечения оптимизации можно легко протестировать на одной и той же функции f , или одно и то же программное обеспечение оптимизации можно использовать для разных функций f .

В следующих таблицах представлено сравнение известных библиотек программного обеспечения для оптимизации, как специализированных, так и библиотек общего назначения со значительным охватом оптимизации.

Имя Язык программирования Последняя стабильная версия Академический/некоммерческий
использование бесплатное
Может использоваться в
проприетарные приложения
Лицензия Примечания
АЛГЛИБ С++, С#, Питон, FreePascal 3.19.0 / июнь 2022 г. Да Да Двойной (коммерческий, GPL) Библиотека общего назначения, включает пакет оптимизации: линейное, квадратичное, нелинейное программирование.
AMPL C, C++, C#, Python, Java, Matlab, R Октябрь 2018 г. Да Да Двойной (коммерческий, академический) Популярный язык алгебраического моделирования для линейной, смешанно-целочисленной и нелинейной оптимизации. Версии для студентов и AMPL для курсов доступны бесплатно.
APMonitor Фортран, С++, Питон, Матлаб, Джулия 0.6.2 / март 2016 г. Да Да Двойной (коммерческий, академический) Язык дифференциального и алгебраического моделирования для смешанно-целочисленной и нелинейной оптимизации. Свободно доступные интерфейсы для Matlab, Python и Julia.
Артелис Книтро C, C++, C#, Python, Java, Julia, Matlab, R 11.1 / ноябрь 2018 г. Нет Да Коммерческий, Академический, Пробный Библиотека общего назначения, специализирующаяся на нелинейной оптимизации. Обрабатывает смешанно-целочисленные задачи (MINLP) и математические программы с равновесными ограничениями ( MPEC ). Специализированные алгоритмы для решения нелинейных задач наименьших квадратов.
Комплексный комплекс C, С++, Java, С#, Питон, R 20.1 / декабрь 2020 г. Да Да Коммерческий, академический, судебный IBM CPLEX Optimization Studio — это набор механизмов оптимизации (CPLEX для математического программирования и CP Optimizer для программирования с ограничениями), языка моделирования (OPL) и интегрированной среды разработки.
ФИКО Экспресс Мозель, BCL, C, C++, Java, R, Python, Matlab, .Net, VB6 13.08 / ноя 2021 г. Да Да Коммерческий, академический, общественный, судебный Комплекс оптимизирующих технологий и решений. Включает: технологии решателя, включая (LP (симплекс и барьер), MIP, MIQP, MIQCQP, MISOCP, MINLP QP, QCQP, SOCP, NLP (SLP и внутренняя точка); язык алгебраического моделирования и процедурного программирования; интегрированную среду разработки; поддерживает за комплекс услуг по исполнению; Поддержка упаковки оптимизационных моделей и сервисов в виде программных решений;
ГЕККО Питон 0.2.8 / август 2020 г. Да Да Двойной (коммерческий, академический) GEKKO — это пакет Python для машинного обучения и оптимизации смешанно-целочисленных и дифференциальных алгебраических уравнений. Он сочетается с крупномасштабными решателями для линейного, квадратичного, нелинейного и смешанного целочисленного программирования (LP, QP, NLP, MILP, MINLP). Режимы работы включают регрессию параметров, сверку данных, оптимизацию в реальном времени, динамическое моделирование и нелинейное прогнозирующее управление.
Комплект линейного программирования GNU С 4.52 / июль 2013 г. Да Нет лицензия GPL Бесплатная библиотека для линейного программирования (LP) и смешанного целочисленного программирования (MIP).
Научная библиотека ГНУ С 1.16 / июль 2013 г. Да Нет лицензия GPL Бесплатная библиотека, предоставленная проектом GNU.
Числовые библиотеки IMSL C, Java, C#, Фортран, Питон много компонентов Нет Да Собственный
решатель LION С++, Ява 2.0.198 / октябрь 2011 г. Да Да Собственный Поддержка интерактивной оптимизации и оптимизации обучения,

по принципам РСО. [2]

Библиотека математических ядер (MKL) С++, Фортран 11.1 / октябрь 2013 г. Нет Да Собственный Числовая библиотека от Intel. MKL специализируется на линейной алгебре,
но содержит некоторые функции, связанные с оптимизацией.
Вольфрам Математика С++, язык Вольфрам 14.0.0 (9 января 2024 г .; 5 месяцев назад ( 09.01.2024 ) ) [±] [3] Нет Да Собственный Нелинейная оптимизация с ограничениями, методы внутренней точки, выпуклая оптимизация и целочисленное программирование, а также оригинальные символьные методы, интегрированные с общими вычислительными возможностями.
МИДАКО C++, C#, Python, Matlab, Octave, Фортран, R, Java, Excel, VBA, Julia 6.0 / март 2018 г. Да Да Двойной (коммерческий, академический) Легкий программный инструмент для одно- и многоцелевой оптимизации. Поддержка MINLP и распараллеливания.
Числовые библиотеки NAG С, Фортран 26 Марка / октябрь 2017 г. Нет Да Собственный
NMath С# 5.3 / май 2013 г. Нет Да Собственный Числовая библиотека C#, построенная на основе MKL.
Октерактовый движок С++/Питон 0.11.29 / ноябрь 2019 г. Нет Да Коммерческий Суперкомпьютерный детерминированный решатель глобальной оптимизации для общих задач MINLP. Octeract Engine использует MPI для распределенных вычислений.
ОптаПланнер Ява 8.0.0.Финал / ноябрь 2020 г. Да Да АСЛ (с открытым исходным кодом) Легкий решатель оптимизации на Java с дополнительными модулями интеграции для JPA-Hibernate, Quarkus, Spring, Jackson, JAXB и т. д. Также работает на Kotlin и Scala.
SciPy Питон 0.13.1 / ноябрь 2013 г. Да Да БСД Библиотека числовых и научных вычислений общего назначения для Python.

См. также [ править ]

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

  1. ^ « Природа математического программирования », Глоссарий математического программирования , INFORMS Computing Society.
  2. ^ Баттити, Роберто; Мауро Брунато; Франко Массия (2008). Реактивный поиск и интеллектуальная оптимизация . Спрингер Верлаг . ISBN  978-0-387-09623-0 .
  3. ^ «История продолжается: анонс версии 14 языков Wolfram Language и Mathematica» . Проверено 9 января 2024 г.

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

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 10e1fee25d7335fadd1e98c5d2a20d7c__1697712120
URL1:https://arc.ask3.ru/arc/aa/10/7c/10e1fee25d7335fadd1e98c5d2a20d7c.html
Заголовок, (Title) документа по адресу, URL1:
Comparison of optimization software - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)