7.3. Имитация задач теории массового обслуживания

      Раccмотрим одноканальную однофазовую модель. В ней система состоит из одной станции, на которую поступают заявки, образующие очередь. Если станция свободна, то она приступает к обслуживанию той заявки из очереди, которая стоит первой. Промежуток времени между появлениями двух последовательных заявок и время обслуживания считаются случайными величинами с заданными функциями распределения. Введем следующие обозначения

WT- среднее время ожидания заявки в очереди

IDT- среднее время простоя системы в ожидании очередного требования

WTi-время ожидания i-ой заявки

IDTi-время простоя системы в ожидании i-той заявки

ATi-интервал между появлениями i-той и i+1-ой заявками

Sti-время обслуживания i-той заявки, i=1,2,3,…m

F(AT)-функция распределения плотности вероятностей интервала времени между двумя последовательными заявками

F(ST)-функция распределения плотности вероятностей времени обслуживания.

WT=1/mSi=1mWTi=TWT/m, IDT=1/mSi=1m IDTi=TIDT/m  (58)

Блок-схема программы приведена на рис. 22.

В блоке 1 обнуляется время появления первой заявки, время ее ожидания, время простоя системы в ожидании ее прихода, полное время ожидания и простоя и фиксируется факт появления первой заявки. Блок 2 генерирует относительное время появления следующей заявки. Оно отсчитывается от момента прихода предыдущего требования. В блоке 3 из полученной величины отнимается время ожидания предыдущей заявки. Эта разность определяет новое значение относительного времени прибытия нового требования. Его отсчет ведется теперь от момента начала обслуживания

 

Рис. 22. Блок-схема расчетов по одноканальной однофазовой модели массового обслуживания

      Рассмотрим работу многоканальной системы массового обслуживания с неограниченной очередью (рис. 23) [18]


Рис. 23. Система массового обслуживания с неограниченной очередью

 

В данной системе возможны два события:

1)    поступление заявок из источника на обслуживание (если один из приборов свободен), либо в очередь;

2)    окончание обслуживания очередной заявки, поступление ее на приемник и выбор следующей заявки из очереди (если очередь не пуста).

Блок управления моделью определяет, какое из событий настанет раньше и присваивает системному времени значение, равное времени наступления этого события. Затем управление передается на блоки, имитирующие работу отдельных устройств, и выполняются действия, связанные с данным событием. Например, при поступлении очередной заявки из источника необходимо:

1)    сгенерировать время поступления следующей заявки;

2)    если все каналы заняты - увеличить  длину очереди на одну заявку;

3)    если есть свободный прибор, то пометить его как занятый и сгенерировать время окончания обслуживания заявки.

Обозначим t - модельное время, n - длина очереди, k – число занятых каналов,m – общее число каналов, ns- число обслуженных заявок, a- псевдослучайная величина, распределенная равномерно на отрезке [0,1],  tp- время поступления очередной заявки в систему, ts[1:m]- упорядоченный по возрастанию массив времен окончания обслуживания заявок на занятых каналах, n1 и n2 - первый и второй моменты распределения длины очереди.

         Считаем, что время между поступлением заявок распределено экспоненциально с параметром l, а время обслуживания также распределено экспоненциально с параметром m. Моделирование прекращаем после обслуживания 10 заявок. По определению, первый и второй моменты распределения длины очереди равны

n1=Si=0¥ i*P(n =i); n2   =  Si=0¥ i2*P( n=i), (59)

где P(n=i) –вероятность того, что длина очереди равна i. В качестве оценки вероятности P(n=i) будем использовать отношение времени, которое длина очереди была равна i , к общему времени моделирования. Для исходных данных l=5, m=2, m=3  блок-схема алгоритма приведена на рис. 24.

 

Задачи для самостоятельной работы

 

1. Время между последовательными прибытиями покупателей равномерно распределено в интервале от 1 до 20 минут. Для 50 % покупателей время обслуживания -8 минут, для остальных-14 минут. Какие генераторы нужно взять? Определите суммарное время ожидания покупателей и время простоя системы за 4 часа работы магазина.

2. По блок-схеме рис. 25 напишите программу и определите вероятности P(n=i), n1 и n2. Постройте таблицу значений t, tp, ts(1), ts(2), ts(3), k, n, ns  и график зависимости n от t.

3. Имеется одноканальная СМО с очередью ограниченной длины. Время между поступлением заявок распределено равномерно на отрезке [0,2], время обслуживания имеет экспоненциальное распределение с параметром m=1. Длина очереди n=1. Если очередь заполнена, то поступившее вновь требование покидает СМО без обслуживания. Моделирование закончить после обслуживания заданного числа заявок. Построить заданные характеристики для длины очереди.

1.     Имеем многоканальную СМО с отказами без очереди. Если все каналы заняты, заявка, вновь поступившая в систему, покидает систему без

обслуживания. Время между поступлением заявок распределено экспоненциально, с параметром l=1. Количество каналов  m=2. Время обслуживания заявок на каждом приборе распределено равномерно на отрезке [0, 1]. Моделирование закончить при достижении заданного модельного времени Т. Постройте заданные характеристики для количества занятых каналов.

 Блок – схемы алгоритмов для решения этих задач можно найти в [16, 17].