WikiDer > Список программ оптимизации
Эта статья нужны дополнительные цитаты для проверка. (август 2013) (Узнайте, как и когда удалить этот шаблон сообщения) |
Учитывая преобразование между входными и выходными значениями, описываемое математическая функция ж, оптимизация имеет дело с генерацией и выбором лучшего решения из некоторого набора доступных альтернатив, путем систематического выбора входных значений из разрешенного набора, вычисления выходных данных функции и записи лучших выходных значений, найденных в процессе. Таким образом можно смоделировать многие проблемы реального мира. Например, входными данными могут быть проектные параметры двигателя, выходными данными может быть потребляемая мощность, или входными данными может быть выбор бизнеса, а выходом может быть полученная прибыль.
An проблема оптимизации, в данном случае задачу минимизации, можно представить следующим образом
- Данный: а функция ж : А р от некоторых набор А к действительные числа
- Ищи: элемент Икс0 в А такой, что ж(Икс0) ≤ ж(Икс) для всех Икс в А.
При непрерывной оптимизации А есть некоторые подмножество из Евклидово пространство рп, часто указывается набором ограничения, равенства или неравенства, которые члены А должны удовлетворить. В комбинаторной оптимизации А есть некоторые подмножество дискретного пространства, например двоичных строк, перестановок или наборов целых чисел.
Использование программное обеспечение для оптимизации требует, чтобы функция ж определяется на подходящем языке программирования и подключается во время компиляции или выполнения к программному обеспечению оптимизации. Программное обеспечение для оптимизации предоставит входные значения в А, программный модуль, реализующий ж доставит вычисленное значение ж(Икс) и, в некоторых случаях, дополнительную информацию о функции, например о производных.
Таким образом, достигается четкое разделение проблем: разные программные модули оптимизации могут быть легко протестированы на одной и той же функции. ж, или данное программное обеспечение оптимизации может использоваться для различных функций ж.
В следующих таблицах представлен список заметного программного обеспечения для оптимизации, организованный в соответствии с лицензией и типом бизнес-модели.
Бесплатное программное обеспечение с открытым исходным кодом
- Приложения
Имя Лицензия Описание ADMB BSD а нелинейная оптимизация рамки, используя автоматическая дифференциация. ASCEND GPL а математическое моделирование система моделирования химических процессов. РЕЖИМ GPL среда тестирования для оптимизация и линейная алгебра решатели. GNU Octave GPL программный пакет на языке программирования высокого уровня, в первую очередь предназначенный для численных вычислений; хорошо известная бесплатная альтернатива MATLAB. Scilab CeCILL кроссплатформенный вычислительный пакет и высокоуровневый численно ориентированный язык программирования с бесплатной структурой численной оптимизации.
- Программные библиотеки
Имя Лицензия Описание АЛГЛИБ GPL Библиотека нелинейной оптимизации с двойной лицензией (GPL / коммерческая) (неограниченная, прямоугольная, линейная, нелинейно-ограниченная, нелинейная и задачи QP), опционально с использованием автоматическая дифференциация. Кросс-язык: C ++, C #. МОНЕТА-ИЛИ EPL 1.0 целочисленное программирование, линейное программирование, нелинейное программирование Длиб Лицензия на программное обеспечение Boost Неограниченная / ограниченная рамками библиотека нелинейной оптимизации / оптимизации QP, написанная на C ++. GEKKO Лицензия MIT машинное обучение и оптимизация смешано-целочисленных и дифференциально-алгебраических уравнений на Python. ГЛПК GPL Комплект линейного программирования GNU, C API. IPOPT CPL крупномасштабный нелинейный оптимизатор для непрерывных систем (требуется градиент), 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 тоже. SciPy BSD общий числовой пакет для 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
Смотрите также
- Сравнение программ оптимизации
- Список систем компьютерной алгебры
- Список языков программирования ограничений
- Список числовых библиотек
- Список алгоритмов оптимизации
- Список решателей SMT