Читать в оригинале

<< Предыдущая Оглавление Следующая >>


1.2. Имитация банковской системы

В качестве примера имитационного моделирования рассмот­рим обслуживание кассиром клиентов в банке. Клиенты прибы­вают в банк, ожидают обслуживания, если кассир занят, обслу­живаются и затем покидают банк. Клиенты, прибывающие в банк в тот момент, когда кассир занят, ожидают в единствен­ной к нему очереди. Для простоты мы предполагаем, что мо­мент прибытия клиента и время обслуживания его кассиром известны для каждого клиента (табл. 1.1). Наша цель состоит в ручной имитации функционирования описанной выше систе­мы для того, чтобы определить, какой процент времени кассир свободен и каково среднее время пребывания клиента в банке.

 

Таблица 1.1 Моменты прибытия и время обслуживания клиентов

Номер клиента

Момент прибытия, мин

Время обслуживания, мин

1

3,2

3,8

2

10,9

3,5

3

13,2

4,2

4

14,8

3,1

5

17,7

2,4

6

19,8

4,3

7

21,5

2,7

8

26,3

2,1

9

32,1

2,5

10

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)

1

3,2

3,2

7

0

3,8

2

10,9

10,9

14,4

0

3,5

3

13,2

14,4

18,6

1,2

5,4

4

14,8

18,6

21,7

3,8

6,9

5

17,7

21,7

24,1

4,0

6,4

6

19,8

24,1

28,4

4,3

8,6

7

21,5

28,4

31,1

6,9

9,6

8

26,3

31,1

33,2

4,8

6,9

9

32,1

33,2

35,7

1,1

3,6

10

36,6

36,6

40,0

0

3,4

 

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

Логика обработки событий прибытия и ухода зависит от состояния системы в момент наступления этих событий. При наступлении события «прибытие клиента» в банк дальнейшая ситуация определяется состоянием кассира. Если кассир сво­боден, он переходит в состояние «занят» и приступает к обслу­живанию клиента. При этом планируется событие «уход дан­ного клиента» в момент времени, равный текущему времени плюс продолжительность его обслуживания. Если же кассир занят, обслуживание клиента не может начаться, и, следова­тельно, он встает в очередь (длина очереди увеличивается на 1). Логика обработки события «уход клиента из банка» за­висит от длины очереди. Если в очереди есть хотя бы один кли­ент, кассир остается в состоянии «занят», длина очереди умень­шается на 1 и для первого клиента из очереди планируется событие ухода. Если же очередь пуста, кассир переводится в состояние «свободен».

 

 

Таблица 1.3 Событийно-ориентированное описание имитации работы банковского кассира

Время события, мин

 

Номер клиента

Тип события

Длина очереди

Число клиентов

Состояние кассира

Время простоя кассира, мин

0

-

Начало

0

0

Свободен

-

3,2

1

Приход

0

1

Занят

3,2

7,0

1

Уход

0

0

Свободен

0

10,9

2

Приход

0

1

Занят

3,9

13,2

3

Приход

1

2

Занят

0

14,4

2

Уход

0

1

Занят

0

14,8

4

Приход

1

2

Занят

0

17,7

5

Приход

2

3

Занят

0

18,6

3

Уход

1

2

Занят

0

19,8

6

Приход

2

3

Занят

0

21,5

7

Приход

3

4

Занят

0

21,7

4

Уход

2

3

Занят

0

24,1

5

Уход

1

2

Занят

0

26,3

8

Приход

2

3

Занят

0

28,4

6

Уход

1

2

Занят

0

31,3

7

Уход

0

1

Занят

0

32,1

9

Приход

1

2

Занят

0

33,2

8

Уход

0

1

Занят

0

35,7

9

Уход

0

0

Свободен

0

36,6

10

Приход

0

1

Занят

0,9

40,0

10

Уход

0

0

Свободен

0

В табл. 1.3 приводится событийно-ориентированное описание состояния кассира и числа клиентов в банке (события распо­ложены в хронологическом порядке). На рис. 1.1 приведены графики изменения значений этих переменных состояний во времени. Результаты имитации показывают, что в течение пер­вых 40 мин работы в банке в среднем одновременно находилось 1,4525 клиента, а кассир был свободен 20% времени.

 

 

Для расположения событий прихода и ухода в хронологи­ческом порядке необходимо вести запись  (календарь) собы­тий, подлежащих последующей обработке (будущих событий). Это осуществляется путем фиксирования моментов наступления следующего события прихода и следующего события ухода. Сравнение этих моментов определяет затем выбор одного из со­бытий для обработки. Такой упорядоченный список событий обычно называется файлом, или календарем событий.

 



<< Предыдущая Оглавление Следующая >>