Список программ оптимизации

редактировать
Статья со списком Википедии

Задано преобразование между входными и выходными значениями, описываемое математическим функция f, оптимизация занимается генерированием и выбором лучшего решения из некоторого набора доступных альтернатив путем систематического выбора входных значений из разрешенного набора, вычисления выходных данных функции и записи наилучшего выходные значения, найденные в процессе. Таким образом можно смоделировать многие проблемы реального мира. Например, входными данными могут быть проектные параметры двигателя, выходными данными может быть потребляемая мощность, или входными данными может быть выбор бизнеса, а выходом может быть полученная прибыль.

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

Дано: функция f: A → {\ displaystyle \ to}\ to Rиз некоторого установить A в действительные числа
Искать: элемент x 0 в A такой, что f (x 0) ≤ f (x) для всех x в A.

При непрерывной оптимизации A является некоторым подмножеством евклидова пространства R, часто задаваемым набор ограничений, равенств или неравенств, которым должны удовлетворять члены A. В комбинаторной оптимизации A - это некоторое подмножество дискретного пространства, например двоичные строки, перестановки или наборы целых чисел.

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

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

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

Содержание

  • 1 Бесплатное программное обеспечение с открытым исходным кодом
  • 2 Запатентованное программное обеспечение
  • 3 Бесплатное / бесплатное программное обеспечение для академического использования
  • 4 См. Также
  • 5 Ссылки

Бесплатное программное обеспечение с открытым исходным кодом

Приложения
ИмяЛицензияОписание
ADMB BSD a структура нелинейной оптимизации с использованием автоматического дифференцирования.
ASCEND GPL a математическое моделирование система моделирования химических процессов.
CUTEr GPLсреда тестирования для оптимизации и линейной алгебры решателей.
GNU Octave GPLпрограммный пакет, содержащий язык программирования высокого уровня, в первую очередь предназначенный для численных вычислений; хорошо известная бесплатная альтернатива MATLAB.
Scilab CeCILL , кроссплатформенному вычислительному пакету и высокоуровневому, численно ориентированному языку программирования с бесплатной структурой численной оптимизации.
Программные библиотеки
ИмяЛицензияОписание
ALGLIB GPLдвойная лицензия (GPL / коммерческая) библиотека нелинейной оптимизации (без ограничений, box, линейно, нелинейно-ограниченные, нелинейные и задачи QP), опционально с использованием автоматического дифференцирования. Кросс-язык: C ++, C #.
COIN-OR EPL 1.0 целочисленное программирование, линейное программирование, нелинейное программирование
Dlib Лицензия на программное обеспечение Boost Неограниченная / ограниченная рамками библиотека нелинейной / QP оптимизации, написанная на C ++.
GEKKO Лицензия MIT машинное обучение и оптимизация смешанных целочисленных и дифференциально-алгебраических уравнений на Python.
GLPK GPLКомплект линейного программирования GNU, C API.
IPOPT CPL крупномасштабный нелинейный оптимизатор для непрерывных систем (требуется градиент), C ++ (ранее Fortran и C ).
MIDACO Dual (Commercial, BY-NC-ND)легкий программный инструмент для одно- и многоцелевой оптимизации на основе эволюционных вычислений. Написано на C / C ++ и Fortran со шлюзами для Excel, VBA, Java, Python, Matlab, Octave, R, C # и Julia.
MINUIT (теперь MINUIT2)LGPLнеограниченный оптимизатор, разработанный внутри CERN.
OpenMDAO Apache Licensea Многопрофильный дизайн, анализ и оптимизация (MDAO) framework, написанная на Python. Разработка ведется из Исследовательского центра Гленна НАСА при поддержке Исследовательского центра Лэнгли НАСА.
OptaPlanner Лицензия Apachea Java решатель ограничений с эвристикой построения и метаэвристика. Интегрируется с Spring Boot и Quarkus. Также работает на Kotlin и Scala.
SciPy BSDобщий числовой пакет для Python с некоторой поддержкой оптимизации.

