Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответник по Урусову.docx
Скачиваний:
104
Добавлен:
09.02.2015
Размер:
648.91 Кб
Скачать

Вопрос 18

Язык Arena. Блок, описывающий процесс обслуживания. Примеры использования.Моделирование системы массового обслуживания типа U/U/1. Модуль Resource. Отчеты

В данном примере будет смоделирована простая система массового обслуживания типа U/U/1. Такой системе может соответствовать, например, классический пример с парикмахерской и одним парикмахером. В этом случае транзакты будут символизировать клиентов, или, если выразиться в терминах инструментальной среды, все транзакты будут иметь тип сущности «Клиент»; прибор будет символизировать парикмахерскую. Для введения ограничения на число клиентов, обслуживаемых в парикмахерской одновременно, требуется ввести ресурс «Парикмахер». Пусть пользование ресурсом осуществляется за плату, выражаемую в количестве денежных единиц, которое требуется заплатить за один час удержания ресурса.

Отредактируем модель, созданную в предыдущем примере. Для этого следует настроить существующие блоки модели. Пусть клиенты приходят в парикмахерскую каждые 10—20 минут, закон распределения интервала между появлениями клиентов — равномерный (Uniform). Дважды щелкните мышкой на блоке Create и настройте его, как показано ниже:

Пусть клиент обслуживается в течение 5—24 минут одним парикмахером (закон распределения примем также равномерным). Время обслуживания будет добавляться в атрибут транзакта Value Added Time (по умолчанию). Настройте блок так, как показано на иллюстрации. Справа показана настройка окна добавления ресурсов, появляющегося при нажатии кнопки Add, относящейся к списку ресурсов.

Введем стоимость за услуги парикмахера. Количество парикмахеров (Capacity) — 1. Пусть час работы (Busy/Hour) стоит 100 денежных единиц. Откройте модуль Resources и настройте его в соответствии с иллюстрацией:

Блок Dispose не требует какой-либо дополнительной настройки.

Перед запуском модели настроим некоторые параметры проекта. Выберите пункт меню Run — Setup…, выберите вкладку «Project Parameters», в группе «Statistics Collection» установите флажки напротив полей Costing, Queues, Entities, Processes, Resources. Перейдите на вкладку «Replication Parameters», и в выпадающем списке «Base Time Units» выберите минуты. Здесь же можно задать имя проекта, например, Barber. Закройте окно нажатием кнопки OK. Сохраните проект.

Запустим модель (команда Go, клавиша F5). Через некоторое время (например, после создания ~1000 транзактов) остановим симуляцию (команда Pause, клавиша Esc). Отметим, что для того, чтобы симуляция останавливалась автоматически после создания определенного числа транзактов, можно ввести в поле Max Arrivals в окне настройки блока Create необходимое значение.

После приостановки симуляции (ручной или автоматической) перейдите к вкладке Reports на панели проекта, выберите Category Overview. На панели инструментов отчета нажмите кнопку Preview для отображения одноименной вкладки в левой части окна. По умолчанию эта кнопка нажата.

Отчет о сущностях (Entity)

На панели Preview отображается иерархический список большинства отчетов, сгенерированных системой во время симуляции. Выберите пункт <Project Name> — Entity —Time, чтобы посмотреть временную статистику о транзактах. Пример отчета показан на иллюстрации.

Система предоставляет следующие виды статистики, расположенные в строках:

  • NVA Time — временная статистика, сохраненная в атрибуте Non-Value Added Time;

  • Other Time — временная статистика, сохраненная в атрибуте Other Time;

  • Transfer Time — временная статистика, сохраненная в атрибуте Transfer Time;

  • VA Time — временная статистика, сохраненная в атрибуте Value Added Time. Как правило, этот атрибут используется для подсчета времени обслуживания;

  • Wait Time — временная статистика, сохраненная в атрибуте Wait Time. В этот атрибут по умолчанию сохраняется время, проведенное транзактом в очередях;

  • Total Time — сумма всех вышеперечисленных временных атрибутов.

