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()));

       }

   }

}


 

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

53903. Сума кутів трикутника 46.5 KB
  Мета: сформулювати та довести теорему про суму кутів трикутника ознайомити учнів з поняттям зовнішнього кута трикутника розвивати навички практичної діяльності з геометричними інструментами відпрацьовувати вміння логічно мислити робити висновки. Побудувати трикутник за даними кутами 1 ряд 2 ряд 3 ряд  А = 38 0...
53904. Суміжні і вертикальні кути 322 KB
  Замислюйся міркуй питання занотуй. Познач кути між кольоровими променями і променями АВ і АС. Чи є на цьому малюнку кути що утворюють розгорнутий кут Побудуй на око: а кут який має градусну міру більше 00 але менше 900; б кут рівний 900; в кут більший 900 але менший за 1800.
53905. Суміжні кути 82 KB
  Мета: засвоїти означення суміжних кутів; вивчити формулювання та доведення теореми про суму суміжних кутів а також наслідки із цієї теореми; розвивати увагу логічне мислення просторову уяву; виховувати охайність працьовитість. Обладнання: Моделі кутів карткизавдання. І так ви відгадали що країна в яку ми повинні вирушити складається з кутів. Наше завдання: 1 відшукати там невідомий для нас вид кутів; 2 довести що сума цих кутів дорівнює 180; 3 встановити наслідки цього доведення.
53906. Квадратні корені 548.5 KB
  Після уроку учні зможуть: застосовувати теоретичний матеріал про квадратні корені до вирішення вправ; навчитися усвідомленому застосуванню вивченого матеріалу під час вирішення завдань; набути навичок роботи в малих групах; набути навичок логічних міркувань; формування мотивації здорового способу життя Використані технології: інтерактивні технології: Мікрофон Робота в малих групах. Робота в малих групах. Учні об'єднуються в групи по 4 особи 1 і 2 3 і 4 парти згадують правила роботи в групах...
53907. Розвязування квадратичних нерівностей методом інтервалів 57 KB
  Мета: ознайомити учнів з розвязанням квадратичних нерівностей методом інтервалів; формування уміння розвязувати квадратичні нерівності методом інтервалів. Виховувати охайність під час виконання малюнка.
53908. РЕШЕНИЕ КВАДРАТНЫХ УРАВНЕНИЙ 208 KB
  Какое уравнение называют квадратным уравнение вида ах2bxc=0 где х переменная а bс числа причем а≠0 числа а bс называются коэффициентами квадратного уравнения; а первый коэффициент b второй коэффициент с свободный член Например: 2х24х8=0 Какое квадратное уравнение называется приведенным Приведенным квадратным уравнением называется такое квадратное уравнение в котором первый коэффициент равен 1 т. а=1 Например: х23х10=0 Какое квадратное уравнение называется неполным Неполным квадратным уравнением...
53909. Квадратні рівняння 207 KB
  Мета уроку: формувати уміння розвязувати квадратні рівняння. Квадратні рівняння простіших видів вавилонської математики вміли розвязувати ще 4 тис. Згодом розвязували їх також: в Китаї і Греції. Він показав як розвязувати при додатних а і bрівняння видів .
53910. Розвязування квадратних рівнянь 181 KB
  Тема: Розвязування квадратних рівнянь. Мета: Узагальнити способи розвязування квадратних рівнянь формувати вміння і навики досліджувати і розвязувати квадратні рівняння розвивати пізнавальний інтерес цікавість увагу память. Сьогодні предметом дослідження на уроці буде тема Розвязування квадратних рівнянь і застосування різних способівâ€. Чому стільки часу відводиться для вивчення цієї теми Тому що багато задач економіки фізики зводяться до розвязування квадратних рівнянь.
53911. Система роботи з підвищення кваліфікації вчителів 59 KB
  Корисно знайомитися з результатами новітніх досліджень в області викладання науки методичними прийомами роботи вивчати технічні засоби навчання заслуховувати доповіді та повідомлення вчителів про результати своєї діяльності. У процесі спостереження уроків бесід вони знайомляться з методами та прийомами роботи свого керівника спільно складають тематичні плани вивчають літературу з окремих питань взаємно відвідують уроки і ретельно аналізують їх відбираючи і закріплюючи все те цінне що сприяє ефективності роботи. Проблемні групи спільно...