51317

ПОСТРОЕНИЕ ИМИТАЦИОННОЙМОДЕЛИ СМО И ЕЁ ИССЛЕДОВАНИЕ

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

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

Два наладчика обслуживают 6 станков. Станок требует наладки в среднем через каждые 0,5 часа. Наладка занимает у рабочего в среднем 10 минут. Все потоки событий – простейшие. Определить, как изменятся следующие показатели...

Русский

2014-02-09

320 KB

24 чел.

Министерство образования Республики Беларусь

Учреждение образования

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

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Факультет компьютерных систем и сетей

Кафедра программного обеспечения информационных технологий

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

по дисциплине

«Системный анализ и машинное моделирование»

ПОСТРОЕНИЕ ИМИТАЦИОННОЙМОДЕЛИ СМО И ЕЁ ИССЛЕДОВАНИЕ

Вариант 16

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

студент гр. 751001       Мельник Н. И.

Мойса Д. С.

Минск, 2010

1. Исходные данные

Два наладчика обслуживают 6 станков. Станок требует наладки в среднем через каждые 0,5 часа. Наладка занимает у рабочего в среднем 10 минут. Все потоки событий – простейшие. Определить, как изменятся следующие показатели:

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

- абсолютная пропускная способность;

- среднее число неисправных станков,

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

2. Анализ исходных данных

В первом случае, когда наладчики ремонтируют станки по отдельности, получим модель СМО, изображенную на рисунке 1-а.

Во втором случае, когда наладчики работают вместе, получим модель, изображенную на рисунке 2-б.

Рис 1-а

Рис 1-б

Примем во внимание, что если станок сломан и подал заявку на ремонт, то в этом случае он далее заявки не подает, пока не будет отремонтирован.

3. Построение диаграмм интенсивности переходов

В случае А диаграмма интенсивности переходов будет иметь вид:

В случае Б диаграмма интенсивности переходов будет иметь вид:

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

Случай А:

- Среднее число занятых рабочих  К=1.3892554194156456173.

- Абсолютная пропускная способность А=8.335532516493873704.

- Среднее число неисправных станков Lc=1.832233741753063148.

Случай Б:

- Среднее число занятых рабочих  К=0.7350776778413736713.

- Абсолютная пропускная способность А=8.8209321340964840556.

- Среднее число неисправных станков Lc=1.5895339329517579722.


5. Исходный код программы

Random R = new Random();

       private void btStart_Click(object sender, EventArgs e)

       {

           TwoChannelsWork();

           OneWorkerWorks();          

       }

       public void TwoChannelsWork()

       {

           double p = 1 / (60 * double.Parse(tbP.Text));

           double q = 1 / (60 * double.Parse(tbQ.Text));

           Queue<Request> RequestQueue = new Queue<Request>();

           int WorkingWorker = 0;

           int BreakingSource = 0;

           int SourcesGot = 0;

           Request[] Worker = new Request[2];

           int[] Source = new int[6];

           for (int i = 0; i < Source.Length; i++)

               Source[i] = ExpDistributionGetInterval(p);

           for (int i = 0; i < Worker.Length; i++)

               Worker[i] = new Request(-1, 0);

           for (int Quant = 0; Quant < 100000; Quant++)

           {

               for (int i = 0; i < Source.Length; i++)

               {

                   if (Source[i] > 0)

                       Source[i]--;

                   if (Source[i] == 0)

                   {

                       RequestQueue.Enqueue(new Request(i, ExpDistributionGetInterval(q)));

                       Source[i] = -1;

                   }

               }

               for (int i = 0; i < 2; i++)

               {

                   if (Worker[i].time == 0)

                   {

                       if (Worker[i].index != -1)

                           Source[Worker[i].index] = ExpDistributionGetInterval(p);

                       if (RequestQueue.Count > 0)

                           Worker[i] = RequestQueue.Dequeue();

                       else

                           Worker[i].index = -1;

                   }

                   else

                       Worker[i].time--;

               }

               for (int i = 0; i < Source.Length; i++)

                   if (Source[i] > 0)

                       SourcesGot += (int)(p * 5000);

               for (int i = 0; i < Worker.Length; i++)

               {

                   if (Worker[i].index >= 0)

                   {

                       WorkingWorker++;

                       BreakingSource++;

                   }

               }

               BreakingSource += RequestQueue.Count;

               //listBox1.Items.Add(w.ToString()+"   "+RequestQueue.Count+"   "+ql.ToString()+"   "+(w+RequestQueue.Count+ql).ToString());

           }

           tbAverageWorkersA.Text = ((double)WorkingWorker / 100000).ToString();

           tbBreakingA.Text = ((double)(BreakingSource) / 100000).ToString();

           tbSourceGotA.Text = ((double)SourcesGot / 100000).ToString();

       }

       public void OneWorkerWorks()

       {

           double p = 1 / (60 * double.Parse(tbP.Text));

           double q = 1 / (60 * double.Parse(tbQ.Text));

           Queue<Request> RequestQueue = new Queue<Request>();

           int WorkingWorker = 0;

           int BreakingSource = 0;

           int SourcesGot = 0;

           int[] Source = new int[6];

           for (int i = 0; i < Source.Length; i++)

               Source[i] = ExpDistributionGetInterval(p);

           Request Worker = new Request(-1, 0);

           for (int Quant = 0; Quant < 100000; Quant++)

           {

               for (int i = 0; i < Source.Length; i++)

               {

                   if (Source[i] > 0)

                       Source[i]--;

                   if (Source[i] == 0)

                   {

                       RequestQueue.Enqueue(new Request(i, ExpDistributionGetInterval(2 * q)));

                       Source[i] = -1;

                   }

               }

               if (Worker.time == 0)

               {

                   if (Worker.index != -1)

                       Source[Worker.index] = ExpDistributionGetInterval(p);

                   if (RequestQueue.Count > 0)

                       Worker = RequestQueue.Dequeue();

                   else

                       Worker.index = -1;

               }

               else

                   Worker.time--;

               for (int i = 0; i < Source.Length; i++)

                   if (Source[i] > 0)

                       SourcesGot += (int)(p * 5000);

               if (Worker.index >= 0)

               {

                   WorkingWorker++;

                   BreakingSource++;

               }

               BreakingSource += RequestQueue.Count;

               //listBox1.Items.Add(w.ToString()+"   "+RequestQueue.Count+"   "+ql.ToString()+"   "+(w+RequestQueue.Count+ql).ToString());

           }

           tbAverageWorkersB.Text = ((double)WorkingWorker / 100000).ToString();

           tbBreakingB.Text = ((double)(BreakingSource) / 100000).ToString();

           tbSourceGotB.Text = ((double)SourcesGot / 100000).ToString();

       }

       public class Request

       {

           public int time;

           public int index;

           public Request(int ind, int tim)

           {

               time = tim;

               index = ind;

           }

       }


