51268

Построение имитационной и аналитической моделей системы

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

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

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

Русский

2014-02-08

91 KB

17 чел.

Белорусский Государственный Университет

Информатики и Радиоэлектроники

Кафедра ПОИТ

Отчёт

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

по курсу САиММ

«Построение имитационной и аналитической моделей системы»

Вариант 16

Выполнил:

                               Проверил:

                                      Мельник Н. И.

Минск 2006


1.
Постановка задачи

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

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

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

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

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

2. Аналитическая модель системы

         Общий вид системы:

                                                      

              …

              N=6                 K=2

Состояния СМО определяются количеством заявок, поступивших в систему: 

        S0 – СМО свободна;

        S1 – занят  один   канал;                                           

         …;                                                  очереди   нет

        Sk – занято  k   каналов   ();                                  

         …;                       

        Sn – заняты   все   п   каналов;

        Sn+1 – заняты все п  каналов,  1 заявка стоит в очереди;

         …;

        Sn+r – заняты все п каналов, r  заявок стоят в очереди ();       очередь

         …;

        Sn+m – заняты все п  каналов и все m мест в очереди;

Диаграмма интенсивности переходов для нашей системы  при  K=2 и  N=6:

                                     

 

Система уравнений имеет следующий вид:     

λ – интенсивность входного потока = 1/Твх = 1/(1/2) = 2

μ – интенсивность выходного потока = 1/Твых = 1/(1/6) = 6

N = 6 – количество подсистем (станков)

К = 2 – количество каналов обслуживания (рабочих)

ω = λ/μ = 1/3

Вероятность нахождения системы в состоянии S0 и S1:

P0 = [ 1 + 6*1/3 + [(6*5)/(1*2)]*(1/3)2 + ... + [(6*5*4*3*2*1)/(1*2*24)]*(1/3)6 ]-1 = 0.153

P1 = 6/1 * 1/3 * P0 = 0.306

Отсюда и получим результаты работы нашей системы:

  •  среднее число занятых рабочих:

                  k = 1*P1 + 2*(1 - P0 - P1) = 1.235

  •  абсолютная пропускная способность системы:

                  A = k*μ = 7.41

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

                              ω = N – A/λ = 6 – 7.41/2 = 2.30

      Рассмотрим также случай, когда рабочие работают совместно, при этом Твых  

      уменьшится в 2 раза. Тогда входные параметры системы будут следующими:

               λ = 2

               μ = 12

               N = 6

               К = 1

               ω = 1/6

      Тогда, вероятность нахождения системы в состоянии S0:

                   P0 = [1+1 + (6*5)/62 + (6*5*4)/63 + ... + (6*5*4*3*2*1)/66] = 0.264                  

       Следовательно результаты работы системы:

  •  среднее число занятых рабочих:

                     k = 1 – P0 = 0.736

  •  абсолютная пропускная способность системы:

                     A = k*μ = 0.736*12 = 8.8

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

                                 ω = N – A/λ = 6 – 8.8/2 = 1.6

Сравнив полученные результаты, очевидно, что показатели системы при совместной работе каналов улучшились.

3. Имитационная модель системы

  Листинг программы, реализующей имитационную модель СМО:

unit U_SAiMM_Lab4;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls, Buttons, Qt;

