Таблица 6.1. Ручная имитация работы банковского кассира.
Время
№
клиента
Событие
Состояние СМО
Число клиентов
Состояние кассира
0,0
—
—
Свободен
3,2
Приход
Занят
7,0
Уход
Свободен
10,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
Приход
Занят
32,2
Уход
Занят
35,7
Уход
Свободен
36,6
Приход
Занят
40,0
Уход
Свободен
Логика обработки событий прибытия и ухода клиента зависит от состояния системы в момент наступления этих событий.
При наступлении события "прибытие клиента" дальнейшая ситуация определяется состоянием кассира. Если кассир свободен, он переходит в состояние занят и приступает к обслуживанию клиента. При этом планируется событие "уход данного клиента" в момент времени, равный текущему времени плюс продолжительность его обслуживания. Если же кассир занят, обслуживание клиента не может начаться и, следовательно, он встает в очередь (длина очереди увеличивается на единицу). Логика обработки события "уход клиента" зависит от длины очереди. Если в очереди есть хотя бы один клиент, кассир остается в состоянии "занят", длина очереди уменьшается на 1 и для первого клиента из очереди планируется событие ухода. Если же очередь пуста, кассир переводится в состояние "свободен".
На рис.6.2 приведены графики изменения значений этих переменных состояния во времени.
Результаты имитации показывают, что в течение первых 40 минут работы в банке в среднем находилось одновременно 1,4525 клиента, а кассир был свободен 20% времени.
Для расположения событий в хронологическом порядке необходимо вести запись событий, подлежащих последующей обработке (будущих событий). Это осуществляется путем записи в список моментов наступления следующего события прихода и следующего события ухода. Сравнение этих моментов определяет затем выбор одного из событий для обработки. Такой упорядоченный список событий обычно называется календарем событий.
Событие
Приход
Уход
Приход
Приход
Уход
Приход
Приход
Время свершения
3,2
7,0
10,9
13,2
14,4
14,8
17,7
Модели систем классифицируются на дискретно и непрерывно изменяющиеся. Отметим, что термины эти относятся к модели, а не к реальной системе. Практически одну и ту же систему можно представить в виде дискретно изменяющейся модели, либо непрерывно изменяющейся.
Как правило, в имитационном моделировании время является основной независимой переменной. Другие переменные, включенные в имитационную модель, являются функциями времени, то есть зависимыми переменными. Термины дискретная и непрерывная относятся к поведению зависимых переменных.
При дискретной имитации зависимые переменные изменяются дискретно в определенные моменты имитационного времени, называемые моментами совершения событий.
Переменная времени в имитационной модели может быть либо дискретной, либо непрерывной в зависимости от того, могут ли дискретные изменения зависимых переменных происходить в любые моменты времени или только в определенные моменты.
Имитация банковской системы является примером дискретной имитации. Зависимыми переменными в этом примере являются состояние кассира и число ожидающих в очереди клиентов. Моменты совершения событий соответствуют моментам времени, когда клиент прибывает в систему, и моментам времени, когда клиент покидает ее после обслуживания кассиром.
Как правило, в дискретных моделях значения зависимых переменных не изменяются в промежутках между моментами совершения событий. Пример изменения зависимых переменных в дискретной модели приведен на рис. 6.3.
При непрерывной имитации зависимые переменные модели изменяются непрерывно в каждый момент имитационного времени.
Непрерывная модель может быть либо с непрерывным, либо с дискретным временем в зависимости от того, будут ли значения зависимых переменных доступны в любой точке или только в определенные моменты имитационного времени.
Модели процессов в большинстве электрических и механических систем являются примером ситуаций, когда целесообразно использование непрерывного представления. Кроме того, в некоторых случаях полезно моделировать дискретную систему с помощью непрерывного представления. Например, развитие популяций отдельных видов рыб в озере в экологических задачах моделируют с помощью непрерывного представления, хотя в реальности изменение популяции происходит дискретно.
При комбинированной имитации зависимые переменные могут изменяться дискретно, непрерывно или непрерывно с наложенными дискретными скачками. Время изменяется либо дискретно, либо непрерывно.
Наиболее важный аспект комбинированной имитации заключается в возможности взаимодействий между дискретно и непрерывно изменяющимися переменными.
Простейший пример такой модели дает электрическая схема, содержащая тиристор и нагрузочное сопротивление (рис. 6.5.). На графике показано, как непрерывная переменная напряжение на нагрузке изменяется скачком в зависимости от значения дискретной переменной - состояния тиристора (“открыт” или “закрыт”).