"Пример моделирования 2С. Измененная дисциплина обслуживания в системе с одним прибором и очередью"
Постановка задачи. На некоторой фабрике в кладовой работает один кладовщик. Он выдает запасные части механикам, обслуживающим станки и устанавливающим эти части на испорченных станках (запасные части довольно дороги и, кроме того, их ассортимент слишком велик для того, чтобы каждый механик мог иметь запасную часть каждого вида в своем ящике). Время, необходимое для удовлетворения запроса, зависит от типа запасной части. Запросы бывают двух категорий. Соответствующие данные представлены в табл. 2С.1.
Таблица 2С.1. Интервалы времени прихода и времени обслуживания запросов механиков для примера 2С.
Категория запроса | Интервалы времени прихода механиков, с | Время обслуживания, с |
1 | 420+-360 | 300+-90 |
2 | 360+-240 | 100+-30 |
Кладовщик обслуживает механиков по принципу "первым пришел - первым обслужен" независимо от категории запроса. Такая дисциплина обслуживания очереди изображена на рис. 2С. 1, на котором кружки и треугольники изображают механиков, делающих запросы категории 1 и 2 соответственно. На рис. 2C.1 запрос категории 2 обслуживается, а один запрос категории 1 и два запроса категории 2 ждут своей очереди в указанном порядке.

Рис.2С.1. Дисциплина обслуживания "первым пришел- первым обслужен"
при наличии двух категорий запросов без приоритетов.
Поскольку сломанный станок ничего не производит, то простой механика в очереди приносит убыток 0,25 цента в секунду (9 долларов в час). Эта стоимость не зависит от того, за какой запасной частью ушел механик. Руководитель считает, что среднее число простаивающих механиков можно уменьшить, если запросы категории 2 в кладовой будут удовлетворяться быстрее запросов категории 1. (Среднее время обслуживания запроса категории 2 меньше, чем категории 1.
Если обслуживающий прибор выбирает запрос с наименьшим средним временем обслуживания, то говорят, что имеет место дисциплина обслуживания "ближайшая операция кратчайшая".) Только в том случае, когда в очереди нет ни одного запроса категории 2, обслуживаются запросы категории 1.
Эта дисциплина обслуживания изображена на рис. 2С.2,на котором очередь состоит из двух сегментов. Сегмент, располагаемый в начале очереди, является высокоприоритетным, а находящийся в конце очереди - низкоприоритетным. Дисциплина обслуживания очереди на рис.2С.2 называется "первым пришел - первым обслужен внутри приоритетного класса".

Рис.2С.2. Дисциплина обслуживания "первым пришел - первым обслужен"
при наличии двух категорий запросов с приоритетами. Ситуация ожидания механиками на рис.2С.2 аналогична ситуации на рис.2С.1. Кладовщик работает над удовлетворением заявки категории 2 (треугольник).Два других запроса категории 2 ожидают в очереди; кроме того, в очереди находится один запрос категории 1 (кружок). Только тогда, когда высокоприоритетный сегмент очереди пуст, обслуживаются заявки низкоприоритетного сегмента. Необходимо coздать модель работы кладовой для обеих дисциплин обслуживания очереди и выполнить моделирование для каждой из них в течение восьмичасового рабочего дня. Уменьшится ли среднее число ожидающих механиков в очереди? Сколько денег ежедневно будет сэкономлено при использовании приоритетного обслуживания? В стоимость потерь не следует включать простои механиков во время обслуживания. Метод построения модели. Система, которую необходимо промоделировать, очень напоминает систему из примера 2В. Есть два различных типа заявок, поступающих на обслуживание к единственному прибору. Различаются распределения интервалов прихода и времени обслуживания для этих типов заявок. Усложнение заключается в том, что один из типов имеет преимущество в обслуживании. Построить модель можно, используя тот же подход, что и в примере 2В. Но при этом надо найти средство задания существующей разницы в моделях, заключающейся в различных приоритетах обслуживания. Аналогично тому, как это сделано и примере моделирования 2В, запросы категории 1 могут моделироваться одним сегментом, а запросы категории 2 - другим. Различие относительных приоритетов задается путем использования в качестве операнда Е блока GENERATE для запросов категории 2 большего значения, чем для запросов категории 1.
Например, запросы категории 2 могут входить в модель через блок GENERATE с операндом Е, равным 2, а запросы категории 1 - через блок GENERATE с операндом Е, равным 1. Конечно, абсолютный уровень приоритетов не имеет значения. Важно лишь то, что транзакты, представляющие механиков категории 2, имеют больший приоритет, чем транзакты, представляющие механиков категории 1. То, как влияет уровень приоритетов транзактов на обработку, видно при рассмотрении цепи текущих событий. Вспомним, что при перенесении транзактов из цепи будущих событий в цепь текущих событий транзакты в цепи текущих событий занимают положение, являющееся последним внутри соответствующего приоритетного класса. Более того, чем выше приоритетный класс, тем ближе к началу ЦТС располагается транзакт. Поскольку интерпретатор GPSS просматривает цепь текущих событий сначала, он пытается двигать вначале высокоприоритетные транзакты. Позднее, при просмотре он пытается двигать и транзакты, которые имеют низкие приоритеты. Это означает, что любые механики категории 2, ожидающие обслуживания в очереди (у них уровень приоритета равен 2), скорее смогут занять прибор, чем механики категории 1 (у них уровень приоритета равен 1). Если прибор освобождается и в очереди стоит хотя бы один механик каждой категории, механик категории 2 следующим займет устройство просто потому, что он ближе стоит к началу ЦТС, чем механик категории 1. Модель без приоритетов. Для исключения приоритетной дисциплины обслуживания в модели в обоих сегментах достаточно сделать равными операнды Е блоков GENERATE. Проще всего это сделать, убрав операнд Е вовсе. В результате, по умолчанию запросы категорий 1 и 2 получат нулевой приоритет. O статистике. Среднее число ожидающих механиков интересует нас в первую очередь. Его мы получаем в колонке AVERAGE CONTENTS (СРЕДНЕЕ СОДЕРЖИМОЕ) очереди, в которой происходит ожидание. По- скольку стоимость простоя механиков не зависит от категории их запроса, то целесообразно иметь только одну очередь при моделировании системы. AVERAGE CONTENTS этой очереди потом может быть умножено на 0,25 цента в секунду, или на 9 долларов в час, или на 72 доллара в день для того, чтобы получить стоимость потерь в секунду, час или день соответственно. Таблица определений.
Единица времени: 1 с.
Элементы GPSS | Интерпретация | ||||||
Транзакты:
|
 
|
||||||
Приборы:
|
 
|
||||||
Очереди:
|
 
|

BLOCK CARD NUMBER *LOC OPERATION A,B,C,D,E,F,G COMMENTS SIMULATE * * MODEL SEGMENT 1 * 1 GENERATE 420,360,,,1 CATEGORY 1 MECHANICS ARRIVE 2 QUEUE LINE ENTER "CATEGORY I SEGMENT" OF LINE 3 SEIZE CLERK CAPTURE ТHЕ CLERK 4 DEPART LINE LEAVE THE LINE 5 ADVANCE 300,90 USE THE CLERK 6 RELEASE CLERK FREE THE CLERK 7 TERMINATE LEAVE THE TOOL CRIB AREA * * MODEL SEGMENT 2 * 8 GENERATE 360,240,,,2 CATEGORY 2 MECHANICS ARRIVE 9 QUEUE LINE ENTER "CATEGORY 2 SEGMENT" OF LINE 10 SEIZE CLERK CAPTURE THE CLERK 11 DEPART LINE LEAVE THE LINE 12 ADVANCE 100,30 USE THE CLERK 13 RELEASE CLERK FREE THE CLERK 14 TERMINATE LEAVE THE TOOL CRIB AREA * MODEL SEGMENT 3 * 15 GENERATE 28800 TIMER AHRIVES AFTER 8 HOURS 16 TERMINATE 1 SHUT OFF THE RUN * * CONTROL CARDS * START 1 START THE RUN END RETURN CONTROL TO OPERATING SYSTEM |
FACILITY AVERAGE NUMBER AVERAGE SEIZING PREEMPTING UTILIZATION ENTRIES TIME/TRANS TRANS. NO. TRANS. NO. CLERK .932 140 191.678 6 QUEUE MAXIMUM AVERAGE TOTAL ZERO PERCENT AVERAGE ... CONTENTS CONTENTS ENTRIES ENTRIES ZEROS TIME/TRANS ... LINE 3 .770 140 20 14.2 158.500 ... SAVERAGE TIME/TRANS = AVERAGE TIME/TRANS EXCLUDING ZERO ENTRIES |
б)
FACILITY AVERAGE NUMBER AVERAGE SEIZING PREEMPTING UTILIZATION ENTRIES TIME/TRAN TRANS. NO.TRANS. NO. CLERK .959 142 194.605 1 OUEUE MAXIMUM AVERAGE TOTAL ZERO PERCENT AVERAGE ... CONTENTS CONTENTS ENTRIES ENTRIES ZEROS TIME/TRANS ... LINE 7 2.731 145 13 0.9 542.593 ... SAVERAGE TIME/TRANS |