type

 TForm1 = class(TForm)

   Label1: TLabel;

   TimeWorkingSystem: TEdit;

   Label4: TLabel;

   Label5: TLabel;

   Label6: TLabel;

   Label7: TLabel;

   Label8: TLabel;

   SredneeCountNotWorkSystems: TEdit;

   Label9: TLabel;

   Label10: TLabel;

   AbsoluteOutputPS: TEdit;

   SredneeCountCanals: TEdit;

   StartSystemWork: TBitBtn;

   CountOutputCanals: TComboBox;

   Label11: TLabel;

   Memo1: TMemo;

   Memo2: TMemo;

   Label2: TLabel;

   Label3: TLabel;

   TimeToInterval: TEdit;

   TimeToProcess: TEdit;

   procedure StartSystemWorkClick(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

const

 CountSystems = 6;

var

 Form1: TForm1;

implementation

{$R *.dfm}

function CountTackt(Param: Real): Integer;

begin

 result:=Round(-(1/Param) * ln(Random)*575) ;

end;

procedure TForm1.StartSystemWorkClick(Sender: TObject);

type

 Element = record

   Time: Integer;

   InQue: Boolean;

 end;   

var

 MasSystems: array [1..CountSystems] of Element;

 IsWorkCanal, TimeWorkCanal: array [1..2] of Integer;

 I, J, Queque, CurrentTime: Integer;

 FullWorkTime, ProcessTime, IntervalTime, CCanals: Integer;

 R_CountCanals, R_CountSystems, R_AbsolutePS: real;

 L, M: Real;

 Canal1, Canal2: Integer;

 CountWorkCanals, SumQueque: Integer;

begin

 Memo1.Clear; Memo2.Clear;

 CountWorkCanals := 0;

 SumQueque := 0;

 Queque := 0;

 FullWorkTime := StrToInt(TimeWorkingSystem.Text);

 CCanals := StrToInt(CountOutputCanals.Text);

   L := 2;

   if CCanals = 1 then M := 6

   else M := 12;

 for I:=1 to CountSystems do

 begin

   MasSystems[I].Time := CountTackt(L);

   MasSystems[I].InQue := False;

   Memo2.Lines.Add(IntToStr(MasSystems[I].Time));

 end;

 for I:=1 to CCanals do IsWorkCanal[I] := 0;

 Memo2.Lines.Add('');

 

 for CurrentTime:=1 to FullWorkTime do

 begin

   for I:=1 to CountSystems do

   begin

     if (MasSystems[I].Time <= CurrentTime) then

     begin

       // если у нас только 1 канал

       if CCanals = 1 then

       begin

         if IsWorkCanal[1] = 0 then

         begin

           if (Queque > 0) then Dec(Queque);

           TimeWorkCanal[1] := CountTackt(M);

           Memo2.Lines.Add('1: '+IntToStr(CurrentTime)+'  '+IntToStr(TimeWorkCanal[1]));

           MasSystems[I].Time := I + TimeWorkCanal[1] + CountTackt(L);

           MasSystems[I].InQue := False;

           IsWorkCanal[1] := 1;

         end

         else

           if (MasSystems[I].InQue = False)and(Queque < 4) then

           begin

             Inc(Queque);

             MasSystems[I].InQue := True;

           end;

       end;

       // если у нас 2 канала

       if CCanals = 2 then

       begin

         if IsWorkCanal[1] = 0 then

         begin

           if (Queque > 0) then Dec(Queque);

           TimeWorkCanal[1] := CountTackt(M);

           Memo2.Lines.Add('1: '+IntToStr(CurrentTime)+'  '+IntToStr(TimeWorkCanal[1]));

           MasSystems[I].Time := I + TimeWorkCanal[1] + CountTackt(L);

           MasSystems[I].InQue := False;

           IsWorkCanal[1] := 1;

         end

         else

           if IsWorkCanal[2] = 0 then

           begin

             if (Queque > 0) then Dec(Queque);

             TimeWorkCanal[2] := CountTackt(M);

             Memo2.Lines.Add('2: '+IntToStr(CurrentTime)+'  '+IntToStr(TimeWorkCanal[2]));

             MasSystems[I].Time := I + TimeWorkCanal[2] + CountTackt(L);

             MasSystems[I].InQue := False;

             IsWorkCanal[2] := 1;

           end

           else if (MasSystems[I].InQue = False)and(Queque < 4) then

           begin

             Inc(Queque);

             MasSystems[I].InQue := True;

           end;

       end;

     end;

   end;

   if CCanals = 2 then

     Memo1.Lines.Add(IntToStr(CurrentTime)+'  '+IntToStr(Queque)+

                     '   '+IntToStr(IsWorkCanal[1])+' '+IntToStr(IsWorkCanal[2]))

   else

     Memo1.Lines.Add(IntToStr(CurrentTime)+'  '+IntToStr(Queque)+

                     '   '+IntToStr(IsWorkCanal[1]));

   SumQueque := SumQueque + Queque;

   if (IsWorkCanal[1] = 1) and (IsWorkCanal[2] = 1) then

   begin

     CountWorkCanals := CountWorkCanals + 2;

     SumQueque := SumQueque + 2;

   end

   else

     if (IsWorkCanal[1] <> IsWorkCanal[2]) then

     begin

       Inc(CountWorkCanals);

       Inc(SumQueque);

     end;

   for J:=1 to CCanals do

     if IsWorkCanal[J] = 1 then

     begin

       Dec(TimeWorkCanal[J]);

       if TimeWorkCanal[J] <= 0 then

         IsWorkCanal[J] := 0;

     end;

 end;

 R_CountCanals := CountWorkCanals/FullWorkTime;

 R_CountSystems := SumQueque/FullWorkTime;

 R_AbsolutePS := R_CountCanals*M;

 SredneeCountCanals.Text := FloatToStrF(R_CountCanals, ffFixed, 3, 14);

 SredneeCountNotWorkSystems.Text := FloatToStrF(R_CountSystems, ffFixed, 3, 14);

 AbsoluteOutputPS.Text := FloatToStrF(R_AbsolutePS, ffFixed, 3, 14);

end;

end.

Результаты работы имитационной модели СМО:

    Время работы системы = 1000 тактов

    Интервал выдачи заявки = 30

    Время обслуживания заявки = 10

Кол-во каналов в системе

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

Среднее число неисправных подсистем

Абс. пропускная способность

2

1.12

1.95

6.73

(*)

1.23

2.13

7.36

1.30

2.20

7.82

1.38

2.61

8.26

1.56

2.59

9.34

1

0.554

1.77

6.65

(*)

0.734

2.22

8.81

(*)

0.782

1.67

9.38

0.82

2.47

9.84

0.928

2.49

11.1

(*) – помечены результаты, наиболее близко соответствующие аналитической модели СМО.

4. Выводы

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

2m

2m

   Очередь

m

S3

Нет очереди

S2

.......

S1

2m

2m

S6

S0

EMBED Equation.3

EMBED Equation.3


 

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

84556. Міогенна і гуморальна регуляція тонусу судин. Роль ендотелія судин в регуляції судинного тонусу 45.08 KB
  Роль ендотелія судин в регуляції судинного тонусу. Базальний тонус судин той який притаманний судинам за відсутності нервових та гуморальних впливів вивчати можна на ізольованій судині. Кількість гладеньких мязів що здатні до автоматії більша в дистальних судинах ніж в проксимальних; більша в артеріальних судинах ніж у венозних.
84557. Гемодинамічний центр. Рефлекторна регуляція тонусу судин. Пресорні і депресорні рефлекси 44.84 KB
  Гемодинамічний центр ГДЦ розташований в довгастому мозку хоча в регуляції системного кровообігу беруть участь всі рівні ЦНС від кори ГМ до спинного мозку. В структурі ГДЦ виділяють: пресорний відділ ПВ депресорний відділ ДВ еферентне парасимпатичне ядро блукаючого нерва Х. Третім структурним елементом ГДЦ є парасимпатичне ядро блукаючого нерва. Аферентні звязки ГДЦ.
84558. Рефлекторна регуляція кровообігу при зміні положення тіла у просторі (ортостатична проба) 45.13 KB
  Регуляція САТ відбувається: за відхиленням у відповідь на зміну САТ вмикаються регуляторні механізми які повертають його до вихідного рівня саморегуляція або регуляція на основі негативного зворотнього звязку; така регуляція має місце при необхідності стабілізувати САТ на певному рівні: за збуренням збурення дія якогось зовнішнього по відношенню до системи кровообігу фактора потребує зміни САТ в певному напрямку; інформація про дію збурення передається в КП ГДЦ по каналу зовнішнього звязку ГДЦ виробляє керуючий сигнал що...
84559. Регуляція кровообігу при м’язовій роботі 45.45 KB
  Підвищення САТ є результатом рефлексу з пропріорецепторів працюючих мязів активація ПВ ГДЦ та гальмування ядра блукаючого нерва збільшення ЧСС та СО ріст ХОК ріст САТ; звуження артеріальних та венозних судин також зумовлюють ріст САТ. Рефлекс з пропріорецепторів працюючих мязів є основним але не єдиним механізмом розвитку пресорної реакції при мязовій роботі. Регуляція кровотоку в мязах при фізичній роботі спрямована на забезпечення його розширення зменшення опору цих судин збільшення обємної швидкості кровотоку через працюючі...
84560. Особливості кровообігу у судинах головного мозку і його регуляція 42.75 KB
  Унікальною особливістю кровообігу ГМ є те що воно відбувається в замкнутому просторі непіддатливого черепа та перебуває в динамічному взаємозвязку з кровообігом спинного мозку та переміщенням спинномозкової рідини. Величина мозкового кровообігу відносно постійна складає 750 мл хв 15 від ХОК маса мозку 2 від маси тіла. Кровотік в мозку нерівномірний краще кровопостачаються ділянки сірої речовини бо тут найвищий рівень обміну речовин.
84561. Особливості кровообігу у судинах серця i його регуляція 43.46 KB
  Високий рівень кровотоку в стані спокою 250 мл хв 5 від ХОК маса серця 05 від маси тіла. Високий тонус вінцевих судин в стані спокою незважаючи на високий рівень метаболізму ця умова забезпечує здатність вінцевих судин до розширення та збільшення кровотоку під час посиленої діяльності 5. Залежність кровотоку від фаз СЦ: він знижується під час систоли артерії стискуються міокардом та збільшується під час діастоли. Головна особливість в регуляції серцевого кровотоку полягає у перевазі місцевих механізмів над центральними.
84562. Особливості легеневого кровообігу його регуляція 43.31 KB
  В легенях розрізняють дві групи судин: одні виконують трофічну функцію живлять тканину легень бронхів та відносяться до судин великого кола кровообігу інші функцію газообміну та відносяться до судин малого кола. Далі мова піде про судини малого кола кровообігу. Артеріальні судини за своїми властивостями та будовою нагадують венозні судини вони легко розтягуюються та реагують зміною обєму на зміну трансмурального тиску. В артеріальних судинах легень відсутні спеціальні судини опору.
84563. Механізми лімфоутворення. Рух лімфи посудинах 43.75 KB
  Рух лімфи посудинах. Утворення лімфи відбувається за участі судин гемомікроциркулярного русла. Утворення лімфи. Головну роль в утворенні лімфи відіграють лімфатичні капіляри: на відміну від кровоносних вони сліпі більш широкі у них ширші міжклітинні щілини відсутня базальна мембрана проникність стінок лімфатичних капілярів дуже висока.
84564. Загальна характеристика системи дихання. Основні етапи дихання. Біомеханіка вдиху і видиху 49.56 KB
  Основні етапи дихання. Дихання процес обміну газів О2 та СО2 між атмосферним повітрям та тканинами організму. СИСТЕМА ДИХАННЯ ВИКОНАВЧІ ОРГАНИ МЕХАНІЗМИ РЕГУЛЯЦІЇ Грудна клітина Нервові Гуморальні Дихальні мязи Плевра Забезпечення оптимального газообміну між атмосферним повітрям та тканинами організму.