1. Проверка состояния очереди (пустая или непустая).
а) Если очередь пуста, объявить простой системы.
б) Если очередь непуста, то начать обслуживание первого по очереди клиента, уменьшить длину очереди на единицу и скорректировать протокол времени ожидания; получить время обслуживания клиента и вычислить время окончания обслуживания (текущее время ). Поскольку в этом примере система начинает работу при пустой очереди, она начинает функционировать с состояния простоя. Первая заявка на обслуживание поступает через
ч.
Последовательность случайных чисел, используемая в данном примере, из следующего ряда
Таким образом, модель переходит из в . В момент происходит событие, связанное с поступлением требования на обслуживание, поэтому, следуя приведенной выше схеме, вычисляем время поступления следующего требования: .
Поступление Поступление Конец обслуживания
Рис. 2.3. События, связанные с окончанием обслуживания
Теперь, поскольку система простаивает, начинается обслуживание текущего клиента; время его обслуживания, задаваемое , равно ч. Время окончания обслуживания вычисляется как
.
Система объявляется работающей, а время простоя корректируется следующим образом: Время простоя ч.
Осуществившиеся до настоящего момента события показаны на рис. 2.3.
Следующее по времени событие – поступление требования в момент . Поскольку система продолжает работать, требование ставится в очередь, а длина очереди корректируется:
(в момент ).
Следующее требование поступает в момент времени
.
(В рассматриваемом примере полезно наносить новые события на рис. 2.3 по мере их получения.)
Заметим, что все события, осуществившиеся в момент или ранее (рис. 2.3), относятся к предыстории, и их можно исключить из рассмотрения. Другими словами, в процессе моделирования необходимо хранить информацию лишь о будущем. Это замечание очень важно в связи с использованием ЭВМ, поскольку позволяет экономить память.
Следующее событие состоит в поступлении требования на обслуживание в момент . Поскольку система все еще находится в рабочем состоянии, длина очереди должна быть скорректирована
(в момент ),
а следующее требование поступит в момент
.
Следующее событие, происходящее в момент , представляет собой окончание обслуживания. Поскольку очередь непуста, начинается обслуживание первого по очереди клиента. Длина очереди изменяется
(в момент ),
а суммарное время ожидания становится равным
ч.
Используя , получаем время завершения обслуживания данного клиента:
.
Теперь становится понятным, как получаются данные в ходе эксплуатации имитационной модели. Процедура повторяется до тех пор, пока не будет промоделирован весь интервал . После можно определить различные операционные характеристики, исходя из периода моделирования:
Доля времени простоя
системы, %
=
Суммарное время простоя
Период моделирования
100
Среднее время ожидания
клиентом обслуживания
=
Суммарное время ожидания Число поступающих клиентов
Вычисление средней длины очереди осуществляется несколько иначе. Из рис. 2.4 видно, каким образом обычно меняется длина очереди в зависимости от за моделируемый период времени продолжительности . Например, в рассматриваемой здесь обслуживающей системе длина очереди в период между и , между и и между и . Эта информация необходима для получения графика на рис. 4. Средняя длина очереди представляет собой среднее значение, изображенное пунктирной линией, то есть
Средняя длина очереди =
Площадь
Моделируемый период
Заметим, что для получения необязательно ждать истечения периода поскольку можно вычислять через приращения каждый раз, когда меняется . Так, в данном примере между и и ; между и и, следовательно, ; между и и . Этот процесс приращений продолжается до тех пор, пока не станет равным .