oldi

Имитационное моделирование с Arena

Сергей Маклаков

Cовременным предприятиям часто приходится решать задачу оптимизации технологических процессов. Широко известный метод функционального моделирования (инструментальное средство функционального моделирования — BPwin — было рассмотрено в статьях «Инструментальные средства разработки крупных информационных систем. Часть 1», КомпьютерПресс № 7’98 и «Новые возможности CA BPwin 4.0», КомпьютерПресс № 1’2001) позволяет проанализировать существующие бизнес-процессы, выявить их недостатки и построить идеальную модель деятельности предприятия.

Построение функциональной модели осуществляется от общего к частному: сначала описывается общая схема деятельности предприятия, затем шаг за шагом все более подробно описываются конкретные технологические процессы. Такой подход весьма эффективен, однако на уровне наибольшей детализации, когда рассматриваются конкретные технологические операции, для оптимизации этих операций функциональной модели может оказаться недостаточно. В этом случае целесообразно использовать имитационное моделирование.

Имитационное моделирование — это метод, позволяющий строить модели с учетом времени выполнения функций. Полученную модель можно «проиграть» во времени и получить статистику происходящих процессов так, как это было бы в реальности. В имитационной модели изменения процессов и данных ассоциируются с событиями. Проигрывание модели заключается в последовательном переходе от одного события к другому. Обычно имитационные модели строятся для поиска оптимального решения в условиях ограниченных ресурсов, когда другие математические модели оказываются слишком сложными.

