51268

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

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

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

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

Русский

2014-02-08

91 KB

14 чел.

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

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

Кафедра ПОИТ

Отчёт

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


 

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

29391. Конструктивное исполнение электрооборудования в НГП 30 KB
  Конструктивное исполнение электрооборудования в НГП должно соответствовать условиям его эксплуатации. исполнение характеризуется тем что электродвигатели имеют специальные приспособления крышки кожухи сетки. Водозащищенное IP55 IP56 исполнение электродвигатели недоступны проникновению внутрь струй воды любого направления.
29392. Нерегулируемый ЭП буровых насосов 27.5 KB
  Двигатели брызгозащишенные с влагостойкой изоляцией с самовентиляцией; наверху корпуса двигателя смонтирован возбудитель связанный клиноременной передачей с валом двигателя. Номинальное напряжение двигателя 6 кВ частота вращения 750 об мин. Так как условия пуска двигателя бурового насоса сравнительно легкие момент статического сопротивления на валу двигателя составляет примерно 20 от номинального момента двигателя а время разгона составляет 34 сек в схеме предусмотрен прямой пуск двигателя с наглухо подключенным возбудителем. Для...
29393. Особенности конструкции ЭД станка-качалки 21 KB
  имеют повышенный пусковой момент который обеспечивается за счет специальной конструкции обмотки ротора это может быть или глубокопазная обмотка 10:1 или двойная беличья клетка причем внутренняя клетка выполнена из меди а наружная из латуни имеющей большее удельное сопротивление чем медь. После вытеснения тока на поверхность сечение проводника по которому течет ток уменьшается при этом активное сопротивление обмотки ротора увеличивается и момент развиваемый ЭД при пуске возрастает так как он пропорционален приведенному активному...
29394. Регулируемый ЭП буровых насосов 66.5 KB
  В небольших пределах регулирование скорости электродвигателя буровых насосов можно осуществлять при применении асинхронных двигателей АД с фазным ротором при помощи включении в цепь ротора регулировочных реостатов. При снижении скорости на 2030 скольжение становится равным 0203 и потеря мощности в пусковых реостатах достигнет также 2030. Поэтому в настоящее время реостатный способ регулирования скорости АД не применяется. Схема обеспечивает изменение скорости вращения АД на 40 выше от номинальной.
29395. СИНХРОННЫЕ МАШИНЫ 37 KB
  Синхронные машины обладают свойством обратимости то есть могут работать как генератором так и двигателем.1а изображена схема синхронной машины с явно выраженными полюсами.1 Конструкция и электрическая схема синхронной машины с явно выраженными полюсами а б.
29396. Электрооборудование установок для насосной добычи нефти 237.5 KB
  Глубинный насос 1 станкакачалки подвешивается на колонне насосных труб 3рис. Плунжеру 2 насоса сообщается возвратнопоступательное движение с передачей энергии от балансира станкакачалки при помощи колонны штанг 4. Колонна штанг станкакачалки на устье скважины через шток соединена с головкой балансира 6 станкакачалки. Балансирный и кривошипный противовесы служат для уравновешивания нагрузки подвижной системы станкакачалки и двигателя при ходе колонны штанг вниз и вверх рис.
29397. Бесштанговые насосные установки с погружными центробежными насосами 36 KB
  Конструктивные особенности насосной установки с ЭЦН и электропривода. Установка с ЭЦН состоит из следующих основных элементов см. Серийно выпускаются ЭЦН около 30 типоразмеров с подачей от 40 до 500 м3 в сутки и номинальным напором от 400 до 1500 м. Погружной электродвигатель ПЭД ЭЦН представляет собой трехфазный асинхронный двигатель на 3000 об мин в герметичном исполнении с короткозамкнутым ротором помещенный в стальную трубу заполненную трансформаторным маслом и рассчитанный для работы при температуре пластовой жидкости до 90 0С.
29398. Электробуры. Особенности технологии электробурения 28.5 KB
  Особенности технологии электробурения. Преимущества электробурения состоит в том что используется погружной ЭД приводящий во вращение рабочий инструмент на уровне забоя и имеется возможность контролировать фактическую мощность измерительных приборов. Использование электробурения особо широко применялось в 4060 гг прошлого столетия. В то же время использование электробурения позволяет решать многие проблемы связанные с усложнением строительства скважин.
29399. Электропривод ротора 31 KB
  Требования к ЭП ротора буровой установки: Должен иметь мягкую механическую характеристику. Повышению эффективности привода ротора способствует применение электромагнитных муфт различных конструкций устанавливаемых между двигателем и ротором. Пуск и регулирование частоты вращения ротора связаны с потерями энергии в электромагнитной муфте приводящими к её нагреву и муфту необходимо интенсивно охлаждать.