Автор работы: Пользователь скрыл имя, 20 Января 2014 в 08:22, курсовая работа
Промежуточное звено компьютерной сети Supernet обслуживает запросы от 5 абонентов по двум телефонным каналам. Компьютер каждого абонента выходит на связь по любому свободному каналу. Если же оба канала заняты, абонент получает отказ. Администрация решила провести статистическое исследование для того, чтобы оценить целесообразность реконструкции сети (таблица 1). Специальная программа фиксировала продолжительность работы каждого компьютера (таблица 3) и число обращений в сутки (таблица 2).
Курсовой проект
по дисциплине
“Теория массового обслуживания и математическая статистика”
Работу выполнил: |
Черемисин А.М. группа ПБТ-13 |
Новосибирск
2013
1. Постановка задачи
Промежуточное звено компьютерной сети Supernet обслуживает запросы от 5 абонентов по двум телефонным каналам. Компьютер каждого абонента выходит на связь по любому свободному каналу. Если же оба канала заняты, абонент получает отказ. Администрация решила провести статистическое исследование для того, чтобы оценить целесообразность реконструкции сети (таблица 1). Специальная программа фиксировала продолжительность работы каждого компьютера (таблица 3) и число обращений в сутки (таблица 2).
Необходимо оценить вероятность отказа при подключении к сети после реконструкции двумя способами:
1) Аналитически, при этом считать интенсивность работы каждого терминала одинаковой (т.е. усреднённой),
2) Методом Монте-Карло, при этом использовать не усреднённые оценки интенсивностей. По результатам работы программы построить доверительный интервал для вероятности отказа при уровне значимости 0,05.
Вариант курсового проекта определяется по последней цифре пароля. Согласно варианту определяются:
– планируемые изменения в сети (таблица 1)
– количество подключений каждого абонента (таблица 2)
– время работы каждого абонента (таблица 3).
Курсовой проект должен содержать:
– постановку задачи (вместе с данными из таблиц 2 и 3)
– полное решение аналитическим способом (граф системы, формулы, вычисленные значения и комментарии вычислений)
– программу на языке С или Pascal, моделирующую работу системы методом Монте – Карло любым из двух способов, описанных в п. 2.2 (эта же программа может вычислять интенсивности по таблицам 2 и 3); наличие комментариев в программе обязательно;
– результаты работы программы
– построение доверительного интервала по результатам работы программы.
Таблица 1. Реконструкция сети
Вариант |
Планируемые изменения |
8 |
Убрать абонента 2 и абонента 3 |
Таблица 2. Количество подключений в сутки
Вариант 8 | ||||||||||||
1 компьютер |
5 |
8 |
4 |
1 |
6 |
11 |
4 |
6 |
6 |
4 |
3 |
5 |
2 компьютер |
4 |
8 |
12 |
4 |
9 |
10 |
9 |
6 |
6 |
6 |
8 |
10 |
3 компьютер |
12 |
11 |
5 |
11 |
12 |
11 |
12 |
12 |
8 |
16 |
11 |
13 |
4 компьютер |
10 |
8 |
6 |
9 |
7 |
10 |
12 |
10 |
8 |
14 |
8 |
11 |
5 компьютер |
6 |
5 |
11 |
6 |
7 |
7 |
7 |
6 |
7 |
4 |
7 |
10 |
Таблица 3. Время работы (в часах)
Вариант 8 | ||||||||||
1 компьютер |
0.18 |
0.67 |
1.51 |
0.56 |
0.06 |
0.15 |
0.86 |
1.36 |
0.20 |
1.50 |
2 компьютер |
0.74 |
1.81 |
1.73 |
2.12 |
0.59 |
1.37 |
0.19 |
1.75 |
0.69 |
0.39 |
3 компьютер |
0.58 |
1.17 |
0.34 |
0.53 |
2.35 |
1.99 |
0.05 |
0.02 |
0.08 |
3.56 |
4 компьютер |
0.39 |
0.62 |
2.43 |
1.59 |
0.68 |
6.36 |
0.04 |
0.33 |
5.33 |
0.02 |
5 компьютер |
0.89 |
0.89 |
0.25 |
0.38 |
1.00 |
2.51 |
0.35 |
2.16 |
5.88 |
1.64 |
2.Решение аналитическим способом.
Это случай системы массового обслуживания с отказами и ограниченным числом требований в системе. “Приборами” в данном случае являются каналы, по которым происходит подключение к сети. Введём следующие состояния системы: 0 – канал свободен, 1 – канал занят, 2 – оба канала занято. Граф системы для случая одного канала изображён на рис. 1:
Рисунок 1. Система из 3-х абонентов и 2-х каналов.
где l – средняя интенсивность подключения для одного компьютера, m – средняя интенсивность освобождения для одного канала.
Найдем l и m по статистическим данным. У нас имеется два потока событий: с одной стороны, поток заявок на подключение к сети от компьютеров, с другой стороны – поток “освобождения каналов”. Число наступления события за время t – случайная величина, подчиняющаяся распределению Пуассона с параметром l × t = l за единицу времени. Методом максимального правдоподобия была получена оценка для параметра этого распределения: .
Обозначим данные Таблицы 2 через , (i – номер строки, j – номер столбца). Найдем оценки интенсивности “подключения к каналам” для каждого компьютера по формуле: . Тогда:
= (5+8+4+1+6+11+4+6+6+4+3+5) / 12 = 5.25;
= (10+8+6+9+7+10+12+10+8+14+8+
= (6+5+11+6+7+7+7+6+7+4+7+10) / 12 » 6,92;
Эти данные будем использовать при решении методом Монте-Карло. Для аналитического решения усредним эти значения:
lсред = = (5.25+9.42+6.92) / 3 » 7.2;
Время между наступлениями соседних событий в простейшем потоке – экспоненциально-распределенная случайная величина, и оценкой параметра такого распределения будет: m* = 1/x.
Обозначим данные Таблицы 3 через , (i – номер строки, j – номер столбца). Найдём “интенсивности освобождения” для каждого канала по формуле: ,– но так как данные представлены в часах, переведем их в сутки, следовательно, формула имеет вид
= 10*24/(0,18+0,67+1,51+0,56+0,
= 10 *24/ (0,39+0,62+2,43+1,59+0,68+6,
= 10 *24/ (0,89+0,89+0,25+0,38+1,00+2,
Для аналитического решения усредним эти значения:
mсред = =30*24/ (7.05+17.79+15.95) » 21.34
Вероятность отказа при подключении компьютера к сети в системе из четырех абонентов и двух каналов определяется по формуле:
Т.к. у такой системы конечное число состояний, предельные вероятности всегда существуют и могут быть найдены по формулам:
Подставим численные значения:
Ответ:
3.Решение методом Монте-Карло.
Program komp_otkaz;
uses crt;
label 1;
{ квантиль нормального
const U=1.96;
const num_komp:array[1..3] of string = ( '1-uy komp ' , '4-iy komp ' , '5-uy komp ' );
{ценки интенсивности "
const l:array[1..3] of real = (5.25,9.42,6.92);
{"интенсивности освобождения" для каждого канала}
const mu:array[1..3] of real = (34.04,13.49,15.05);
type matr=array[1..3,1..100] of byte;
var
file_:text;
i,j,n,m,t,k,f,strok,stolb:
x:matr;
p_sum,Ga,Gb:real;
otkaz,obraw:integer;
sum_obr:array[1..10] of integer; {счётчик обращений }
sum_otkaz:array[1..10] of integer;{счётчик отказов }
p:array[1..10] of real;
{------------------ ввод состояния канала ----------------------}
Procedure vvod_sostoyaniya;
var
step:real; {переменная для шага момента времени}
i,j:integer;
vremya:array[1..100] of real; {массив для моментов времени}
begin
textcolor(10);
step:=0;
write(file_,'Vremya ->> ');
for i:=1 to 100 do
begin
vremya[i]:=step;
write(file_,' ',vremya[i]:1:3,' ');
step:=step+0.005;
end;
writeln(file_,#13#10);
textcolor(15);
end;
{--------------------------
begin
clrscr;
randomize;
textcolor(5);
assign(file_,'c:/a.txt'); {файл для записи результатов выполнения программы}
rewrite(file_);
writeln(file_,'===============
writeln(file_,'" provodim 10-ty testov dlya ocenki veroyatnosty "');
close(file_);
for f:=1 to 10 do begin {создаем цикл для проведения десяти тестов}
assign(file_,'c:\a.txt');
append(file_);{открываем наш файл для добавления}
writeln(file_,#13#10#13#10#13#
m:=100; {десять отрезков времени}
n:=3; {три компьютера}
vvod_sostoyaniya;
for i:=1 to n do {цикл для проверки наших условий}
begin
textcolor(10);
write(file_,num_komp[i]);
textcolor(15);
write(file_,' ');
sum_obr[f]:=0;
sum_otkaz[f]:=0;
for j:=1 to 1 do {в первом столбце компьютеры еще не включены, мы его обнуляем}
begin
x[i,1]:=0;
write(file_,x[i,j]);
end;
for j:=2 to m do
begin
{--------генерируем случайное
x[i,j]:=random(3);
{если в предыдущем столбце этой строки стоит 0 (компьютер не в сети),
проверяем, будет ли он
if x[i,j-1]=0 then
begin
{считаем, что компьютер пытается подключиться к
сети, и увеличиваем счётчик
if (x[i,j]<=l[i]*(0.005)) then
begin
sum_obr[f]:=sum_obr[f]+1;
stolb:=j;
{если есть единица вверх от
заполняемого элемента по
столбцу,то элемент равен нулю}
for strok:=i downto 1 do
begin
if x[strok-1,stolb]=1 then
begin
x[i,j]:=0;
sum_otkaz[f]:=sum_otkaz[f]+1; {увеличиваем сетчик отказов}
goto 1;
end;
end;
stolb:=j-1;
for strok:=1 to n do
begin
{если есть единица вниз от заполняемого элемента по
предыдущему столбцу, то элемент равен нулю}
if x[strok,stolb]=1 then
begin
x[i,j]:=0;
Информация о работе Теория массового обслуживания и математическая статистика