Одним из наиболее эффективных инструментов имитационного моделирования является система Arena фирмы System Modeling Corporation (http://www.sm.com/). Arena позволяет строить имитационные модели, проигрывать их и анализировать результаты такого проигрывания. Поскольку имитационное моделирование является универсальным средством оптимизации процессов, модели с помощью Arena могут быть построены для самых разных сфер деятельности — производственных технологических операций, складского учета, банковской деятельности, обслуживания клиентов в ресторане и т.д. и т.п. В настоящей статье будет рассмотрена версия Arena BE 3.6.1.

Имитационная модель Arena включает следующие основные элементы: источники и стоки (Create и Dispose), процессы (Process) и очереди (Queue). Источники — это элементы, от которых в модель поступает информация или объекты. Скорость поступления данных или объектов от источника обычно задается статистической функцией. Сток представляет собой устройство для приема информации или объектов. Понятие очереди близко к понятию хранилища данных — это место, где объекты ожидают обработки. Время обработки объектов (производительность) в разных процессах может быть разным. В результате перед некоторыми процессами могут накапливаться объекты, ожидающие своей очереди. Часто целью имитационного моделирования является минимизация количества объектов в очередях. Тип очереди в имитационной модели может быть конкретизирован. Очередь может быть похожа на стек — пришедшие последними в очередь объекты первыми отправляются на дальнейшую обработку (LIFO: last-in — first-out). Альтернативой стеку может быть последовательная обработка, когда первыми на дальнейшую обработку отправляются объекты, пришедшие первыми (FIFO: first-in — first-out). Могут быть заданы и более сложные алгоритмы обработки очереди. Процессы — это аналог работ в функциональной модели. В имитационной модели может быть задана производительность процессов.

Простейшая имитационная модель, созданная в Arena, показана на рис. 1.

Для построения моделей Arena имеет набор средств, которые включают палитру инструментов, набор гидов и др. Для создания модели сначала нужно щелкнуть по кнопке New на панели инструментов — слева появляется палитра инструментов (рис. 2), содержащая два типа модулей.

Модули типа Flowchart (в том числе Create, Dispose и Process) служат для отображения потоков объектов и могут быть перенесены на рабочее пространство модели drag-and-drop. Модули типа Data (например, Queue) не могут быть размещены в рабочее пространство модели и служат для настройки параметров модели. Окно редактирования параметров появляется в нижней части модели, когда фокус установлен на модуле типа Data.

Перенесем из панели инструментов в рабочее пространство модели по одному модулю Create, Dispose и Process. Связи между модулями устанавливаются автоматически (хотя могут быть переопределены вручную). Модуль Create является источником сущностей в системе. Так, если описывается изготовление изделий, то модуль Create может описывать поступление заготовок на конвейер. Модуль Process отвечает за обработку сущностей. Например, он может имитировать станок, обрабатывающий заготовки. Модуль Dispose является стоком сущностей из системы и может моделировать снятие готовых изделий с конвейера.

Чтобы задать свойства модулю типа Flowchart, необходимо дважды щелкнуть по нему и в появившемся диалоге задать значения параметров. Для задания свойств модулю Resourse (типа Data) необходимо щелкнуть по нему один раз на панели инструментов и в нижнем окне внести значения параметров (например, Busy/Hour = 15, Idle/Hour = 15 и Per Use = 2.5). В целях контроля проигрывания модели необходимо внести в модель модуль Simulate и задать параметры этого модуля (например, Run Length = 40, Hours/Day = 8).

Для проигрывания модели необходимо перейти в меню Run/Go. По окончании проигрывания модели автоматически генерируются отчеты в формате Crystal Reports (рис. 3).

Модель в Arena может быть гораздо более сложной, чем представленная на рис. 1. Она может включать сотни модулей различных типов. Модули, обрабатывающие сущности (подобные модулю Server из примера), могут иметь различные состояния, например «ожидание» или «работа». Каждому состоянию можно поставить в соответствие определенное изображение и таким образом анимировать имитационную модель. В поставку Arena входит набор примеров, один из которых (файл Mortgage Extention 1.doe) приведен на рис. 4.

Модель показывает сиcтему обработки документа (закладной). Сначала документ регистрирует «секретарь» (иконка слева в нижней части рисунка), затем просматривает «клерк» (иконка справа). Затем «клерк» либо принимает документ, либо возвращает его. Очередь документов представлена в виде набора иконок сверху от процесса Review Application и в виде графика в правой нижней части рисунка. Иконки, отображающие «секретаря» и «клерка», могут быть разными — в зависимости от состояния (занят/ожидает); следовательно, модель может быть анимирована.

Создавать имитационные модели без предварительного анализа бизнес-процессов не всегда представляется возможным. Действительно, не поняв сути бизнес-процессов предприятия, бессмысленно пытаться оптимизировать конкретные технологические процессы. Поэтому функциональные и имитационные модели не заменяют, а дополняют друг друга, при этом они могут быть тесно взаимосвязаны. Имитационная модель дает больше информации для анализа системы. В свою очередь, результаты такого анализа могут стать причиной модификации модели процессов. Наиболее целесообразно сначала создать функциональную модель, а затем на ее основе построить модель имитационную. Для поддержки такой технологии инструментальное средство функционального моделирования BPwin 4.0 имеет возможность преобразования диаграмм IDEF3 в имитационную модель Arena (версии 3.6 и выше). Для преобразования диаграммы IDEF3 в модель Arena необходимо, чтобы BPwin 4.0 и Arena были запущены одновременно. В BPwin 4.0 следует открыть диаграмму IDEF3, а затем выбрать меню File/Export/Arena. Далее экспорт производится автоматически.

Поскольку имитационная модель имеет гораздо больше параметров, чем диаграмма IDEF3, в BPwin 4.0 имеется возможность задать эти параметры с помощью свойств, определяемых пользователем (UDP, User Defined Properties). В поставку BPwin 4.0 входят примеры моделей с предварительно внесенными UDP для экспорта в Arena (Program Files/Computer Associates/BPwin 4.0/Samples/Arena/) и модель ArenaBEUDPs.bp1, в которой определены все необходимые для экспорта UDP и которую можно использовать в качестве шаблона для создания новых моделей.

На рис. 5 и 6 приведены пример функциональной модели и результат экспорта этой модели в Arena.

Совместное использование CASE-инструмента построения функциональной модели BPwin и системы имитационного моделирования Arena позволяет наиболее эффективно оптимизировать технологические процессы практически в любой сфере деятельности.

КомпьютерПресс 7'2001