Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В качестве примера имитационного моделирования рассмотрим обслуживание кассиром покупателей магазина. Покупатели прибывают в магазин, ожидают обслуживания, если кассир занят, обслуживаются и затем покидают магазин. Покупатели, прибывшие в магазин в тот момент, когда кассир занят, ожидают в единственной к нему очереди. Для простоты мы предполагаем, что момент прибытия клиента и время обслуживания его кассиром известны для каждого клиента (табл. 1.1). Наша цель состоит в ручной имитации функционирования описанной выше системы для того, чтобы определить, какой процент времени кассир свободен и каково среднее время прибытия покупателя в кассе.
Так как имитационное моделирование — это динамическое отображение изменений состояния системы с течением времени, то в первую очередь должны были быть определены состояния системы. Для данного примера состояние моделируемой системы определяется состоянием кассира (свободен или занят) и числом покупателей в магазине.
Состояние системы изменяется в результате в происхождения следующих событий:
1. Прибытие покупателя к кассе.
2. Завершение обслуживания кассиром и последующего ухода покупателя.
Для иллюстрации имитации будем определять состояния системы путем обработки упорядоченных во времени событий, соответствующих прибытию и уходу покупателя.
Таблица 1.1 Моменты прибытия и времена
обслуживания покупателей
Номер покупателя | Момент прибытия, мин. | Время обслуживания, мин |
3,2 | 3,8 | |
10,9 | 3,5 | |
13,2 | 4,2 | |
14,8 | 3,1 | |
17,7 | 2,4 | |
19,8 | 4,3 | |
21,5 | 2,7 | |
26,3 | 2,1 | |
32,1 | 2,5 | |
36,6 | 3,4 |
Итоги ручной имитации в соответствии с исходными данными, представленной в табл. 1.1, приводятся в таблице 1.2., при этом предполагается, что в начальный момент времени в системе нет клиентов, кассир свободен и первый покупатель прибывает в момент времени, равный 3,2 мин.
В таблице 1.2 первый и второй столбцы взяты из таблицы 1.1. Время начала обслуживания, приведенное в третьем столбце, зависит от того, покинул ли предыдущий покупатель магазин. Оно принимается равным наибольшему значению из времен прибытия данного покупателя и ухода предыдущего. Время ухода приведено в четвертом столбце, оно вычисляется как сумма соответствующего элемента третьего столбца времени обслуживания данного клиента, которое определяется по таблице 1.1. Значение времени нахождения каждого покупателя в очереди и магазине вычисляется. Как показано в таблице 1.2 среднее значение этих переменных соответственно равны 2,61 и 5,81 мин.
Таблица 1.2. Ручное моделирование магазина
Номер покупателя (1) | Момент прибытия, мин. (2) | Момент начала обслуживания, мин. (3) | Момент ухода, мин. (4) | Время ожидания в очереди, мин. (5)=(3)-(2) | Время прибытия в магазин, мин. (6)=(4)-(2) |
3,2 | 3,2 | 7,0 | 0,0 | 3,8 | |
10,9 | 10,9 | 14,4 | 0,0 | 3,5 | |
13,2 | 14,4 | 18,6 | 1,2 | 5,4 | |
14,8 | 18,6 | 21,7 | 3,8 | 6,9 | |
17,7 | 21,7 | 24,1 | 4,0 | 6,4 | |
19,8 | 24,1 | 28,4 | 4,3 | 8,6 | |
21,5 | 28,4 | 31,1 | 6,9 | 9,6 | |
26,3 | 31,1 | 33,2 | 4,8 | 6,9 | |
32,1 | 33,2 | 35,7 | 1,1 | 3,6 | |
36,6 | 36,6 | 0,0 | 3,4 |
Таблица 1.2 содержит итоговую информацию, относящуюся к покупателю. Но не содержат сведений о кассире и размере очереди к нему. Для получения такой информации необходимо исследовать события, связанные с этой ситуацией.
Логика обработки события и ухода зависит от состояния системы в момент наступления этих событий. При наступлении события «прибытие покупателя» в магазин дальнейшая ситуация определяется состоянием кассира. Если кассир свободен, он переходит в состояние «занят» и приступает к обслуживанию клиента. При этом планируется событие «уход данного покупателя» в момент времени. Равный текущему времени плюс продолжительность его обслуживания. Если кассир занят, обслуживание покупателя не может начаться, и, следовательно, он встает в очередь (длина очереди увеличивается на 1). Логика обработки события «уход покупателя из магазина» зависит от длины очереди. Если в очереди есть хотя бы один покупатель, кассир остается в состоянии «занят», длина очереди уменьшается на 1 и для первого покупателя из очереди планируется событие ухода. Если же очередь пуста, кассир переводится в состояние «свободен».
В таблице 1.3 приводится событийно-ориентированное описание состояния кассира и числа клиентов в магазине (события расположены в хронологическом порядке). На рис 1.2 приведены графики изменения значений этих переменных состояний во времени. Результаты имитации показывают, что в течение первых 40 мин. работы в магазине в среднем одновременно находилось 1,4525 покупателя, а кассир был свободен 20 % времени.
Для расположения событий прихода и ухода в хронологическом порядке необходимо вести запись (календарь) событий, подлежащих последующей обработке (будущих событий). Это осуществляется путем фиксирования моментов наступления следующего события прихода и следующего события ухода. Сравнение этих моментов определяет выбор одного из событий для обработки. Такой упорядоченный список событий обычно называют файлом или календарем событий.
Таблица 1.3 Событийно-ориентированное описание
имитации работы магазинного кассира
Время события, мин. | Номер покупателя | Тип события | Длина очереди | Число покупателей | Состояние кассира | Время простоя кассира (мин.) |
0,0 | — | Начало | Свободен | — | ||
3,2 | Приход | Занят | 3,2 | |||
7,0 | Уход | Свободен | ||||
10,9 | Приход | Занят | 3,9 | |||
13,2 | >> | >> | ||||
14,4 | Уход | >> | ||||
14,8 | Приход | >> | ||||
17,7 | >> | >> | ||||
18,6 | Уход | >> | ||||
19,8 | Приход | >> | ||||
21,5 | >> | >> | ||||
21,7 | Уход | >> | ||||
24,1 | >> | >> | ||||
26,3 | Приход | >> | ||||
28,4 | Уход | >> | ||||
31,1 | >> | >> | ||||
32,1 | Приход | >> | ||||
33,2 | Уход | >> | ||||
35,7 | >> | Свободен | ||||
36,6 | Приход | Занят | 0,9 | |||
40,0 | Уход | Свободен |
Рис. 1.2 Графическое представление результатов
моделирования работы магазина
Приведенный пример иллюстрирует целый ряд важных понятий. Мы убедились в том, что в любой момент времени модель находиться в некотором состоянии. При наступлении событий состояние системы меняются в соответствии с логико-математическими отношениями, связанными с этими событиями. Таким образом, события определяют динамическую структуру системы. При заданных начальном состоянии, логической схеме обработки каждого события и методе определения случайных величин наша проблема в большой степени становится вычислительной проблемой. Существенным элементом схемы вычислительных явлений является календарь событий, который обеспечивает механизм для записи и упорядочения будущих событий.
Еще одним важным моментом является то, что мы сможем рассматривать изменения состояния системы в двух аспектах:
1. как процесс, с которым сталкивается покупатель при обслуживании (точка зрения покупателя);
2. как последовательность событий, которые вызывают изменения состояния кассира (точка зрения кассира).
Дата публикования: 2015-01-23; Прочитано: 246 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!