Смекни!
smekni.com

Моделирование систем радиосвязи и сетей радиовещания (для студентов специальности «РРТ») (стр. 2 из 2)

преб – длительность пребывания вызова в системе ;

опс – длительность ожидания в очереди;

- длина очереди;
прост – длительность простоя линии; Робс – вероятность обслуживания поступившего вызова, Ротк – вероятность отказа; Рож – вероятность обслуживания без ожидания; Р преб – вероятность пребывания обслуженного вызова в системе в течении времени, не превышающего заданного.

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

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

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.