Исследование системы ПРО

Автор: Пользователь скрыл имя, 19 Декабря 2010 в 15:54, лабораторная работа

Описание работы

Объектом исследования данной работы является система противоракетной обороны (ПРО). Будем рассматривать систему ПРО как систему массового обслуживания, т.е. как -канальную систему, на вход которой поступают ракеты противника. Ракеты, пролетающие в пределах полосы налета, могут быть обстреляны любым из каналов данной системы ПРО.

Ширина полосы налета определяется возможностями обстрела всеми n каналами любой цели в пределах полосы налета. Предполагается, что если ракета летит выше пределов полосы налета (слева или справа), то эти ракеты не могут быть обстреляны ни одним из n каналов данной системы ПРО.

Содержание

Техническое задание 3

Введение 4

Разработка имитационной модели 8

Математическое описание имитационной модели. 8

Описание блок-схемы алгоритма. 9

Анализ полученных результатов 13

Разработка аналитической модели. 14

Математическое описание аналитической модели 14

Расчёт параметров СМО. 16

Анализ полученных результатов моделирования. 18

Выводы 19

Список используемой литературы 20

Приложения 21

Приложение 1 (листинг программы для имитационного моделирования) 21

Приложение 2 (листинг программы для аналитического моделирования) 23

Приложение 3. Таблицы результатов моделирования. 24

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

Работа содержит 1 файл

индивидуальное задание №3.2.8.docx

— 363.33 Кб (Скачать)

    0= P3λ+(6μ+5η)P5 – P4λ - (6μ+4η)P4

    0= P4λ+(6μ+6η)P6 – P5λ - (6μ+5η)P5

    0= P5λ – P6(6μ+6η)

    1=P0 + P1 + P2 + P3 + P4 + P5 + P6 

    Вероятность обслуживания:

    Вероятность занятости канала:

    Среднее число занятых каналов: k=2.781

Анализ  полученных результатов  моделирования.

 

    В результате аналитического моделирования  получены интересующие нас вероятностные характеристики системы. При аналитическом моделировании система ПРО рассматривалась в виде графа гибели и размножения, что позволило определить вероятности состояний из системы уравнений. Также эти характеристики могут быть посчитаны по заранее известным формулам. Результаты аналитического моделирования представлены также в Приложении 3. А требуемые графики в Приложении 4. Также была исследована зависимость вероятностных характеристик системы от числа обслуживающих приборов. При увеличении числа обслуживающих приборов от 2 до 4 были выявлены следующие закономерности: плотности потока обслуживающих заявок возрастает, среднего числа занятых каналов увеличивается.

 

Выводы

    В процессе выполнения данной индивидуальной работы мы познакомились с системами массового обслуживания на примере системы ПРО с отказами и частичной взаимопомощью. Данная система ПРО была рассмотрена как система массового обслуживания с отказами и частичной взаимопомощью между каналами обслуживания.

    Для заданной системы были построены  две модели: аналитическая модель и имитационная модель. Обе системы рассматриваются при следующих упрощениях: рассматривается простейший пуассоновский поток входящих заявок, простейший пуассоновский поток обслуживания, а также система работает в стационарном режиме. В аналитической модели можно путем решения алгебраической системы уравнений определить вероятностные характеристики системы: вероятность обслуживания, плотность потока обслуживающих заявок, среднее число занятых каналов.

    Имитационная  модель строилась с учетом всех особенностей функционирования реальной системы и поэтому она достаточно точно описывает все вероятностные процессы. В основу имитационной модели положено рассмотрение работы системы на некотором отрезке времени. В результате этого можно определить вероятностные характеристики системы.

    Также была выявлена зависимость вероятностных  характеристик системы от числа обслуживающих приборов, были получены следующие закономерности. Проводя моделирование при увеличении числа обслуживающих приборов от 2 до 4, наблюдаем:

  1. увеличение вероятности обслуживания;
  2. увеличение плотности потока обслуживающих заявок;
  3. увеличение среднего числа занятых каналов.

    Соответствующие зависимости в виде графиков представлены в Приложении 4.

 

Список используемой литературы

  1. Гмурман В. Е., «Теория вероятностей и математическая статистика». М: Высшая школа, 1977.
  2. Овчаров Л. А., «Прикладные задачи теории массового обслуживания», Москва, Машиностроение, 1969.
  3. Южаков А.А., Стохастические сети в проектировании технических систем: Учебное пособие. ПГТУ – Пермь, 1999.
  4. ГОСТ 19.105-78. ЕСПД. «Общие требования к программным документам».

 

Приложения

Приложение  1 (листинг программы для имитационного моделирования)

const

lambda=4.52;         {Интенсивность простейшего входящего потока}

mu=0.975;            {Интенсивность простейшего потока обслуживания}

eta=0.703;        {Параметр нетерпимости заявки}

time_t=1000000;      {Время моделирования}

n_kanalov=3;         {Число каналов обслуживания}

l=3;                 {Параметр взаимопомощи}

var

n_svob,p:integer;    {кол-во свободных в данный  момент приборов}

vypolneno:real;      {Количество выполненных заявок}

kolvo,otkaz:longint; {Кол-во  заявок, кол-во отказов}

i,ok:integer;

t:longint;           {Текущее время при моделировании}

t_z0,t_z,t_obs:real; {Интервалы  обслуживания и занятости заявки}