Проприетарное программное обеспечение

  • AIMMS - система моделирования оптимизации, включая средства построения графического интерфейса.
  • ALGLIB - двойная лицензия (GPL / коммерческая) ограниченная квадратичная и нелинейная библиотека оптимизации с интерфейсами C ++ и C #.
  • Altair HyperStudy - планирование экспериментов и многопрофильная оптимизация проектирования.
  • AMPL - язык моделирования для крупномасштабной линейной, смешанной целочисленной и нелинейной оптимизации.
  • ANTIGONE - a детерминированная глобальная оптимизация решатель MINLP.
  • APMonitor - язык моделирования и пакет оптимизации для крупномасштабных, нелинейных, смешанных целочисленных, дифференциальных и алгебраических уравнений с интерфейсами к MATLAB, Python и Julia.
  • Artelys Knitro - крупномасштабная нелинейная оптимизация для непрерывного и смешанно-целочисленного программирования.
  • ASTOS - Программное обеспечение для оптимизации траектории AeroSpace для задач запуска, возврата и общих аэрокосмических задач.
  • BARON - оптимизация алгебраических нелинейных и смешанно-целочисленных нелинейных задач.
  • COMSOL Multiphysics - кроссплатформенный конечно-элементный анализ, решатель и мультифизика программное обеспечение для моделирования.
  • CPLEX - целочисленное, линейное и квадратичное программирование.
  • FEATool Multiphysics - FEA GUI Toolbox для MATLAB
  • FICO Xpress - целочисленное, линейное, квадратичное и нелинейное программирование.
  • FortMP - целочисленное, линейное и квадратичное программирование.
  • FortSP - стохастическое программирование.
  • GAMS - Общая система алгебраического моделирования.
  • Гуроби - целочисленное, линейное и квадратичное программирование.
  • HEEDS MDO - многопрофильная оптимизация проектирования с использованием SHERPA, гибридный адаптивный алгоритм оптимизации.
  • Числовые библиотеки IMSL - линейные, квадратичные, нелинейные и разреженные алгоритмы оптимизации QP и LP, реализованные на стандартных языках программирования C, Java, C #.NET, Fortran и Python.
  • IOSO - (Непрямая оптимизация на основе самоорганизации) технология многокритериальной многомерной нелинейной оптимизации.
  • Kimeme - открытая платформа для многоцелевой оптимизации и мультидисциплинарной оптимизации дизайна.
  • LINDO - (Linear, Interactive и Discrete Optimizer) программный пакет для линейного программирования, целочисленного программирования, нелинейного программирования, стохастического программирование и глобальная оптимизация. "Что лучше!" Надстройка Excel выполняет линейную, целочисленную и нелинейную оптимизацию с помощью LINDO.
  • LIONsolver - интегрированное программное обеспечение для интеллектуального анализа данных, аналитики, моделирования Lдоход и I интеллектуальная O оптимизация N и реактивный подход к бизнес-аналитике.
  • modeFRONTIER - платформа интеграции для многоцелевая и мультидисциплинарная оптимизация, которая обеспечивает бесшовную связь со сторонними инженерными инструментами, позволяет автоматизировать процесс моделирования проектирования и облегчает принятие аналитических решений.
  • Maple - линейный, квадратичный и нелинейный, непрерывная и целочисленная оптимизация. Сдержанный и непринужденный. Глобальная оптимизация с дополнительным набором инструментов.
  • MATLAB - линейные, целочисленные, квадратичные и нелинейные задачи с Optimization Toolbox ; множественные максимумы, множественные минимумы и проблемы негладкой оптимизации; оценка и оптимизация параметров модели.
  • MIDACO легкий программный инструмент для одно- и многоцелевой оптимизации на основе эволюционных вычислений. Написано на C / C ++ и Fortran со шлюзами к Excel, VBA, Java, Python, Matlab, Octave, R, C # и Julia.
  • Mathematica - крупномасштабная многомерная система с ограничениями и без ограничений, линейная и нелинейная, непрерывная и непрерывная. целочисленная оптимизация.
  • ModelCenter - графическая среда для интеграции, автоматизации и оптимизации проектирования.
  • MOSEK - линейная, квадратичная, коническая и выпуклая нелинейная, непрерывная и целочисленная оптимизация.
  • NAG - линейные, квадратичные, нелинейные, суммы квадратов линейных или нелинейных функций; линейные, разреженные линейные, нелинейные, ограниченные или без ограничений; локальная и глобальная оптимизация; непрерывные или целочисленные задачи.
  • NMath - линейное, квадратичное и нелинейное программирование.
  • Octeract Engine - детерминированная глобальная оптимизация решатель MINLP.
  • OptimJ - Язык моделирования на основе Java. Premium Edition включает поддержку решателей Gurobi, Mosek и CPLEX.
  • Платформа Optimus - платформа для интеграции процессов и оптимизации проектирования, разработанная Noesis Solutions.
  • optiSLang - программные решения для анализа чувствительности на основе CAE, оптимизация и оценка устойчивости.
  • OptiY - среда проектирования, обеспечивающая современные стратегии оптимизации и современные вероятностные алгоритмы для определения неопределенности, надежности, устойчивости, анализа чувствительности, интеллектуального анализа данных и мета-моделирования.
  • OptiStruct - отмеченная наградами технология CAE для синтеза концептуального дизайна и структурной оптимизации.
  • PottersWheel - оценка параметров в обыкновенных дифференциальных уравнениях (набор инструментов MATLAB, бесплатный для академического использования).
  • pSeven - программная платформа для автоматизации инженерного моделирования и анализа, мультидисциплинарной оптимизации и интеллектуального анализа данных, разработанный DATADVANCE.
  • SAS - программный пакет, разработанный SAS Institute для расширенной аналитики (статистика, прогнозирование, машинное обучение, оптимизация и т. д.), бизнес-аналитика, анализ клиентов, управление данными, управление рисками и многое другое.
  • SmartDO - многопрофильная глобальная оптимизация дизайна, специализирующаяся на автоматизированном проектировании (CAE). с использованием подходов прямого глобального поиска.
  • SNOPT - задачи крупномасштабной оптимизации.
  • The Unscrambler X - программное обеспечение для разработки продуктов и оптимизации процессов.
  • TOMLAB - поддерживает глобальную оптимизацию, целочисленное программирование, все типы наименьших квадратов, линейное, квадратичное и неограниченное программирование для MATLAB. TOMLAB поддерживает такие решатели, как Gurobi, CPLEX, SNOPT, KNITRO и MIDACO.
  • VisSim - визуальный блок-схема язык для моделирования и оптимизации динамических систем.
  • WORHP - крупномасштабный разреженный решатель для непрерывной нелинейной оптимизации.

