бесплатные рефераты

Моделирование 2-х канальной системы массового обслуживания с отказами

5000

7000

7000

10000

10000

12000

12000

15000

15000

17000

17000

20000

20000

25000

25000

38

318

37

121

48

291

87

413

147

672

88

762

124

975

88

1120

129

989

218

1707

30

187

25

69

33

147

68

222

91

363

60

448

84

533

66

618

89

566

147

932

8

131

12

52

15

144

19

191

56

309

28

314

40

442

22

502

40

423

71

775

0,01

0,006

0,006

0,017

0,007

0,029

0,001

0,032

0,008

0,036

0,005

0,037

0,006

0,036

0,004

0,036

0,004

0,033

0,006

0,037

0,789

0,588

0,776

0,57

0,688

0,505

0,782

0,538

0,619

0,54

0,682

0,588

0,677

0,547

0,75

0,552

0,69

0,572

0,674

0,546

21,1

41,2

32,4

43

31,3

49,5

21,8

46,2

38,1

46

31,8

41,2

32,3

45,3

28

44,8

31

42,8

32,6

45,4

 

 


Приложение 2.

 

 Моделирование 2-х канальной системы массового обслуживания с отказами

 

Приложение 3.

 Моделирование 2-х канальной системы массового обслуживания с отказами


Приложение 4.

 

 Моделирование 2-х канальной системы массового обслуживания с отказами

 

Приложение 5.

 

 Моделирование 2-х канальной системы массового обслуживания с отказами


Приложение 6.

Листинг программы.

PROGRAM CAN_SMO;

 

 

TYPE

 CHANNAL = (FREE, CLAIM1, CLAIM2);

 TIME = word;

 INTENSITY = word;

 STATISTICS = word;

 

VAR

 CHANNAL1, CHANNAL2 : CHANNAL;{Каналы        }

 _T_, t, tc1, tc2 : TIME;     {Время}

 l1, l2, n1, n2 : INTENSITY;  {Интенсивности }

 served1, not_served1,

 served2, not_served2,

 S : STATISTICS; {Статистика}

 M,N:INTEGER;{число реализаций}

FUNCTION W(t : TIME; l : INTENSITY) : boolean;{Определяет появилась ли заявка}

 Begin                                        {по интенсивности потока l}

  if random < l/60 then W := TRUE else W := FALSE;

 End;

 

FUNCTION F(t : TIME; n : INTENSITY) : TIME;{Определяет сколько будет обрабатываться заявка}

 Begin                                     {по интенсивности обслуживания заявок n}

  F := t +round(60/(n));

 End;

 

BEGIN

M:=0;

WRITELN('ВВЕДИТЕ ЧИСЛО РЕАЛИЗАЦИЙ РАБОТЫ СМО');

READLN(N);

REPEAT

M:=M+1;

writeln(M, '-ая реализация');

 randomize;

 CHANNAL1 := FREE; CHANNAL2 := FREE;

 l1 := 3; l2 := 1; n1 := 2; n2 := 1;

 served1 := 0; not_served1 := 0;

 served2 := 0; not_served2 := 0;

  write('Введите время исследования СМО - Т: '); readln(_T_);

 

 repeat

 

  if  tc1 = t then

   begin

    if CHANNAL1 = CLAIM1 then inc(served1) else inc(served2);

    CHANNAL1 := FREE;

    writeln('Канал1 выполнил заявку');

   end;

  if tc2 = t then

   begin

    if CHANNAL2 = CLAIM1 then inc(served1) else inc(served2);

    CHANNAL2 := FREE;

    writeln('Канал2 выполнил заявку');

   end;

  if W(t,l1) then

   begin

    writeln('Поступила заявка1');

    if CHANNAL1 = FREE then

     begin CHANNAL1 := CLAIM1; tc1 := F(t,n1); writeln('Канал1 принял заявку1'); end

    else if  CHANNAL2 = FREE then

     begin CHANNAL2 := CLAIM1; tc2 := F(t,n1); writeln('Канал2 принял заявку1'); end

    else if CHANNAL1 = CLAIM2 then

     begin CHANNAL1 := CLAIM1; tc1 := F(t,n1); inc(not_served2); writeln('Канал1 принял заявку1 вместо заявки2'); end

    else if CHANNAL2 = CLAIM2 then

     begin CHANNAL2 := CLAIM1; tc2 := F(t,n1); inc(not_served2); writeln('Канал2 принял заявку1 вместо заявки2'); end

    else begin inc(not_served1); writeln('заявка1 не обслужена'); end;

   end;

 

  if W(t,l2) then

   begin

    writeln('Поступила заявка2');

    if CHANNAL1 = FREE then

     begin CHANNAL1 := CLAIM2; tc1 := F(t,n2); writeln('Канал1 принял заявку2');end

    else if CHANNAL2 = FREE then

     begin CHANNAL2 := CLAIM2; tc2 := F(t,n2); writeln('Канал2 принял заявку2');end

    else begin inc(not_served2);  writeln('заявка2 не обслужена'); end;

   end;

  inc(t);

 until _T_ = t;

 S := served1 + not_served1 + served2 + not_served2;

 writeln('время работы СМО  ',_T_);

 writeln('обслужено каналом1: ' ,served1);

 writeln('обслужено каналом2: ',served2);

 writeln('Поступило заявок : ',S);

 writeln('Обслужено заявок : ',served1+served2);

 writeln('Не обслужено заявок : ',not_served1+not_served2);

 {writeln('Интенсивность поступления заявок в систему : ',(served1+served2)/_T_:2:3);}

 writeln('Абсолютная пропускная способность системы : ',(served1+served2)/T:2:3);

 writeln('Вероятность отказа : ',(not_served1+not_served2)/S*100:2:1,'%');

 writeln('Относительная пропускная способность системы: ',(served1+served2)/S:2:3);

 readln;

 UNTIL M>=N;

 writeln('моделирование закончено');

END.


Список литературы.

 

1.     Фомин Г.П., Математические методы и модели в коммерческой деятельности. М: Финансы и статистика, 2001.

2.     Вентцель Е.С., Овчаров Л.А. Теория вероятностей и её инженерные приложения, М: Наука, 1988.

3.     Вентцель Е.С. Исследование операций, М:Наука, 1980.

4.     Лифшиц А.Л. Статистическое моделирование СМО, М., 1978.

5.      Советов Б.А., Яковлев С.А. Моделирование систем, М: Высшая школа, 1985.

6.      Гмурман В.Е. Теория вероятностей и математическая статистика, М: Высшая школа, 2001.

 


Страницы: 1, 2, 3


© 2010 РЕФЕРАТЫ