Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мезенцев Имитационное моделирование / Вопросы и задачи к экзамену по ИМ.docx
Скачиваний:
83
Добавлен:
04.01.2020
Размер:
17.27 Mб
Скачать

22. Основные блоки сим Арена и их атрибуты.

Имитационная модель компании Systems Modeling включает следующие основные элементы: источники и стоки (Create и Dispose), процессы (Process) и очереди (Queue). Источники – это элементы, от которых в модель поступает информация или объекты. Скорость поступления данных или объектов от источника обычно задается статистической функцией. Сток – это устройство для приёма информации или объектов. Понятие очереди близко к понятию хранилища данных – это место, где объекты ожидают обработки.

Имитационная модель в системе Arena представляет собой граф, узлами которого являются модули. Модули связаны между собой с помощью соединений, по которым между модулями перемещаются транзакты (динамический объект имитационной модели).

Транзакт (entity, в терминах системы Arena) – это динамический объект имитационной модели, который перемещается между статическими узлами модели. Примеры транзактов – деталь, автомобиль, клиент, документ и т.д. В модели может участвовать несколько транзакты разных типов, которые задаются разработчиком модели. Тип транзакта может меняться динамически, например, на каком-то этапе транзакт «машинокомплект» меняет свой тип на «автомобиль». Транзакту соответствует картинка для анимации, с ее помощью можно следить за перемещениями транзактов между модулями и за обработкой транзактов. Характеристики транзактов задаются с помощью атрибутов. Существуют системные атрибуты, установленные по умолчанию. Например, «время существования транзакта» (Total Time), «серийный номер транзакта» (Serial Number), тип транзакта (Entity Type) и т.д. Имеется атрибут «картинка» (Entity Picture), поменяв программно его значение можно изменить визуальное изображение транзакта.

Модуль Create (генератор транзактов) – вводит транзакты в модель. Например, покупатели приходят в магазин, суда прибывают в порт, в службу поддержки поступают звонки и т.д.

Для модуля задаются такие параметры: - название модуля (Name);

- тип поступающего транзакта (Entity type);

- интервал между прибытиями транзакта (Time Interval);

- число транзактов при каждом поступлении (Entities per arrival);

- максимальное число поступлений (Max Arrivals).

Интервал может быть задан как:

- «константа» (Constant). Транзакты поступают в модель строго через равные промежутки времени. Например, деталь поступает на участок обработки строго один раз в минуту.

- «по расписанию» (Schedule). В этом случае следует выбрать расписание. Например, в течение дня у магазина наблюдается разная интенсивность поступления клиентов – в «часы пик» она значительно увеличивается.

- «выражение» (Expression) Указывается функция распределения и ее параметры.

- «случайный» (Random(Expo)). В системах массового обслуживания очень часто встречается пуассоновский поток заявок. При таком потоке интервал времени между появлениями заявок подчиняется экспоненциальному закону распределения. Для отражения этого частого случая и предусмотрена опция «Random (expo)». Можно выбрать ее и задать математическое ожидания интервала. Эта опция введена для удобства. С тем же результатом можно использовать выражение expo(15).

Модуль Dispose (терминатор транзактов) – выводит транзакты из модели (уничтожает транзакты). Например, покупатели после покупки товара, покидают магазин.

Модуль Process (обработка, действие) – моделирует обработку транзактов: обслуживание покупателей продавцом, разгрузку судна, ремонт телевизора и т.д. Обратим внимание, что с точки зрения имитационной модели «обработка» означает задержку транзакта на определенное время, содержательный смысл этой задержки определяется исследователем. Обработка транзактов может потребовать использования ресурсов. Так, для сверления детали нужен соответствующий станок, для обслуживания покупателя – продавец и т.п.

Process

Данный модуль (в дословном переводе “процесс”) является модулем основной обработки объекта. В модуле определяются типы размещения и вывода ресурсов для обработки, тип отображения времени и стоимости обработки на объектах и, наконец, есть возможность определять иерархию процесса путём создания вложенной модели (субмодели).

Типичное использование модуля:

  • Механическая обработка объектов;

  • Рассмотрение документов;

  • Выполнение заказов (распоряжений);

  • Обслуживание клиентов.

Name

Process 1

Имя (уникальный идентификатор) модуля. Автоматически имя генерируется по форме “Название_модуля №_модуля”. Arena позволяет задавать любые имена модулей.

Type

Standard

Тип определения логики в пределах модуля. Существует два таких типа:

  1. Standard – вся логика обработки будет определена в пределах самого модуля Process (при выборе данного типа будет отображаться соответствующее поле Logic (см. ниже));

  2. Submodel – логика обработки будет определена во вложенной модели, которая может содержать любое количество логических модулей (среди которых также могут быть модули Process типа Submodel – поэтому в результате получается определяемая пользователем иерархия).

