~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 903BEACB275ECD0113A59423243F7BDE__1713992520 ✰
Заголовок документа оригинал.:
✰ AMPL - Wikipedia ✰
Заголовок документа перевод.:
✰ AMPL — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/AMPL ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/90/de/903beacb275ecd0113a59423243f7bde.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/90/de/903beacb275ecd0113a59423243f7bde__translat.html ✰
Дата и время сохранения документа:
✰ 18.06.2024 01:12:46 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 25 April 2024, at 00:02 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

AMPL — Википедия Jump to content

AMPL

Из Википедии, бесплатной энциклопедии

AMPL
Парадигма Мультипарадигмальность : декларативная , императивная.
Разработано Роберт Фурер
Дэвид Гей
Брайан Керниган
Белл Лаборатории
Разработчик AMPL Оптимизация, Inc.
Впервые появился 1985 год ; 39 лет назад ( 1985 )
Стабильная версия
20230430 / 30 апреля 2023 г .; 13 месяцев назад ( 30 апреля 2023 )
ТЫ Кроссплатформенность : Linux , macOS , Solaris , AIX , Windows.
Лицензия Собственный (переводчик),
бесплатный и с открытым исходным кодом (библиотека решателей AMPL)
Расширения имен файлов .mod, .dat, .run
Веб-сайт www .ampl
Под влиянием
АВК , С
Под влиянием
Пёмо

AMPL ( язык математического программирования ) — это язык алгебраического моделирования, предназначенный для описания и решения задач высокой сложности для крупномасштабных математических вычислений (например, крупномасштабных задач оптимизации и планирования ). [1] Его разработали Роберт Фурер , Дэвид Гэй и Брайан Керниган в Bell Laboratories . AMPL поддерживает десятки решателей , как с открытым исходным кодом , так и с коммерческим программным обеспечением , включая CBC, CPLEX , FortMP , MOSEK , MINOS , IPOPT , SNOPT , KNITRO и LGO. Задачи передаются решателям в виде файлов nl . AMPL используется более чем 100 корпоративными клиентами, а также государственными учреждениями и академическими учреждениями. [2]

Одним из преимуществ AMPL является сходство его синтаксиса с математической записью задач оптимизации . Это позволяет очень кратко и понятно определить проблемы в области оптимизации . Многие современные решатели доступны на сервере NEOS (ранее размещенном в Аргоннской национальной лаборатории , в настоящее время размещенном в Университете Висконсина, Мэдисон). [3] ) принять ввод AMPL. Согласно статистике NEOS, AMPL — самый популярный формат для представления задач математического программирования.

Особенности [ править ]

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

Процедуры и операторы потока управления доступны в AMPL для

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

Чтобы поддержать повторное использование и упростить построение крупномасштабных задач оптимизации, AMPL позволяет разделить модель и данные.

AMPL поддерживает широкий спектр типов задач, среди них:

AMPL вызывает решатель в отдельном процессе, который имеет следующие преимущества:

  • Пользователь может прервать процесс решения в любой момент
  • Ошибки решателя не влияют на интерпретатор
  • 32-битную версию AMPL можно использовать с 64-битным решателем и наоборот.

Взаимодействие с решателем осуществляется через четко определенный интерфейс nl .

Наличие [ править ]

AMPL доступен для многих популярных 32- и 64-разрядных операционных систем , включая Linux , macOS , Solaris , AIX и Windows . [5] Переводчик является проприетарным программным обеспечением, поддерживаемым ООО «АМПЛ Оптимизация». Однако существует несколько онлайн-сервисов, предоставляющих бесплатные средства моделирования и решения с использованием AMPL. [6] [7] Также доступна бесплатная студенческая версия с ограниченной функциональностью и бесплатная полнофункциональная версия для академических курсов. [8]

AMPL можно использовать из Microsoft Excel через SolverStudio надстройку Excel.

Библиотека решателей AMPL (ASL), которая позволяет читать файлы nl и обеспечивает автоматическое дифференцирование, имеет открытый исходный код. Он используется во многих решателях для реализации соединения AMPL.

История статусов [ править ]

В этой таблице представлены важные этапы в истории AMPL.

