- •Содержание
- •Постановка задачи
- •Структурная схема модели
- •3 Имитационная модель на языке gpss
- •3.1 Описание системы моделирования gpss
- •3.2 Описание модели на gpss
- •3.3 Результаты вычислительных экспериментов
- •3.4 Факторный эксперимент
- •3.5 Оценка достоверности результатов
- •4 Моделирование в системе AnyLogic
- •4.1 Описание среды разработки AnyLogic
- •4.2 Создание модели в AnyLogic
- •4.3 Результаты вычислительных экспериментов
- •Список использованных источников
Структурная схема модели
Моделируемая система представлена в виде модели системы массового обслуживания (СМО), структурная схема которой показана на рис.1.
Рисунок 1- Концептуальная модель процесса обслуживания покупателей в магазине
Моделируемая СМО – это магазин продуктов, состоящий из трех отделов, в первом из которых (хлебный отдел) находится два продавца.
В модели используются следующие графические символы:
G - Блок GENERATE (Генерировать) – это блок, который создает заявки, входящие в модель (в данном случае заявки – это покупатели в магазине). Интервал времени между последовательными появлениями покупателей в магазине (то есть, выход заявки из блока GENERATE) называется интервалом поступления.
Queue – очередь покупателей у какого-либо отдела магазина.
Первый хлебный отдел представляет собой многоканальное устройство МКУ (в данном случае двухканальное). А остальные два отдела являются одноканальными приборами (устройствами).
Т – блок TERMINATE (Завершить) – используется для удаления заявок из GPSS-модели (то есть для покидания покупателем магазина).
3 Имитационная модель на языке gpss
3.1 Описание системы моделирования gpss
Система моделирования GPSS World имеет боле 70 типов блоков и команд, около 50 системных параметров.
В процессе прогона имитационной модели обеспечивается возможность постоянного наблюдения в шести интерактивных графических окнах (машинная манипуляция, работа одноканальных и многоканальных устройств, функционирование блоков, отображение таблиц и матриц).
Система выдает отчет о результатах моделирования, содержащий широкий спектр параметров блоков, устройств, очередей, таблиц, пользовательских списков.
Язык GPSS ориентирован на класс систем, процесс функционирования которых можно представить в виде дискретного множества состояний и правил перехода из одного состояния в другое во времени. Примерами таких систем являются вычислительные системы, сети ЭВМ, системы передачи сообщений, транспортные объекты, склады, магазины и т.д. В качестве концептуальных моделей таких объектов используют системы массового обслуживания, автоматы, стохастические сети и т.п.
В состав GPSS входят следующие типы объектов: транзакты, блоки, списки, ячейки, функции, устройства, памяти, логические ключи, очереди, таблицы, ячейки, функции, переменные. Под объектом понимается образ, объединяющий некоторую структуру данных и правила преобразования этих данных. Стандартные числовые атрибуты – часть данных, доступных программисту.
Язык GPSS хорошо согласуется с удобным описанием модели системы в форме Q - схемы.
3.2 Описание модели на gpss
Здесь представлена модель, созданная в среде GPSS World. Листинг программы представлен ниже:
;отдел №1 «Хлебный»
BREAD STORAGE 2 ;хлебный отдел с двумя продавцами
qqqt QTABLE QCOM,0,0.5,30 ;статистика для транзактов,
;входящих в блоки QUEUE и DEPART
GENERATE (Exponential (1,0,3)) ;генератор покупателей
QUEUE QCOM ;стать в очередь вообще
QUEUE BREAD ;стать в очередь перед хлебным отделом
ENTER BREAD ;занять одного из 2-х продавцов отдела №1
DEPART BREAD ;выйти из очереди перед отделом №1
DEPART QCOM ;выйти из очереди вообще
ADVANCE 2,1 ;обслуживание одним из 2-х продавцов отд. №1
LEAVE BREAD ;освободить одного из 2-х продавцов отд. №1
TERMINATE 1 ;выход покупателя из магазина
;отдел №2 «Колбасно-мясные изделия и сыр»
GENERATE (Exponential (1,0,7)) ;генератор покупателей
QUEUE QCOM ;стать в очередь вообще
QUEUE SAUSAGE ;стать в очередь перед колбасным отделом
SEIZE SAUSAGE ;занять продавца отдела №2
DEPART SAUSAGE ;выйти из очереди перед отделом №2
DEPART QCOM ;выйти из очереди вообще
ADVANCE (NORMAL(1,5.5,1.2)) ;обслуживание покупателя в
;отделе №2
RELEASE SAUSAGE ;освободить продавца отдела №2
TERMINATE 1 ;выход покупателя из магазина
;отдел №3 «Крупы, макаронные изделия, чай, кофе»
GENERATE (Exponential (1,0,10)) ;генератор покупателей
QUEUE QCOM ;стать в очередь вообще
QUEUE MACARONI ;стать в очередь перед отделом №3
SEIZE MACARONI ;занять продавца отдела №3
DEPART MACARONI ;выйти из очереди перед отделом №3
DEPART QCOM ;выйти из очереди вообще
ADVANCE (NORMAL(1,7,1)) ;обслуживание покупателя в
;отделе №3
RELEASE MACARONI ;освободить продавца отдела №3
TERMINATE 1 ;выход покупателя из магазина
Операторы GPSS, использованные в модели, представлены в таблице 1.
Таблица 1
Код и назначение |
Содержание операнда |
1 |
2 |
GENERATE (создание транзактов) |
Интервал поступления транзактов. Модификатор-интервал или модификатор-функция. Время задержки первого транзакта . Количество создаваемых транзактов. |
STORAGE (хранилище или память) |
Название STORAGE становится понятным, если представить себе, что МКУ это автоматизированный склад или многоэтажный гараж с определенным числом мест, которое и задает этот оператор. В таких случаях МКУ определяет не количество одинаковых устройств для обслуживания, а количество одинаковых мест для хранения. |
QTABLE (peгиcтpaция cтaтиcтики для тpaнзaктoв, вxoдящиx в блoки QUEUE и DEPART) |
NAME QTABLE A, B, C, D NAME – мeткa oбъeктa. A - имя oчepeди. В - вepxний пpeдeл пepвoгo чacтoтнoгo клacca. C – рaзмep чacтoтныx клaccoв. D – кoличecтвo чacтoтныx клaccoв. |
QUEUE (регистрация входа в очередь) |
Номер (имя) очереди. Число единиц, на которое увеличивается длина очереди. |
1 |
2 |
ENTER (занятие многоканального устройства) |
Номер (имя) многоканального устройства. Число единиц, занимаемых транзактом. |
ADVANCE (задержка транзакта) |
Среднее время. Модификатор-интервал или модификатор-функция: FNj, FN$<ИМЯ>, FN*j |
DEPART (уменьшение очереди) |
Номер (имя) очереди. Число единиц, на которое уменьшается длина очереди (не превосходит текущей длины очереди). |
LEAVE (освобождение каналов во многоканальном устройстве) |
Номер (имя) многоканального устройства. Число освобождаемых транзактом каналов во многоканальном устройстве. |
TERMINATE (удаление транзактов) |
Число единиц, на которое уменьшается счетчик завершении, задаваемый оператором START. |
RELEASE (освобождение устройства) |
Номер (имя) освобождаемого устройства.
|