q

q

p

p

p

p

p

2q

p

p

p

p

p

6

p

6


 

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

44259. Разработка жидкостный ракетный двигатель первой ступени ракетоносителя, работающего на топливе Керосин и О2ж 3.15 MB
  Объектами разработки являются конструкция камеры компоновочная схема и пневмогидравлическая схема двигателя. В процессе работы произведён выбор системы подачи схемы и основных параметров системы характеризующих совершенство процессов в камере сгорания и сопле проведен тепловой расчет камеры определены параметры системы подачи выполнено...
44260. АНАЛІЗ РОЗВЯЗУЮЧИХ ВЛАСТИВОСТЕЙ ІМПЕДАНСНИХ СТРУКТУР З РЕАКТИВНИМ ІМПЕДАНСОМ 8.48 MB
  Значення коефіцієнта придушення. Аркуш 5 Значення коефіцієнта придушення. Ефективність запропонованої неоднорідної імпедансної смуги була оцінена в досить вузькому частотному діапазоні у зв'язку з чим не зрозуміло як буде поводитися коефіцієнт придушення за границями цього діапазону. Коефіцієнт придушення імпедансної смуги.
44261. Создание ИТ инфраструктуры внутри организации ОАО «ИПРОМАШПРОМ» 6.33 MB
  ИТ инфраструктура гарантирует: бесперебойную работу сети; адекватную скоростью расширения без перестройки; возможность управления ИТ инфраструктурой.1 LN WLN Wireless re Network вид локальной вычислительной сети LN использующий для связи и передачи данных между узлами высокочастотные радиоволны а не кабельные соединения.2 WLN CN Cmpus re Network кампусная сеть объединяющая локальные сети близко расположенных зданий на ограниченной территории студенческий городок. WN Wide re Network сети объединяющие территориально...
44263. Отношение европейских держав к итало-турецкой войне 1911-1912гг 564 KB
  Интересы стран Антанты Тройственного союза а также Италии и Турции в Средиземноморском регионе до начала Ливийской войны. Франция заручившись поддержкой со стороны Англии и Италии стремилась к овладению Марокко и пыталась навязать султану свои требования по которым страна стала бы французским протекторатом что крайне не нравилось Германии. Помимо определения международной ситуации следует остановиться на непосредственных участниках конфликта Италии и Османской империи. Конец XIXXX время формирования внешнеполитического курса единой...
44264. Повышение впитывающей способности гранул аммиачной селитры 1.08 MB
  Принадлежность к семейству азотных удобрений универсальность применения возможность промышленных объемов производства и поставок отработанная технология производства вот плюсы которые сохраняют непоколебимыми позиции селитры аммиачной на рынке удобрений. Популярность аммиачной селитры объясняется его универсальностью так как это удобрение повсеместно используется в сельском хозяйстве для любых культур и на всех видах почв. Существует проблема связанная с высокой гигроскопичностью аммиачной селитры. Одним из достоинств аммиачной селитры...
44265. Ремонт коллекторов электрических машин постоянного тока 1.37 MB
  Стержни обмотки якоря двигателя соединены по определенней схеме с пластинами коллектора. С помощью щеток 2 скользящих по пластинам коллектора обмотка якоря соединяется с внешней сетью. Провести внешний осмотр коллектора и электрощеток при разборке и дефектации электрической машины. Перечень признаков ослабления посадки пластин коллектора при которых необходимо произвести обтяжку конуса: почернение каждой второй или третьей пластины коллектора; сколы на электрощетках; отдельные...
44266. Исследование отмывающей способности раствора ПАВ «DeltaGreen» с концентрацией 5,0% 1.81 MB
  Ежегодно миллионы тонн нефти выливаются на поверхность Мирового океана, попадают в почву и грунтовые воды, сгорают, загрязняя воздух. Большинство земель в той или иной мере загрязнены сейчас нефтепродуктами.
44267. Методичні вказівки. Психологія 466.5 KB
  Як теоретико-прикладне дослідження дипломна робота повинна містити глибоке теоретичне осмислення актуальної проблеми, а також обґрунтований проект практичного її розв’язання, виконаний на основі проведеного аналізу певного об’єкту, феномену, явища, процесу, іншого, виділення різних аспектів, показу його зв’язків з іншими явищами