Смекни!
smekni.com

Имитационное моделирование системы массового обслуживания (стр. 4 из 7)

(1)

Выберем шаг по времени

. Предположим
, где Т – это время, за которое система выходит на стационарный режим. Отсюда получаем число шагов

.

Последовательно N раз вычисляя

по формуле (1) получим зависимости вероятностей состояний системы от времени, приведенной на рис.4. Очевидно, что уже при
система выходит на стационарный режим. Значения вероятностей СМО при
равны:


Зависимости вероятностей состояний системы от времени

Рис. 4

2.2 Финальные вероятности системы

При достаточно большом времени протекания процессов в системе (

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

Т.к. в стационарном состоянии производные по времени равны 0, то уравнения для финальных вероятностей получаются из уравнений Колмогорова путем приравнивания правых частей 0. Запишем уравнения для финальных вероятностей для нашей СМО.

Решим данную систему линейных уравнений с помощью программного пакета Maple 8 (см. Приложение 1).

Получим финальные вероятности системы:

Сравнение вероятностей, полученных из системы уравнений Колмогорова при

, с финальными вероятностями показывает, что ошибки

равны:

Т.е. достаточно малы. При увеличении интервала времени до

, погрешности должны были стать еще меньше.

Это подтверждает правильность полученных результатов.

2.3 Расчет показатели эффективности системыпо финальным вероятностям

Найдем показатели эффективности системы массового обслуживания. Наиболее важными являются следующие показатели:

1) Вероятность отказа в обслуживании заявки, т.е. вероятность того, что заявка покидает систему не обслуженной. В нашем случае заявке отказывается в обслуживании, если все 4 канала заняты, и очередь максимально заполнена (т.е. 3 человека в очереди), это соответствует состоянию системы S7. Т.к. вероятность прихода системы в состояние S7 равна Р7 , то

2) Относительная пропускная способность – это средняя доля поступивших заявок, обслуживаемых системой.

3) Абсолютная пропускная способность – это среднее число заявок, обслуживаемых в единицу времени.

4) Длина очереди, т.е. среднее число заявок в очереди. Длина очереди равна сумме произведений числа человек в очереди на вероятность соответствующего состояния.

5) Среднее время пребывания заявки в очереди определяется формулой Литтла

6) Среднее число занятых каналов определяется следующим образом:


Глава 3. Имитационное моделирование СМО

3.1 Алгоритм метода имитационного моделирования СМО(пошаговый подход)

Рассмотрим четырехканальную систему массового обслуживания (n = 3) с максимальной длиной очереди равной четырем (m = 2). В СМО поступает простейший поток заявок со средней интенсивностью λ = 4 и показательным законом распределения времени между поступлением заявок. Поток обслуживаемых в системе заявок является простейшим со средней интенсивностью μ = 1 и показательным законом распределения временем обслуживания.

Для имитации СМО воспользуемся одним из методов статистического моделирования – имитационным моделированием. Будем использовать пошаговый подход. Суть этого подхода в том, что состояния системы рассматриваются в последующие моменты времени, шаг между которыми является достаточно малым, чтобы за его время произошло не более одного события.

Выберем шаг по времени (

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

, где (3.1.1)

Исходя из условия (3.1.1) определим шаг по времени

.

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

Рассмотрим поступление заявки в СМО. Вероятность того, что на интервале

в СМО поступит заявка, равна:

.

Сгенерируем случайное число

, и, если
, то будем считать, что заявка на данном шаге в систему поступила, если
, то не поступила.

В программе это осуществляет функция

. Интервал времени
примем постоянным и равным 0,001, тогда отношение
будет равно 1000 . Если заявка поступила, то она принимает значение «истина», в противном случае значение «ложь».

function sob: boolean;

var r:real;

begin

r := Random(1000)/1000;

if r <= (i_deltaT*r_Lamda) then

sob:= true

else

sob:= false;

end;

Рассмотрим теперь обслуживание заявки в СМО. Время обслуживания заявки в системе определяется выражением


,