Год Основные моменты
1985 AMPL был разработан и внедрен [1]
1990 Статья с описанием языка моделирования AMPL была опубликована в журнале Management Science. [9]
1991 AMPL поддерживает нелинейное программирование и автоматическое дифференцирование.
1993 Роберт Фурер , Дэвид Гэй и Брайан Керниган были удостоены премии ORSA/CSTS. [10] за Американского общества исследования операций работы по проектированию систем математического программирования и языка моделирования AMPL.
1995 Расширения для представления кусочно-линейных и сетевых структур.
1995 Конструкции сценариев
1997 Расширенная поддержка нелинейных решателей.
1998 AMPL поддерживает теории дополнительности проблемы
2000 Реляционная база данных и доступ к электронным таблицам
2002 Поддержка программирования ограничений [4]
2003 Компания AMPL Optimization LLC была основана изобретателями AMPL Робертом Фурером, Дэвидом Гэем и Брайаном Керниганом. Новая компания взяла на себя разработку и поддержку языка моделирования AMPL от Lucent Technologies, Inc.
2005 Открыта группа Google по языку моделирования AMPL [11]
2008 Kestrel: представлен интерфейс AMPL для сервера NEOS
2012 Роберт Фурер , Дэвид Гей и Брайан Керниган были удостоены премии INFORMS Impact Prize 2012 как создатели одного из наиболее важных языков алгебраического моделирования. [12]
2012 Книга AMPL становится бесплатной в Интернете [13]
2013 новая кроссплатформенная интегрированная среда разработки (IDE) для AMPL. Становится доступной [14]

Пример модели [ править ]

Транспортная задача Джорджа Данцига используется для создания примера модели AMPL. Эта задача позволяет найти наименее затратный график поставок, отвечающий требованиям рынков и поставок на заводы. [15]

 набор   «Растения»  ; 
   установить   рынки  ; 

   # Мощность завода p в случаях 
  param   Мощность  {  p   in   Plants  }; 

   # Спрос на рынке m в случаях 
  param   Demand  {  m   in   Markets  }; 

   # Расстояние в тысячах миль 
  param   Distance  {  Plants  ,   Markets  }; 

   # Фрахт в долларах за ящик на тысячу миль 
  param   Freight  ; 

   # Стоимость перевозки в тысячах долларов за ящик 
  param   TransportCost  {  p   в   ​​Plants  ,   m   в   Markets  }   :  = 
      Freight   *   Distance  [  p  ,   m  ]   /   1000  ; 

   # Количества отгрузки в случаях 
  var   Shipping  {  Plants  ,   Markets  }   >=   0  ; 

   # Общие транспортные расходы в тысячах долларов 
  минимизируют   стоимость  : 
      sum  {  p   in   Plants  ,   m   in   Markets  }   TransportCost  [  p  ,   m  ]   *   доставка  [  p  ,   m  ]; 

   # Соблюдайте лимит подачи на заводе p 
  s.t.    поставка  {  p   на   заводах  }:   сумма  {  м   на   рынках  }   отгрузка  [  п  ,   м  ]   <=   Мощность  [  п  ]; 

   # Удовлетворить спрос на рынке 
  м.ст.    спрос  {  м   на   рынках  }:   сумма  {  п   на   растениях  }   отгрузка  [  п  ,   м  ]   >=   Спрос  [  м  ]; 

   данные  ; 

   set   Plants   :  =   Сиэтл   Сан  -  Диего  ; 
   набор   Рынки   :  =   Нью  -  Йорк   , Чикаго,   Топика  ; 

   Параметр   Емкость   :  = 
      Сиэтл     350 
      Сан  -  Диего   600  ; 

   параметр   Спрос   :  = 
      Нью  -  Йорк   325 
      Чикаго    300 
      Топика     275  ; 

   param   Расстояние   :   Нью  -  Йорк   , Чикаго,   Топика   :  = 
      Сиэтл          2,5        1,7       1,8 
      Сан  -  Диего        2,5        1,8       1,4  ; 

   параметр   Грузовые перевозки   :  =   90  ; 

Решатели [ править ]

Вот неполный список решателей , поддерживаемых AMPL: [16]