Бесплатная / бесплатная для академического использования

  • AIMMS
  • AMPL
  • APMonitor - бесплатно как для академического, так и для коммерческого использования, с интеграциями Julia, Python и MATLAB.
  • ASTOS
  • CPLEX
  • Couenne - решатель с открытым исходным кодом для детерминированной глобальной оптимизации MINLP под лицензией Eclipse Public License.
  • FICO Xpress
  • Библиотека Galahad
  • GEKKO Python
  • Gurobi
  • LIONsolver
  • MIDACO - программный пакет для численной оптимизации на основе эволюционных вычислений.
  • MINTO - целочисленное программирование решатель с использованием ветви и связанный алгоритм; бесплатное ПО для личного пользования.
  • MOSEK - программа для крупномасштабной оптимизации. Решает линейную, квадратичную, коническую и выпуклую нелинейную, непрерывную и целочисленную оптимизацию.
  • OptimJ - язык моделирования на основе Java; бесплатная версия включает поддержку форматов файлов lp_solve, GLPK и LP или MPS.
  • PottersWheel - оценка параметров в обыкновенных дифференциальных уравнениях (бесплатно Набор инструментов MATLAB для академического использования).
  • SCIP - бесплатно для членов некоммерческих и академических учреждений, для исследовательских целей.
  • WORHP

См. Также

Ссылки

Последняя правка сделана 2021-05-28 11:45:42
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте