Аналитическое получение характеристик работы системы массового обслуживания
Рассмотренный выше пример демонстрирует способ получения вероятностей нахождения системы в одном из состояний. Однако нас интересуют такие характеристики как средняя длина очереди, среднее время, проведенное в очереди и коэффициент загруженности устройства.
Начинать расчеты можно с характеристики L04 среднего числа требований в очереди, которую можно определить по формуле:
![]()
где Pi+m — это ранее рассчитанные вероятности, здесь очередь возникает, когда требований больше чем обслуживающих устройств.
Например, для ранее рассмотренного примера с тремя каналами обслуживания получаем:


Ряд an=nqn , где q < 1 сходится и сумма такого ряда равна
тогда размер очереди может быть представлен следующим
выражением

Зная средний размер очереди по формулам Литтла можно получить все остальные характеристики.

Коэффициент использования (загруженности) устройств равен отношению интенсивности поступления к интенсивности обслуживания, так как у нас т каналов обслуживания, то коэффициент загруженности:

Пример получения аналитического решения и сравнение его с решением, полученным с помощью имитационного моделирования
Рассчитаем для рассмотренного выше примера (магазина с тремя продавцами) характеристики работы системы массового обслуживания с интенсивность поступления Я =12, интенсивность обслуживания каждого устройства /л = 5 человек в час, число каналов обслуживания по-прежнему 3.
Коэффициент загруженности устройств

Вероятность того, что в системе не останется требований
Средний размер очереди:

Среднее время в очереди:
Стоит внимательно
следить за единицами измерения, если интенсивность поступления измеряется как количество человек в час, то и значение времени в очереди будет тоже в часах, для перевода в минуты необходимо умножать на 60.
Среднее время, проведенное требованиями в системе, составляет:
Среднее количество требований в системе:
![]()
Занесем полученные значения в таблицу и сравним с результатами моделирования в прогонах с разным временем моделирования. Моделирование будем проводить в GPSS World и в AnyLogic/
Модель в GPSS имеет следующий вид:
Prodavec STORAGE 3
GENERATE (exponential! 1,0,5)) ;приход покупателей (в среднем каждые 5 мин)
QUEUE o4ered покупатели встают в очередь
ENTER Prodavec покупатели подходят к продавцу
DEPART o4ered ;выход из очереди
ADVANCE (exponential(2,0,12)) ;время обслуживания в среднем 12 минут
LEAVE Prodavec окончание обслуживания
TERMINATE 1 ;выход покупателя из магазина
START 100 ; запуск моделирования до 1 ООтого обслуженного
покупателя
Модель в Anylogic имеет следующий вид:
Рис. 9.7. Система массового обслуживания с 3 устройствами и бесконечной очередью в AnyLogic
Для объекта source время между прибытиями задано экспоненциальным законом exponential 1/5.0 ).
Для объекта queue заданы следующие свойства:
максимальная вместимость — да;
действие при входе: agent.timevhod=time();
действие при выходе: vremavo4eredi.add(time()-agent.timevhod);
Для объекта delay время задержки задано экспоненциальным законом распределения exponential 1/12.0).
Для объекта sink действие при выходе задано следующим: if (sink.count()>=100 ) getEngine().pause()
Результаты моделирования представим в следующей таблице (табл. 9.1). Попробуйте промоделировать самостоятельно, у вас должны получится похожие результаты, стоит отметить, что для бесплатной PLE версии AnyLogic, максимальное количество генерируемых объектов не может превышать 50 тысяч.
Как видно с увеличением числа обслуженных покупателей характеристики, полученные с помощью моделирования, сходятся к характеристикам, рассчитанным аналитически, причем сходятся неравномерно (при Ютыс и 100 тыс). Неравномерность схождения объясняется использованием большого числа случайных чисел и особенностями реализации потоков случайных чисел в конкретной среде моделирования.
Таблица 9.1
Характеристики СМО, полученные аналитически и с помощью моделирования
|
Характеристика |
Аналитическое значение |
Значения, полученные в результате моделирования за время прохождения N требований |
||||||
|
N= 100 |
N= 1000 |
N = = 10 000 |
N = = ЮОк |
N = = 1 млн |
N = = 10м |
|||
|
К |
GPSS Anylogic |
0,8 |
|
|
|
|
0,798 |
0,800 |
|
^04 |
GPSS Anylogic |
2,589 |
|
|
|
|
2,530 |
2,558 |
|
т 1 04 |
GPSS Anylogic |
12,94 |
|
|
|
|
12,664 |
12,788 |
Вообще трудно представить себе магазин, который бы непрерывно работал пока через него не прошло 10 миллионов покупателей, тем более если в исследовании предполагается, что это не большой магазин. Аналитические значения, рассчитанные для установившегося режима достаточно далеки от реальности. Как правило, магазины работают не круглосуточно, а с утра до вечера, и нормальная работа магазина начинается не сразу, а спустя некоторый переходный период, и в конце дня магазин закрывается.
Помимо этого, аналитические значения необходимо заново выводить и рассчитывать при любом изменении системы, что требует значительных усилий. Любое изменение логики работы модели, приведет к тому, что все аналитические выражения окажутся неверными, и придется выполнять все расчеты с начала, в то время как имитационное моделирование сразу дает результат.
Тем не менее, не стоит считать, что аналитические значения полностью бесполезны, они могут быть использованы во время проверки адекватности модели. Результаты, которые получены при моделировании могут быть ошибочными по разным причинам, из-за ошибок в модели или в коде программы. Никто не может гарантировать что полученные числовые данные есть достоверный результат без соответствующих процедур проверки. Расчет аналитического значения характеристик, запуск модели для большого периода времени и сравнение результатов как раз один из возможных способов обеспечения адекватности, речь о котором пойдет ниже.