Пример моделирования СМО в среде моделирования Arena

13 SHAPE \* MERGEFORMAT 1415
Рис.1

На рисунке 1, представлена общая модель задачи по выбору, сборке и продажи компьютера.
Условие задачи. В салон по сборке компьютеров со среднем временем в 15 минут приходит 1 клиент (что определяется по экспоненциальному закону) чтобы выбрать компьютер (ПК). Выбор ПК осуществляется в течении 15-20 минут. Далее клиенту предлагается подтвердить свой выбор. По статистике 90% удовлетворенны своим выбором и готовы купить ПК. После появления заявки на сборку ПК, обязанности делятся между 2мя отделами:
по сборке системного блока
подбора, соответствующих монитора и периферийных устройств.
Отдел по сборке системного блока осуществляет единичный заказ в течение 40-50 минут, в то время как, отдел по подбору соответствующих монитора и периферийных устройств делает свой единичный заказ в течение 5-40 минут. Далее из этих составляющих на складе собираются компьютеры, которые в последствии будут проданы их владельцам.
Определить необходимое минимальное количество сотрудников в каждом отделе необходимых для исполнения максимального количества заказов за 720 минут (изначально в каждом отделе может одновременно работать только один сотрудник).





































Рис.2
Первым в нашей задаче идет модуль Create (Рис.2)
Этот модуль является отправной точкой для сущностей в имитационной модели. Сущности – это индивидуальные элементы, обрабатываемые в системе. Создание сущностей модулем происходит по расписанию, или же основываясь на значении времени между прибытиями сущности в модель. Покидая модуль, сущности начинают обрабатываться в системе. Тип создаваемых сущностей определяется в этом модуле.
Применение:
прибытие различных документов в сфере бизнеса (например: заказы, чеки, документация);
прибытие клиентов в сфере обслуживания (например: в ресторан, в магазин);
начало изготовления продукции на производственной линии.
В данном случае – приход человека в Салон.
В диалоговом окошке, мы задаем параметры, а именно:
Name - уникальное имя модуля, которое будет отражено в блок схеме, в нашем случае «Вход в салон».
Entity Type - название типа сущности, который будет создаваться модулем.
Type - способ формирования потока прибытия. Type в нашем случае имеет значение Random (используется экспоненциальное распределение со средним значением, определенным пользователем).
Value - определяет среднее значение экспоненциального распределения (Random), в нашем случае 15 мин. (период времени через, который приходят покупатели).
Units - единицы измерения времени между прибытиями – минуты.
Entities per arrival - количество сущностей входящих в систему за одно прибытие, задаем количество посетителей, которые приходят через заданный промежуток времени. (1 чел.)
Max arrivals - максимальное число сущностей - неограниченный.
First Creation - время, через которое прибудет первая сущность в модель от начала симуляции – сразу же.













Рис.3

Вторым модулем идет Process(Рис.3)
Этот модуль является основным модулем процесса обработки в имитационной модели. В модуле имеются опции использования ресурсов. Кроме стандартного модуля Process, можно использовать подмодель, придавая ей особую, определенную пользователем, иерархическую логическую схему. В модуле можно также задавать добавочные стоимостные и временные характеристики процесса обработки сущности.
Наиболее частое применение модуля Process:
проверка документов;
выполнение заказов;
обслуживание клиентов;
обработка деталей.
В диалоговом окошке, мы задаем параметры, а именно:
Name - уникальное имя модуля, которое будет отражено в блок схеме, в нашем случае «Выбор компьютера».
Type - определяет логическую схему модуля. Standard означает, что логическая схема находится внутри модуля и зависит от параметра Action.
Action - Seize Delay Release указывает на то, что ресурс(-ы) были захвачены, а затем через время освободились.
Priority - значение приоритета модулей использующих один и тот же ресурс где угодно в модели. Это свойство было бы не доступно, если Action = Delay или Delay Release, или когда Type = Submodel.
Resources - определяет ресурсы или группы ресурсов, которые будут обрабатывать сущности в этом модуле.
Delay Type - тип распределения или процедура, определяющая параметры задержки (Uniform - единообразный).
Units - единицы измерения времени между прибытиями – минуты.
Allocation - определяет стоимостные характеристики обработки. Value Added - означает учитывать стоимостные характеристики.
Minimum - поле, определяющее минимальное значение для равномерного и треугольного распределения, в нашем случае 15 минут.
Maximum - поле, определяющее максимальное значение для равномерного и треугольного распределения – в этом случае 20 минут.













































Рис.4

Третий модуль – Decide (Рис.4)
Этот модуль позволяет учитывать принятие решений в модели. Он включает опции принятия решений основанных на условии By Condition (например, если тип сущности Car) или основанных на вероятности By Chance (например, 75% - true, а 25% - false). Условия могут быть основаны на значении атрибута Attribute, значении переменной Variable, типе сущности Entity Type или основанные на выражении Expression.
Если поставленное условие не выполняется то, сущности будут покидать модуль через ветку False.
Данный модуль позволяет выполнять проверку не только одного условия, но и нескольких. Это достигается с помощью свойства TypeN–way by Chance/by Condition. В зависимости от условия сущность идет по нужной ветке.
Применение:
разделение дел на срочные дела и несрочные;
перенаправление недоделанных или сделанных неправильно работ на доработку.
В диалоговом окошке, мы задаем параметры, а именно:
Name - уникальное имя модуля, которое будет отражено в блок схеме, в нашем случае «Готовы ли вы купить данный ПК?».
Type - тип принятия решения. 2-way by Chance - выбор направления основывается на 2-ух вероятностях. Задаем 2 вероятности выбора.
Percent True - значение, определяющее процент сущностей, который пойдут по направлению True –ставим процент довольных своим выбором 90%

















Рис.5

Четвертый модуль – Assign (Рис.5)
Этот модуль предназначен для задания нового значения переменной, атрибуту сущности типу сущности, анимационной картинке сущности или другой переменной в системе. В одном модуле можно сделать только одно назначение.
Пример применения модуля Assign:
установление приоритета для клиентов;
присвоение номера вышедшему приказу.
В диалоговом окошке, мы задаем параметры, а именно:
Name - уникальное имя модуля, которое будет отражено в блок схеме, в нашем случае «Заявка на компьютер».
Assignments – назначение атрибута. Он будет необходим нам в дальнейшем, (при разделении обязанностей и соединении составляющих ПК).



























Рис.6

Пятый модуль – Separate (Рис.6)
Этот модуль может использоваться как для создания копий входящих сущностей, так и для разделения ранее сгруппированных сущностей. Правило для разделения стоимостных и временных характеристик копий сущностей и разделенных сущностей определяется пользователем. Когда временно сгруппированные сущности прибывают в модуль, они раскладываются на составные сущности. Сущности покидают модуль в той же последовательности, в которой они добавлялись в комплект.
Если модуль создает копии сущностей, то пользователь может задать количество дубликатов сущности. У дублированной сущности значения  атрибута, а также анимационная картинка такие же, как и оригинала. Оригинальная сущность также покидает модуль.
Применение:
разъединение ранее сгруппированных комплектов документов;
для параллельной обработки счетов и документов по одному заказу.
В диалоговом окошке, мы задаем параметры, а именно:
Type - способ разделение входящей в модуль сущности. Duplicate Original – просто делает дубликаты входящей сущности.
Percent Cost to Duplicates - разделение стоимостных и временных характеристик входящей сущности между выходящими. Это значение определяется пользователем в процентах, т.е. сколько процентов от стоимостных и временных характеристик входящей сущности уйдет копиям (характеристики между копиями делятся поровну) Отделение производим в равных долях по 50%.
# of Duplic - Количество создаваемых копий входящей сущности














Рис.7

Шестым модулем идет Process (Рис.7), который мы рассмотрели ранее.
Задаем параметры:
Name - уникальное имя модуля, которое будет отражено в блок схеме, в нашем случае «Сбор системного блока».
Type - определяет логическую схему модуля. Standard означает, что логическая схема находится внутри модуля и зависит от параметра Action.
Action - Seize Delay Release указывает на то, что ресурс(-ы) были захвачены, а затем через время освободились.
Priority - значение приоритета модулей использующих один и тот же ресурс где угодно в модели - среднее. Это свойство было бы не доступно, если Action = Delay или Delay Release, или когда Type = Submodel.
Resources - определяет ресурсы или группы ресурсов, которые будут обрабатывать сущности в этом модуле.
Delay Type - тип распределения или процедура, определяющая параметры задержки (Uniform - единообразный).
Units - единицы измерения времени между прибытиями – минуты.
Allocation - определяет стоимостные характеристики обработки. Value Added - означает учитывать стоимостные характеристики.
Minimum - поле, определяющее минимальное значение для равномерного и треугольного распределения, задаем минимальное время на сбор системного блока 40 минут.
Maximum - поле, определяющее максимальное значение для равномерного и треугольного распределения – максимальное время на сбор системного блока 50 минут.






Рис.8

Седьмым модулем идет Process (Рис.8), рассмотренный ранее.
Задаем параметры:
Name - уникальное имя модуля, которое будет отражено в блок схеме, в нашем случае «Подбор соответствующих монитора и переферийных устройств».
Type - определяет логическую схему модуля. Standard означает, что логическая схема находится внутри модуля и зависит от параметра Action.
Action - Seize Delay Release указывает на то, что ресурс(-ы) были захвачены, а затем через время освободились.
Priority - значение приоритета модулей использующих один и тот же ресурс где угодно в модели - среднее. Это свойство было бы не доступно, если Action = Delay или Delay Release, или когда Type = Submodel.
Resources - определяет ресурсы или группы ресурсов, которые будут обрабатывать сущности в этом модуле.
Delay Type - тип распределения или процедура, определяющая параметры задержки (Uniform - единообразный).
Units - единицы измерения времени между прибытиями – минуты.
Allocation - определяет стоимостные характеристики обработки. Value Added - означает учитывать стоимостные характеристики.
Minimum - поле, определяющее минимальное значение для равномерного и треугольного распределения, в нашем случае задаем минимальное время на подбор монитора 15 минут.
Maximum - поле, определяющее максимальное значение для равномерного и треугольного распределения – вводим максимальное время на подбор монитора 20 минут.




