51204

Построение аналитической и имитационной модели одноканальной СМО с неограниченной очередью и ее исследование

Лабораторная работа

Информатика, кибернетика и программирование

Цель: Имеется n-канальная СМО с неограниченной очередью. Входной поток и поток обслуживаний - простейшие с интенсивностями и соответственно. Время пребывания в очереди ограничено случайным сроком , распределенным по показательному закону с математическим ожиданием...

Русский

2014-02-07

56.42 KB

20 чел.

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра ПОИТ

Отчёт

по лабораторной работе №4

Построение  аналитической и имитационной  модели одноканальной СМО с неограниченной очередью и ее исследование

Вариант 15а

Проверил:         Выполнил:

Мельник Н.И.       ст.гр. 750505

Мицкевич А.В.

                       

Минск 2010

Цель:

    Имеется n-канальная СМО с неограниченной очередью. Входной поток  и поток обслуживаний - простейшие с интенсивностями   и  соответственно.

Время пребывания в очереди ограничено случайным сроком , распределенным по показательному закону с математическим ожиданием tож..

Определить  

- среднее число заявок в очереди;

-среднее время пребывания заявок в очереди (отдельно –для получивших обслуживание и ушедших из очереди до обслуживания);

- среднее число занятых каналов.

а)  n=2,  = 3 заявки/час , =1 заявка/час ,   tож=0,5 часа.

Выполнение  лабораторной работы:

Построение аналитической модели:

среднее чияло занятых каналов

средняя длинна очереди

среднее пребывания заявки в очереди

Скриншоты программы:

Листинг программы:

using System;

using System.Windows.Forms;

namespace saimm4

{

   public partial class Form1 : Form

   {

       private readonly Random random = new Random();

       public Form1()

       {

           InitializeComponent();

       }

               

       private void button2_Click(object sender, EventArgs e)

       {

           

           Double lambda =Double.Parse(textBox2.Text)/60;

           Double myu = Double.Parse(textBox3.Text)/60;

           Double myuQueue = 1/ (Double.Parse(textBox4.Text)*60);

           //количество тактов работы

           Int32 N = Int32.Parse(textBox1.Text);

           //количество заявок

           Int32 rCount = 0;

           //количество заявок в очереди

           Int32 rQueueCount = 0;

           //очередь

           Double[] queue = new Double[1000];     

           Double[] tQueue=new Double[1000];

           Double tOut1 = 0;

           Double tOut2 = 0;

           Double tIn = 0;

           Double tChNot = 0;

           Double busyCh = 0;

           Int32 reqOut = 0;

           Int32 req = -2;

           for (int countN = 0; countN < N; countN++)

           {

               //наступило ли время обрабработки след. заявки

               if (tIn == countN)                    

               {

                   rCount++; // кол заявок

                   tIn += GetRandom(lambda);

                   //время пребывания в очереди

                   Double time=GetRandom(myuQueue);

                   queue[rCount]=countN+time;  // отброс если не обсл

                   tQueue[rCount] = time; // время в очереди

               }

               for(Int32 j = 1; j <= rCount; j++)

               {

                   if(queue[j] == countN)

                   {    

                       tChNot += tQueue[j];  // среднее время пребывания не обсл заявок в очереди

                       queue[j] = 0;

                       reqOut++;  

                   }

               }     

               

               if (tOut1 > countN)  // если время 

                   busyCh++;

               if (tOut2 > countN)

                   busyCh++;

               if(countN == tOut1)  // если пусто то выбрать на обрабртку

               {

                   for(int j = 1; j <= rCount; j++)

                   {

                       if(queue[j] > countN)

                       {

                           tOut1 += GetRandom(myu);

                           queue[j] = 0;

                           tOut1--;

                           req++;

                           break;

                       }

                   } tOut1++;

               }

               if (countN == tOut2)

               {

                   for (int j = 1; j <= rCount; j++)

                   {

                       if (queue[j] > countN)

                       {

                           tOut2 += GetRandom(myu);

                           queue[j] = 0;

                           tOut2--;

                           req++;

                           break;

                       }

                   } tOut2++;

               }

               for (int j = 1; j <= rCount; j++)

               {

                   if (queue[j] > 0) rQueueCount++;

               }

           }

           //среднаяя длина очереди

           label8.Text = String.Format("{0:F2}", (Double)rQueueCount / N);  // те что в очереди по отношению ко всем

           //среднее время пребывания необслуженной завки в очереди

           label9.Text = String.Format("{0:F2}", tChNot / (reqOut * 60));

           //среднее время пребывания обслуженной заявки в очереди

           label10.Text = String.Format("{0:F2}", (Double)((rQueueCount-tChNot )/ (req * 60)));

           //количество занятных каналов

           label11.Text = String.Format("{0:F2}", busyCh / N);

           //количетво поступивших заявок

           label16.Text = String.Format("{0:F0}", rCount);

           //количество обработанных заявок

           label14.Text = String.Format("{0:F0}", req);

       }

