51204

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

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

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

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

Русский

2014-02-07

56.42 KB

27 чел.

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

Кафедра ПОИТ

Отчёт

по лабораторной работе №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()));

       }

   }

}


 

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

82223. Проведення реєстрації осіб, які виявили бажання пройти зовнішнє незалежне оцінювання. Робота з програмою створення заяви-реєстраційної картки 206.5 KB
  Мета уроку: ознайомити учнів з порядком реєстрації на зовнішнє незалежне оцінювання, навчити учнів користуватися програмою реєстрації на ЗНО, ознайомити учнів з правами та обов’язками осіб, які бажають взяти участь у ЗНО, розвивати в учнів самостійність, виховувати в учнів почуття відповідальності.
82224. Урок-тренинг «Здоровый образ жизни» 176.5 KB
  Нам всегда не хватает времени поговорить о наболевших вопросах поэтому сегодня в кругу друзей мы хотим поговорить о здоровом образе жизни. Упражнение От чего зависит здоровье Цель: определить что собственное поведение образ жизни является главнейшим фактором влияющим на здоровье человека.
82225. Земля на зернятці стоїть 2.5 MB
  Господар: Хліб - це те що завжди було турботою і радістю людини чому вона віддавала свій труд і талант. Хліб для кожного з нас звичний як сонячне світло чи дихання і таке ж необхідне. Без хліба не можна уявити ні степової далі ні світанку ні рідного дому.
82226. НЕДОСПІВАНА ПІСНЯ ВОЛОДИМИРА ІВАСЮКА 87 KB
  Сцена приміщення у тематичному оформленні: на заднику - портрет Володимира Івасюка, знизу – напис – 62; на античних колонах – квіткові композиції, на передньому плані – мольберт, на якому знаходиться скрипка, біля неї - дві червоні троянди, перев’язані чорною стрічкою, збоку – журнальний столик...
82227. Что гибель нам! Мы даже смерти выше! 44.5 KB
  Нет ей не страшно было разносить листовки и участвовать в поджоге биржи потому что рядом были её друзья а ещё его Любовь: Наши войска были ещё далеко. Всюду слышалась немецкая речь и это ещё сильнее теребило душу. Наверное ещё и потому что героическое в жизни порой выглядело просто буднично.
82229. Калинове свято 122.5 KB
  Підготовка: намалювати малюнки вишити серветки та рушники з калиною знайти і вивчити загадки прислівя прикмети повязані з калиною протягом тижня перед святом на столі тарілка з кетягами калини і діти смакують соковиті ягоди...
82230. Формування правильної постави засобами фізичних вправ 49.5 KB
  Мета уроку: укріпити здоров’я учнів, формувати правильну поставу, сприяти профілактиці плоскостопості; вироблення гарної ходи, вміння правильно сидіти за партою. Тип уроку: вивчення та узагальнення знань. Час:45 хв. Інвентар: гімнастичні килимки, мішечки з піском, магнітофон, музичні диски.
82231. Щоб навчання було цікавим. Нестандартні уроки 69 KB
  Нестандартні уроки більше подобаються учням ніж буденні навчальні заняття. Нестандартний урок - це прогрес педагогічної думки правильний крок у напрямку демократизації школи. Мойсеюк Нестандартний урок - це імпровізоване навчальне заняття що має нестандартну структуру.