Главная страница

Ответы к экзамену по оптимизации бизнес процессов в системе gpss. Задачи оптимизации бп


Скачать 0.55 Mb.
НазваниеЗадачи оптимизации бп
АнкорОтветы к экзамену по оптимизации бизнес процессов в системе gpss
Дата14.06.2022
Размер0.55 Mb.
Формат файлаdocx
Имя файлаОтветы к экзамену по оптимизации бизнес процессов в системе gpss.docx
ТипВопросы к экзамену
#589563
страница6 из 8
1   2   3   4   5   6   7   8

Блок Generate


Блок GENERATE является источником потока транзактов в модели. В данном блоке производится подготовка транзактов и запуск их в модель через интервалы времени, заданные пользователем. Кроме задания правильной временной последовательности, пользователь может в блоке GENERATE задать некоторую информацию об атрибутах транзактов.

Блок GENERATE имеет следующий формат записи:
GENERATE [],[],[],[],[]
Все параметры блока являются позиционными. Это означает, что в случае пропуска какого-либо параметра необходимо вставлять соответствующее количество запятых.

В поле А указывается время, которое определяет интервал между

моментами генерации транзактов блоком GENERATE. Именно этот параметр блока мы и будем использовать чаще всего.

В поле D задается предел генерации. Эта величина представляет

собой максимальное число транзактов, которые будут созданы в блоке

GENERATE. Если поле D пусто, блок генерирует неограниченное число транзактов.
Остальные параметры для целей оптимизации проектов пока не нужны.
При использовании блока GENERATE необходимо помнить, что транзакт не должен входить в блок GENERATE.
С каждым транзактом в модели связывается специальная системная переменная М1, в которой записывается текущее время пребывания транзакта в системе. Также для каждого транзакта
можно задать список специальных параметров, которые можно использовать при моделировании.
  1. Блок Advance


Блок ADVANCE имеет следующий формат записи:

ADVANCE ,[]

Блок ADVANCE задерживает продвижение транзакта на заданный период времени. В поле А задается среднее время пребывания транзакта в блоке ADVANCE.

В поле В указывается способ модификации среднего значения, заданного в поле А.

Может быть два типа модификаторов:

- модификатор-интервал;

- модификатор-функция.

Например, если среднее время задано равным 10, а константа, определяющая интервал изменения, равна 5, то время задержки транзакта в блоке изменяется от 5 до 15. Для каждого из входящих в блок ADVANCE транзактов выбирается только одно из возможных значений вре­мени задержки. Любое целое число из интервала (5-15), включая гра­ницы 5 и 15, будет выбираться с вероятностью 1/11. Дробные значения времени задержки не допускаются, поскольку условное время интерпре­татора принимает только целые значения. Константа, определяющая ин­тервал времени задержки, не должна превосходить среднего времени задержки, в противном случае может быть получено отрицательное вре­мя задержки в блоке ADVANCE. Отрицательное значение задержки всегда считается ошибкой.

С помощью модификатора-интервала задается равномерный закон распределения времени выполнения работы. При вычислении

разницы значений, заданных в полях А и В, получается нижняя граница интервала, а при вычислении суммы - верхняя граница. После появления очередного транзакта выбирается число из полученного интервала, и это будет значением времени задержки.

Например:

ADVANCE 25, 10

В этом случае время задержки вычисляется согласно равномерного закона из интервала - (15,35).
??? Вопрос студентам. На рисунке задана плотность равномерного распределения для рассмотренного выше примера.



15 35
Чему равна высота прямоугольника ?
??? Вопрос студентам. Какой вид имеет функция распределения для этой случайной величины ?


1


15 35
Более сложные распределения могут быть представлены при
использовании модификатора-функции, под действием которого вычисленное значение аргумента поля А умножается на значение функции, заданной в поле В.

Если в поле В записан модификатор-функция, то вычисленное значение атрибута, заданного в поле А, умножается на значение функ­ции, заданной в поле В. Результат округляется до целого значения и используется как время задержки.

Блок ADVANCE будем использовать для моделирования времени выполнения работы.
  1. Блок Queue


В GPSS объекты типа "очередь" вводятся для сбора статистических данных. Статистика об очередях собирается в моменты входа транзакта в блок QUEUE (вход в очередь) или в блок DEPART (выход из очереди). Важно отметить, что задержку транзактов в очереди вызывает не очередность транзактов, а условия, при которых транзакт входит в очередь (например, состояния объектов типа "устройство").

Только объекты типа "очереди" обеспечивают пользователя данными относительно задержки транзакта. Блок QUEUE, стоящий перед блоком SEIZE, учитывает задержанные транзакты в случае занятости специфицированного устройства.

Поскольку очереди в GPSS по природе своей являются статистическими объектами, списки транзактов, находящихся в очереди, не составляются. Кроме того, использование очередей никоим образом не влияет на внутренние операции GPSS.

Формат записи блока QUEUE:
QUEUE ,[]
В поле А задается номер или имя очереди, к длине которой добавляются число мест в очереди, которое занимает транзакт.
Операнд может быть именем, положительным целым или СЧА.

Поле В определяет число единиц, на которое увеличивается текущая длина очереди. Если поле В пусто, то прибавляется единица. Операнд может быть именем, положительным целым или СЧА.

Когда транзакт входит в блок QUEUE, то ищется очередь с именем, определенным операндом А. Если необходимо, очередь создается. Транзакты в этот же момент условного времени пытаются перейти к следующему блоку.

Один и тот же транзакт может одновременно увеличить длину нескольких очередей, т.е. транзакт может войти в несколько блоков QUEUE перед тем, как войти в соответствующие блоки DEPART. Стандартные числовые атрибуты (СЧА), связанные с описываемым блоком, следующие:

- Q - текущая длина очереди;

- QА - средняя длина очереди;

- QС - общее число входов в очередь;

- QМ - максимальная длина очереди;

- QТ - среднее время ожидания в очереди;

- QХ - среднее время ожидания в очереди для транзактов с ненулевым временем задержки;

- QZ - число входов в очередь с нулевым временем задержки.

Данный набор символов (СЧА) зарезервирован системой и не может использоваться для других целей.

Рассмотрим несколько примеров блока QUEUE.
QUEUE Quir1
Увеличивает длину очереди Quir1 на единицу.
QUEUE 5, 2
Увеличивает длину очереди с номером 5 на две единицы.

Блок DEPART имеет следующий формат:
DEPART ,[]
Блок DEPART служит для уменьшения длины очереди.

В поле А задается номер или имя очереди, длину которой нужно уменьшить. Операнд может быть именем, положительным целым или СЧА.

В поле В задается число единиц, на которое уменьшается длина очереди. Это число не должно превышать текущую длину очереди. Если поле В пусто, длина очереди уменьшается на единицу. Операнд может быть именем, положительным целым или СЧА.

При выходе из очереди в блоке DEPАRT транзакт не обязательно должен уменьшать длину очереди на ту же величину, на которую он увеличил ее при входе в блок QUEUE. Но в конечном счете число входов в очередь должно быть равно числу выходов из очереди.
Примеры записи блока DEPART:
DEPART 5 Уменьшает длину очереди с номером 5 на единицу.
DEPART 1,Q1 Удаляет из очереди с номером 1 все транзакты. Количество удаляемых транзактов задается стандартным атрибутом Q1, который задает общее число занятых мест в очереди.
  1. 1   2   3   4   5   6   7   8


написать администратору сайта