51268

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

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

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

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

Русский

2014-02-08

91 KB

15 чел.

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

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

Кафедра ПОИТ

Отчёт

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


 

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

22563. Механізми, що лежать в основі формування довготривалої памяті 25 KB
  Механізми що лежать в основі формування довготривалої памяті Цей вид памяті не може базуватись лише на циркуляції імпульсів чи змінах електрофізичних характеристик окремих нейронів. Разом з тим велика кількість інформації при цьому зберігається в довготривалій памяті – незмінню.Механізм памяті такоє пояснюють на основі складних морфологічних чи біохімічних змін синапсів. Молекулярна теорія памяті в основі якої лежить уявлення про те що виникаючий під дією зовнішнього подразника нервовий імпульс активує синтез РНК в нейроні.
22564. Визначення та класифікація емоцій 24 KB
  Визначення та класифікація емоцій Емоції рефлекторна адаптаційна психофізіологічна реакція яка повязана з проявом субєктивного ставлення до значущої ситуації і забезпечує організацію доцільної поведінки. Емоції поділяють на вищі та нижчі. Нижчі емоції найбільш елементарні повязані з органічними потребами тварин і людей поділяються на 2 види : 1 гомеостатичні проявляються в вигляді неспокою пошуковорухової активності спраги голоду і ін. Вищі емоції виникаютьлишу у людини в звязку з задоволенням соціальних потреб інтелектуальних...
22565. Функції емоцій 23 KB
  Сигнальна функція полягає в тому що емоції сигналізують про корисний чи негативний вплив даного організму чи успішність чи неуспішність виконання даної дії. Це призводить до моментальної мобілізації всіх систем організму для реакції – відповіді характер якої залежить від того сигналом корисного чи негативного впливу на організм є даний подразник. Таким чином впливи що надходять з зовнішнього середовища і від самого організму призводять до виникнення емоційних переживань що дають загальну якісну характеристику фактору що впливають...
22566. Основні фізіологічні теорії емоцій 25 KB
  Основні фізіологічні теорії емоцій В першій класичній теорії відомій як теорія Джеймся Ланге робили висновок про характеристику стенічних та астенічних емоційних станів.Пізніше Кеннон та Бард показали що емоції гніву та стаху під впливом таламічних розрядів супроводжуються повишеним поступанням адреналіну в кров що призводить до розвитку симпатікотонії яка відіграє позитивну роль в підготовці організму до діяльності і навіть боротьби внаслідок чого ця теорія отримала незву таламічної теорії емоцій. Кортикальні емоційні процеси...
22567. Сон 42 KB
  Існує величезна кількість емпіричних даних і забобонів щодо значення сну і сновидінь але справжнє наукове вивчення сну почалося лише у другій половині ХІХ ст. Прибічники хімічної теорії сну спочатку пояснювали сон накопиченням в організмі гіпнотоксичних речовин молочна вугільна та карбонові кислоти холестерин а нині надають важливого значення особливим хімічним регуляторам сну таким як речовина сну фактор сну чи пептид дельтасну які являють низькомолекулярні поліпептиди 850 920 Да . Кортикальна теорія сну І. Нарешті...
22568. будливий та гальмівний постсиниптичні потенціали 23.5 KB
  Постсинаптичне гальмування ГПСП обумовлене виділенням пресинаптичним закінченням аксона гальмівного медіатора який знижує або гальмує збудливість мембран соми і дендритів нерв клітини з якою він контактує. Прикладами гальмівних нейронів є клітини Реншоу в спинному мозку клітини Пуркіньє мозочку зірчасті клітини кіркової речовини великого мозку . Збудження нейрона супроводжуеться змінами метаболізму зокрема синтезу РНК та іншими зрушеннями в процесі білкового синтезу посиленням теплопродукції поглинанням кисню які відображають...
22569. Постсинаптичне гальмування у ЦНС та його природа.Значення ггальмування у роботі 22.5 KB
  Значення ггальмування у роботі. Гальмування особливий нервовий процес який зумовлюється збудженням і зовнішньо проявляється пригніченням іншого збудження. Постсинаптичне гальмування ГПСП обумовлене виділенням пресинаптичним закінченням аксона гальмівного медіатора який знижує або гальмує збудливість мембран соми і дендритів нерв клітини з якою він контактує.
22570. ЦНС 22.5 KB
  Особливе місце в цій складній організації займае місце ЦНС що повязує в функціональну єдність всі клітини тканини і органи людського організму. Дякуючи великій кількості різних рецепторів ЦНС сприймає багаточисельні зміни що виникають в зовн средовищі і всередині організму і відіграє велику роль в регуляції всіх сторін життєдіяльності огранізму в зовн середовищі. Процеси що відбуваються в ЦНС лежать в основі психічної діяльності та поведінки людини. Діяльність ЦНС найчастіше наз координаційною або узгоджувальною.