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

       }

   }

}


 

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

11273. ОПРЕДЕЛЕНИЕ ЗАВИСИМОСТИ МОМЕНТА ИНЕРЦИИ СИСТЕМЫ ОТ РАСПРЕДЕЛЕНИЯ МАССЫ ОТНОСИТЕЛЬНО ОСИ ВРАЩЕНИЯ 235 KB
  ОПРЕДЕЛЕНИЕ ЗАВИСИМОСТИ МОМЕНТА ИНЕРЦИИ СИСТЕМЫ ОТ РАСПРЕДЕЛЕНИЯ МАССЫ ОТНОСИТЕЛЬНО ОСИ ВРАЩЕНИЯ Методические указания к лабораторной работе № 10Б по физике Раздел Механика Указания содержат краткое описание рабочей установки и методики ...
11274. Определение момента сил трения и момента инерции махового колеса 266 KB
  Определение момента сил трения и момента инерции махового колеса. Указания содержат краткое описание рабочей установки и методики определения момента инерции махового колеса. Методические указания предназначены для студентов инженерных специальностей...
11275. Определение момента инерции твердых тел методом трифилярного подвеса 235 KB
  Определение момента инерции твердых тел методом трифилярного подвеса Указания содержат описание рабочей установки и методики определения момента инерции твердых тел методом трифилярного подвеса. Методические указания предназначены для студентов инжене
11276. Изучение динамики вращательного движения с помощью маятника максвелла 231 KB
  Изучение динамики вращательного движения с помощью маятника максвелла Указания содержат краткое описание рабочей установки и методики определения момента инерции с помощью маятника Максвелла. Методические указания предназначены для студентов инженерных спе...
11277. Определение коэффициентов трения качения и трения скольжения с помощью наклонного маятника 7.79 MB
  Лабораторная работа Определение коэффициентов трения качения и трения скольжения с помощью наклонного маятника Цель работы: определение коэффициентов трения качения и трения скольжения. Оборудование: измерительная установка секу
11278. Определение ускорения свободного падения на машине Атвуда 258 KB
  Определение ускорения свободного падения на машине Атвуда. Указания содержат краткое описание рабочей установки и методику определения ускорения свободного падения с помощью машины Атвуда. Методические указания предназначены для студентов инженерных специально
11279. ОПРЕДЛЕНИЕ КИНЕМАТИЧЕСКИХ ХАРАКТЕРИСТИК РАВНОПЕРЕМЕННОГО ДВИЖЕНИЯ 178 KB
  ОПРЕДЛЕНИЕ КИНЕМАТИЧЕСКИХ ХАРАКТЕРИСТИК РАВНОПЕРЕМЕННОГО ДВИЖЕНИЯ Цель работы: 1 измерить основные кинематические характеристики равнопеременного поступательного и вращательного движений; 2 познакомиться с методами обработки прямых и косвенных измерений. Обо...
11280. Изучение внешнего фотоэффекта, Световой поток 380.5 KB
  Световой поток – это физическая величина, определяемая оптической мощностью излучения по вызываемому им световому ощущению (по его действию на селективный приемник света с заданной спектральной чувствительностью); измеряется в люменах (лм)...
11281. Определение концентрации раствора сахара при помощи сахариметра 340 KB
  Определение концентрации раствора сахара при помощи сахариметра. Методические указания содержат краткое описание процесса распространения линейно поляризованного света в оптически активных веществах. Методические указания предназначены для студентов инжене...