Моделирование элементарной системы массового обслуживания




 

Для того чтобы получить последовательность случайных чисел с заданным законом распределения необходимо:

1 Получить равномерно- распределенные случайные числа R в интервале (0,1).

2 С помощью формул преобразования получить случайные числа с заданным законом распределения:

V = f (R).

В состав стандартных функций многих алгоритмических языков входят функции генерирования случайных чисел. Например, на языке Бейсик есть стандартная функция RND (х), генерирующая случайные числа, равномерно – распределенные в интервале (0,1).

Для каждого закона распределения есть своя формула преобразования.

Физическое описание процессов в элементарной модели сводится к следующему: в случайные моменты времени в систему поступают вызовы. Вызовы выстраиваются в очередь и обслуживаются в порядке поступления.

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

Моменты времени поступления вызовов обозначим: t1, t2,..., tn. Эти моменты времени равны:

t1 = Z1

t2 = Z1 + Z2

t3 = Z1+Z2+Z3

.

.

.

ti = Z1+Z2+Z3+... + Zi

.

.

.

Zi = ti-1 – случайная величина, которая распределена по показательному закону.

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

Введем следующие обозначения:

L1 = - интенсивность потока поступления вызовов.

L2 = - интенсивность времени обслуживания.

- интервал моделирования.

F (I) – момент освобождения линии после обслуживания i-го вызова.

Т (I) – момент поступления i-го вызова.

Р (I) – длительность простоя линии перед обслуживанием i-го вызова.

W(I) – время ожидания i-го вызова

S (I) - длительность обслуживания i-го вызова.

Z (I) - длительность пребывания i-го вызова в системе.

D 1 – предельная длительность ожидания.

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

С1 – счетчик поступающих вызовов.

С2 – счетчик числа вызовов в очереди.

С3 – счетчик числа вызовов, обслужат без ожидания.

С4 – счетчик числа вызовов, пребывавших в системе не более, чем заданное время.

С5 – общее число обслуженных вызовов.


 

 

 

Алгоритм моделирования элементарной системы представлен в виде схемы на рис.1.

 

Описание функционирования алгоритма.

 

Блок 1: Вводим значения L1, L2, M, D1, D2 T (0)=0, F (0)=0

C1=C2=C3=C4=C5=0

Блок 2: Формирование случайного числа V (I)

I=1, V (I) = - (1/L1) * LOG (1-R (I)), где

R (I) є [ 0,1]

R (I) – случайное число, сформированное генератором случайных чисел.

Блок 3: T (I) = T (I-1) + V(I)

Блок 4: Осуществляется проверка, не вышел ли момент T (I) за интервал моделирования. Вместо T (I) можно задаться количеством вызовов I.

Если условие выполняется, то переходим к блоку 21, а в противном случае к блоку 5.

Блок 5: Подсчет числа поступивших вызовов: С1=С1+1.

Блок 6: Подсчет текущего числа вызовов в очереди: С2=С2+1.

Блок 7: Определяется длительность пребывания вызова в очереди:

W (I) = F (I-1)-T(1)

Блок 8: Осуществляется проверка, ждет ли i-ый вызов в очереди или

обслуживание начинается немедленно.

Если W (I)<0, то вызов не ждал в очереди, а ждала линия.

При W (I) =0 вызов поступил точно в момент освобождения линии.

При выполнении условия управление передается блоку 9, иначе - блоку 12.

Блок 9: Фиксируется отсутствие ожидания

W (I) =0

Блок 10: Осуществляется подсчет числа вызовов, обслуженных без очереди:

С3=С3+1

Блок 11: Подсчитывается длительность простое линии перед обслуживанием i-го вызова: P (I) = T (I) – F (I-1)

Блок 12: Проверка, не превышает ли длительность ожидания вызова установленного нами предела D1.

Если условие не выполняется, то переходим к блоку 13, в противном случае – к блоку 14.

Блок 13: По установленной дисциплине обслуживания вызов должен покинуть систему. Для этого вызова формируется предельная длительность ожидания, время обслуживания приравнивается к нулю; поскольку вызов покидает систему, то число вызовов в очереди уменьшаем на единицу.

Управление передается 21 блоку.

Блок 14: В этом блоке формируется длительность обслуживания i-го вызова.

S (I) = - (1/L2) * LOG1(1-R(I))

R (I) є [0,1].

S(I) – случайная величина, распределенная по показательному закону.

Блок 15: Подсчитывается момент освобождения линии после обслуживания i-го вызова:

F (I) = T (I) + W(I) + S (I)

Блок 16: Подсчет числа вызовов в очереди:

С 2=С2-1, т.к. вызов обслужился.

 

Блок 17: Подсчитывается длительность пребывания i-го вызова в системе:

Z (I) = W (I) + S (I)

Блок 18: Проверка, не превышает ли время пребывания вызова заданной длительности D2.

Если условие выполняется, то переходим к блоку 19, если нет – к блоку 20.

Блок 19: Подсчет числа вызовов, пребывавших в системе не более заданного времени:

С4=С4+1

Блок 20: Определение общего числа обслуженных вызовов:

С5=С5+1.

Блок 21: Подсчет сумм элементов массивов, необходимых для последующей статистической обработки. Этот блок не обязателен.

Управление передается блоку 2 с I=I+1.

Блок 22: Статистическая обработка результатов.

Блок 23: Печать результатов.

 

Статистическая обработка результатов моделирования

Выполняя работу программы несколько раз, т.е. экспериментируя с моделью можно собрать необходимую статистику.

В результате статистической обработки получаем оценки математических ожиданий, дисперсии и среднеквадратических отклонений следующих величин:

а) длительности пребывания обслуженного вызова в системе:

преб= ; sпреб = ;

 

б) длительности пребывания вызова в очереди:

 

ож= ; sож = ;

в) длины очереди:

= ; sL = ;

г) длительности простоя линии:

; s = .

 

Оцениваются и другие величины:

1) Вероятность обслуживания поступившего вызова: Робсл. = С5/С1;

2) Вероятность отказа: Ротк. = 1 – С5/С1;

3) Вероятность обслуживания вызова без ожидания: Рбез ож. = С3/С1;

4) Вероятность пребывания обслуженного вызова в системе в течение времени, не превышающего заданного: Рпреб = С4/С1.

 

 

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-03-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: