40
Технология Технология GPSS GPSS Транзактно-ориентированное моделирование

Технология GPSS

  • Upload
    havard

  • View
    150

  • Download
    4

Embed Size (px)

DESCRIPTION

Технология GPSS. Транзактно -ориентированное моделирование. Особенности GPSS World. Модель описывается в терминах транзактов – элементов потока обслуживания. Симулятор и другое ПО GPSS World : Обеспечивает заданный маршрут продвижения транзактов ; - PowerPoint PPT Presentation

Citation preview

Page 1: Технология  GPSS

Технология Технология GPSSGPSSТранзактно-

ориентированное моделирование

Page 2: Технология  GPSS

Особенности Особенности GPSS GPSS WorldWorld

Модель описывается в терминах транзактов – элементов потока обслуживания.Симулятор и другое ПО GPSS World:•Обеспечивает заданный маршрут продвижения транзактов;•Планирует события, происходящие в модели, путем регистрации времени наступления каждого события и выполнения их в нарастающей временной последовательности;•Регистрирует статистическую информацию;•Обеспечивает продвижение модельного времени.

Page 3: Технология  GPSS

Классификация Классификация объектовобъектов

• Динамические объекты – транзакты (создаются, перемещаются по блокам, уничтожаются);

• Операционные блоки – задают логику функционирования модели системы и определяют пути следования транзактов;В блоках могут происходить события: 1) создание и уничтожение транзактов;

2) изменение числового атрибута объекта; 3) задержка транзакта на определенный период времени; 4) изменение маршрута движения транзакта.

Page 4: Технология  GPSS

Классификация Классификация объектовобъектов

• Объекты аппаратной категории – элементы оборудования, которые управляются транзактами (одноканальные, многоканальные, логические ключи);

• Объекты вычислительной категории;• Запоминающие объекты;• Группирующие категории

Page 5: Технология  GPSS

Операторы Операторы GPSSGPSS - - GENERATEGENERATE

Ввод транзактов в модель – блок GENERATEGENERATE [A],[B],[C],[D],[E]

A – средний интервал времени;В – половина поля допуска равномерно распределенного интервала;С – смещение интервалов;D – ограничитель транзактов;E – уровень приоритета транзактов.

Page 6: Технология  GPSS

Операторы Операторы GPSSGPSS - - GENERATEGENERATE

Примеры.1)Транзакт входит в модель каждые 12 минут с отклонением в 4 минуты: GENERATE 12,42)Приход в модель через каждые 20 минут с отклонением 3 минут 5 транзактов:

GENERATE 20,3,,5

Page 7: Технология  GPSS

Операторы Операторы GPSSGPSS - - GENERATEGENERATE

Другие распределения – используются функции типовых распределений вероятностей:

GENERATE Exponential(1,0,10) 1 – номер генератора случайных чисел;0 – смещение;10 – среднее значение.

GENERATE Normal(1,10,3) 1 – номер генератора случайных чисел;10 – среднее значение;3 – стандартное отклонение.

Page 8: Технология  GPSS

Операторы Операторы GPSSGPSS - - TERMINATETERMINATE

Вывод транзактов из модели – блок TERMINATE

TERMINATE [A]A – величина уменьшения счетчика завершения.Работает вместе с блоком START, который задает величину счетчика транзактов. Блок TERMINATE уменьшает счетчик транзактов на величину A.

Page 9: Технология  GPSS

Операторы Операторы GPSSGPSS – – одноканальное устр-одноканальное устр-

вово• Такое устройство может обслуживать только одно

требование;• Требование обслуживается с определенной задержкой.Устройства могут иметь имена – числовые или

символические.Занять устройство.

SEIZE AA – имя занимаемого устройства. Транзакт не может занять устройство, если оно

обслуживает другой транзакт. Команда выполнится, когда устройство будет освобождено.

Освободить устройство.RELEAZE A

A – имя освобождаемого устройства.

Page 10: Технология  GPSS

Операторы Операторы GPSSGPSS – – задержка по временизадержка по времениЗадержка продвижения транзакта – блок ADVANCE.

ADVANCE A,BA – среднее время задержки на обслуживание;В – половина поля допуска равномерно распределенной случайной величины.

Классическая последовательность блоков:SEIZE – ADVANCE - RELEASE

Page 11: Технология  GPSS

Операторы Операторы GPSSGPSS – – захват устройствазахват устройства

При захвате устройства происходит приоритетное начало обслуживания определенного транзакта или прерывание предыдущих операций - блок PREEMPT.

PREEMPT AA – имя устройства.Освобождение устройства осуществляет блок RETURN

RETURN AA – имя устройства.

Page 12: Технология  GPSS

Пример 1 - Пример 1 - парикмахерскаяпарикмахерская

*LINE-LOC OPERATION A,B,C,D,E,F,G COMMENTARY

; простой проект с одним парикмахером и ; без отслеживания параметров транзактовGENERATE 8,5 ; генерация прихода клиентаSEIZE Master ; проверка занятости мастера; и начало обслуживания, если мастер свободенADVANCE 15,8 ; обслуживание клиентовRELEASE Master ; освобождение парикмахераTERMINATE 1 ; уход клиента

START 100 ; запуск модели для 100 клиентов

Page 13: Технология  GPSS

Пример 1 – запуск Пример 1 – запуск моделимодели

Page 14: Технология  GPSS

Пример 1 – запуск Пример 1 – запуск моделимодели

Стандартный отчет содержит следующую информацию:•Начальное (START TIME) и конечное (END TIME) модельное время;•Число блоков модели (BLOCKS);•Число устройств (FACILITIES и STORAGES);•Информация о именах;•Информация о канале обслуживания;•Список текущих событий;•Список будущих событий.

Page 15: Технология  GPSS

Пример 1 – запуск Пример 1 – запуск моделимодели

Информация об устройстве:•Имя FACILITY;•Количество фактов занятия устройства ENTRIES;•Коэффициент использования канала обслуживания UTIL;•Среднее время обслуживания заявки AVE.TIME;•Состояние устройства в момент окончания моделирования AVAIL;•Номер транзакта, который занимает устройство OWNER;•Количество транзактов, которые ожидают отбработки PEND.

Page 16: Технология  GPSS

Параметры Параметры устройстваустройства

Параметры устройства можно получить и в процессе моделирования:•F – состояние устройства;•FC – счетчик обслуженных заявок;•FR – коэффициент использования;•FT – среднее время использования устройства одним транзактом;•FV – состояние доступности и пр.

Обратиться к параметру можно: Имя_пар$Имя_устр

Page 17: Технология  GPSS

Сбор статистикиСбор статистикиОсновные статистические параметры обычно связаны с параметрами ожидания, т.е. нужна очередь.

QUEUE A, [B]A – имя очереди;B – число единиц, на которое увеличивается очередь.Выход из очереди:

DEPART A, [B]A – имя очереди;B – число единиц, на которое увеличивается очередь.

Page 18: Технология  GPSS

Сбор статистикиСбор статистикиОб очередях можно узнать следующую информацию:•Q – текущая длина очереди;•QA – средняя длина очереди;•QC – общее число входов в очередь;•QM – максимальная длина очереди;•QT – среднее время пребывания в очереди (с учетом нулевых входов);•QX – среднее время пребывания в очереди (без учета нулевых входов);•QZ – число входов транзактов, время нахождения которых в очереди равно 0.

Page 19: Технология  GPSS

ТабулированиеТабулированиеДля наглядного показа параметров можно создавать таблицу:•Определить таблицу:

Имя TABLE A, B, C, DA – аргумент, который будет табулироваться;B – верхний предел первого интервала;C – ширина интервала;D – число интервалов.•Собственно запись в таблицу:

TABULATE AA – имя таблицы.

Page 20: Технология  GPSS

Пример – добавление Пример – добавление очередиочереди

*LINE-LOC OPERATION A,B,C,D,E,F,G COMMENTARYTab_Q TABLE QX$QU,10,10,20GENERATE 8,5 ; генерация прихода клиентаQUEUE QU ; клиент встает в очередьSEIZE Master ; проверка занятости мастера DEPART QU ; начало обслуживанияTABULATE Tab_Q ; табулирование параметра ADVANCE 15,8 ; обслуживание клиентовRELEASE Master ; освобождение парикмахераTERMINATE 1 ; уход клиентаSTART 100 ; запуск модели для 100 клиентов

Page 21: Технология  GPSS

Пример – просмотр Пример – просмотр таблицытаблицы

Page 22: Технология  GPSS

Пример – просмотр Пример – просмотр таблицытаблицы

Page 23: Технология  GPSS

Многоканальные Многоканальные устройстваустройства

Многоканальное устройство управляется следующим образом:•Задается устройство и его емкость:

Имя STORAGE AA – имя многоканального устройства;•Занятие канала на обслуживание:

ENTER A,[B]A – имя занимаемого устройства;B – число занимаемых приборов.•Освобождение канала:

LEAVE A,[B]A – имя освобождаемого устройства;B – число освобождаемый приборов.

Page 24: Технология  GPSS

Многоканальные Многоканальные устройстваустройства

Отчет содержит следующую информацию о многоканальном устройстве:•REM – число каналов, свободных при окончании моделирования;•MIN – минимальное число каналов, которые использовались при моделировании;•MAX – максимальное число каналов, которые использовались при моделировании;•AVL – состояние устройства в момент окончания моделирования;•AVE.C. – среднее число занятых каналов;•UTIL – коэффициент использования устройства.

Page 25: Технология  GPSS

Многоканальные Многоканальные устройстваустройства

В процессе моделирования доступны параметры устройства:•R – число свободных каналов;•S – текущее содержимое;•SA – среднее содержимое;•SC – счетчик числа входов;•SE – занятость;•SF – степень заполнения;•SM – максимальное содержимое;•SR – коэффициент использования;•ST – среднее время задержки на единицу емкости.

Page 26: Технология  GPSS

Пример – Пример – 3 парикмахера3 парикмахера

Masters STORAGE 3 ; 3 мастераTab_Q TABLE QX$QU,2,2,10GENERATE 8,5QUEUE QUENTER MastersDEPART QUTABULATE Tab_QADVANCE 20,8LEAVE MastersTERMINATE 1START 100 ; запуск модели для 100 клиентов

Page 27: Технология  GPSS

Параметры Параметры транзактовтранзактов

Транзакты могут иметь параметры, значения которых можно им назначать:•Pj – значение j-ого параметра активного транзакта;•XN1 – номер активного транзакта;•PR – приоритет активного транзакта;•MPj – время прохождения некоторого участка;•M1 – время пребывания в модели активного транзакта.Назначить значение параметра:

ASSIGN A,BA – номер модифицируемого параметра;B – величина параметра.

Page 28: Технология  GPSS

Модификация Модификация потоков транзактовпотоков транзактов

Переход транзакта к любому блоку обеспечивает блок:TRANSFER [A], [B], [C], [D]

A – способ перехода.Остальные параметры зависят от параметра A.

Например, безусловный переход:TRANSFER ,B

B – метка блока, куда должен перейти транзакт.Вероятностный переход:

TRANSFER A,[B],CA – вероятность передачи транзакта в блок С (в долях тысячи);B – метка блока, куда перейдет транзакт с вероятностью 1-А;С - метка блока, куда перейдет транзакт с вероятностью А.

Page 29: Технология  GPSS

Модификация Модификация потоков транзактовпотоков транзактов

Режим BOTH – транзакт пытается перейти к блоку, метка которого указана в операнде B. Если этот блок занят, то он пытается перейти к блоку C.

TRANSFER BOTH, B, C,Режим ALL – проверяется блок, указанный в блоке B. Если он занят, то последовательно проверяются все блоки, пока не будет достигнут блок, заданный в операнде С. Местоположение каждого проверяемого блока определяется с помощью шага, заданного в параметре D.

TRANSFER ALL, B, C, DИ другие режимы.

Page 30: Технология  GPSS

Условный переходУсловный переход

Для формирования условного блока используется:TEST X A,B,[C]

X – операция отношения (G,L, GE, LE, NE, E);A, B – операнды отношения;С – метка блока, куда переходит транзакт, если ответ отрицательный.

Page 31: Технология  GPSS

Пример – обеденные Пример – обеденные перерывы (версия 1)перерывы (версия 1)

Tab_Q TABLE QX$QU,5,5,10Tab_T TABLE P1,1,1,3GENERATE 8,5 ; генерация прихода клиентаQUEUE QU ; клиент встает в очередь MARK 2 ; в P2 сохраняется модельное времяTEST GE P2,180,ServeAll ;если время до 12, то

;работают 3 парикмахераTEST LE P2,270,ServeAll ;если время после 13.30, то

;работают 3 парикмахера TEST GE P2,210,Serve1 ; если после 12 до 12.30 –

;обедает парикмахер 1TEST GE P2,240,Serve2 ; если после 12.30 до 13.00 –

; обедает парикмахер 2

Page 32: Технология  GPSS

Пример – обеденные Пример – обеденные перерывы (версия 1)перерывы (версия 1)

TRANSFER BOTH,Mast1,Mast2Serve1 TRANSFER BOTH,Mast2,Mast3Serve2 TRANSFER BOTH,Mast1,Mast3 ServeAll TRANSFER ALL,Mast1,Mast3,8Mast1 SEIZE Master1 ; клиент пытается попасть к

;парикмахеру 1DEPART QUTABULATE Tab_Q

ASSIGN 1,1 TABULATE Tab_T ADVANCE 15,8

Page 33: Технология  GPSS

Пример – обеденные Пример – обеденные перерывы (версия 1)перерывы (версия 1)

RELEASE Master1 TRANSFER ,ExitTran

; аналогично задаются группы блоков Master2 и Master3 . . .ExitTran TERMINATE 1 ; уход клиента

START 100 ; запуск модели для 100 клиентов

Page 34: Технология  GPSS

Пример – обеденные Пример – обеденные перерывы (версия 1)перерывы (версия 1)

RELEASE Master1 TRANSFER ,ExitTran

; аналогично задаются группы блоков Master2 и Master3 . . .ExitTran TERMINATE 1 ; уход клиента

START 100 ; запуск модели для 100 клиентов

Page 35: Технология  GPSS

Обслуживание Обслуживание заявокзаявок

Page 36: Технология  GPSS

Пример – обеденные Пример – обеденные перерывы (версия 2)перерывы (версия 2)

Версия 1 показывает, что в заданные временные интервалы к отдельным парикмахерам не направляются клиенты. Версия 2 предполагает, что обеденный перерыв – это внеочередной клиент, который более приоритетен по сравнению с другими клиентами. Начало версии 2 похоже (без проверок на время) Tab_Q TABLE QX$QU,5,5,10 Tab_T TABLE P1,1,1,3 Tab_D TABLE P3,240,2,100 GENERATE 8,5 ; генерация прихода клиента QUEUE QU ; клиент встает в очередь ServeAll TRANSFER ALL Mast1,Mast3,8

Page 37: Технология  GPSS

Пример – обеденные Пример – обеденные перерывы (версия 2)перерывы (версия 2)

Mast1 SEIZE Master1 DEPART QU

TABULATE Tab_Q ASSIGN 1,1 TABULATE Tab_T ADVANCE 15,8

RELEASE Master1 TRANSFER ,ExitTran; аналогично по Mast2 и Mast3

Page 38: Технология  GPSS

Пример – обеденные Пример – обеденные перерывы (версия 2)перерывы (версия 2)

GENERATE 240,,,1 ;3 группыDinner1 TEST E F$Master1,0,loop1 PREEMPT Master1 MARK 2 ASSIGN 3,P2 TABULATE Tab_D ADVANCE 30 RETURN Master1 TERMINATE 1 TRANSFER ,gen2 ;переход к блоку для 2 мастера loop1 ADVANCE 5 TRANSFER ,Dinner1

Page 39: Технология  GPSS

Пример – обеденные Пример – обеденные перерывы (версия 2)перерывы (версия 2)

TERMINATE 1 TRANSFER ,EX loop3 ADVANCE 5 TRANSFER ,Dinner3

EX START 103 ; запуск модели для 100 клиентов

Page 40: Технология  GPSS

ЗаданияЗаданияВ качестве усложнения модели можно предложить следующие:

1.Предусмотреть приход клиентов для получения различных услуг (из заданного списка) (не все мастера могут предоставить каждую услугу);2. Согласно квалификации мастеров и оказанным услугам рассчитать стоимость оказания услуг.