Список программ оптимизации - List of optimization software

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

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

Данный: а функция ж : А р от некоторых набор А к действительные числа
Ищи: элемент Икс0 в А такой, что ж(Икс0) ≤ ж(Икс) для всех Икс в А.

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

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

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

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

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

Приложения
ИмяЛицензияОписание
ADMBBSDа нелинейная оптимизация рамки, используя автоматическая дифференциация.
ASCENDGPLа математическое моделирование система моделирования химических процессов.
РЕЖИМGPLсреда тестирования для оптимизация и линейная алгебра решатели.
GNU OctaveGPLпрограммный пакет на языке программирования высокого уровня, в первую очередь предназначенный для численных вычислений; хорошо известная бесплатная альтернатива MATLAB.
ScilabCeCILLкроссплатформенный вычислительный пакет и высокоуровневый численно ориентированный язык программирования с бесплатной структурой численной оптимизации.
Программные библиотеки
ИмяЛицензияОписание
АЛГЛИБGPLБиблиотека нелинейной оптимизации с двойной лицензией (GPL / коммерческая) (неограниченная, прямоугольная, линейная, нелинейно-ограниченная, нелинейная и задачи QP), опционально с использованием автоматическая дифференциация. Кросс-язык: C ++, C #.
МОНЕТА-ИЛИEPL 1.0целочисленное программирование, линейное программирование, нелинейное программирование
ДлибЛицензия на программное обеспечение BoostНеограниченная / ограниченная рамками библиотека нелинейной оптимизации / оптимизации QP, написанная на C ++.
GEKKOЛицензия MITмашинное обучение и оптимизация смешано-целочисленных и дифференциально-алгебраических уравнений на Python.
ГЛПКGPLКомплект линейного программирования GNU, C API.
IPOPTCPLкрупномасштабный нелинейный оптимизатор для непрерывных систем (требуется градиент), C ++ (ранее Фортран и C ).
MIDACOДвойной (коммерческий, BY-NC-ND)легкий программный инструмент для одно- и многоцелевых оптимизация на основе эволюционные вычисления. Написано на C / C ++ и Fortran со шлюзами для Excel, VBA, Java, Python, Matlab, Octave, R, C # и Julia.
MINUIT (теперь MINUIT2)LGPLнеограниченный оптимизатор, внутренне разработанный в ЦЕРН.
OpenMDAOЛицензия Apacheа Междисциплинарный дизайн, анализ и оптимизация (MDAO) рамки, написанные на Python. Развитие ведется из НАСА Исследовательский центр Гленна при поддержке Исследовательский центр НАСА в Лэнгли.
OptaPlannerЛицензия Apacheа Ява решатель ограничений с эвристикой построения и метаэвристикой. Интегрируется с Весенний ботинок и Quarkus. Работает на Котлин и Scala тоже.
SciPyBSDобщий числовой пакет для Python с некоторой поддержкой оптимизации.

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

  • ЦЕЛИ - система моделирования оптимизации, включая средства построения GUI.
  • АЛГЛИБ - Библиотека квадратичной и нелинейной оптимизации с двойной лицензией (GPL / коммерческая) с интерфейсами C ++ и C #.
  • Альтаир HyperStudy - планирование экспериментов и мультидисциплинарная оптимизация дизайна.
  • AMPL - язык моделирования для крупномасштабной линейной, смешанной целочисленной и нелинейной оптимизации.
  • АНТИГОНА - а детерминированная глобальная оптимизация Решатель MINLP.
  • APMonitor - язык моделирования и пакет оптимизации для крупномасштабных, нелинейных, смешанных целочисленных, дифференциальных и алгебраических уравнений с интерфейсами к MATLAB, Python и Julia.
  • Artelys Knitro - крупномасштабная нелинейная оптимизация для непрерывного и смешанно-целочисленного программирования.
  • ASTOS - Программное обеспечение для оптимизации траектории AeroSpace для решения проблем с пусковой установкой, возвращением в атмосферу и типичными аэрокосмическими проблемами.
  • БАРОН - оптимизация алгебраических нелинейных и смешанно-целочисленных нелинейных задач.
  • COMSOL Multiphysics - кроссплатформенность заключительный элемент анализ, решатель и мультифизика программное обеспечение для моделирования.
  • CPLEX - целочисленное, линейное и квадратичное программирование.
  • FEATool Multiphysics - Панель инструментов графического интерфейса пользователя FEA для 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заработок и яумный ОptimizatioN и реактивный бизнес-аналитика подход.
  • modeFRONTIER - интеграционная платформа для многоцелевой и мультидисциплинарной оптимизации, которая обеспечивает бесшовную связь со сторонними инженерными инструментами, позволяет автоматизировать процесс моделирования проектирования и облегчает принятие аналитических решений.
  • Клен - линейная, квадратичная и нелинейная, непрерывная и целочисленная оптимизация. Сдержанный и непринужденный. Глобальная оптимизация с дополнительным набором инструментов.
  • MATLAB - линейные, целочисленные, квадратичные и нелинейные задачи с Панель инструментов оптимизации; множественные максимумы, множественные минимумы и проблемы негладкой оптимизации; оценка и оптимизация параметров модели.
  • MIDACO легкий программный инструмент для одно- и многоцелевых оптимизация на основе эволюционные вычисления. Написано на C / C ++ и Fortran со шлюзами для Excel, VBA, Java, Python, Matlab, Octave, R, C # и Julia.
  • Mathematica - крупномасштабная многомерная ограниченная и неограниченная, линейная и нелинейная, непрерывная и целочисленная оптимизация.
  • ModelCenter - графическая среда для интеграции, автоматизации и оптимизации дизайна.
  • МОСЕК - линейная, квадратичная, коническая и выпуклая, нелинейная, непрерывная и целочисленная оптимизация.
  • НАГ - линейные, квадратичные, нелинейные, суммы квадратов линейных или нелинейных функций; линейные, разреженные линейные, нелинейные, ограниченные или без ограничений; локальная и глобальная оптимизация; непрерывные или целочисленные задачи.
  • NMath - линейное, квадратичное и нелинейное программирование.
  • Octeract Engine - а детерминированная глобальная оптимизация Решатель MINLP.
  • OptimJ - Язык моделирования на основе Java. Premium Edition включает поддержку решателей Gurobi, Mosek и CPLEX.
  • Платформа Optimus - платформа интеграции процессов и оптимизации дизайна, разработанная Noesis Solutions.
  • optiSLang - программные решения для анализа чувствительности, оптимизации и оценки надежности на основе CAE.
  • OptiY - среда проектирования, обеспечивающая современные стратегии оптимизации и современные вероятностные алгоритмы неопределенности, надежности, устойчивости, анализа чувствительности, интеллектуального анализа данных и мета-моделирования.
  • OptiStruct - отмеченная наградами технология CAE для синтеза концептуального дизайна и оптимизации конструкции.
  • Гончарный круг - оценка параметров в обыкновенных дифференциальных уравнениях (набор инструментов MATLAB, бесплатный для академического использования).
  • pSeven - программная платформа для автоматизации инженерного моделирования и анализа, мультидисциплинарной оптимизации и интеллектуального анализа данных, разработанная DATADVANCE.
  • SAS - программный пакет, разработанный SAS Institute для расширенной аналитики (статистика, прогнозирование, машинное обучение, оптимизация и т. Д.), Бизнес-аналитики, анализа клиентов, управления данными, управления рисками и многого другого.
  • SmartDO - междисциплинарная глобальная оптимизация дизайна, специализирующаяся на автоматизированном проектировании (CAE). с использованием подходов прямого глобального поиска.
  • СНОПТ - задачи масштабной оптимизации.
  • Расшифровщик X - программное обеспечение для разработки продуктов и оптимизации процессов.
  • ТОМЛАБ - поддерживает глобальную оптимизацию, целочисленное программирование, все типы наименьших квадратов, линейное, квадратичное и неограниченное программирование для MATLAB. TOMLAB поддерживает такие решатели, как Гуроби, CPLEX, СНОПТ, KNITRO и MIDACO.
  • VisSim - визуальный блок-схема язык для моделирования и оптимизации динамические системы.
  • WORHP - крупномасштабный разреженный решатель для непрерывной нелинейной оптимизации.

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

  • ЦЕЛИ
  • AMPL
  • APMonitor - бесплатно как для академического, так и для коммерческого использования, с Юля, Python и MATLAB интеграции.
  • ASTOS
  • CPLEX
  • Couenne - Решатель с открытым исходным кодом для детерминированной глобальной оптимизации MINLP под лицензией Eclipse Public License.
  • FICO Xpress
  • Библиотека галахад
  • GEKKO Python
  • Гуроби
  • LIONsolver
  • MIDACO - программный комплекс для численного оптимизация на основе эволюционные вычисления.
  • MINTOцелочисленное программирование решатель с использованием алгоритма ветвей и границ; бесплатное ПО для личного пользования.
  • МОСЕК - программное обеспечение для крупномасштабной оптимизации. Решает линейную, квадратичную, коническую и выпуклую нелинейную, непрерывную и целочисленную оптимизацию.
  • OptimJ - язык моделирования на основе Java; бесплатная версия включает поддержку lp_solve, ГЛПК и LP или же MPS форматы файлов.
  • Гончарный круг - оценка параметров в обыкновенных дифференциальных уравнениях (бесплатный набор инструментов MATLAB для академического использования).
  • SCIP - бесплатно для членов некоммерческих и академических учреждений в исследовательских целях.
  • WORHP

Смотрите также

Рекомендации