Основные концепции моделирования на gpss
Вид материала | Документы |
JOE и очереди JOEQ Описание элементов, показанных на рисунке 2А.3, д Описание элементов, показанных на рисунке 2А.3, е Total entries 2. Zero ехтries 3. Average time/trans Current c0ntents |
- Использование системы моделирования gpss world для сравнения различных реализаций системы, 21.47kb.
- Сравнение качества генерирования случайных чисел в системах имитационного моделирования, 22.53kb.
- От последовательного моделирования в системе gpss\World к распределённому моделированию, 98.79kb.
- Программа курса «Основы математического моделирования» Осень 2007, 25.35kb.
- Тесты псевдослучайных последовательностей, 234.9kb.
- 1. Основные понятия теории моделирования, 279.51kb.
- 1. Введение. Основные понятия моделирования Общая характеристика проблем моделирования., 38.29kb.
- Задачи : 1 дать понятие математической модели, раскрыть суть метода математического, 187.03kb.
- Т. И. Алиев Учебно-исследовательская работа И1 Исследование, 295.14kb.
- Вопросы вступительного экзамена в магистратуру по специальности, 24.96kb.
Рис. 2A.3. Часть распечатки примера моделирования 2A:
а - ассемблированная модель;
б - словарь символов приборов;
в - словарь символов для очереди;
г - значения времени и счетчик блоков;
д - статистические данные по приборам;
е - статистические данные по очередям.
Русские эквиваленты названий элементов статистик, распечатываемых
по-английски, приведены в описании результатов.
а)
* * MODEL SEGMENT 1 * 1 GENERATE 18 6 2 QUEUE 1 3 SEIZE 1 4 DEPART 1 5 ADVANCE 16 4 6 RELEASE 1 7 TERMINATE * * MODEL SEGMENT 2 * 8 GENERATE 480 9 TERMINATE 1 * * CONTROL CARDS * START 1 |
б)
FACILITI SIMBOLS AND CORRESPONDING NUMBERGS 1 JOE |
в)
QUEUE SYMBOLS AND CORRESPONDING NUMBERS 1 JOEQ |
г)
RELATIVE CLOCK 480 ABSOLUTE CLOCK 480 BLOCK COUNTS BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL 1 0 27 2 1 27 3 0 26 4 0 26 5 1 26 6 0 25 7 0 25 8 0 1 9 0 1 |
д)
FACILITI AVERAGE NUMBER AVERAGE SEIZING PREEMPTING UTILISATION ENTRIES TIME/TRAN TRANS. NO. TRANS. NO. JOE .860 26 15.884 3 |
е)
QUEUE MAXIMUM AVERAGE TOTAL ZERO PERCENT AVERAGE SAVERAGE CONTENTS CONTENTS ENTRIES ENTRIES ZEROS TIME/TRANS TIME/TRANS JOEQ 1 .160 27 12 44.4 2.851 5.133 SAVERAGE TIME/TRANS = AVERAGE TIME/TRANS EXPLODING ZERO ENTRIES |
Основные результаты, полученные при моделировании (см. рис.2А.2), представлены на рис.2А.З. На рис. 2А.З,а показана модель после ее ассемблирования (процесс трансляции с исходного языка в некоторый промежуточный объектный код. После ассемблирования все символические имена заменяются на числовые).Она обладает следующими четырьмя особенностями:
- Абсолютный номер блока, присвоенный интерпретатором, повторяется в объектном коде модели. Такими номерами являются номера 1 - 9 в левой колонке рис.2А.З,а.
- Операнды расположены не в смежных колонках и не разделены запятой. Они теперь расположены в полях по шесть колонок каждый и выровнены по левому краю (из рис. 2А.3, а пока явно не видно, что для операндов используют поля именно по шесть колонок).
- Все символические имена элементов в модели заменены на соответствующие им числовые эквиваленты, присвоенные интерпретатором. Например, операнд А блока QUEUE (блок 2) теперь равен 1, а не JOEQ,операнд А блока SEIZE (блок 3) теперь равен 1, а не JOE, и т.д.
- Комментарии, входящие в строки блоков модели, пропадают. Чистые карты - комментарии, т. е. карты, имеющие в первой колонке звездочку, не пропадают. Они целиком сохраняются в распечатке объектного кода модели.
На рис.2А.З, б,в представлены перечни при боров и очередей. В перечне приборов представлены все числовые эквиваленты,присвоенные символическим именам приборов. Прибору с символическим именем JOE, в частности, присвоен номер 1 и в объектном коде модели; очередь с символическим именем JOEQ получила номер 1.Эти номера являются операндами А блоков SEIZE - RELEASE и QUEUE - DEPART на рис.2А.3,а. Если используются символические имена блоков, то в распечатке программы появляется соответствие между именами и их номерами.
На рис.2А.З,г изображены значения времени и список блоков. В верхней строке рисунка указаны два значения времени - относительное и абсолютное. Различие между ними мы определим позднее. А сейчас достаточно заметить, что оба значения времени показывают 480. Это означает,что завершение моделирования произошло в момент модельного времени, равный 480.Сразу же за строкой времени на рис.2А.З,г дан список блоков. Он размещен в трех колонках: номер блока, помеченный на рисунке словом BLOCK (БЛОК),счетчик текущего содержимого, помеченный как CURRENT (ТЕКУЩЕЕ), и общее число входов, помеченное как TOTAL (ОБЩЕЕ). Номера блоков соответствуют номерам, показанным на рис.2A.3,а.
Счетчик текущего содержимого является счетчиком транзактов,находящихся в соответствующих блоках в момент завершения моделирования. Счетчик входов является счетчиком общего числа транзактов, которые вошли в соответствующие блоки в течение периода моделирования, включая также те из них, которые все еще находятся в блоке (если таковые имеются). Например, счетчик входов в блок 1 (рис.2А.З, г) равен 27. Это значит, что 27 транзактов вошло в модель через блок GENERATE, стоящий на первом месте. Аналогично, счетчик входов в блок 2 равен 27, это означает, что 27 транзактов вошло в блок QUEUE, стоящий на втором месте. Счетчик текущего содержимого в блоке 2 равен 1. Это означает, что только один транзакт все еще находится в блоке QUEUE,т.е. один клиент ждал обслуживания в момент завершения работы модели. В блоке 5,т.е. блоке ADVANCE, счетчик текущего содержимого равен 1, а счетчик входов равен 26. Это значит, что парикмахер обслуживал 26 клиентов, из этих 26 один все еще находится на обслуживании. Счетчики входов в блоках SEIZE и RELEASE равны 26 и 25 соответственно; это согласуется со значением счетчика блока ADVANCE.
Рис.2А.4. Распечатка программы моделирования 2А с перестановкой сегментов модели.
BLOCK NUMBER *LOC OPERATION A,B,C,D,E,F,G COMMENTS SIMULATE * * MODEL SEGMENT 2 * 1 GENERATE 480 TIME ARRIVES AT TIME 480 2 TERMINATE 1 SHUT OFF THE RUN * * MODEL SEGMENT 1 * 3 GENERATE 18,6 CUSTOMERS ARRIVE 4 QUEUE JOEQ ENTERTHE LINE 5 SEIZE JOE CAPTURE THE BARBER 6 DEPERT JOEQ LEAVE THE LINE 7 ADVANCE 16,4 USE THE BARBER 8 RELEASE JOE FREE THE BARBER 9 TERMINATE LEAVE THE SHOP * * CONTROL CARDS * START 1 SRART THE RUN END RETURN CONTROL TO OPERATING SYSTEM |
На рис.2А.З,д,е показаны статистические данные, собранные о работе прибора JOE и очереди JOEQ. Еще раз статистические данные о работеприборапоказаны на рис.2A.5; здесь колонки пронумерованы для удобства дальнейших ссылок. В таблице к рис.2А.5 даны значения элементоввразличных колонках. Аналогично, на рис. 2А.6 повторена часть распечатки статистических данных об очереди вместе с номерами колонок. В нижнейчасти рисунка указаны значения данных,располагаемых в колонках.Рассмотрим подробнее таблицы к рис.2А.5 и 2А.6 со ссылкой на распечатку результатов. Они выдают следующую информацию:
- Прибор JOE использовался в течение 86% времени, AVERAGE UTILIZATION (НАГРУЗКА) = 860.
- Прибор JOE был занят обслуживанием 26 раз, NUMBER ENTRIES (ЧИСЛО ВХОДОВ) = 26. Это соответствует ранее рассмотренному значению счетчика входов, равному 26 для блока SEIZE.
- Среднее время интервала обслуживания прибора JOE равно 15,884 мин, AVERAGE TIME/TRANS (СРЕДНЕЕ ВРЕМЯ/ТРАН) = 15.884.
- Транзакт номер 3 находился на обслуживании приборомJOEвмоментзавершения моделирования SEIZING TRANS.NO. (НОМЕР ОБСЛУЖИВ. ТРАНЗ.) = 3. Тот факт, что JOE был занят призавершении моделирования, соответствует ранее рассмотренному значению счетчика текущего содержимого, равного 1 для блока ADVANCE.
- В очереди JOE никогда не было более одного клиента,МАХIMUMCONTENTS (МАКСИМАЛЬНОЕ СОДЕРЖИМОЕ) = 1.
- Среднее число клиентов, находившихся в очереди, равно 0,160, AVERAGE CONTENTS (СРЕДНЕЕ СОДЕРЖИМОЕ) = 160.
- Числом входов в очередь является27, TOTAL ENTRIES (ОБЩЕЕ ЧИСЛО ВХОДОВ) = 27.
- Среди этих 27 входов в очередь было 12 нулевых, ZERO ENTRIES (НУЛЕВЫХ ВХОДОВ) = 12.
- Из общего числа входов в очередь 44,4% было нулевых, PERCENT ZEROS (ПРОЦЕНТ НУЛЕВЫХ) = 44,4.
- Среднее время нахождения в очереди на один вход (включая нулевые входы) равно 2,851 мин,AVERAGE TIME/TRANS (СРЕДНЕЕ ВРЕМЯ/ТРАНЗ.) = 2,851.
- Среднее время нахождения в очереди на один ненулевой вход равно5,133мин, $ AVERAGE TIME/ TRANS ($ СРЕДНЕЕ ВРЕМЯ/ТРАНЗ.) * = 5.133.
- В момент завершения моделирования один транзакт находился в очереди, CURRENT CONTENTS(ТЕКУЩЕЕ СОДЕРЖИМОЕ) = 1.Это соответствует рассмотренному ранее значению счетчика текущего содержимого для блока QUEUE (СТАТЬ В ОЧЕРЕДЬ), равного единице.
Рис.2А.5 Описание элементов, показанных на рисунке 2А.3, д.
FACILITI | AVERAGE | NUMBER |
| UTILIZATION | ENTRIES |
JOE | .860 | 26 |
| | |
| | |
AVERAGE | SEIZIHG | PREEMPTING |
TIME/TRAN | TRANS.NO. | TRANS.NO |
15.884 | 3 | |
| | |
Описание элементов, показанных на рисунке 2А.3, д | |
Колонка | Значение |
1 | Имена(символические или числовые) приборов, используемых в модели |
2 | Доля времени, в течении которого соответсвующие приборы были в состоянии занятости |
3 | Число обслуживаний |
4 | Средняя продолжительность одного обслуживания |
5 | Номер транзакта(если такой есть), который в настоящее время находится на обслуживании |
6 | Номер транзакта(если такой есть), который в настоящее время занял("захватил") прибор |
Статистические данные, приведенные на рис. 2А.5 и 2А.6, понятны и почти не требуют дополнительных пояснений. Это особенно справедливо для приборов. Так как только один транзакт в единицу времениможет использовать прибор, NUMBER ENTRIES берется непосредственно из счетчика числа транзактов,находившихся на приборе, а AVERAGE TINE/TRANS является средним временем обслуживания транзактов, находившихсянаприборе.Также просто все можно было бы описать, еслибыоперанд В блоков QUEUE и DEPART всегда был равен 1 (для примера моделирования 2А это справедливо, таккакоперанд В определен по умолчанию). Вспомним, чтоприописании очередей указывалось, что интерпретаторсчитает статистику в соответствии с элементами содержимого, а не транзактами. В примере моделирования2А (и в пособии вообще) каждый транзакт, входящий в очередь, указываетвточности на один элемент содержимого.Если бы это было не так, необходимо было бы описать статистические данные очереди следующим образом.
Рис.2А.6 Описание элементов, показанных на рисунке 2А.3, е.
QUEUE | MAXIMUM | AVERAGE | TOTAL | ZERO |
| CONTENTS | CONTENTS | ENTRIES | ENTRIES |
JOEQ | 1 | .160 | 27 | 12 |
| | | | |
| | | | |
PERCENT | AVERAGE | SAVERAGE | TABLE | CURRENT |
ZEROS | TIME/TRANS | TIME/TRANS | | CONTENS |
44.4 | 2.851 | 5.133 | NUMBER | 1 |
| | | | |
Описание элементов, показанных на рисунке 2А.3, е | |
Колонка | Значение |
1 | Имена(символические или числовые) очередей, используемых в модели |
2 | Наибольшее значение содержимого очереди, зарегистрированное в течение моделирования |
3 | Среднее значение содержимого очереди |
4 | Общее число входов в очередь |
5 | Общее число входов в очередь без последующего ожидания (нулевые входы) |
6 | Процент нулевых входов от общего числа входов |
7 | Среднее время, проведенное в очереди с учетом всех входов(нулевые входы также включаются в среднее) |
8 | Среднее время, проведенное в очереди(нулевые входы исключаются из среднего) |
9 | Имя (символическое или числовое) таблицы,GPSS, в которой представлено распределение времени ожидания для этой очереди |
10 | Текущее значение содержимого очереди |
Замечание: В ЭВМ единой серии, на которых реализована система GPSS/360, вместо символа $ следует использовать символ Д.
1. TOTALENTRIES (ОБЩЕЕ ЧИСЛО ВХОДОВ) - это число элементов содержимого, вошедших в очередь. Более точно, TOTAL ENTRIES - зто значение счетчика, сброшенного в ноль в начале и модифицируемого назначение, равное значению операнда В блока QUEUE при каждом использовании блока. Исключением является случай, когда операнд В блока QUEUE равен 1; в общемслучае значение счетчика не равно общему числу транзактов, являющихся элементами очереди в течение моделирования.
2. ZERO ЕХТRIES (НУЛЕВЫЕ ВХОДЫ) - это число элементов содержимого,котороенаходилось в очереди нуль времени. Точнее, ZЕRО ENTRIES - это значение счетчика, в начале сброшенного в нуль, к которому добавлялось значение, равноезначению операнда В блока DEPART каждый раз при выполнении подпрограммы блока, если время нахождения транзакта в очереди равнялось нулю. Исключением является случай, когда операнд В блока DEPART равен 1;в общем случае значение счетчика не совпадает с числом транзактов, являющихся элементами очереди, проведшими нуль времени в очереди.
3. AVERAGE TIME/TRANS (СРЕДНЕЕ ВРЕМЯ/ТРАНЗ.) -это среднее время нахождения в очереди на единицу содержимого. Это значение совпадает со значением среднего времени нахождения транзактов в очереди, если предполагать, что каждый транзакт, проходя очередь, вычитает из счетчика текущего содержимого то же число,которое было прибавлено к счетчику текущего содержимого ранее. Если это не так,то величина AVERAGE TIME/TRANS означает нечто иное.
4. Аналогично МАХIMUM CONTENTS (МАКСИМАЛЬНОЕ СОДЕРЖИМОЕ), AVERAGE CONTENTS (СРЕДНЕЕ СОДЕРЖИМОЕ),PERCENT ZEROS (ПРОЦЕНТ НУЛЕВЫХ), $AVERAGE TIME/TRANS (СРЕДНЕЕ ВРЕМЯ/ТРАНЗ.) и CURRENT CONTENTS (ТЕКУЩЕЕ СОДЕРЖИМОЕ) должны интерпретироваться в соответствии с концепцией элементов содержимого,а не транзактов, за исключением использования операнда В блоков QUEUE и DEPART,равного единице.
Уточним значение некоторых элементов статистических данных об очереди и приборе. Если прибор в момент завершения моделирования занят, то очевидно занижение данных, называемых AVERAGE TIME/TRANS. Это возможно, посколькуAVERAGE TIME/TRANSвычисляется делением полного модельного времени занятости прибора на значение NUMBER ENTRIES (ЧИСЛО ВХОДОВ).
Если существует транзакт, который еще не обслужен до завершения моделирования, то неполное время занятости включается в статистические данные AVERAGE TIME/TRANS. То же самое можно сказать относительно величиныAVERAGE TIME/ TRANS, рассчитанной для очереди делением общеговремени нахождения в очереди на значение TOTALENTRIES (ОБЩЕЕ ЧИСЛО ВХОДОВ).
Если очередь имеет CURRENT C0NTENTS (ТЕКУЩЕЕ СОДЕРЖИМОЕ) в момент завершения моделирования, то еще не учтено полное время нахождения в очереди. В результате величины AVERAGE TIME/TRANS и $ AVERAGE TIME/TRANS занижены. И, наконец, самое раннее значение модельного времени, при котором может начаться движение транзактов, равно 1.Это означает, что на интервале времени 0 - 1 содержимое очередей в модели равно нулю, все приборы свободны и т.д.Поскольку такие данные статистики, как среднее содержимое очереди, нагрузка приборов и т.п. вычисляются от значения модельного времени,равного 0,существует незначительное отклонение этих данных от истинных.