Материал: Прикладная теория систем массового обслуживания

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Таблица 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.

Результаты имитационного моделирования:

Число каналов обслуживания, Номер реализации





10,4430,5601,680






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

10,6520,5542,216






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

10,7060,5122,560






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

Искомый параметр

Аналитическая модель

Имитационная модель

 

0,4450,446



n=3

0,556

0,558

 

1,6601,669



 

0,6490,650



n=4

0,555

0,556

 

2,2212,225



 

0,7020,708



n=5

0,510

0,511

 

2,5502,554



 

0,7440,745



n=6

0,462

0,463

 

2,7722,778



Приложение 4

Графики, полученные в результате моделирования

Рис. 1 Зависимость вероятности обслуживания от числа приборов для аналитической и имитационной моделей

Рис. 2 Зависимость вероятности занятости канала от числа приборов для аналитической и имитационной моделей

Источник: https://www.bibliofond.ru/view.aspx?id=865914