Универсальные пакеты имитационного моделирования
Универсальные пакеты имитационного моделирования позволяют строить модели, учитывающие время выполнения функций. Полученную модель можно “проиграть” во времени и получить статистику происходящих процессов так, как это было бы в реальности. В имитационной модели изменения процессов и данных ассоциируются с событиями. “Проигрывание” модели заключается в последовательном переходе от одного события к другому. Обычно имитационные модели строятся для поиска оптимального решения в условиях ограничения по ресурсам, когда другие математические модели оказываются слишком сложными. В нашей стране наибольшее распространение получил универсальные пакеты имитационного моделирования Arena и GPSS. Пакет имитационного моделирования Arena. Пакет имитационного моделирования Arena [Systems, 1999; Kelton et al., 1998] поставляется компанией Systems Modeling Corporation (Севикли, Пенсильвания). Arena – это универсальное средство для оптимизации процессов, позволяющее строить модели, учитывающие время выполнения функций. Пакет позволяет строить имитационные модели, проигрывать их и анализировать результаты такого проигрывания. С помощью Arena можно строить модели процессов для самых разных сфер деятельности – производственных технологических операций, складского учета, банковской деятельности, обслуживания клиентов в ресторане и т.д. Имитационная модель Arena включает следующие основные элементы: источники и стоки (Create и Dispose), процессы (Process) и очереди (Queue). Источники ‑ это элементы, от которых в модель поступает информация или объекты. Скорость поступления данных или объектов от источника обычно задается статистической функцией. Сток ‑ это устройство для приема информации или объектов. Понятие очереди близко к понятию хранилища данных - это место, где объекты ожидают обработки. Времена обработки объектов (производительность) в разных процессах могут быть разными. В результате перед некоторыми процессами могут накапливаться объекты, ожидающие своей очереди. Часто целью имитационного моделирования является минимизация количества объектов в очередях. Тип очереди в имитационной модели может быть конкретизирован. Очередь может быть похожа на стек - пришедшие последними в очередь объекты первыми отправляются на дальнейшую обработку (Last In First Out ‑ LIFO). Альтернативой стеку может быть последовательная обработка (очередь), когда первыми на дальнейшую обработку отправляются объекты, пришедшие первыми (First In First Out ‑ FIFO). Могут быть заданы и более сложные алгоритмы обработки очереди. Процессы ‑ это аналог работ в функциональной модели. В имитационной модели может быть задана производительность процессов. Моделирующие конструкции, именуемые в пакете Arena модулями, объединены в шаблоны Basic Process (Основной процесс), Advanced Process (Дополнительный процесс) и Advanced Transfer (Дополнительная передача). Шаблон Basic Process содержит модули, которые используются во многих моделях (скажем, для моделирования поступления, ухода и обслуживания заявок). Шаблон Advanced Process состоит из модулей, предназначенных для выполнения специальных логических функций, таких как выбор очереди при наличии в системе нескольких очередей или координации продвижения нескольких объектов в различных частях системы. И, наконец, шаблон Advanced Transfer содержит модули (например, конвейеры и транспортеры), применяемые для описания передачи объектов из одной части системы в другую. Для создания модели в пакете Arena модули сначала перетаскивают в окно модели, а затем соединяют, чтобы обозначить движение объектов в моделируемой системе. Затем модули детализируют с помощью диалоговых окон или встроенных таблиц. В иерархии модели может быть неограниченное число уровней. Пакет Arena обеспечивает двухмерную анимацию и позволяет выводить на экран динамическую графику (гистограммы и графики временной зависимости). Число потоков случайных чисел в пакете не ограничено. Более того, пользователь имеет доступ к 12 стандартным теоретическим распределениям вероятностей, а также к эмпирическим распределениям. В пакет встроено средство моделирования нестационарных процессов Пуассона, представляющих собой модель поступления объектов с зависящей от времени скоростью поступления. В пакете Arena имеется простой способ выполнения независимых повторных прогонов моделируемой системы, а также построения точечных оценок и доверительных интервалов для показателей работы системы. В нем можно построить и доверительные интервалы для оценки разности между средними значениями двух систем. Пакет позволяет строить графики (гистограммы, столбиковые диаграммы, графики временной зависимости и корреляционные). Кроме того, для пакета имеется дополнительный модуль оптимизации. Пакет Arena содержит конструкции для моделирования нескольких видов погрузочно-разгрузочных устройств, таких как конвейеры (транспортные конвейеры и конвейеры-накопители), автопогрузчики и автоматизированные управляемые транспортные системы. Arena позволяет выполнять функционально-стоимостной анализ (ФСА) систем (в Arena этот метод называется ABC-Activity-Based Costing), благодаря чему можно учитывать дополнительные и обычные затраты при анализе систем, а также создавать временные отчеты. Результаты моделирования сохраняются в базе данных и отображаются с помощью программы Crystal Reports, встроенной в пакет. Пакет Arena поддерживает язык Visual Basic for Application (VBA) компании Microsoft, что дает возможность считывать данные из других приложений и записывать в другие приложения (например, Excel). Таким образом, можно создавать Удобные интерфейсы для ввода параметров модели, генерирования отчетов заданного формата и т. д. Данная технология также применяется для интерфейса Arena с графическим пакетом Microsoft Visio. Кроме того, существует поставляемая по отдельному заказу версия Professional Version пакета Arena, которая используется для создания настраиваемых модулей и сохранения их в качестве шаблонов. Эти модули формируют из стандартных модулей пакета Arena или из других настраиваемых модулей. Система имитационного моделирования GPSS. GPSS (General Purpose Simulation System) ‑ это общецелевая система моделирования и язык программирования, используемый для имитационного моделирования различных систем, в основном систем массового обслуживания. Система GPSS была разработана сотрудником фирмы IBM Джефри Гордоном в 1961 году. Гордоном были созданы 5 первых версий языка: GPSS (1961), GPSS II (1963), GPSS III (1965), GPSS/360 (1967) и GPSS V (1971). Известный ранее только специалистам, в нашей стране этот программный пакет завоевал популярность после издания в СССР в 1980 году монографии Т Дж. Шрайбера [8]. В ней была рассмотрена одна из ранних версий языка ‑ GPSS/360, а также основные особенности более мощной версии ‑ GPSS V, поддерживаемой компанией IBM, у нас она была более известна как пакет моделирования дискретных систем (ПМДС). Этот пакет работал в среде подсистемы диалоговой обработки системы виртуальных машин единой серии (ПДО СВМ ЕС). После окончания поддержки GPSS V компанией IBM следующей версией стала система GPSS/H компании Wolverine Software разработанная в 1978 году под руководством Дж. Хенриксена. В 1984 году появилась первая версия GPSS для персональных компьютеров с операционной системой DOS ‑ GPSS/PC. Она была разработана компанией Minuteman Software под руководством С. Кокса. Конец XX века ознаменовался разработкой компанией Minuteman Software программного продукта GPSS World, увидевшей свет в 1993 году. За сравнительно небольшой период времени было выпущено несколько его версий, причем в каждой последующей возможности системы моделирования наращивались. Помимо этих основных версий существует также Micro-GPSS, разработанная Ингольфом Сталлом в Швеции, ‑ это упрощенная версия, предназначенная для изучения языка GPSS и WebGPSS, также предназначенная для изучения работы системы и разработки простейших имитационных моделей в сети интернет. Сейчас GPSS используется, но редко, так как этот язык менее гибок, чем такие языки моделирования как Simula и SIMSCRIPT II.5. Программа на языке GPSS состоит из блоков, которые имитируют различные параметры «устройств» в модели. Как то ожидание, выполнение работы и другие. Блок начинает выполняться при попадании в него транзактов ‑ активных, неделимых элементов модели. К транзактам применяются различные правила описанные в блоках программы. Пример кода для системы GPSS World выглядит примерно так: SIMULATEGENERATE (EXPONENTIAL(1, 0.014, 0.118));; генерация потока транзактов с; параметрами экспоненциального; распределенияADVANCE (Normal(1, 0.091, 0.016));; Ожидание транзактом в течение; времени, распределено му по нормаль; ному (гауссову) законуTERMINATE; удаление транзакта
|