Jump to content

Общая алгебраическая система моделирования

ГАМС
Разработчик(и) Корпорация развития ГАМС
Стабильная версия
47.2.0 / 1 июля 2024 г. (32 дня назад) ( 01.07.2024 ) [1]
Платформа Кросс-платформенный
Тип Язык алгебраического моделирования (AML)
Лицензия Собственный
Веб-сайт www .gams

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

GAMS был первым языком алгебраического моделирования (AML). [2] и формально аналогичен широко используемым языкам программирования четвертого поколения . GAMS содержит интегрированную среду разработки (IDE) и подключена к группе сторонних решателей оптимизации . Среди этих решателей BARON , решатели COIN-OR , CONOPT, COPT Cardinal Optimizer , CPLEX , DICOPT, IPOPT , MOSEK , SNOPT и XPRESS .

GAMS позволяет пользователям реализовать своего рода гибридный алгоритм, объединяющий различные решатели. Модели описываются в кратких, удобочитаемых алгебраических формулировках. GAMS — один из самых популярных входных форматов для сервера NEOS . [ нужна ссылка ] Хотя изначально он был разработан для приложений, связанных с экономикой и наукой управления , он имеет сообщество пользователей из различных областей техники и науки.

Хронология

[ редактировать ]
  • 1976 г. Идея GAMS представлена ​​на Международном симпозиуме по математическому программированию (ISMP), Будапешт. [3]
  • 1978 Фаза I: GAMS поддерживает линейное программирование . Поддерживаемые платформы: мейнфреймы и рабочие станции Unix.
  • 1979 Фаза II: GAMS поддерживает нелинейное программирование .
  • 1987 GAMS становится коммерческим продуктом.
  • 1988 г. Первая компьютерная система (16 бит)
  • 1988 Алекс Мираус, инициатор GAMS и основатель корпорации развития GAMS, удостоен премии INFORMS Computing Society.
  • 1990, 32 бит, два расширителя
  • 1990 GAMS переезжает в Джорджтаун, Вашингтон, округ Колумбия.
  • 1991 Возможность смешанных целочисленных нелинейных программ (DICOPT)
  • 1994 GAMS поддерживает смешанные проблемы дополнительности.
  • 1995 г. Добавлен язык MPSGE для моделирования CGE.
  • 1996 г. открывается европейский филиал в Германии.
  • 1998 г., 32-битная родная Windows
  • 1998 Возможность стохастического программирования (OSL/SE, DECIS)
  • 1999 Внедрение интегрированной среды разработки GAMS (IDE).
  • 2000 г. Окончание поддержки DOS и Win 3.11.
  • 2000 Начало реализации Всемирной инициативы GAMS.
  • 2001 г. Представлен обмен данными GAMS (GDX).
  • 2002 GAMS внесен в список вех, посвященных 50-летию OR/MS.
  • 2003 коническое программирование . Добавлено
  • 2003 г. Глобальная оптимизация в GAMS
  • 2004 Запуск инициативы по обеспечению качества.
  • 2004 г. Поддержка программ с квадратичными ограничениями.
  • 2005 Поддержка 64-битных операционных систем ПК (Mac PowerPC/Linux/Win)
  • 2006 GAMS поддерживает параллельные грид-вычисления.
  • с открытым исходным кодом 2007 GAMS поддерживает решатели от COIN-OR.
  • 2007. Поддержка Solaris на Sparc64.
  • 2008 г. Поддержка 32- и 64-битной Mac OS X.
  • GAMS 2009 года доступен в облаке Amazon Elastic Compute Cloud
  • 2009 GAMS поддерживает расширенные математические программы ( EMP ).
  • 2010 GAMS удостоена фирменной награды Немецкого общества исследования операций (GOR).
  • 2010 Интерфейс GDXMRW между GAMS и Matlab
  • 2010 г. Окончание поддержки Mac PowerPC/Dec Alpha/SGI IRIX/HP-9000/HP-UX.
  • 2011 Поддержка библиотек внешних функций
  • 2011 г. Окончание поддержки Win95/98/ME и Win2000.
  • 2012 Победителями премии INFORMS Impact Prize 2012 стал Александр Мираус. Премия была вручена создателям пяти важнейших языков алгебраического моделирования.
  • 2012 г. Внедрение объектно-ориентированного API для .NET, Java и Python.
  • 2012 Победителями Coin OR Cup 2012 стали Майкл Бюсик, Стивен Дирксе и Стефан Вигерске для GAMSlinks.
  • 2012 г. Окончание поддержки 32-разрядной версии Mac OS X.
  • 2013 Поддержка распределенного MIP (Cplex)
  • 2013 Расширение стохастического программирования GAMS EMP.
  • 2013 Интерфейс GDXRRW между GAMS и R
  • 2014 Решатель локального поиска LocalSolver добавлен в портфолио решателей
  • 2014 г. Окончание поддержки 32-разрядной версии Linux и 32-разрядной версии Solaris.
  • Документация LaTeX 2015 г. из источника GAMS (Model2TeX)
  • 2015 г. Окончание поддержки Win XP.
  • 2016 Новая управленческая команда
  • 2017 Средство встроенного кода
  • API C++ 2017 г.
  • 2017 г. Внедрение «ядерных» и «периферийных» платформ.
  • 2018 Студия GAMS (бета)
  • 2018 г. Окончание поддержки x86-64 Solaris.
  • 2019 GAMS MIRO — интерфейс модели с быстрой оркестровкой (бета-версия)
  • 2019 Прекращение поддержки Win7, 32-разрядная версия Windows перенесена на периферийные платформы. [4]
  • 2019 Изменена схема версий на XX.YZ.
  • 2020 г. Внедрение схемы демо-версии и лицензирования сообщества.
  • 2020 г. Официальный выпуск GAMS MIRO (Model Interface with Rapid Orchestration) для развертывания моделей GAMS в качестве интерактивных приложений.
  • 2021 г. Официальный выпуск GAMS Engine, нового решения для запуска заданий GAMS в облачных средах.
  • 2022 г. Официальный выпуск GAMS Engine SaaS, размещенной версии GAMS Engine.
  • 2023 г. Выпуск GAMSPy, пакета Python, который позволяет алгебраическое моделирование на Python с использованием GAMS в качестве серверной части.
  • Сертификация ISO27001 2024 г.
  • 2024 г. Покупка нелинейного Solver IP CONOPT компанией GAMS.

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

