Вопрос

Я посещал курс «Интеллектуальное принятие решений» (в основном это был курс по оптимизации проблем).На занятии мы узнали об AMPL и о том, как расширить решатели.В последнее время я мало об этом слышал и не видел объявлений о вакансиях.

Мой вопрос:AMPL все еще используется?Если да, то для чего он используется?

Да, я понимаю, что AMPL можно заменить Matlab, однако AMPL бесплатен, а Matlab даже близко не стоит.

Это было полезно?

Решение

Набор инструментов Matlab под названием YALMIP позволяет вам создавать формулировки в Matlab.Это, в свою очередь, упрощает интеграцию с другими требованиями предварительной или постобработки.

Раньше я был пользователем AMPL, однако после того, как нашел YALMIP, я больше не использую AMPL.Поскольку это экономит мне время на написание кода для подготовки данных, которые передаются в AMPL, и обработки вывода.

Другие советы

Вы очень растеряны.

AMPL и Matlab — две совершенно разные вещи, они могут пересекаться в некоторых областях применения, но предназначены для решения совершенно разных типов задач.

AMPL — это язык описания задач оптимизации.Сам по себе он ничего не делает:он лишь предоставляет пользователю средства для взаимодействия с решателем.Решатели могут быть для линейного программирования (CPLEX), нелинейного программирования (Ipopt) или других, более эзотерических разновидностей.

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

AMPL предоставляет точные первую и вторую производные посредством автоматического дифференцирования. Это ключевая функция, которую может измерить только GAMS. Вы можете не знать, насколько это важно и сложно, но – поверьте мне – это так.

Никто не станет предлагать работу «AMPL-кодировщику», потому что такого понятия не существует.Работа предлагается человеку, который знает, что такое оптимизация и какие инструменты на первом месте.Точно так же никто не предлагает работу «программисту Matlab», они предлагают работу инженеру, который ЗНАЕТ Matlab.

Наконец, AMPL не бесплатен.Вы можете бесплатно использовать студенческую версию ТОЛЬКО в учебных целях.Такая версия ограничивает вас 100 переменными и ограничениями (я полагаю, вы знаете, что это значит).Если вам нужен полноценный AMPL, вам нужно заплатить за лицензию И лицензии решателей, каждого из них!Ipopt имеет открытый исходный код, но Cplex довольно дорогой.

Да, AMPL все еще используется, и очень активно.Я использую его для расчета оптимальных траекторий космических кораблей, и, поверьте мне, ничто не сравнится с этим.Я люблю Matlab, но использовать Matlab для серьезной оптимизации — это все равно, что открывать ложкой банку с едой: возможно, вы добьетесь успеха, но будут кровь и слезы.

У AMPL и Matlab есть одна общая черта:они оба были созданы блестящими учеными (Молер->Matlab, Гей->AMPL) на переднем крае своих областей.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top