ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.03.2019
Просмотров: 978
Скачиваний: 6
СОДЕРЖАНИЕ
При прохождении транзакта через блоки QUEUE и DEPART его время ожидания фиксируется и к счетчику частотного интервала таблицы, в который попало это время, добавляется 1. Одновременно в таблице накапливается информация для вычисления среднего значения и среднеквадратического отклонения времени ожидания. По окончании моделирования среднее значение и среднеквадратическое отклонение времени ожидания, а также счетчики попаданий в различные частотные интервалы выводятся в стандартный отчет GPSS.
Таблицы в GPSS могут использоваться в более общем случае не только для табулирования времени ожидания в очереди, но и для получения выборочных распределений произвольных СЧА любых объектов модели. Для определения таблиц служит команда TABLE.
TABLE (таблица)
Назначение: инициализация таблицы плотности распределения.
Формат: <ИМЯ> TABLE A,В,С,D.
Здесь: <ИМЯ> - имя таблицы.
Значение операндов
Операнд |
Значение |
Значение по умолчанию |
A |
Аргумент таблицы – СЧА, выборочное распределение которого необходимо получить |
Ошибка |
В |
Верхняя граница первого частотного интервала |
Ошибка |
С |
Ширина частотных интервалов |
Ошибка |
D |
Количество частотных интервалов |
Ошибка |
Занесение информации в таблицу, определяемую оператором TABLE, уже не может быть выполнено интерпретатором автоматически, как в случае Q-таблиц. Для этого используется специальный блок TABULATE.
TABULATE (табулировать)
Назначение: занесение данных в таблицу.
Формат: TABULATE А,В.
Значение операндов
Операнд |
Значение |
Значение по умолчанию |
А |
Номер или имя таблицы, определенной соответствующей командой TABLE |
Ошибка |
В |
Весовой коэффициент |
1 |
При входе транзакта в блок TABULATE текущее значение табулируемого аргумента таблицы, указанного в поле A оператора TABLE, заносится в нее в соответствии с заданным в операторе TABLE разбиением области значений аргумента на частотные интервалы.
Задание к работе
1. На станции автосервиса производятся последовательно две операции. На первой из них задействован один рабочий. Ее время выполнения t1±t2 мин. На второй операции одновременно работают два рабочих, каждый из которых обслуживает автомобиль за t3±t4 мин. Автомобили прибывают в мастерскую через t5±t6 мин.
Промоделируйте эту систему в течение одного дня (T часов). Определите характеристики очереди автомобилей на первую и на вторую операции, загруженность рабочих. Найдите распределение времени пребывания автомобилей на станции.
Варианты заданий приведены в табл. 9.
Таблица 9
Вариант |
t1 |
t2 |
t3 |
t4 |
t5 |
t6 |
T |
1 |
21 |
6 |
41 |
10 |
20 |
5 |
12 |
2 |
16 |
4 |
31 |
8 |
15 |
3 |
11 |
3 |
18 |
5 |
35 |
9 |
17 |
4 |
9 |
4 |
20 |
5 |
39 |
9 |
19 |
4 |
8 |
5 |
26 |
7 |
51 |
13 |
25 |
6 |
14 |
6 |
24 |
6 |
47 |
12 |
23 |
5 |
16 |
7 |
22 |
6 |
43 |
13 |
21 |
5 |
15 |
8 |
17 |
5 |
33 |
11 |
16 |
4 |
13 |
9 |
19 |
6 |
37 |
12 |
18 |
5 |
10 |
10 |
25 |
7 |
49 |
15 |
24 |
6 |
7 |
2. На обрабатывающий участок цеха детали поступают с интервалом t1±t2 минут. Обработка деталей включает две операции. Первая из них выполняется на одном из двух станков в течение t3±t4 минут. Вторая операция выполняется на третьем станке в течение t5±t6 минут.
Выполните моделирование до момента получения N готовых деталей. Определите характеристики очереди деталей на первую и на вторую операции, загруженность станков. Найдите распределение времени обработки деталей.
Варианты заданий приведены в табл. 10.
Таблица 10
Вариант |
t1 |
t2 |
t3 |
t4 |
t5 |
t6 |
T |
11 |
30 |
10 |
59 |
8 |
29 |
5 |
800 |
12 |
22 |
8 |
45 |
6 |
21 |
4 |
1100 |
13 |
32 |
11 |
63 |
9 |
33 |
5 |
1000 |
14 |
28 |
9 |
57 |
7 |
29 |
4 |
900 |
15 |
35 |
12 |
70 |
11 |
34 |
5 |
1400 |
16 |
36 |
10 |
71 |
9 |
35 |
4 |
1200 |
17 |
24 |
6 |
47 |
7 |
23 |
3 |
1500 |
18 |
27 |
8 |
55 |
9 |
28 |
3 |
500 |
19 |
31 |
7 |
63 |
8 |
32 |
5 |
600 |
20 |
33 |
9 |
65 |
10 |
34 |
6 |
700 |
Пример выполнения задания
Морские суда каждые 130±30 мин прибывают в акваторию порта, где происходит их погрузка-разгрузка у одного из шести причалов. В порту есть два буксира, которые обеспечивают ввод (в течение 30±7 мин) и вывод (в течение 20±5 мин) кораблей из порта. Корабль стоит на рейде и не обслуживается буксиром до тех пор, пока не освободится причал. Погрузка-разгрузка судна занимает 12±2 час.
Построить модель системы. Смоделировать процесс начала навигации в морском порту при условии, что в акваторию порта зашли 150 судов. Найти распределение времени ожидания кораблями входа в порт и времени пребывания кораблей в системе. Оценить максимальное количество судов на рейде.
Листинг программы
* Время измеряется в минутах
Vr_ozh QTABLE Ocher,20,20,12 ;сбор статистики по очереди Ocher
Vr_preb TABLE M1,600,50,10 ;транзитное время
Prich STORAGE 6 ;6 причалов
Buks STORAGE 2 ;2 буксира
GENERATE 130,30,,150 ;подход к порту
QUEUE Ocher ;встать в очередь
ENTER Prich ;получение причала
ENTER Buks ;получение буксира
DEPART Ocher ;выйти из очереди
ADVANCE 30,7 ;буксировка до причала
LEAVE Buks ;освобождение буксира
ADVANCE 720,120 ;погрузка-разгрузка
ENTER Buks ;получение буксира
LEAVE Prich ;освобождение причала
ADVANCE 20,5 ;буксировка от причала
LEAVE Buks ;освобождение буксира
TABULATE Vr_preb ;запись транзитного времени
TERMINATE 1 ;одно судно обслужено
START 150
Распределение времени ожидания кораблями входа в порт и распределение времени пребывания кораблей в системе приводятся в таблицах Vr_ozh и Vr_preb соответственно. Максимальное количество судов на рейде равно максимальной длине очереди Ocher (см. соответствующий раздел объекта «Отчет»).
Рассмотренный пример несколько сложнее задания к лабораторной работе. В нем присутствуют два многоканальных устройства (причалы и буксиры) и три блока задержки ADVANCE, два из которых моделируют буксировку судна к причалу и от причала. Что касается сбора статистики, то в задании и в примере он проводится идентично.
Отчет о работе
Отчет должен содержать:
-
задание и исходные данные для выполнения работы;
-
текст программы;
-
распечатку стандартного отчета (объекта «Отчет»);
-
характеристику очередей и загруженность каналов обслуживания;
-
среднее время пребывания транзактов в модели (автомобилей в вариантах 1-10 и деталей в вариантах 11-20);
-
гистограмму распределения времени пребывания транзактов в модели.
ПРИЛОЖЕНИЕ
Стандартный отчет модели
Заголовок
Первая строка содержит имя файла модели, который создал отчет.
Вторая строка содержит дату и время прогона модели.
Общая информация
START TIME – начальное время моделирования;
END TIME – конечное время моделирования;
BLOCKS – число блоков в модели;
FACILITIES – число устройств в модели;
STORAGES – число памятей в модели.
NAMES (ИМЕНА)
NAME – имя, присвоенное объекту пользователем;
VALUE – числовое значение назначаемое имени.
BLOCKS (БЛОКИ)
LABEL – метка или имя данного блока (если оно задано);
LOC – номер позиции данного блока в модели;
BLOCK TYPE – тип блока;
ENTRY COUNT – число транзактов, входивших в данный блок;
CURRENT COUNT – число транзактов в блоке при завершении моделирования;
RETRY – число транзактов, ожидающих специального условия, зависящего от состояния данного блока.
FACILITIES (УСТРОЙСТВА)
FACILITY – номер или имя устройства;
ENTRIES – число транзактов, входивших в устройство;
UTIL. – коэффициент использования устройства;
AVE.TIME – среднее время занятия устройства одним транзактом;
AVAIL. – состояние устройства в конце моделирования
(0 – устройство не доступно, 1 – устройство доступно);
OWNER – номер транзакта, занимающего устройство
(0 – устройство не занято);
PEND – число транзактов, ожидающих выполнения с прерыванием других транзактов;
INTER – число транзактов, прерванных на данный момент;
RETRY – число транзактов, ожидающих специального условия, зависящего состояния данного устройства;
DELAY – общее количество транзактов, ожидающих занятия устройства.
QUEUES (ОЧЕРЕДИ)
QUEUE – имя или номер очереди;
MAX – максимальное количество транзактов, находившихся в очереди;
CONT. – текущее содержимое очереди;
ENTRY – общее количество входов транзактов в очередь;
ENTRY(0) – общее количество входов в очередь с нулевым временем пребывания в очереди;
AVE.CONT. – средняя длинна очереди;
AVE.TIME – среднее время пребывания в очереди одного транзакта;
AVE.(-0) - среднее время пребывания в очереди одного транзакта, без учета «нулевых» входов;
RETRY – число транзактов, ожидающих специального условия, зависящего от состояния очереди.
STORAGES (ПАМЯТИ)
STORAGE – имя или номер памяти;
CAP. – ёмкость памяти;
REM. – число свободных единиц памяти на конец моделирования;
MIN. – минимальное количество единиц памяти, занимавшихся в процессе моделирования;
MAX. – максимальное количество единиц памяти, занимавшихся в процессе моделирования;
ENTRIES - количество транзактов, входивших в память;
AVL. – состояние памяти в конце моделирования (0 – недоступно, 1 – доступно);
AVE.C. – среднее значение занятой емкости за время моделирования;
UTIL. – коэффициент использования памяти;
RETRY – число транзактов, ожидающих специального условия, зависящего от состояния данной памяти.
DELAY – количество транзактов, претендующих на занятие памяти на момент завершения моделирования.
TABLES (ТАБЛИЦЫ)
QTABLES (ТАБЛИЦЫ ОЧЕРЕДЕЙ)
TABLE – имя или номер таблицы или Q-таблицы;
MEAN – оценка математического ожидания (средне арифметическое) аргумента таблицы;
STD.DEV. – оценка среднеквадратического отклонения аргумента таблицы;
RANGE – нижняя и верхняя граница интервалов таблицы;
RETRY – число транзактов, ожидающих специального условия, зависящего от состояния данной таблицы;
FREQUENCY – частота попадания транзактов в данный интервал;
CUM% - накопленная частота, выраженная в % от общей суммы.
USER CHAINS (СПИСКИ ПОЛЬЗОВАТЕЛЯ)
USER CHAIN – имя или номер объекта списка пользователя;
SIZE – число транзактов в списке пользователя в конце моделирования;
RETRY – число транзактов, ожидающих специального условия, зависящего от состояния данного списка пользователя;
AVE.CONT. – среднее количество транзактов в списке пользователя;
ENTRIES – число транзактов, входивших в список пользователя;
AVE.TIME – среднее время пребывания в списке пользователя одного транзакта.
TRANSACTION GROUPS (ГРУППЫ ТРАНЗАКТОВ)
XAST GROUP – имя или номер группы транзактов;
GROUP SIZE – число транзактов, входящих в группу на момент завершения моделирования;
RETRY – число транзактов, ожидающих специального условия, зависящего от состояния данной группы транзактов.
NUMERIC GROUPS (ЧИСЛОВЫЕ ГРУППЫ)
NUMERIC GROUP – имя или номер группы чисел;
GROUP SIZE – число транзактов, входящих в группу на момент завершения моделирования;
RETRY – число транзактов, ожидающих специального условия, зависящего от состояния данной числовой группы.
LOGIC SWITCHES (ЛОГИЧЕСКИЕ КЛЮЧИ)
LOGICSWITCH – имя или номер логического ключа;
VALUE – состояние ключа в конце моделирования (0 – «сброшен» или «ложь», 1 – «установлен» или «истина»);
RETRY – число транзактов, ожидающих специального условия, зависящего от состояния данного логического ключа.
SAVEVALUES (ЯЧЕЙКИ)
SAVEVALUE – имя или номер ячейки;
VALUE – содержимое ячейки в конце моделирования;
RETRY- число транзактов, ожидающих специального условия, зависящего от состояния данной ячейки.
MATRIXS (МАТРИЦЫ)
MATRIX - имя или номер матрицы;
RETRY – число транзактов, ожидающих специального условия, зависящего от состояния данной матрицы;
INDICES – до шести целых чисел, определяющих элемент матрицы;
VALUE – содержимое элемента матрицы в конце моделирования.
THE CURRENT EVENTS CHAIN (CEC)
(СПИСОК ТЕКУЩИХ СОБЫТИЙ)
Выводится, если в операторе START записана «1» в поле D.
XN – номер каждого транзакта, находящегося в СЕС;
PR – приоритет транзакта;
M1 – время входа транзакта в модель;
ASSEM – номер семейства данного транзакта;
CURRENT – номер блока, в котором находится транзакт в конце моделирования;
NEXT – номер следующего блока для транзакта;
PARAMETR – имя или номер параметра транзакта;
VALUE – значение параметра.
THE FUTURE EVENTS CHAIN (FEC)
(СПИСОК БУДУЩИХ СОБЫТИЙ)
Статистика для FEC по сравнению с реквизитами СЕС имеет только одно отличие. Вместо поля М1 присутствует поле BDT – значение абсолютного модельного времени, когда планируется вывести транзакт из FEC.
Список рекомендуемой литературы
Основная
1. Емельянов, А.А. Имитационное моделирование экономических процессов / А.А. Емельянов, Е.А. Власова, Р.В. Дума. – М.:Финансы и статистика, 2002. – 368 с.
-
Варфаломеев, В.И. Алгоритмическое моделирование элементов экономических систем / В.И. Варфаломеев, С.В. Назаров. – М.: Финансы и статистика, 2004. – 64 с.
-
Боев, В.Д. Моделирование систем. Инструментальные средства GPSS World: учеб. пособие / В.Д. Боев. – СПб.: БХВ – Петербург, 2004. – 368 с.
-
Томашевский, В. Имитационное моделирование в среде GPSS / В. Томашевский, Е. Жданова. – М.: Бестселлер, 2003. – 416 с.
-
Кудрявцев, Е.М. GPSS World. Основы имитационного моделирования различных систем / Е.М. Кудрявцев. – М.: ДКМ Пресс, 2004 – 320 с. - (Сер. «Проектирование»).
6. Руководство пользователя по GPSS World [:пер. с англ.]. – Казань: Мастер Лайн, 2002. – 384 с.
7. Учебное пособие по GPSS World [:пер. с англ.]. – Казань:Мастер Лайн, 2002. – 272 с.
8. Кудрявцев, Е.М. Основы работы с универсальной системой моделирования GPSS World: учеб. пособие / Е.М. Кудрявцев, Добровольский А. В. - М.: Изд-во АСВ, 2005. – 256 с.
Дополнительная
-
Кобелев, Н.Б. Основы имитационного моделирования сложных экономических систем / Н.Б. Кобелев. – М.: Дело, 2003. – 336 с.
-
Чернышев, В. Моделирование экономических систем и прогнозирование их развития / С.Л. Чернышев. – М.: Изд-во МГТУ им. Баумана, 2003. – 232 с.
-
Советов, Б.Я. Моделирование систем / Б.Я. Советов, С.А. Яковлев. – М.: Высш. шк., 2001. – 343 с.
-
Советов, Б.Я. Моделирование систем: практикум / Б.Я. Советов, С.А. Яковлев. – М.: Высш. шк., 1999. – 224 с.
-
Кельтон, В. Имитационное моделирование / В. Кельтон, А. Лоу. – СПб.: Питер, 2004. – 847 с.
-
Шелухин, О.И. Моделирование информационных систем: учеб. пособие / О.И. Шелухин, А.М. Тенякшев, А.В. Осин. – М.: Радиотехника, 2005. – 368 с.