Модули данных
Все модули данных в навигаторе панелей имеют одинаковый вид, т. к. они не отображаются физически в блок-схеме модели, в связи с этим их изображение не приводится. Также мы не будем рассматривать стоимостные параметры модулей, т. к. они не влияют на логику модели.
Этот модуль определяет тип сущности и ее анимационную картинку в имитационном процессе, а также стоимостную информацию. Для каждого источника должен быть определен тип сущности, который он генерирует.
Применение модуля Entity: документы (факсы, письма, отчеты и т. д.); люди в моделях больницы или магазина.
Таблица П.9
Параметры модуля Entity
Параметры |
Описание |
Entity Туре |
Название типа сущности |
Initial Picture |
Графическое представление сущности в начале имитационного процесса. Это значение может быть впоследствии изменено с помощью модуля Assign. Просмотреть анимационные картинки можно так: Edit/Entity picture |
Этот модуль данных предназначен для изменения правила расстановки сущностей в очереди, т. е. задается правило обслуживания сущности в процессе. По умолчанию тип очереди First in First out.
Применение: стопка документов, ожидающих освобождения ресурса; место для собирания частей, ожидающих упаковки (группировки).
Таблица П.10
Параметры модуля Queue
Параметры |
Описание |
Name |
Уникальное имя модуля, которое будет отражено в блок- схеме |
Attribute Name |
Имя атрибута, значение которого будет учитываться, если тип = Lowest Attribute Value или Highest Attribute Value |
Type |
11равило расстановки сущностей в очереди: First in First out – первый вошел, первый вышел; Last in first out – последний пришел, первый вышел; Lowest Attribute Value – первый выйдет из очереди тот, значение атрибута у которого низшее; Highest Attribute Value – первый выйдет из очереди тот, значение атрибута у которого наивысшее |
Более подробно хотелось бы остановиться на параметре Туре, т. к. именно с помощью него можно определить, что такое "приоритет очереди" и как его необходимо задавать. Рассмотрим несколько измененный наш пример.
На прием к доктору приходят пациенты двух типов: взрослые и дети. Доктор (наш ресурс) – один. Он ведет прием и детей, и взрослых, причем время приема одинаково (около 30 мин), но у детей приоритет при обслуживании выше, чем у взрослых.
Каким образом мы это можем реализовать? Во-первых, в модуле Process задается ресурс "доктор"; с помощью параметра Action, который устанавливаем Seize Delay Release для назначения ресурса. Таким образом, когда сущность "пациент" зайдет в модуль Process, то она захватит ресурс "доктор" на определенное время (около 30 минут). Во-вторых, у нас по условию время обслуживания пациентов одинаковое, таким образом, мы процесс обслуживания пациентов доктором смоделируем в виде одного блока Process с временной задержкой в 30 минут. Но здесь возникает вопрос: каким образом задать приоритет? В данном случае мы рассматриваем ситуацию, когда ресурс задан в одном блоке, т. с. нет смысла менять параметр Priority модуля Process. В этом случае возникает ситуация, когда приоритет не ресурса, а "приоритет очереди", и задается он в модуле Queue. Необходимо выбрать, у какого типа сущности он выше. Это производится с помощью параметра Type: Lowest Attribute Value – первый выйдет из очереди тот, значение атрибута у которого низшее, или Highest Attribute Value – первый выйдет из очереди тот, значение атрибута у которою наивысшее. Таким образом, когда у нас будут приходить сущности "дети", они будут иметь наивысший приоритет в обслуживании.