Аналитические приложения
Компьютерная реализация имитационной модели
Как вытекает из вышесказанного, имитационный эксперимент представляет собой многократный циклический процесс, в котором исследователь при помощи компьютерной модели проходит следующие стадии: ввод исходных данных, формирование условий имитационного сценария, проведение самого расчета, который может длиться от нескольких секунд до нескольких часов, сбор и сохранение результатов имитационного моделирования, анализ вариантов сценариев. Все эти стадии реализуются с помощью большого числа разнообразных операций обработки данных, требующих контакта (взаимодействия) человека с компьютером.
Очевидно, что для эффективной работы пользователя со сложной имитационной средой требуется организация рационального диалога между человеком и компьютером, с целью снижения загрузки на человека рутинными операциями и обеспечения комфортных условий для проведения анализа результатов и принятия решения.
Для этого создается диалоговая надстройка, которая берет на себя функции обучения, навигации и помощи пользователю на всех стадиях имитационного процесса. Концептуально диалоговая имитационная модель содержит следующие компоненты:
- база моделей, база входных и выходных данных, база сценариев - позволяют вести весь архив имитационного эксперимента и создают условия для дальнейшего глубокого и всестороннего анализа результатов моделирования (хранилище данных); среда имитационного моделирования - компьютерная среда, оснащенная специальным или типовым программным обеспечением, позволяющая создавать, корректировать имитационные модели заданного класса, получать и сохранять данные из хранилища данных;
- адаптивная диалоговая оболочка - выполняет функции обучения пользователей всем процедурам, как на этапах подготовки моде-ли, так и на этапах исполнения имитационного эксперимента, а также позволяет произвести ввод/вывод данных в хранилище, произвести аудит и администрирование хранящихся данных и сценариев.
Система Arena
Одним из наиболее эффективных инструментов имитационного моделирования является система Arena фирмы System Modeling Corporation.
Arena позволяет строить имитационные модели, проигрывать их и анализировать результаты для самых разных сфер деятельности - производственных технологических операций, складского учета, банковской деятельности, обслуживания клиентов и т.д.
Имитационная модель Arena включает следующие основные элементы: источники и стоки (Create и Dispose), процессы (Process) и очереди (Queue).
Источники - элементы, от которых в модель поступает информация или объекты. Скорость поступления данных или объектов от источника обычно задается статистической функцией.
Сток представляет собой устройство для приема информации или объектов.
Перед стоками могут накапливаться объекты, которые организуются двумя способами: очередь и стек.
Очередь - это место хранения данных, где они ожидают обработки. Время обработки объектов (производительность) в разных процессах может быть разным. В результате перед некоторыми процессами могут накапливаться объекты, ожидающие своей очереди. Часто целью имитационного моделирования является минимизация количества объектов в очередях. Тип очереди в имитационной модели может быть конкретизирован. Очередь работает по принципу [прим. корр.: здесь название принципа идет сразу за называемым словом, двоеточие не нужно] "первым пришел - первым обслужился" (FIFO: first-in - first-out).
Стек - пришедшие последними к стоку объекты первыми отправляются на дальнейшую обработку (LIFO: last-in - first-out). Альтернативой стеку может быть последовательная обработка в очереди.
Могут быть заданы и более сложные алгоритмы обработки очереди.
Процессы - это аналог работ в функциональной модели. В имитационной модели может быть много процессов, и для каждого задана своя производительность, временные и технологические характеристики.
Другим средством построения компьютерных имитационных моделей на рынке программных продуктов является система MATLAB в сочетании с пакетом визуального моделирования Simulink компании MathWorks [65].
Возможности пакета Simulink:
- визуальное представление логики функционирования компонент сложной системы и их взаимодействия;
- работа во внешнем режиме при использовании раздела PCTagert (универсальных PCI-контроллеров);
- управление и работа с внешними системами в режиме реального времени.
На рынке отечественных разработчиков существует универсальный пакет имитационного моделирования AnyLogic 4.1 российской компании XJ Technologies [66]. В AnyLogic представление модели является визуальным и иерархическим. Простой графический язык моделирования (основанный на UML-RT) оперирует понятиями объектов и связей между ними - дискретными (отправка сообщений произвольной структуры) и непрерывными (отслеживание показателей). Для описания сложного поведения пользователь может применять графические диаграммы переходов и состояний. Такие диаграммы позволяют визуально проектировать сложные бизнес-процессы и многошаговые действия с альтернативами.
Описание поведения объектов производится с помощью фрагментов кода на языке Java: пользователю необходимо определить действия в специальных полях свойств элементов объектов, а весь рутинный код генерируется пакетом автоматически. При разработке моделей доступны все возможности языка Java. Это касается и организации доступа к базам данных. Когда базовых возможностей AnyLogic недостаточно (в некоторых случаях нужны многомерные массивы и календари), разработчик модели может использовать язык Java для создания дополнительных классов.
Как и все выше рассмотренные пакеты, AnyLogic существенно снижает трудоемкость разработки модели по сравнению с универсальными системами разработки программного обеспечения, поскольку предоставляет в готовом виде:
- визуальный язык проектирования модели;
- ядро моделирования - планировщик событий, механизм обмена и распределения сообщений в соответствии с графическими свя-зями;
- средства представления результатов моделирования - графики, сбор статистики, анимация;
- средства инспекции модели - отображение всех имеющихся в системе объектов, информации о состояниях объектов, параметров и переменных;
- численные методы решения систем дифференциальных уравнений;
- классы распределений случайных величин;
- библиотеки блоков, аналогичных MATLAB/ Simulink.
Перечисленные возможности в комплексе позволяют разработчику не тратить время на базовые функции, а сосредоточиться на логике имитационной модели.
Во всех случаях создавать имитационные модели без предварительного анализа бизнес-процессов не всегда представляется возможным. Действительно, не поняв сути бизнес-процессов предприятия, бессмысленно пытаться оптимизировать конкретные технологические процессы. Поэтому функциональные и имитационные модели не заменяют, а дополняют друг друга, при этом они могут быть тесно взаимосвязаны. Имитационная модель дает больше информации для анализа системы. В свою очередь, результаты такого анализа могут стать причиной модификации модели процессов. Наиболее целесообразно сначала создать функциональную модель, а затем на ее основе построить модель имитационную. Для поддержки такой технологии инструментальное средство функционального моделирования 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 и которую можно использовать в качестве шаблона для создания новых моделей.
Рассмотрим основные элементы интерфейса программы ARENA [67].
На рис.12.2. приведен вид экрана с выведенными на него сведениями о программе. Нетрудно заметить, что внешне он в наибольшей степени похож на экран программы MS Visio
Это закономерно, поскольку обе программы выполнены с соблюдением стандартов MS Windows. Более того, если рисование в Visio представляется разработчику более легким делом, чем аналогичная работа в ARENA, то он может изобразить логику процесса в Visio, после чего перейти в Arena и импортировать созданную диаграмму. Панели, расположенные в верхней части окна на рисунке, достаточно традиционны. Заметим лишь, что на второй линии пиктографических изображений расположены инструменты для изображения линий, связывающих блоки на диаграммах.
Рассмотрим панель инструментов, расположенную вертикально в левой части окна на рис.12.3. Она называется Project Bar и размещается на экране путем установки галочки в соответствующем пункте меню группы View.
Это базовый набор модулей, необходимый для описания моделируемых систем, в первую очередь - систем массового обслуживания. Он состоит из двух групп. Модули первой группы (желтые пиктограммы) предназначены для описания логики взаимодействия элементов системы. В этом они подобны блокам IDEF-диаграмм.
Однако каждый блок имеет специфику, которая отражена не только в его названии, но и форме. Эти модули называются Flowchart modules. Как ясно из названия, речь идет о потоках - в первую очередь, заявок и обслуживания. Модули второй группы ориентированы на детальное описание параметров (данных) Flowchart modules. Они так и называются - Data modules.
Им соответствуют пиктограммы в виде таблиц. Это как бы напоминает исследователю, что MS Excel является простым и удобным инструментальным средством записи, хранения данных и обмена ими между программами, ориентированными на расчеты.
Программа ARENA имеет большое число Flowchart modules и Data modules.
Они объединены в кластеры и могут загружаться в Project Bar из группы File, как показано на рис.12.4, рис.12.5, рис.12.6.
Рассмотрим более детально процесс загрузки новых кластеров в программу
Первый этап. Для загрузки нового кластера необходимо открыть меню File/ Template Panel/Attach. После этого появится диалоговое окно, в котором необходимо выбрать соответствующий кластер (набор инструментов).
Кластеры можно как подключать, так и отключать. Для выгрузки кластеров необходимо выбрать пункт File/ Template Panel/Detach.
Помимо этого, в меню File есть кнопки, позволяющие создавать новые модели, сохранять их или открывать уже существующие, отправлять документы на печать и прочие функции, вызвать которые можно нажатием на соответствующий пункт меню.
Второй этап: выбор необходимого кластера в диалоговом окне Attach Template Panel. Программа ARENA обладает широким набором кластеров для более удобной работы. Как можно увидеть на рис.12.5, в программе представлены около 15 шаблонов. Используя эти наборы, можно значительным образом увеличить скорость и удобство работы.
Изначально в программе открыт кластер Basic Process.
Все представленные в кластере элементы (Flowchart modules и Data modules) можно применять для создания диаграмм.