51317

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

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

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

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

Русский

2014-02-09

320 KB

22 чел.

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

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

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

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

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

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

Отчёт по лабораторной работе №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


 

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

46492. Дополнительное профессиональное образование 19.75 KB
  Программы дополнительного профессионального образования реализуются в следующих формах: с отрывом от основной работы очная форма обучения; без отрыва от работы заочная дистанционная; с частичным отрывом от работы; обучение по индивидуальным формам; экстернат. 1 учитель в процессе работы по изучению нового материала обращал внимание на подготовку учащихся к выполнению домашнего задания. дз не сводилось лишь к воспроизводящей деятельности учащихся а включало в себя элементы творческой работы. Задавая урок на дом необходимо не только...
46493. Острый абсцесс легкого: клиника, диагностика, дифференциальная диагностика. Принципы лечения 17.46 KB
  Рак печени. Клиника диагностика дифференциальная диагностика лечение Рак печени.этиологиявирус гепат ВС и Dцирроз печени параз инвазияхим канцерогены гепатотропные яды микотоксины добро пухоли ген болезни и нарушения обмена веществ радиационный фактор другие факторы: курение алкоголь противозачаточные средства травма.ДИФФУЗНАЯ циррозрак печени4.
46494. Инновации как главный фактор поддержания конкурентоспособности предприятия 17.48 KB
  Инновации влияющие на конкурентоспособность предприятий классифицируются по следующим признакам: характеру отношений: социальноэкономические организационные технологические инновации; сфере распространения: управленческие производственные технические социальные инновации; предметносодержательной структуре: продуктовые процессные и аллокационные инновации. Управленческие инновации это то новое знание которое воплощено в новых управленческих технологиях новых административных процессах и организационных структурах. Данные...
46495. Пятилетняя гражданская война. Политика военного коммунизма 17.51 KB
  При этом остававшийся экономический потенциал не обновлялся на протяжении всего периода войны и представлял собою полуразвалившееся оборудование и транспорт. Сельское хозяйство производило продукции на 40 меньше чем до войны. Одним из главных итогов гражданской войны стали глубочайшие социальные изменения в российском обществе. Вместе с тем итоги гражданской войны включали не только результаты разрушительных процессов но и определенное созидающее начало.
46496. Экономический рост и развитие 66 KB
  Вследствие неодновременности выборов работа Государственной думы проходила при неполном составе её пополнение шло в ходе работы. Комиссии Государственной думы работали над законопроектами о неприкосновенности личности свободе совести собраний об отмене смертной казни. В центре внимания II Думы как и ее предшественницы находился аграрный вопрос. Третьеиюньский государственный переворот новое Положение о выборах в Думу в нарушение Основных законов было утверждено царем без санкции Думы и Государственного совета означал поражение...
46497. Рroposition 17.62 KB
  Propositions show up in formal logic as objects of a formal language. A formal language begins with different types of symbols. These types can include variables, operators, function symbols, predicate (or relation) symbols, quantifiers, and propositional constants
46498. Эхинококкоз печени. Клиника, диагностика, методы хирургического лечение 17.71 KB
  Эхинококкоз печени. При перкуссии расширения границ печени.Периоды развития: латентный продромальных явлений прогрессивное увеличение печени период осложнений.
46499. Анализ прибыли предприятия 17.72 KB
  Прибыль предприятия характеризует превышение если наоборот то убыток выручки над расходами является главным показателем эффективности деятельности и отражает цель предпринимательства. В зависимости способа вычисления и направлений распределения различают такие основные виды прибыли предприятия: валовую балансовую прибыль операционную прибыль прибыль от обычной деятельности и прибыль после налогообложения чистую прибыль.Валовая балансовая прибыль Gross Profit разность между чистым доходом от реализации продукции и себестоимостью...
46500. Понятие и методы калькуляции затрат 17.86 KB
  Калькуляция служит основой для определения средних издержек производства и установления себестоимости продукции. Методы калькуляции это методы расчёта издержек производства себестоимости продукции объёма незавершённого производства основанные на калькуляции затрат. Попередельный метод калькуляции это метод исчисления себестоимости применяемый на предприятиях где исходный материал в процессе производства проходит ряд переделов или где из одних исходных материалов в одном технологическом процессе получают различные виды продукции....