|
В результате работы модели получить оценки математического ожидания и среднеквадратического отклонения для следующих величин:
а) длительности пребывания обслуженного вызова в системе;
б) длительность пребывания вызова в очереди;
в) длины очереди;
г) длительности простоя линии.
При этом учесть, что
а) для 0 5 номеров вариантов ;
б) для 6 10 номеров вариантов ;
в) для 11 15 номеров вариантов ;
г) для 16 19 номеров вариантов .
2. Провести испытания с программой, реализующей элементарную модель системы электросвязи.
Собрать статистические данные, вывести их в виде двух массивов X (I) и Y (I). Построить графически зависимость y=f(x). X и Y определить по таблице 3.
Таблица 3
Номер варианта
X
Y
Номер варианта
X
Y
0
L1
преб
10
L2
Рож
1
L2
ож
11
D2
Рож
2
D2
12
D1
Рож
3
D1
прост
13
D1
Ротк
4
D2
Робс
14
D1
Робс
5
М
Ротк
15
D2
прост
6
L1
Рож
16
L1
Робс
7
L2
Ротк
17
L2
Ротк
8
D2
Рпреб
18
D1
Рож
9
L1
Ротк
19
D2
Рпреб
Здесь в графе Y представлены математические ожидания следующих величин:
преб – длительность пребывания вызова в системе ;
опс – длительность ожидания в очереди;
- длина очереди; прост – длительность простоя линии; Робс – вероятность обслуживания поступившего вызова, Ротк – вероятность отказа; Рож – вероятность обслуживания без ожидания; Р преб – вероятность пребывания обслуженного вызова в системе в течении времени, не превышающего заданного.
Моделирование элементарной системы массового обслуживания
Для того чтобы получить последовательность случайных чисел с заданным законом распределения необходимо:
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.
При использовании материалов активная ссылка на источник обязательна.