К. И. Сатпаева Кафедра «Логистика и оценка» Н. М. Кулжабай, Р. Т. Исмаилова, А. Ш. Оразымбетова Игровое имитационное моделирование логистических систем Методические указания



бет20/22
Дата13.01.2024
өлшемі0.75 Mb.
#488996
түріМетодические указания
1   ...   14   15   16   17   18   19   20   21   22
2014 Мет.указ.практ. раб ИИМЛС рус

Пример 7.1. Рассмотрим ситуацию, когда на обработку поступают два потока заявок, причем второй поток прерывает обработку первого. Прерванная заявка продолжает обслуживание после освобождения прибора. Выполним подсчет количества обработанных заявок каждого типа. Результаты моделирования приведены на рисунке 7.1.

100 GENERATE (Exponential(1,0,20))


105 QUEUE OCHERED1
110 SEIZE PRIBOR
115 DEPART OCHERED1
120 ADVANCE (Exponential(1,0,10))
125 TIP1 RELEASE PRIBOR
130 SAVEVALUE OBRABTIP1,N$TIP1
140 TERMINATE
130 GENERATE (Exponential(1,0,15))
135 QUEUE OCHERED2
140 PREEMPT PRIBOR
145 DEPART OCHERED2
150 ADVANCE (Exponential(1,0,7))
160 TIP2 RETURN PRIBOR
170 SAVEVALUE OBRABTIP2,N$TIP2
180 TERMINATE

В GPSS имеется возможность организовать обработку заявок (транзактов) с различными приоритетами. Второй, более сложный режим блока PREEMPT позволяет организовать работу с многоуровневым прерыванием.


При многоуровневом прерывании транзакт с приоритетом Z или выше входит в блок PREEMPT и прерывает обработку транзакта с меньшим, чем Z, приоритетом. При обработке транзакта с приоритетом Z блоком PREEMPT транзакт с меньшим приоритетом не может войти в блок и становится в очередь задержек к блоку.



Рисунок 7.1 – Результаты моделирования СМО с прерыванием обработки


Как и в первом режиме, операнд А блока содержит имя прибора. Операнд B в этом случае должен содержать ключевое слово PR. Операнд С может содержать имя блока, которому передается прерванный транзакт. Операнд D может содержать номер параметра прерванного транзакта, в который помещается значение времени, оставшегося транзакту до окончания обслуживания. Операнд E может содержать ключевое слово RE, обозначающее, что прерванный транзакт вернул устройство и более не претендует на обслуживание на нем.


Если какой-либо из параметров блока PREEMPT опущен, то вместо него должна быть поставлена запятая.


Пример 7.2. Рассмотрим вариант примера 6.1, когда заявки с более высоким приоритетом занимают первый прибор, отправляя заявки с более низким приоритетом на дообслуживание ко второму прибору. Время дообслуживания на втором приборе задается через значение пятого параметра транзакта. Для этого используется СЧА P в блоке ADVANCE. Выполним подсчет количества обработанных заявок на каждом из приборов. Результаты моделирования приведены на рисунке 7.2.

100 GENERATE (Exponential(1,0,50)),,,,3


112 TRANSFER ,VHOD
114 GENERATE (Exponential(1,0,20)),,,,2
116 TRANSFER ,VHOD
118 GENERATE (Exponential(1,0,15))
119 PRIORITY 4
120 VHOD PREEMPT PRIBOR1,PR,KUDATO,5,RE
125 ADVANCE (Exponential(1,0,10))
130 NAPR1 RETURN PRIBOR1
135 SAVEVALUE OBRABPRIB1,N$NAPR1
137 TRANSFER ,VIHOD
140 KUDATO SEIZE PRIBOR2
145 ADVANCE P5
150 NAPR2 RELEASE PRIBOR2
155 SAVEVALUE OBRABPRIB2,N$NAPR2
180 VIHOD TERMINATE

В последнем примере транзакт с более высоким приоритетом прерывает обслуживание на устройстве PRIBOR1 транзакта с меньшим приоритетом и отправляет его к блоку SEIZE c меткой KUDATO. В параметре 5 прерванного транзакта сохранено время, необходимое для окончания обслуживания. Время обслуживания каждый транзакт получает в блоке ADVANCE (Exponential(1,0,10)).



Рисунок 7.2 – Результаты моделирования СМО с прерыванием обработки и дообслуживанием


Устройство PRIBOR2 дообслуживает прерванные транзакты в порядке очереди с относительным приоритетом за время, записанное в пятом параметре каждого транзакта. Т.о., блок ADVANCE использует косвенную форму задания времени задержки транзакта – через значение пятого параметра транзакта.


Если указанное в блоке PREEMPT устройство еще не занято, то его действия аналогичны действиям блока SEIZE.


Достарыңызбен бөлісу:
1   ...   14   15   16   17   18   19   20   21   22




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет