Краткое практическое руководство по GPSS

         

"Пример моделирования 2С. Измененная дисциплина обслуживания в системе с одним прибором и очередью"


Постановка задачи. На некоторой фабрике в кладовой работает один кладовщик. Он выдает запасные части механикам, обслуживающим станки и устанавливающим эти части на испорченных станках (запасные части довольно дороги и, кроме того, их ассортимент слишком велик для того, чтобы каждый механик мог иметь запасную часть каждого вида в своем ящике). Время, необходимое для удовлетворения запроса, зависит от типа запасной части. Запросы бывают двух категорий. Соответствующие данные представлены в табл. 2С.1.

Таблица 2С.1. Интервалы времени прихода и времени обслуживания запросов механиков для примера 2С.

Интервалы времени прихода и времени обслуживания запросов механиков для примера 2C
Категория запросаИнтервалы времени прихода механиков, сВремя обслуживания, с
1420+-360300+-90
2360+-240100+-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 с. Таблица определений примера моделирования 2C
Элементы GPSS Интерпретация
Транзакты:
1-й сегмент модели
2-й сегмент модели
3-й сегмент модели
&nbsp
Механики, делающие запрос категории 1
Механики, делающие запрос категории 2
Таймер
Приборы:
CLERK
&nbsp
Кладовщик
Очереди:
LINE
&nbsp
Очередь, используемая для сбора статистики о механиках, делающих запросы обеих категорий
Рис.2С.3. Блок-схема для примера моделирования 2С ( с приоритетами).
Обсуждение. Использование модели. Модель, показанная на рис.2С.4, была выполнена на ЭВМ первой. Затем операнды Е были удалены из карт GENERATE, и результирующая безприоритетная модель была еще раз пропущена через ЭВМ. Рис.2С.4. Распечатка программы из примера моделирования 2С (с приоритетами).
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
Рис.2С.5. Часть распечатки выходных данных примера моделирования 2С: а - с приоритетами; б - без приоритетов. а)
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
При таком подходе, не слишком рентабельном, требуется два прогона модели. Далее в этой главе мы рассмотрим метод однократного прогона, позволяющий достичь тех же результатов. Выходные данные моделирования. (Полное время, потребовавшееся для моделирования на ЭВМ IBN360/67, равнялось 2,1 с.) Как отмечалось выше, наиболее интересной для нас является среднее содержимое очереди, т.е. поле AVERAGE CONTENTS. Рис.2С.5,б показывает, что среднее число ожидающих механиков при отсутствии различия уровней приоритетов при моделировании на интервале восьмичасового рабочего дня равно 2,731. Когда различие в приоритетах есть, среднее число уменьшается до 0,770, как это следует из рис.2С.5,а. Следовательно, если различие приоритетов реализуется, это ведет к увеличению производительности системы в том смысле, что среднее число ожидающих механиков уменьшается примерно на 70%. Обратите внимание на то, что это различие определено на 140 и 145 входах в очередь TOTAL ENTRIES (ОБЩЕЕ ЧИСЛО BXOДОВ), рис.2С.5,а и 2С.5,б]. Из-за случайности процесса при моделировании без приоритеров получилось на пять приходов больше, чем при наличии приоритетов. При отсутствии различия приоритетов стоимость потерь из-за простоя механиков в день составляет около 197 долларов (2,731 х 72 доллара в день = 196,6З доллара в день). В случае реализации различия уровней приоритетов стоимость потерь составила около 55 долларов в день (55,44). Разница таким образом составила 141 доллар (141,19). Несмотря на полученное различие стоимости, период моделирования, использованный в нашем примере, так мал, что выводы, сделанные на основании полученных результатов, неправдоподобно хороши. После того, как мы изучим дополнительные возможности GPSS, мы еще раз промоделируем эту систему более тщательно.
Главная Содержание главы 1


Содержание раздела