При выборе типа Submodel активным остаётся лишь поле Report Statistics. Для определения логики вложенной модели следует кликнуть правой кнопкой мыши на изображении соответствующего блока Process и выбрать команду Edit Submodel, а для выхода из вложенного модуля на уровень выше – кликнуть правой кнопкой мыши на рабочей области субмодели и выбрать Close Submodel.

Action

Delay

Action – параметр, от которого зависит логика модуля (вместе с параметрами Priority и Resources он составляет поле Logic).

Action – это тип обработки, которая происходит в пределах модуля. Arena предлагает 4 таких типа:

  1. Delay – простая задержка времени (без использования ресурсов).

  2. Seize Delay – указанные ресурсы будут размещены в данном модуле (их выпуск произойдёт в какое-то более позднее время).

  3. Seize Delay Release – указанные ресурсы будут размещены в данном модуле лишь на время обработки всех объектов.

  4. Delay Release – указанные ресурсы были предварительно размещены в другом модуле (модулях) и используются только для обработки прибывшего объекта, после которой выпускаются.

Priority – параметр, указывающий значение приоритета, которое используется, если в модели одновременно находятся объекты, ожидающие одинаковый ресурс. Может принимать значения High(1), Medium(2) и Low(3) – т.е. высокий(1), средний(2) и низкий(3) приоритет. (Не используется при выборе типов Delay и Delay Release.)

Resources – лист ресурсов и ресурсных наборов, используемых для обработки объектов. (Не используется при выборе типа Delay.) Значения устанавливаются в одноимённом окне после нажатия кнопки Add (соответственно, редактируются и удаляются кнопками Edit и Delete).

Окно Resources содержит определяющее поле Type (тип), которое имеет два значения – Resource (ресурс) и Set (набор ресурсов).

При выборе Resource необходимо заполнить следующие поля:

  1. Resource Name – имя ресурса.

  2. Quantity – количество ресурса, которое будет необходимо для обработки одного объекта.

При выборе Set заполняются поля:

  1. Set Name – имя набора ресурсов.

  2. Quantity – количество выбранного из набора ресурса, необходимое для обработки одного объекта.

  3. Selection Rule – правило выбора ресурсов из набора. Существуют следующие правила:

  • Cyclical – циклический выбор среди доступных ресурсов из набора (1-й ресурс; 2-й ресурс; 3-й ресурс; 1-й ресурс и т.д.).

  • Random – случайный выбор.

  • Preferred Order – выбор первого доступного ресурса (1-й ресурс, пока доступен; 2-й ресурс, пока доступен и т.д.).

  • Specific Member – использование только указанного ресурса. Для указания появляется поле Set Index (вместо поля Save Attribute), в котором необходимо указать номер, под которым ресурс входит в набор (это, в свою очередь, можно выяснить в окне Members модуля Set).

  • Largest Remaining Capacity – выбор ресурса, объём которого максимален.

  • Smallest Number Busy – выбор ресурса, запасы которого максимальны.

Save Attribute – указывается имя атрибута, который будет хранить индексный номер выбранного для использования ресурса. Этот атрибут далее может использоваться в качестве индекса (в поле Set Index) при использовании в каком-либо (но работающем после) модуле правила Specific Member.

Надо сказать, что зачастую после указания ресурсов и их наборов, их необходимо редактировать в соответствующих модулях Resources и Set.

Delay Type

Triangular

Тип распределения (или метод определения) значений задержки объектов в процессе обработки.

В выпадающем списке данного поля представлено пять значений:

  1. Constant – константа (значение вносится в поле Value);

  2. Normal – нормальное распределение (указываются математическое ожидание (поле Value(Mean)) и среднеквадратическое отклонение (поле Std Dev));

  3. Triangular – треугольное распределение (указываются минимальное и максимальное значения (поля Minimum и Maximum), а также мода (поле Value(Most Likely)));

  4. Uniform – равномерное распределение (указываются минимальное и максимальное значения (поля Minimum и Maximum));

  5. Expression – другое распределение, задаваемое пользователем (в поле Expression выбирается одно из статистических распределений, и задаются его параметры). Кроме того, в поле Expression можно задать определённое выражение.

Units

Hours

Единицы времени значений задержки. Arena (как уже говорилось выше) позволяет задавать время в секундах (Seconds), минутах (Minutes), часах (Hours) и днях (Days).

Allocation

Value Added

