Пример 7.1. Выбор устройства по правилу «первый свободный с наименьшим номером», если все устройства заняты транзакт получает отказ

Блок выбора объекта из однородной совокупности объектов по заданному условию

Пример 6.10. Программная модель с подпрограммой

Отличие данной модели от предыдущей в том, что рабочие во время конторльной операции могут начать обрабатывать следующую деталь.

 

GENERATE 15,5

TRANSFER .5,THIS,THAT

THIS SEIZE 1

ADVANCE 5,2

RELEASE 1

TRANSFER SBR,KONTR,1

SEIZE 1

ADVANCE 6,3

RELEASE 1

TRANSFER SBR,KONTR,1

TERMINATE

THAT SEIZE 2

ADVANCE 6,3

RELEASE 2

TRANSFER SBR,KONTR,1

SEIZE 2

ADVANCE 5,2

RELEASE 2

TRANSFER SBR,KONTR,1

TERMINATE

KONTR SEIZE 3

ADVANCE 2,1

RELEASE 3

TRANSFER P,1,1

GENERATE ,,1000000,1

TERMINATE 100

START 100

GPSS World Simulation Report - Untitled Model 1.1.1

 

 

Friday, March 09, 2012 14:01:27

 

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 1000000.000 26 3 0

 

 

NAME VALUE

KONTR 21.000

THAT 12.000

THIS 3.000

 

 

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 66698 0 0

2 TRANSFER 66698 0 0

THIS 3 SEIZE 33342 0 0

4 ADVANCE 33342 1 0

5 RELEASE 33341 0 0

6 TRANSFER 33341 0 0

7 SEIZE 33341 0 0

8 ADVANCE 33341 0 0

9 RELEASE 33341 0 0

10 TRANSFER 33341 0 0

11 TERMINATE 33341 0 0

THAT 12 SEIZE 33356 0 0

13 ADVANCE 33356 0 0

14 RELEASE 33356 0 0

15 TRANSFER 33356 0 0

16 SEIZE 33356 0 0

17 ADVANCE 33356 0 0

18 RELEASE 33356 0 0

19 TRANSFER 33356 0 0

20 TERMINATE 33356 0 0

KONTR 21 SEIZE 133394 0 0

22 ADVANCE 133394 0 0

23 RELEASE 133394 0 0

24 TRANSFER 133394 0 0

25 GENERATE 1 0 0

26 TERMINATE 1 0 0

 

 

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

1 66683 0.367 5.503 1 66699 0 0 0 0

2 66712 0.367 5.497 1 0 0 0 0 0

3 133394 0.267 2.000 1 0 0 0 0 0

 

 

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

66699 0 1000002.013 66699 4 5

66700 0 1000010.657 66700 0 1

 

 

Для выбора объекта из заданной совокупности объектов используется блок SELECT O A,B,C,D,E,F.

В поле операции блока с пробелом в одну позицию после идентификатора операции записывается условный или логический оператор. В операнде А указывается идентификатор параметра, в который записывается номер выбранного объекта. В операнде В указывается левый предел совокупности выбираемого объекта, а в операнде С – правый. Операнд D заполняется только в том случае, если оператор О – условный. В операнде Е указывается СЧА выбираемых объектов. В операнде F может быть указана метка, к которой направляется транзакт в случае, если ему не удалось найти ни одного объекта по заданному условию. В случае успешного поиска транзакт поступает к следующему блоку. В случае если поиск оказался неуспешным, а операнд F пустой, то транзакт также переходит к следующему блоку. Отметим, что идентификаторы объектов могут быть заданы только цифрами. Если они заданы буквенными именами, то производят переход к номерам с помощью команды NAME EQU А. В поле метки команды указывается имя объекта, а в операнде А присваевыемый объекту номер.

 

Структурная схема примера представлена на рис.7.1.

 
 


 

GT
PK2

Решённые задачи

       
 
   
 


 

Равномерный · ·

закон 10±3 · ·

· ·

 
 
PK8


 

 

Равномерный

Закон 100±50

Отказы если все устройства заняты

 
 

 


Время функционирования всех элементов модели распределено по равномерному закону.

Протабулировать время решения задач, Подсчитать вероятность отказа. Останов после вывода из модели 100 задач.

 

Рис.7.1. Структурная схема примера 7.1

 

Программа

 

VREMA TABLE M1,50,10,20

GENERATE 10,3

SELECT NU VIBOR,1,8,,,OTKAZ

*Транзакт, вошедший в блок SELECT, просматривает все РК с первого по

*восьмой и записывает в параметр с именем VIBOR номер выбранного РК.

*Если же все РК заняты, то транзакт переходит к метке OTKAZ.

SEIZE P$VIBOR

*Транзакт занимает устройство, номер которого указан в параметре с

*именем VIBOR

ADVANCE 75,50

RELEASE *$VIBOR

*Транзакт покидает устройство, номер которого указан в параметре с

*именем VIBOR

TABULATE VREMA

SAVEVALUE VEROYT,(N$OTKAZ/100)

FINAL TERMINATE 1

OTKAZ TERMINATE 1

START 100

 

Отчёт

 

 

GPSS World Simulation Report - Выбор1.2.1

 

 

Sunday, March 11, 2012 21:11:25

 

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 1081.106 9 8 0

 

 

NAME VALUE

FINAL 8.000

OTKAZ 9.000

VEROYT 10002.000

VIBOR 10001.000

VREMA 10000.000

 

 

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 107 0 0

2 SELECT 107 0 0

3 SEIZE 94 0 0

4 ADVANCE 94 7 0

5 RELEASE 87 0 0

6 TABULATE 87 0 0

7 SAVEVALUE 87 0 0

FINAL 8 TERMINATE 87 0 0

OTKAZ 9 TERMINATE 13 0 0

 

 

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

1 14 0.938 72.438 1 101 0 0 0 0

2 13 0.913 75.956 1 0 0 0 0 0

3 13 0.915 76.132 1 103 0 0 0 0

4 12 0.866 78.028 1 105 0 0 0 0

5 14 0.803 61.974 1 102 0 0 0 0

6 10 0.770 83.221 1 99 0 0 0 0

7 10 0.613 66.326 1 106 0 0 0 0

8 8 0.606 81.872 1 107 0 0 0 0

 

 

TABLE MEAN STD.DEV. RANGE RETRY FREQUENCY CUM.%

VREMA 76.292 27.762 0

_ - 50.000 20 22.99

50.000 - 60.000 7 31.03

60.000 - 70.000 10 42.53

70.000 - 80.000 8 51.72

80.000 - 90.000 9 62.07

90.000 - 100.000 12 75.86

100.000 - 110.000 7 83.91

110.000 - 120.000 11 96.55

120.000 - 130.000 3 100.00

 

 

SAVEVALUE RETRY VALUE

VEROYT 0 0.130

 

По содержимому стандартного отчёта сделаем выводы, что устройства сравнительно сильно загружены, коэффициент использования первого устройства – 0,938; восьмого – 0,606. Разница в загрузке устройств значительная – 0,332. В систему для обслуживания поступило 107 транзактов, из них 87 обслужено; 7 находятся на обслуживании и 13 получили отказ из-за занятости устройств. Вероятность отказа 0,13.

Недостаток: сравнительно значительная разница в загрузке устройств, что объясняется принятой дисциплиной выбора «первый свободный с наименьшим номером».