Стимул к развитию GAMS возник из разочаровывающего опыта большой группы экономического моделирования во Всемирном банке . Оглядываясь назад, можно назвать исторической случайностью тот факт, что в 1970-е годы экономисты-математики и статистики собрались вместе для решения проблем развития. Они использовали лучшие методы, доступные на тот момент, для решения многоотраслевых моделей всей экономики, а также крупных моделей моделирования и оптимизации в сельском хозяйстве, сталелитейной промышленности, производстве удобрений, энергетике, водопользовании и других секторах. Хотя группа провела впечатляющие исследования, первоначальный успех было трудно воспроизвести за пределами хорошо функционирующей исследовательской среды. Существующие методы построения, манипулирования и решения таких моделей требовали нескольких ручных, трудоемких и подверженных ошибкам переводов в различные представления для конкретных задач, необходимые для каждого метода решения. Во время презентаций на семинарах разработчикам моделей приходилось защищать существующие версии своих моделей, иногда совершенно иррационально, из соображений времени и денег. Их модели просто нельзя было перенести в другие среды, поскольку требовались специальные знания программирования, а форматы данных и методы решения были непереносимы.

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

Очевидным ответом было объединение многомерной алгебраической записи с реляционной моделью данных. Техники написания компиляторов к тому времени были широко распространены, и такие языки, как GAMS, можно было реализовать относительно быстро. Однако перевод этого строгого математического представления в формат, специфичный для алгоритма, потребовал вычисления частных производных в очень больших системах. В 1970-х годах TRW разработала систему под названием PROSE , которая использовала идеи инженеров-химиков для вычисления точечных производных, которые были точными производными в данной точке, и встраивала их в последовательный язык моделирования исчисления в стиле Фортран . Полученная система позволила пользователю использовать автоматически сгенерированные точные производные первого и второго порядка. Это была новаторская система и важная демонстрация концепции. Однако PROSE имела ряд недостатков: она не могла работать с большими системами, представление задач было привязано к структуре данных типа массива, требующей вычислений адресов, и система не предоставляла доступ к современным методам решения. Из линейного программирования GAMS узнал, что использование разреженности является ключом к решению больших проблем. Таким образом, последней частью головоломки стало использование разреженных структур данных.

