ТЕМА (1086517), страница 17
Текст из файла (страница 17)
"Пример моделирования 2С.
Измененная дисциплина обслуживания в системе с одним прибором и очередью "
-
Рабочие трех типов приходят в кладовую за запасными частями. Интервалы их прихода и времени обслуживания показаны в табл. У8. В кладовой работает только один кладовщик.
Напишите на GPSS модель работы такой кладовой. Затем выполните моделирование до события прихода 16-го рабочего первого типа в кладовую. Модель должна быть такой, чтобы обеспечить раздельный сбор статистических данными по каждому типу рабочих.
Сопоставьте результаты, полученные для очередей всех трех типов,
Сравните также нагрузку прибора, полученную на ЭВМ и вручную.
| Таблица У8 | ||
| Тип рабочего | Распределение интервалов времени прихода, мин | Распределение времени обслуживания, мин |
| 1 | 30+-10 | 12+-5 |
| 2 | 20+-8 | 6+-3 |
| 3 | 15+-5 | 3+-1 |
§18 "Третий пример использования цепей текущих и будущих событий"
В примере моделирования 2С делается различие между уровнями приоритетои транзактов в двух сегментах модели. Это приводит к реализации в модели дисциплины обслуживания "первым пришел - первым обслужен внутри приоритетного класса". Некоторые сомнения, которые могли остаться относительно того, почему эта дисциплина обслуживаия является результатом управления уровнями приоритетов транзактов, могут быть сняты при рассмотрении численного примера, показывающего метод использования интерпретатором GPSS цепей будущих и текущих событий при моделировании системы, изображенной на рис.2С.4. Начальные условия такого примера мы сейчас рассмотрим.
Рис.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.34 является повторением распечатки программы модели примера 2С. В табл.2.19 с использованием номеров блоков рис. 2.34 представлены интервалы времени прихода и времени обслуживания, которые возникают в различных блоках GENERATE и ADVANCE модели. И, наконец, на рис.2.35 представлены состояния транзактов, находящихся в цепях текущих и будущих событий.
Рис. 2.34. Повторение рис. 2С.4.
| BLOCK NUMBER *LOC OPERATION A,B,C,D,E,F,G COMMENTS SIMULATE * * MODEL SEGMENT 1 * 1 GENERATE 420,360,,,1 CATEGORY I MECHANICS ARRIVE 2 QUEUE LINE ENTER "CATEGORY I SEGMENT" OF LINE 3 SEIZE CLERK CAPTURE THE 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 36O,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 ARRIVES AFTER 8 HOURS 16 TERMINATE 1 SHUT OFF THE RUN * * CONTROL CARDS * START 1 START THE RUN END RETURN CONTROL TO OPERATING SYSTEM |
Таблица 2.19.
| Интервалы времени прихода и времени обслуживания в третьем примере использования цепей | |||
| Номер блока | Тип блока | Моделируемое событие | Последовательность интервалов |
| 1 | GENERATE | Приход механиков, делающих запросы категории 1 | 392, 223, 426, ... |
| 5 | ADVANCE | Обслуживание запросов категории 1 | 309, ... |
| 8 | GENERATE | Приход механиков, делающих запросы категории 2 | 403, 279, 352, ... |
| 12 | ADVANCE | Обслуживание запросов категории 2 | В примере не используется |
| 15 | GENERATE | Таймер | 28800 |
Рис.2.35
| Состояния цепей для третьего примера использования цепей текущих и будущих событий: ДФВ - до фазы; ПФВ - после фазы ввода | |||
| Номер строки | Модельное время | Цепь текущих событий к началу цепи | Цепь будущих событий к началу цепи |
| 1 | ДФВ | Пусто | Пусто |
| 2 | ПФВ | Пусто | [1,392,HET,1,1] [2,403,HET,2,8] [3,28800,HET,0,15] |
| 3 | 392 | [1,KMP,HET,1,1] | [2,403,HET,2,8] [3,28800,HET,0,15] |
| 4 | 392 | Пусто | [2,403,HET,2,8] [4,615,HET,1,1] [1,701,5,1,6] [3,28800,HET,0,15] |
| 5 | 403 | [2,KMP,НЕТ,2,8] | [4,615,HET,1,1] [1,701,5,1,6] [3,28800,HET,0,15] |
| 6 | 403 | [2,KMP,9,2,10] | [4,615,HET,1,1] [5,682,HET,2,8] [1,701,5,1,6] [3,28800,HET,0,15] |
| 7 | 615 | [2,KMP,9,2,10] [4,KMP,HET,1,1] | [5,682,HET,2,8] [1,701,5,1,6] [3,28800,HET,0,15] |
| 8 | 615 | [2,KMP,9,2,10] [4,KMP,2,1,3] | [5,682,HET,2,8] [1,701,5,1,6] [6,1041,HET,1,1] [3,28800,HET,0,15] |
| 9 | 682 | [2,KMP,9,2,10] [5,KMP,HET,2,8] [4,KMP,2,1,3] | [1,701,5,1,6] [6,1041,HET,1,1] [3,28800,HET,0,15] |
| 10 | 682 | [2,KMP,9,2,10] [5,KMP,9,2,10] [4,KMP,2,1,3] | [1,701,5,1,6] [7,1034,HET,2,8] [6,1041,HET,1,1] [3,28800,HET,0,15] |
Мы не будем тщательно пояснять каждую запись на рис. 2.35. Те, кому это интересно, могут сами построить состояния цепей в соответствии с процедурой, тщательно описанной в первом и втором примерах использования цепей. Для нас интересным являются лишь строки 6, 8 и 10, показывающие состояния цепей в конце фазы просмотра в моменты времени 403, 615 и 682 соответственно.
УПРАЖНЕНИЯ §18
"Третий пример использования цепей текущих и будущих событий"
-
Предположим, что в третьем примере использования цепи текущих и цепи будущих событий после фазы просмотра в момент времени 28752 выполняются следующие условия:
1). Кладовщик простаивает.
2). Транзакт 2 находится в цепи будущих событий, представляя механика, который должен прийти в кладовую в момент времени 28800 (время завершения).
3). Кроме транзакта 2 и транзакта 3 (транзакт-таймер) нет транзактов с временем движения 28800 или меньше.
Ответьте на вопросы:
а). Как выглядит цепь текущих событий?
б). Транзакт с каким номером находится в начале цепи будущих событий?
в). При завершении моделирования кладовщик будет свободен или занят?
§19 "Переход транзактов в блок, отличный от последующего.
Блок ТRАNSFЕR (ПЕРЕДАТЬ)"
Иногда возникает необходимость передать транзакт безусловным образом в блок, отличный от последующего. Это можно выполнить, используя блок ТRANSFER (ПЕРЕДАТЬ) в режиме безусловной передачи. Использование блока в этом режиме показано на рис. 19.1. Операнд A при таком использовании блока не участвует.
Рис.19.1
| Блок TRANSFER (ПЕРЕДАТЬ) в режиме безусловной передачи | ||
| Операнд | Значение | Результат по умолчанию |
| A | Не используется | ----- |
| B | Позиция блока, в который должен перейти транзакт | Ошибка |
Это означает, что в колонке 19, от которой заполняются операнды, должна стоять запятая. Наличие запятой указывает на безусловный режим использования блока.
Операнд В указывает положение,занимаемое блоком, в который транзакт должен сделать попытку входа. Для краткости такой блок мы в дальнейшем просто будем именовать "В блоком". Положение блока может задаваться либо символически, либо в виде номера блока. Символическое имя использовать значительно более удобно.
На рис. 19.1 в скобках указан операнд В. Скобки используют только на блок-схеме модели; они не являются частью операнда и их не надо использовать в блоке ТRANSFER.
В режиме безусловной передачи блок ТRANSFER не может отказывать транзакту во входе. Когда транзакт входит в блок, он сразу же пытается войти в В блок.Если последний отказывает в этом, транзакт остается в блоке ТRANSFER и в цепи текущих событий. При каждом последующем просмотре цепи (либо при возобновлении просмотра в процессе выполнения фазы просмотра, либо в начале следующего выполнения фазы просмотра) снова делается попытка поместить транзакт в В блок.Возможно, что при каком-то просмотре попытка будет успешной.
Как уже было указано, такое использование блока ТRANSFER называется режимом безусловной передачи блока ТRANSFER. Существуют и альтернативные режимы использования блока ТRANSFER. Некоторые из них будут рассмотрены позднее. Использование блока ТRANSFER в режиме безусловной передачи проиллюстрировано в примере моделирования 2В.
§20 "Пример моделирования 2D.
Система обслуживания с прибором, очередью и обратной связью"
Метод построения модели. Для моделирования на GPSS необходимо определить:
-
условия работы моделируемой системы;
-
какие элементы GPSS надо использовать для удовлетворения условий модели.
В данном случае есть два вида ограничивающих условий. Во-первых, имеется лишь одна печь. Вовторых, существует некоторое фиксированное число сборщиков, работающих в системе. Естественно, для моделирования печи использовать понятие "прибор". Также естественно отождествить сборщиков с транзактами. Тогда можно считать, что сборщики циркулируют в системе. Аналогично тому, как они периодически осуществляют сборку и обжиг, транзакты циркулируют в GPSS-модели системы.
В реальной системе, после того как сборщик вынимает из печи обожженную деталь, он возвращается и начинает новый этап сборки. В модели, после того как транзакт завершает использование прибора, моделирующего печь, он должен быть возвращен назад посредством блока TRANSFER в блок следующей сборки. Для того чтобы ограничить общее число транзактов, циркулирующих в модели, необходимо использовать операнд D блока GENERATE, с помощью которого можно задать желаемое число транзатов.