Рис.9

Восьмой модуль – Match (Рис.9)
Этот модуль предназначен для синхронизации движения двух или более сущностей, расположенных в различных, несвязанных очередях. Количество очередей может варьироваться от 2 до 5. Сущность ждет в очереди до тех пор, пока в остальных очередях не появятся любые сущности, либо с таким же значением атрибута, как и у исходной сущности.
Применение:
сборка частей детали для дальнейшей обработки;
собирание различных, но строго определенных продуктов по заказу клиента.
Задаем параметры:
Name - уникальное имя модуля, которое будет отражено в блок схеме, в нашем случае «Отправка на склад».
Number to Match - количество очередей для синхронизации сущностей – задаем 2 типа соединения.
Type - Based on Attribute – в каждой очереди должна быть хотя бы одна сущность с таким же атрибутом для выхода.
Attribute Name - название атрибута, по которому сущности должны сравниваться. Используется только, если установлен тип Based on Attribute.



























Рис.10

Девятый модуль – Batch (Рис.10)
Этот модуль отвечает за механизм группировки в имитационной модели. Группировка может быть постоянной или временной. Временно сгруппированные комплекты позднее могут быть разъединены с помощью модуля Separate. Комплекты могут состоять из любого числа входящих сущностей, определенного пользователем или же сущности могут объединяться в комплект в зависимости от атрибута сущности. Временные и стоимостные характеристики выходящей сущности, представляющей комплект будут равны сумме характеристик вошедших в группу сущностей.
Сущности прибывают в модуль, становятся в очередь и остаются там до тех пор, пока в модуле не будет набрано заданное количество сущностей. Когда соберется нужное число сущностей создается сущность представляющая комплект.
Применение:
собрать необходимое количество данных, прежде чем начинать их обработку;
собрать ранее разделенные копии од ной формы;
соединить пациента и его больничную карту приема к врачу.
Задаем параметры:
Name - уникальное имя модуля, которое будет отражено в блок схеме, в нашем случае «Сборка ПК».
Type - Способ группировки сущностей. Permanent (постоянная).
Batch Size - число сущностей, образующих один комплект – вводим2 т.к.получаемых деталей со склада 2.
Rule - By Attribute, будет объединяться заданное количество сущностей с определенным атрибутом.
Attribute Name - Имя атрибута, по значению которого будут группироваться сущности.
Save Criterion - сохраняемый критерий – сумма.















Рис.11

Предпоследний модуль – Dispose (Рис.11)
Этот модуль является выходной точкой из имитационной модели. Статистика о сущности может собираться до того момента пока она не выйдет из системы.
Применение:
Окончание бизнес процесса;
Клиенты покидают отдел.
Задаем параметры:
Name - уникальное имя модуля, которое будет отражено в блок схеме, в нашем случае «Продажа ПК».
Record Entity Statistics - определяет, будет ли вестись статистика о выходе сущности из системы.


































Рис.12

Последний (альтернативный) модуль – Dispose (Рис.12) рассмотренный выше.
Name - уникальное имя модуля, которое будет отражено в блок схеме, в нашем случае «Выход из салона без покупки». 10% людей уходят из салона без покупки.
Record Entity Statistics - определяет, будет ли вестись статистика о выходе сущности из системы.








































Рис.13

В панели “Basic Process” в меню “Resource” устанавливаем интенсивность обслуживания “Capacity” . Путём долгих проверок находим оптимальное сотрудников в каждом отделе (Рис.13)
В нашем случае это:
- 2 человека в отдел предварительной консультации (Resource 1),
- 3 человека в отдел сборки системных блоков (Resource 2),
- 1 человек в отдел подбора соответствующих монитора и периферийных устройств (Resource 3).



































Рис.14

При запуске Run ( Setup ( Replication parameters ( Replication Length = 720 минут (Рис.14)























13 SHAPE \* MERGEFORMAT 1415
Рис.15
Из рисунка видно, что на момент завершения работы салона практически все сотрудники заняты и очереди нет, 44 клиента пришло в салон, 2 находится в консультационном отделе, 1 ожидает свой заказ, 5 человек ушло, ничего не купив (Рис.15)



Рис.16
На рисунке можно увидеть статистику занятости каждого отдела (Рис.16).


Рис.17
На рисунке показана статистика входов-выходов клиентов (Рис.17)




Рис.18

На рисунке показана статистика по очереди на каждом этапе работы салона (Рис.18)










13PAGE 15


13PAGE 14215




15

Приложенные файлы

  • doc 289345
    Размер файла: 687 kB Загрузок: 0

Добавить комментарий