Не забывайте, что часть строк может быть расположена на второй и последующих страницах отчета.

Для каждого типа статистики выводится несколько значений, расположенных в столбцах:

  • Average — среднее значение по всем транзактам данного типа сущности;

  • Half Width — половина центрального доверительного интервала для нормального распределения. Величина, для которой выводится эта статистическая оценка, с вероятностью 95% попадет в интервал Average ± Width в ходе симуляции. В некоторых случаях вычисление этой величины невозможно, и вместо численного значения выводится подсказка о причине:

    • Insufficient —распределение выборки случайных величин не является нормальным;

    • Correlated — случайные величины из выборки не являются независимыми;

  • Minimum Value — минимальное значение по всем транзактам данного типа сущности;

  • Maximum Value — максимальное значение по всем транзактам данного типа сущности.

В нашем случае среднее время обслуживания транзакта (VA Time) оказалось равным 14 минутам (это примерно равно математическому ожиданию равномерного закона распределения от 5 до 24), наименьшее время обслуживания — около 5 минут, наибольшее — около 24 минут. Время ожидания имеет диапазон от 0 до 86 минут, среднее значение — 14 минут, что приближенно равно среднему времени обслуживания. Суммарное время, проведенное транзактом в системе — от 5 до 98 минут, в среднем 28 минут.

Перейдем ко второму разделу отчета, в котором содержатся сведения о стоимости обслуживания транзактов. Подобно видам временной статистики, существует несколько видов статистики стоимости. Каждый вид этой статистики связан с определенным атрибутом транзакта. Эти атрибуты (и виды статистики) имеют имена, схожие с именами временной статистики: Value Added Cost, Non-Value Added Cost, Wait Cost, Transfer Cost, Other Cost, Total Cost. По каждому виду статистики также представлены четыре значения, расположенные в столбцах таблиц.

В нашем случае минимальная стоимость обслуживания транзакта оказалась равной 8 денежным единицам, максимальная — 40 единицам, средняя стоимость — 23 единицы. Указанные данные взяты из атрибутов Value Added Cost транзактов.

Далее в отчете о сущностях находится третий раздел Other, в нем расположены следующие элементы статистики:

  • Number In — количество транзактов, введенных в модель за время симуляции;

  • Number Out — количество транзактов, выведенных их модели за время симуляции. Разность предыдущей и этой величин равна количеству транзактов, находящихся внутри модели (например, задержанных в блоках Process) к моменту остановки симуляции.

  • WIP — This section reports the work in process for each entity type.

Вопрос № 19

Арена предоставляет мощные средства моделирования дорогостоящих и критически значимых ограничений и ресурсов, таких как персонал, оборудование и другие виды капиталовложений. Пример: парикмахеры в СМО, станки и т.д.

Ввод нового ресурса в Арене происходит в блоке Resource (см.рис.1) по кнопке Add.

Рис.1

Для одного ресурса (см.рис.2) вводим тип, наименование, количество.

Рис.2

Для группы ресурсов (2-х парикмахеров) используем тип Set (см. рис.3).

Рис.3

  • Type — тип захватываемого ресурса:

    • Resource — один вид ресурса;

    • Set — набор ресурсов;

  • Resource Name — имя ресурса;

  • Quantity — количество захватываемых ресурсов;

  • Selection Rule — правило выбора членов набора, если тип захватываемого ресурса — Set:

    • Cyclical — поочередный циклический выбор ресурсов из набора (1-2-1-2…-для 2-х парикмахеров);

    • Random — случайный выбор одного из ресурсов набора (необязательно свободного);

    • Preferred Order — выбор первого свободного ресурса;

    • Specific Member — выбор элемента, индекс которого задается атрибутом, имя которого задано в поле Save Attribute;

    • Largest Remaining Capacity — захватывается ресурс, имеющий наибольшее число свободных элементов;

    • Smallest Number Busy — захватывается ресурс, имеющий наименьшее число занятых элементов;

  • Save Attribute — имя атрибута, который содержит индекс элемента набора, который будет захвачен.