       private Double GetRandom(Double lambda)

       {

           return Math.Ceiling(-(1 / lambda) * Math.Log(random.NextDouble()));

       }

   }

}


 

А также другие работы, которые могут Вас заинтересовать

15501. Давні літописи про походження Київської Русі 26.64 KB
  Давні літописи про походження Київської Русі Найдавніший руський літопис Повість минулих літ заснування державності на східнословянських теренах приписує норманам варягам яких звали русь. Запросили їх княжити і володіти ними племена чудь словени кривичі...
15502. Військово-територіальний устрій реєстрового козацтва 15.84 KB
  Характерною рисою заселення території України у XV ст. було те що основна маса людності мешкала на здавна обжитих землях Київщині Галичині Волині Поліссі та Поділлі. А південні землі Середня Наддніпрянщина Запоріжжя мали значні природні багатства але були незаселе
15503. Гадяцький трактат 30.09 KB
  Га́дяцький до́говір також трапляється застаріле іменування Гадяцькі статті; пол. ugoda hadziacka угода укладена 16 вересня 1658 року під містом Гадяч з ініціативи гетьмана Івана Виговського між Річчю Посполитою і Гетьманщиною що передбачала входження останньої до складу Р...
15504. Гетьман Іван Мазепа 15.69 KB
  І. Мазепа увійшов у політичне життя України в тяжку для неї годину. Яскравим свідченням цього є укладення ним з Росією €œКоломацьких Статей€ 1687 р.. Вони значно обмежували і навіть де в чому ліквідовували самостійну економічну соціальну та зовнішню політику Гетьманщини....
15505. Гетьман Петро Дорошенко 14.78 KB
  Петро Дорошенко обраний гетьманом 1665 р. був яскравим представником національнопатріотичних сил котрі намагалися зупинити руйнівні тенденції в суспільстві обєднати українські землі в єдину соборну державу. Його діяльність розпочиналася в дуже несприятливій внутр...
15506. Городельська унія 12.44 KB
  Городе́льська унія 1413 угода між польським королем Владиславом ІІ Ягайлом та великим князем литовським Вітовтом укладена 2 жовтня 1413 року у місті Городлі на річці Західний Буг. Рішення угоди заперечуючи положення Кревської унії 1385 р. підтверджували існування Вели...
15507. Громадівський рух 23.27 KB
  Наприкінці 50х років XIX ст. в умовах лібералізації царського режиму відбувається відродження українського національного руху. Одним з центрів відродження стала столиця Російської імперії Петербург де мешкало чимало українців і куди після відбуття покарань дозволили по
15508. Два собори в Бересті 1596 27.26 KB
  Бересте́йська у́нія пол. Unia brzeska англ. Union of Brześć біл. Берасьцейская унія рос. Брестская уния рішення Київської митрополії Руської православної церкви на території Речі Посполитої розірвати стосунки з Константинопольським патріархатом та об'єднатися з Апостольськ
15509. Держава Романовичів у 13-14 столітті 14.27 KB
  По смерті короля Данила Романовича ГалицькоВолинська держава незважаючи на деяку внутрішню децентралізацію в останній третині XIII ст. залишалася єдиною ще майже століття. З самого початку її формально очолював Василько Романович 1264 1269 котрого решта князів шанувала я