Определяет, как время и стоимость процесса обработки будут отображаться в объектах. Процесс может рассматриваться одним из пяти представленных ниже типов:

  1. Value Added (добавленное значение) – полные время и стоимость прохождения объектом процесса записываются в параметры Value Added, которые при включенной записи статистики (yes в поле Record Entity Statistics модуля Dispose) отражаются в полях VA Time и VA Cost отчёта и используются для определения общих (суммарных) значений времени (Total Time) и стоимости (Total Cost) нахождения объекта в модели.

  2. Non-Value Added (не добавленное значение) – полные время и стоимость прохождения объектом процесса записываются в параметры Non-Value Added, которые при включенной записи статистики (yes в поле Record Entity Statistics модуля Dispose) отражаются в полях NVA Time и NVA Cost отчёта и используются для определения общих (суммарных) значений времени (Total Time) и стоимости (Total Cost) нахождения объекта в модели.

Различие между способами Value Added и Non-Value Added состоит в том, что значение Value Added отображается на объекте, а Non-Value Added – нет (т.е., например, если в модели производства продукции понадобилось выяснить время и стоимость процессов механической обработки объектов, то во всех соответствующих модулях следует установить способ Value Added, а во всех остальных – Non-Value Added).

  1. Transfer (перемещение) – полные время и стоимость прохождения объектом процесса записываются в параметры Transfers (куда, при включенном сборе статистики (yes в поле Report Statistics), автоматически включаются данные из модулей типа Conveyor и Transporter), которые при включенной записи статистики (yes в поле Record Entity Statistics модуля Dispose) отражаются в полях Transfer Time и Transfer Cost отчёта и используются для определения общих (суммарных) значений времени (Total Time) и стоимости (Total Cost) нахождения объекта в модели.

  2. Wait (ожидание) – полные время и стоимость прохождения объектом процесса записываются в параметры Wait, которые при включенной записи статистики (yes в поле Record Entity Statistics модуля Dispose) отражаются в полях Wait Time и Wait Cost отчёта и используются для определения общих (суммарных) значений времени (Total Time) и стоимости (Total Cost) нахождения объекта в модели.

  3. Other (другое значение) – полные время и стоимость прохождения объектом процесса записываются в параметры Other, которые при включенной записи статистики (yes в поле Record Entity Statistics модуля Dispose) отражаются в полях Other Time и Other Cost отчёта и используются для определения общих (суммарных) значений времени (Total Time) и стоимости (Total Cost) нахождения объекта в модели.

Minimum

.5

Назначение данных полей зависит от указанного в поле Delay Type распределения, поэтому их описание находится выше – в описании Delay Type.

Value

1

Maximum

1.5

Report Statistics

yes

Определение необходимости автоматического сбора статистических данных. (Два значения – yes (подтверждение сбора) и no (отрицание сбора).)

Модуль ветвления Decide – направляет входящие транзакты по одной из исходящих ветвей в зависимости от условия или случайным образом. Существует два варианта модуля Decide – «По вероятности» (by chance) или по условию (by condition).

В модуле decide может проверяться: - значение переменной (Variable); - значение элемента массива (Variable Array 1D, Variable Array 2D); - значение атрибута транзакта (Attribute); - тип транзакта (Entity Type); - произвольное выражение (expression). Для блока Decide возможно наличие нескольких выходов.

Модуль Assign обеспечивает присвоение значений переменным модели и атрибутам транзакта, проходящего через модуль. Может выполнять сразу несколько присвоений. Кнопками Add, Edit и Delete можно вести список присвоений. При этом открывается специальное окно, где указывается тип присвоения, имя пере- менной или атрибута, присваиваемое значение.

Модуль Batch (в дословном переводе “партия”) представляет собой группировочный механизм в рамках имитационной модели. Партии объектов могут группироваться постоянно или временно. Временные партии в дальнейшем должны быть разбиты с использованием модуля Separate.

Queue (Basic Process) – данный модуль (в дословном переводе “очередь”) может использоваться для изменения правила ранжирования объектов в указанной очереди. По умолчанию для всех очередей устанавливается правило ранжирования First in First Out. В модуле есть специальное поле Shared, которое позволяет определить очередь как разделённую.

Типичное использование модуля:

  • Реализация стека (вместо обычной очереди) ожидания ресурса в модуле Process;

  • Организация выбора из очереди по значению указанного атрибута, например, для документов в модуле Batch.

Record – данный модуль (в дословном переводе “отчёт”) используется для сбора статистических данных в имитационной модели. Для сбора в модуле доступны различные виды статистической информации, включая статистические (стоимостные и временные) показатели объекта, время между прибытиями объектов в модуль, общие наблюдения и т.п.