Строки, начинающиеся с * в первом столбце рассматриваются как комментарии. [5] : 32 

Пример модели

[ редактировать ]

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

Данциг , ГБ, Глава 3.3. В разделе «Линейное программирование и расширения». Издательство Принстонского университета, Принстон, Нью-Джерси, 1963.

 Sets
      i   canning plants   / seattle, san-diego /
      j   markets          / new-york, Chicago, topeka / ;
 Parameters
      a(i)  capacity of plant i in cases
        /    seattle     350
             san-diego   600  /
      b(j)  demand at market j in cases
        /    new-york    325
             Chicago     300
             topeka      275  / ;
 Table d(i,j)  distance in thousands of miles
                   new-york       Chicago      topeka
     seattle          2.5           1.7          1.8
     san-diego        2.5           1.8          1.4  ;
 Scalar f  freight in dollars per case per thousand miles  /90/ ;
 Parameter c(i,j)  transport cost in thousands of dollars per case ;
           c(i,j) = f * d(i,j) / 1000 ;
 Variables
      x(i,j)  shipment quantities in cases
      z       total transportation costs in thousands of dollars ;
 Positive Variable x ;
 Equations
      cost        define objective function
      supply(i)   observe supply limit at plant i
      demand(j)   satisfy demand at market j ;
 cost ..        z  =e=  sum((i,j), c(i,j)*x(i,j)) ;
 supply(i) ..   sum(j, x(i,j))  =l=  a(i) ;
 demand(j) ..   sum(i, x(i,j))  =g=  b(j) ;
 Model transport /all/ ;
 Solve transport using lp minimizing z ;
 Display x.l, x.m ;

Подсистемы

[ редактировать ]

Система математического программирования для анализа общего равновесия (MPSGE) — это язык, используемый для формулирования и решения моделей экономического равновесия Эрроу-Дебре , и существует как подсистема в GAMS. [7]

См. также

[ редактировать ]
  1. ^ «47 Распределение» . gams.com . Проверено 03 июля 2024 г.
  2. ^ Каллрат, Йозеф (2004). моделирования Языки в математической оптимизации (Первое изд.). Норвелл, США: Издательство Kluer Academic Publishers. п. 241. ИСБН  978-1-4613-7945-4 .
  3. ^ На пути к общей системе алгебраического моделирования (PDF) . IX. Международный симпозиум по математическому программированию. Будапешт, Венгрия. 1976. с. 185.
  4. ^ https://www.gams.com/blog/2020/01/phasing-out-of-32-bit-support-with-gams-30/
  5. ^ Розенталь, Ричард Э (2007). ГАМС — Руководство пользователя (PDF) . Вашингтон, округ Колумбия, США: Корпорация развития GAMS . Проверено 20 декабря 2020 г.
  6. ^ Р.Э. Розенталь (1988). «Глава 2: Учебное пособие по GAMS». ГАМС: Руководство пользователя . The Scientific Press, Редвуд-Сити, Калифорния.
  7. ^ Резерфорд, Т.Ф. (1999). «Прикладное моделирование общего равновесия с использованием MPSGE в качестве подсистемы GAMS: обзор структуры и синтаксиса моделирования». Вычислительная экономика . 14 : 1–4. дои : 10.1023/А:1008655831209 . S2CID   60954697 .
[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 208541cb155609551ea5da5b64a5f96d__1719980280
URL1:https://arc.ask3.ru/arc/aa/20/6d/208541cb155609551ea5da5b64a5f96d.html
Заголовок, (Title) документа по адресу, URL1:
General algebraic modeling system - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)