Решатель Поддерживаемые типы проблем
АПОПТ смешанное целочисленное нелинейное программирование
Артелис Книтро линейное, квадратичное и нелинейное программирование
Бонмин смешанное целочисленное нелинейное программирование
БПМПД линейное и квадратичное программирование
МОНЕТА-ИЛИ CBC смешанное целочисленное программирование
МОНЕТА-ИЛИ CLP линейное программирование
КОНОПТ нелинейное программирование
Ринд [17] смешанное целочисленное нелинейное программирование (MINLP)
Комплексный комплекс линейное, квадратичное, конусное программирование второго порядка и смешанное целочисленное программирование
CPLEX CP Оптимизатор [18] программирование ограничений
ФИЛЬТР нелинейное программирование
ФортМП линейное, квадратичное и смешанное целочисленное программирование
Закодированный [19] программирование ограничений
ИПОРТ нелинейное программирование
ДаКоП [20] программирование ограничений
ЛГО [21] глобальная и локальная нелинейная оптимизация
lp_solve [22] линейное и смешанное целочисленное программирование
МИНОС линейное и нелинейное программирование
МИНТО смешанное целочисленное программирование
МОИСЕЙ линейное, смешанное целочисленное линейное, квадратичное, смешанное целочисленное, квадратичное, квадратично ограниченное , коническое и выпуклое нелинейное программирование
Октерактовый движок Все типы задач оптимизации без дифференциальных или интегральных членов, включая разрывные задачи с минимальными и максимальными элементарными функциями.
SCIP смешанное целочисленное программирование
СНОПТ нелинейное программирование
Каждый раз [23] линейное и смешанное целочисленное программирование
ВОРХП нелинейное программирование
ШАХ линейное и смешанное целочисленное программирование
Экспресс линейная и выпуклая квадратичная оптимизация и их смешанные целочисленные аналоги

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

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

  1. ^ Перейти обратно: а б Фурер, Роберт ; Гей, Дэвид М; Керниган, Брайан В. (2003). AMPL: язык моделирования для математического программирования . США: Duxbury Press/Brooks/Cole Publishing Company. ISBN  978-0-534-38809-6 .
  2. ^ «Доступная позиция» . Архивировано из оригинала 11 сентября 2011 года . Проверено 29 июля 2011 г.
  3. ^ "О" . Проверено 11 августа 2015 г.
  4. ^ Перейти обратно: а б Фурер, Роберт ; Гей, Дэвид М. (2002). «Расширение языка алгебраического моделирования для поддержки программирования с ограничениями» . ИНФОМС Журнал по вычислительной технике . 14 (4): 322–344. CiteSeerX   10.1.1.8.9699 . дои : 10.1287/ijoc.14.4.322.2825 .
  5. ^ «Платформы» . AMPL Optimizations Inc. Архивировано из оригинала 14 мая 2022 года . Проверено 1 ноября 2019 г.
  6. ^ «Сервер NEOS для оптимизации» . Проверено 11 августа 2015 г.
  7. ^ «Попробуй AMPL!» . Проверено 11 августа 2015 г.
  8. ^ «Загрузки AMPL» . Архивировано из оригинала 26 мая 2015 года . Проверено 11 августа 2015 г.
  9. ^ Фурер, Роберт ; Гей, Дэвид М.; Керниган, Брайан В. (1990). «Язык моделирования для математического программирования» (PDF) . Наука управления . 36 (5): 519–554–83. дои : 10.1287/mnsc.36.5.519 .
  10. ^ ИНФОРМ. «ИКС-ИНФОРМС» (PDF) . Архивировано из оригинала (PDF) 7 октября 2006 года . Проверено 11 августа 2015 г.
  11. ^ «Группы Google» .
  12. ^ ИНФОРМ. «Приз ИНФОРМС Импакт» . Архивировано из оригинала 22 октября 2013 года . Проверено 11 августа 2015 г.
  13. ^ «Книга AMPL: комплексное руководство по построению моделей оптимизации для начинающих и опытных пользователей» . Проверено 5 марта 2021 г.
  14. ^ «Группы Google» . Проверено 11 августа 2015 г.
  15. ^ Данциг, Джордж (2016) [1963]. «3. Формулирование модели линейного программирования» . Линейное программирование и расширения . Издательство Принстонского университета. стр. 32–62. ISBN  978-1-4008-8417-9 .
  16. ^ «Решатели – AMPL» . Архивировано из оригинала 27 февраля 2014 года . Проверено 21 января 2018 г.
  17. ^ «Куэнн» . Архивировано из оригинала 29 октября 2013 года . Проверено 27 октября 2013 г.
  18. ^ «mp/solvers/ilogcp в мастере · ampl/mp · GitHub» . Гитхаб . Проверено 11 августа 2015 г.
  19. ^ «mp/solvers/gecode at master · ampl/mp · GitHub» . Гитхаб . Проверено 11 августа 2015 г.
  20. ^ «mp/solvers/jacop at master · ampl/mp · GitHub» . Гитхаб . Проверено 11 августа 2015 г.
  21. ^ «ЛГО-АМПЛ» . Проверено 11 августа 2015 г.
  22. ^ «Использование lpsolve из AMPL» . Проверено 11 августа 2015 г.
  23. ^ «mp/solvers/sulum at master · ampl/mp · GitHub» . Гитхаб . Проверено 11 августа 2015 г.
  24. ^ «Официальный сайт ГЛПК» . Проверено 17 сентября 2020 г.

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

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 903BEACB275ECD0113A59423243F7BDE__1713992520
URL1:https://en.wikipedia.org/wiki/AMPL
Заголовок, (Title) документа по адресу, URL1:
AMPL - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)