Таблица 5.1.
Расчет значения
|
|
|
|
|
0,556 |
0,558 |
|
|
0,555 |
0,556 |
|
|
0,510 |
0,511 |
|
|
0,462 |
0,463 |
|
|
|
|
|
Из таблицы получили
, поэтому
принимаем нулевую гипотезу об однородности выборок. Таким образом, результаты
сравнения показывают адекватность моделей.
Заключение
В процессе выполнения данной индивидуальной работы была рассмотрена система массового обслуживания на примере системы ПРО с отказами и частичной взаимопомощью. Данная система ПРО была рассмотрена как система массового обслуживания с отказами и частичной взаимопомощью между каналами обслуживания.
Для заданной системы были построены две модели: аналитическая модель и имитационная модель. Обе системы рассматриваются при следующих упрощениях: рассматривается простейший пуассоновский поток входящих заявок, простейший пуассоновский поток обслуживания, а также система работает в стационарном режиме. В аналитической модели можно путем решения алгебраической системы уравнений можно определить вероятностные характеристики системы - вероятность обслуживания, вероятность занятости канала, среднее время простоя канала и др.
Имитационная модель строилась с учетом всех особенностей функционирования реальной системы и поэтому она достаточно точно описывает все вероятностные процессы. В основу имитационной модели положено рассмотрение работы системы на некотором отрезке времени. В результате этого можно определить вероятностные характеристики системы. Листинг программы имитационного моделирования приведен в Приложении 1.
На этапе сравнения двух построенных
моделей с помощью критерия
были сделаны следующие вывод - с
точки зрения вычисления такой характеристики системы как вероятность отказа
модели (аналитическая и имитационная) адекватны.
Также была выявлена зависимость вероятностных характеристик системы от числа обслуживающих приборов, были получены следующие закономерности. Проводя моделирование при увеличении числа обслуживающих приборов от 3 до 6, наблюдаем:
· увеличение вероятности обслуживания;
· уменьшения вероятности занятости канала;
· увеличение среднего времени простоя канала.
Соответствующие зависимости в виде графиков
представлены в Приложении 4.
Список
используемой литературы
1. Южаков А.А. Прикладная теория систем массового обслуживания: Учеб. пособие, Пермь, Перм. гос. техн. ун-т, 2010.
2. Овчаров Л. А., Прикладные задачи теории массового обслуживания, Москва, Машиностроение, 2009.
. Гмурман В. Е., Теория вероятностей и математическая статистика. М: Высшая школа, 2009.
. ГОСТ 19.105-78. ЕСПД. Общие
требования к программным документам.
Приложение
1
Листинг программы имитационного моделирования
program SMO_im;
uses crt;=4.52; {Интенсивность простейшего входящего потока}=0.975; {Интенсивность простейшего потока обслуживания}=0.703; {Параметр нетерпимости заявки}_t=1000000; {Время моделирования}_kanalov=3; {Число каналов обслуживания}=3; {Параметр взаимопомощи}_svob,p:integer; {кол-во свободных в данный момент приборов}:real; {Количество выполненных заявок},otkaz:longint; {Кол-во заявок, кол-во отказов},ok:integer;:longint; {Текущее время при моделировании}_z0,t_z,t_obs:real; {Интервалы обслуживания и занятости заявки}:array[1..n_kanalov] of real;{Массив, в котором хранится время занятости текущего канала}_zan:array[1..n_kanalov] of real;{Массив, в котором хранится общее время занятости каждого канала во время моделирования}_vyp:array[1..n_kanalov] of integer; {Массив, в котором хранится кол-во заявок, выполненных каждым каналом}
n_l_z:array[1..n_kanalov] of integer;
Pobs:real; {Вероятность обслуживания},tpk,ksr:real; {Среднее число занятых каналов и плотность потока обслуживающих заявок}_zero:array[1..l] of integer; {Номера свободных в данный момент каналов обслуживания}
pobs,pzk:real; {Вероятность занятости канала}
begin;_z0:=0;:=0;:=0;:=0;i:=0 to n_kanalov do {Начальное обнуление параметров}_vyp[i]:=0;_zan[i]:=0;; t:=0 to time_t do {Основной цикл моделирования}i:=1 to n_kanalov do {Цикл проверки окончания обслуживания заявки}
begin((t>=n[i])AND(n[i]<>0)) then {Если текущее время больше, чем}[i]:=0;:=vypolneno+1/n_l_z[i];_l_z[i]:=0;
end;
продолжение Приложения 1
end;
if (t>=t_z0) then {Генерации прихода новой заявки}
begin
t_z:=-100/lambda*ln((random(1000)+1)/1000);{генерация случайного интервала между заявками}_z0:=t_z0+t_z;(kolvo); {Счётчик числа пришедших заявок увеличивается на единицу}_svob:=0;i:=1 to l do n_zero[i]:=0; {Обнуляется массив номеров свободных каналов}:=1;i:=1 to n_kanalov do {Цикл поиска свободных каналов}
begin(n[i]=0) then(n_svob);_zero[p]:=i;
inc(p);;;(n_svob>=l) then begin {если число свободных каналов больше, чем l, то поступившая заявка обслуживается l}_obs:=-100/(l*mu+eta)*ln((random(1000)+1)/1000);{Генерация времени обслуживания заявки}i:=1 to l do {Распределяем обслуживание заявки по l каналам}[n_zero[i]]:=t+t_obs; {Записываем время окончания обслуживания заявки}
n_l_z[n_zero[i]]:=l;_zan[n_zero[i]]:=t_zan[n_zero[i]]+t_obs;{Общее время занятости i-го канала}_vyp[n_zero[i]]:=n_vyp[n_zero[i]]+1; {Число заявок, выполненных i-тым каналом}
ok:=1; {Заявка поставлена на обслуживание};(n_svob>0)AND(n_svob<l) then begin {если число свободных каналов меньше, чем l, то поступившая заявка обслуживается}_obs:=-100/(n_svob*mu+eta)*ln((random(1000)+1)/1000); {Генерация времени обслуживания заявки}i:=1 to n_svob do {Распределяем обслуживание заявки по оставшимся свободным каналам}[n_zero[i]]:=t+t_obs; {Записываем время окончания обслуживания заявки}
n_l_z[n_zero[i]]:=n_svob;_zan[n_zero[i]]:=t_zan[n_zero[i]]+t_obs;{Общее время занятости i-го
канала}_vyp[n_zero[i]]:=n_vyp[n_zero[i]]+1; {Число заявок, выполненных i-тым каналом}
продолжение Приложения 1ok:=0; {иначе заявка не поставлена на обслуживание}(ok<>1) then inc(otkaz); {Если заявка не поставлена на обслуживание, то увеличивается счётчик отказов на единицу};; {Окончание основного цикла моделирования}
{Вычисление интересующих параметров по результатам моделирования}
pzk:=0;i:=1 to n_kanalov do pzk:=pzk+t_zan[i]/time_t;:=pzk/n_kanalov; {Вычисление вероятности занятости канала}
tpk:=0;i:=1 to n_kanalov do if (n_vyp[i]<>0) then tpk:=tpk+(time_t-t_zan[i])/n_vyp[i];
ksr:=pzk*n_kanalov; {Вычисление среднего числа занятых каналов}:=(kolvo-otkaz)/kolvo; {Вычисление вероятности обслуживания}('Число заявок ',kolvo);('Выполнено ',vypolneno:5:0);('Вероятность обслуживания ',Pobs:5:3); {Вывод результатов моделирования}('Вероятность занятости канала ',pzk:5:3);('Среднее число занятых каналов ',ksr:5:3);
readln;.
Приложение
2
Листинг программы аналитического моделирования
program SMO_an;crt;l=4.52;=0.703;=6;=3;=2000;faktorial(a:integer):integer;ii,fak:integer;:=1;a=0 then fak:=1;ii:=1 to a do fak:=fak*ii;:=fak;;: array [0..n] of real;,h,ns:integer;:real;:=n div ll;:=h;:=0;n mod ll <>0 then ns:=ns+1;i:=0 to ns do p[i]:=0;i:=0 to ns-1 do c:=c+exp(i*ln(l))/(faktorial(i)*exp(i*ln(ll*m)));:=c+exp(ns*ln(l))/(faktorial(ns-1)*n*m*exp((ns-1)*ln(ll*m)));[0]:=1/c;i:=1 to ns-1 do p[i]:=(p[i-1]*l)/(i*ll*m);
{exp(i*ln(l))/(faktorial(i)*exp(i*ln(ll*m))*c);}[ns]:=p[ns-1]*l/(n*m);
{exp(ns*ln(l))/(faktorial(ns)*m*exp((ns-1)*ln(ll*m))*c);}i:=0 to ns do writeln('p[',i,']=',p[i]:4:5);('n=',ns);('Pobsl=',(1-p[ns]):3:6);('l0=',(1-p[ns]):3:6);('ksr=',(l/m)*p[ns]:3:6);
readln;.
Приложение 3
Таблицы результатов моделирования
Таблица 1.
Результаты имитационного моделирования:
|
Число каналов обслуживания, |
|
|
|
|
|
|
|
|
|
|
|
|
2 |
0,449 |
0,554 |
1,663 |
|
|
3 |
0,448 |
0,552 |
1,656 |
|
|
4 |
0,446 |
0,555 |
1,665 |
|
|
5 |
0,446 |
0,557 |
1,672 |
|
|
6 |
0,446 |
0,555 |
1,666 |
|
|
7 |
0,443 |
0,560 |
1,680 |
|
|
8 |
0,446 |
0,580 |
1,673 |
|
|
9 |
0,448 |
0,556 |
1,667 |
|
|
10 |
0,445 |
0,555 |
1,664 |
|
|
Средние значения |
0,446 |
0,558 |
1,669 |
|
|
|
|
|
|
|
|
2 |
0,649 |
0,557 |
2,229 |
|
|
3 |
0,647 |
0,560 |
2,241 |
|
|
4 |
0,649 |
0,558 |
2,233 |
|
|
5 |
0,650 |
0,556 |
2,225 |
|
|
6 |
0,656 |
0,553 |
2,214 |
|
|
7 |
0,650 |
0,557 |
2,226 |
|
|
8 |
0,650 |
0,554 |
2,218 |
|
|
9 |
0,648 |
0,557 |
2,226 |
|
|
10 |
0,653 |
0,556 |
2,226 |
|
|
Средние значения |
0,650 |
0,556 |
2,225 |
|
|
|
|
|
|
|
|
2 |
0,710 |
0,514 |
2,568 |
|
|
3 |
0,707 |
0,509 |
2,547 |
|
|
4 |
0,707 |
0,511 |
2,557 |
|
|
5 |
0,714 |
0,509 |
2,546 |
|
|
6 |
0,705 |
0,511 |
2,556 |
|
|
7 |
0,708 |
0,514 |
2,569 |
|
|
8 |
0,709 |
0,507 |
2,537 |
|
|
9 |
0,708 |
0,510 |
2,550 |
|
|
10 |
0,710 |
0,510 |
2,551 |
|
|
Средние значения |
0,708 |
0,511 |
2,554 |
|
|
1 |
0,747 |
0,461 |
2,764 |
|
|
2 |
0,743 |
0,463 |
2,775 |
|
|
3 |
0,745 |
0,461 |
2,769 |
|
|
4 |
0,748 |
0,462 |
2,775 |
|
|
5 |
0,746 |
0,461 |
2,764 |
|
n=6 |
6 |
0,744 |
0,465 |
2,79 |
|
|
7 |
0,745 |
0,464 |
2,781 |
|
|
8 |
0,743 |
0,461 |
2,766 |
|
|
9 |
0,743 |
0,467 |
2,802 |
|
|
10 |
0,742 |
0,466 |
2,798 |
|
|
средние значения |
0,745 |
0,463 |
2,778 |
Таблица 2.
Сравнение результатов имитационного и аналитического моделирования:
|
Число каналов обслуживания, n |
Искомый параметр |
Аналитическая модель |
Имитационная модель |
|
|
|
|
|
|
n=3 |
|
0,556 |
0,558 |
|
|
|
|
|
|
|
|
|
|
|
n=4 |
|
0,555 |
0,556 |
|
|
|
|
|
|
|
|
|
|
|
n=5 |
|
0,510 |
0,511 |
|
|
|
|
|
|
|
|
|
|
|
n=6 |
|
0,462 |
0,463 |
|
|
|
|
|
Приложение 4
Графики, полученные в результате моделирования
Рис. 1 Зависимость вероятности
обслуживания от числа приборов для аналитической и имитационной моделей
Рис. 2 Зависимость вероятности занятости канала от числа приборов для аналитической и имитационной моделей