1.4.6. Имитационное моделирование
1.4.6. Имитационное моделирование
Перед современными предприятиями часто встает задача оптимизации технологических процессов. Метод функционального моделирования позволяет обследовать существующие бизнес-процессы, выявить их недостатки и построить идеальную модель деятельности предприятия. Построение функциональной модели осуществляется от общего к частному - сначала описывается общая схема деятельности предприятия, затем шаг за шагом все более и более подробно описываются конкретные технологические процессы. Такой подход весьма эффективен, однако на уровне наибольшей детализации, когда рассматриваются конкретные технологические операции, для оптимизации этих операций функциональной модели может оказаться недостаточно. В этом случае целесообразно использовать имитационное моделирование.
Имитационное моделирование - это метод, позволяющий строить модели, учитывающие время выполнения функций. Полученную модель можно "проиграть" во времени и получить статистику происходящих процессов так, как это было бы в реальности. В имитационной модели изменения процессов и данных ассоциируются с событиями. "Проигрывание" модели заключается в последовательном переходе от одного события к другому.
Одним из наиболее эффективных инструментов имитационного моделирования является система 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.4.40.
Рис. 1.4.40. Простейшая имитационная модель
Для построения моделей Arena имеет набор средств, которые включают палитру инструментов, набор гидов и др. Для создания модели сначала нужно щелкнуть по кнопке New на панели инструментов. Слева появляется палитра инструментов (рис. 1.4.41), которая содержит два типа модулей.
Рис. 1.4.41. Палитра инструментов Arena
Модули типа Flowchart (в том числе Create, Dispose и Process) служат для отображения потоков объектов и могут быть перенесены на рабочее пространство модели drag&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 (рис. 1.4.42).
Рис. 1.4.42. Отчет по результатам проигрывания модели
Модель в Arena может быть гораздо более сложной, чем представленная на рис. 1.4.40. Она может включать сотни модулей различных типов. Модули, обрабатывающие сущности (подобные модулю Server из примера), могут иметь различные состояния, например "ожидание" или "работа". Каждому состоянию можно поставить в соответствие определенное изображение и тем самым анимировать имитационную модель. В поставку Arena входит набор примеров. Один из примеров (файл Mortgage Extention l.doe) приведен на рис. 1.4.43.
Рис. 1.4.43. Модель обработки документа
Модель показывает систему обработки документа (закладной). Сначала документ регистрирует секретарша (иконка слева в нижней части рисунка, затем просматривает клерк (иконка справа). Затем клерк либо принимает документ, либо возвращает. Очередь документов показывается в виде набора иконок сверху от процесса 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). В поставку BPwin 4.0 входят примеры моделей с предварительно внесенными UDP для экспорта в Arena (каталог Program Files/Computer Associates /BPwin 4.0/Samples/Arena/) и модель ArenaBEUDPs.bpl, в которой определены все необходимые для экспорта UDP и которую можно использовать в качестве шаблона для создания новых моделей. В том же каталоге находится файл BPwin IDEF3 to Arena BE mappings.doc, содержащий описание UDP, необходимых для построения имитационной модели.
Рис. 1.4.44. Диаграмма IDEF3 - пример для иллюстрации экспорта в Arena
На рис 1.4.44 показан пример функциональной модели, а на рис. 1.4.45 -результат экспорта этой модели в Arena.
Рис. 1.4.45. Имитационная модель Arena -результат импорта из BPwin
К сожалению, поставляемые с BPwin примеры после экспорта в Arena не могут быть сразу же "проиграны". В свойствах модели содержатся ошибки. Arena не допускает использования символа & в названии работы и в качестве разделителя дробной части для действительных чисел используется не запятая, а точка. Ресурсы объектов модели могут быть исправлены с помощью диалога Resource (рис. 1.4.46), после чего успешно "проиграны".
Рис. 1.4.46. Диалог Resource для редактирования ресурсов объектов имитационной модели Arena
Совместное использование CASE-инструмента построения функциональной модели BPwin и системы имитационного моделирования Arena позволяет наиболее эффективно оптимизировать технологические процессы практически в любой сфере деятельности.