Алгебраический язык моделирования
Языки алгебраического моделирования ( AML высокого уровня ) — это языки компьютерного программирования для описания и решения задач высокой сложности для крупномасштабных математических вычислений (т. е. задач типа крупномасштабной оптимизации ). [1] Одним из особых преимуществ некоторых языков алгебраического моделирования, таких как AIMMS , является [1] АМПЛ , [2] ГАМС , [1] Гекко , МатПрог , Мозель , [1] [3] и ЛОП является сходство их синтаксиса с математической записью задач оптимизации. Это позволяет очень кратко и понятно определять проблемы в области оптимизации, что поддерживается некоторыми элементами языка, такими как множества, индексы, алгебраические выражения, мощный разреженный индекс и переменные обработки данных, ограничения с произвольными именами. Алгебраическая формулировка модели не содержит подсказок о том, как ее обрабатывать.
AML не решает эти проблемы напрямую; вместо этого он вызывает соответствующие внешние алгоритмы для получения решения. Эти алгоритмы называются решателями и могут решать определенные виды математических задач, например:
- линейные задачи
- целочисленные задачи
- (смешанные целочисленные) квадратичные задачи
- смешанные проблемы дополнительности
- математические программы с равновесными ограничениями
- нелинейные системы с ограничениями
- общие нелинейные проблемы
- нелинейные программы с разрывными производными
- нелинейные целочисленные задачи
- глобальные проблемы оптимизации
- стохастической оптимизации задачи
Основные элементы [ править ]
Основными элементами AML являются:
- интерпретатор языка моделирования (сам AML)
- ссылки на решатель
- пользовательские интерфейсы (UI)
- средства обмена данными
Принципы проектирования [ править ]
Большинство средств борьбы с отмыванием денег следуют определенным принципам проектирования:
- сбалансированное сочетание декларативных и процедурных элементов
- открытая архитектура и интерфейсы к другим системам
- разные слои с разделением:
- модель и данные
- модель и методы решения
- модель и операционная система
- модель и интерфейс
Генерация модели данных на основе
Большинство языков моделирования используют сходство между структурированными моделями и реляционными базами данных. [4] путем предоставления уровня доступа к базе данных, который позволяет системе моделирования напрямую получать доступ к данным из внешних источников данных (например, этих [5] обработчики таблиц для AMPL). С совершенствованием аналитических технологий, применяемых к бизнес-процессам, модели оптимизации становятся неотъемлемой частью систем поддержки принятия решений ; Модели оптимизации могут быть структурированы и многоуровневы, чтобы представлять и поддерживать сложные бизнес-процессы. В таких приложениях многомерная структура данных, типичная для систем OLAP, может быть напрямую сопоставлена с моделями оптимизации, а типичные операции MDDB могут быть преобразованы в операции агрегации и дезагрегации базовой модели. [6]
История [ править ]
Языки алгебраического моделирования берут свое начало в программах генератора матриц и составления отчетов (MGRW), разработанных в конце семидесятых годов. Некоторые из них — MAGEN, MGRW (IBM), GAMMA.3, DATAFORM и MGG/RWG. Эти системы упростили передачу экземпляров проблемы алгоритмам решения и создание читаемого отчета о результатах.
Первый матричный генератор для LP был разработан примерно в 1969 году в Математическом центре (ныне CWI) в Амстердаме. [7] Его синтаксис был очень близок к обычной математической записи с использованием индексов и сигм. Входные данные для генератора состояли из отдельных разделов для модели и данных. Он нашел пользователей в университетах и в промышленности. Основным промышленным потребителем был производитель стали Hoogovens (ныне Tata Steel), где он использовался почти 25 лет.
Большой шаг к современным языкам моделирования сделан в UIMP. [8] структура моделей математического программирования, где впервые анализируется взятых из реальной жизни, чтобы подчеркнуть естественную группировку переменных и ограничений, возникающих из таких моделей. Это привело к появлению функций структуры данных, которые поддерживали структурированное моделирование; в этой парадигме все входные и выходные таблицы вместе с переменными решения определяются в терминах этих структур, что сравнимо с использованием индексов и наборов.Вероятно, это единственная наиболее примечательная особенность, общая для всех современных методов борьбы с отмыванием денег, которая со временем позволила разделить структуру модели и ее данные, а также обеспечить соответствие между объектами в модели MP и данными в реляционных базах данных. Таким образом, модель можно наконец создать и решить для разных наборов данных, просто изменив ее наборы данных.
Соответствие между объектами моделирования и реляционными моделями данных , [4] после этого стало возможным беспрепятственно создавать экземпляры моделей путем извлечения данных из корпоративных баз данных. Эта функция в настоящее время обеспечивает большую часть удобства оптимизации в реальных приложениях и поддерживается большинством известных языков моделирования.
Хотя языки алгебраического моделирования обычно были изолированными, специализированными и коммерческими языками, в последнее время языки алгебраического моделирования начали появляться в виде специализированных библиотек с открытым исходным кодом в составе языка общего назначения, таких как Gekko или Pyomo для Python или JuMP для языка Julia. .
Известные меры борьбы с отмыванием денег [ править ]
Специализированные меры по борьбе с отмыванием денег [ править ]
AML на общих программирования языках Пакеты
Ссылки [ править ]
- ↑ Перейти обратно: Перейти обратно: а б с д Каллрат, Джозеф (2004). Языки моделирования в математической оптимизации . Академическое издательство Клувер. ISBN 978-1-4020-7547-6 .
- ^ Роберт Фурер; Дэвид М. Гей; Брайан В. Керниган (1990). «Язык моделирования для математического программирования» . Наука управления . 36 (5): 519–554–83. дои : 10.1287/mnsc.36.5.519 .
- ^ Гере, Кристель; Принс, Кристиан; Сево, Марк (2002). Приложения оптимизации с помощью Xpress-MP . Dash Optimization Limited. ISBN 0-9543503-0-8 .
- ↑ Перейти обратно: Перейти обратно: а б Гаутама Митра; Кормак Лукас; Ширли Муди; Бьярни Кристьянссон (1995). «Множества и индексы в моделировании линейным программированием и их интеграция с реляционными моделями данных» . Вычислительная оптимизация и приложения . 4 (3): 262–283.
- ^ [1] Обработчики баз данных и электронных таблиц для AMPL
- ^ Куцукис, Н.; Митра, Г. ; Лукас, К. (1999). «Адаптация онлайн-аналитической обработки для моделирования решений: взаимодействие информации и технологий принятия решений» . Системы поддержки принятия решений . 26 (1): 1–30. дои : 10.1016/S0167-9236(99)00021-4 . Проверено 22 ноября 2017 г.
- ^ Жак. М. Антонисс, Система ввода для задач линейного программирования, Statistica Neerlandica 24 (1970), 143–153.
- ^ Фрэнсис Д. Эллисон; Гаутама Митра (1982). «UIMP: пользовательский интерфейс для математического программирования» (PDF) . Транзакции ACM в математическом программном обеспечении . 8 (3): 229–255. дои : 10.1145/356004.356005 . S2CID 3948431 . Архивировано из оригинала (PDF) 18 января 2014 г. Проверено 16 января 2014 г.