n:array[1..n_kanalov] of real;{Массив, в котором хранится время занятости текущего канала}

t_zan:array[1..n_kanalov] of real;{Массив, в котором хранится  общее время занятости каждого канала во время моделирования}

n_vyp:array[1..n_kanalov] of integer;{Массив, в котором хранится  кол-во заявок, выполненных каждым каналом}

n_l_z:array[1..n_kanalov] of integer;

Pobs:real;       {Вероятность обслуживания }

Lo,tpk,ksr:real; {Среднее  число занятых кан и  плотность  потока обслуживающих заявок}

n_zero:array[1..l] of integer;  {Номера свободных в данный  момент каналов обслуживания}

begin

randomize;

t_z0:=0;

kolvo:=0;

otkaz:=0;

vypolneno:=0;

for i:=0 to n_kanalov do     {Начальное обнуление параметров}

    begin

        n_vyp[i]:=0;

        t_zan[i]:=0;

    end;

for t:=0 to time_t do          {Основной цикл моделирования}

    begin

      for i:=1 to n_kanalov do     {Цикл проверки окончания обслуживания заявки}

         begin

             if ((t>=n[i])AND(n[i]<>0)) then   {Если текущее время больше, чем}

                begin

                     n[i]:=0;

                     vypolneno:=vypolneno+1/n_l_z[i];

                     n_l_z[i]:=0;

                end;

         end;

      if (t>=t_z0) then         {Генерации прихода новой заявки}

         begin

             t_z:=-100/lambda*ln((random(1000)+1)/1000);{генерация случайного интервала между заявками}

             t_z0:=t_z0+t_z;

             inc(kolvo);                                {Счётчик числа пришедших заявок  увеличивается на единицу }

             n_svob:=0;

             for i:=1 to l do n_zero[i]:=0;             {Обнуляется массив номеров свободных каналов}

             p:=1;

             for i:=1 to n_kanalov do                   {Цикл поиска свободных каналов}

                 begin

                    if (n[i]=0) then

                       begin

                         inc(n_svob);

                         n_zero[p]:=i;

                         inc(p);

                       end;

                 end;

                 if (n_svob>=l) then begin   {если число  свободных каналов больше, чем l, то

                   поступившая заявка обслуживается l}

                t_obs:=-100/(l*mu+eta)*ln((random(1000)+1)/1000);     {Генерация времени обслу

                         живания заявки}

                for i:=1 to l do                             {Распределяем обслуживание заявки по l каналам}

                  begin

                          n[n_zero[i]]:=t+t_obs;  {Записываем время  окончания обслуживания заявки}

                           n_l_z[n_zero[i]]:=l;

                       t_zan[n_zero[i]]:=t_zan[n_zero[i]]+t_obs;{Общее время занятости i-

                           го канала}

                          n_vyp[n_zero[i]]:=n_vyp[n_zero[i]]+1;    {Число заявок, выполненных i-тым

                         каналом}

                          ok:=1;                                   {Заявка поставлена на обслуживание}

                  end;

              end

             else

             if (n_svob>0)AND(n_svob<l) then begin  {если число  свободных каналов меньше,

                   чем l, то поступившая заявка обслужи}

                t_obs:=-100/(n_svob*mu+eta)*ln((random(1000)+1)/1000); {Генерация  времени об

                         служивания заявки}

                for i:=1 to n_svob do   {Распределяем обслуживание  заявки по оставшимся сво

                     бодным  каналам}

                  begin

                          n[n_zero[i]]:=t+t_obs;                   {Записываем время окончания обслужива

                         ния заявки}

                           n_l_z[n_zero[i]]:=n_svob;

                  t_zan[n_zero[i]]:=t_zan[n_zero[i]]+t_obs;{Общее время занятости i-го

                         канала}

           n_vyp[n_zero[i]]:=n_vyp[n_zero[i]]+1;    {Число заявок, выполненных i-тым

                             каналом}

                          ok:=1;                                   {Заявка поставлена на обслуживание}

                  end;

              end

              else ok:=0;                                          {иначе заявка не поставлена на обслуживание}

              if (ok<>1) then inc(otkaz); {Если заявка не  поставлена на обслуживание, то увели

                 чивается  счё1тчик отказов на еди}

         end;

    end;     {Окончание основного цикла моделирования}

            {Вычисление интересующих  параметров по результатам моделирования}

pzk:=0;

for i:=1 to n_kanalov do pzk:=pzk+t_zan[i]/time_t;

pzk:=pzk/n_kanalov;   {Вычисление вероятности занятости канала}     

tpk:=0;

for 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;        {Вычисление среднего числа занятых каналаов}

Pobs:=(kolvo-otkaz)/kolvo;   {Вычисление вероятности обслуживания}

writeln('Число заявок ',kolvo);

writeln('Выполнено  ',vypolneno:5:0);

writeln('Вероятность  обслуживания ',Pobs:5:3);        {Вывод результатов моделирования}

writeln('Вероятность занятости канала ',pzk:5:3);

writeln('Среднее  число занятых каналов ',ksr:5:3);

readln;

end.

Приложение  2 (листинг программы для аналитического моделирования)

uses crt;

const l=4.52;

      m=0.703;

      n=6;

      ll=3;

      k=2000;

Информация о работе Исследование системы ПРО