Компьютерная реализация имитационной модели
Компьютерная реализация имитационной модели
Как вытекает из вышесказанного, имитационный эксперимент представляет собой многократный циклический процесс, в котором исследователь при помощи компьютерной модели проходит следующие стадии: ввод исходных данных, формирование условий имитационного сценария, проведение самого расчета, который может длиться от нескольких секунд до нескольких часов, сбор и сохранение результатов имитационного моделирования, анализ вариантов сценариев. Все эти стадии реализуются с помощью большого числа разнообразных операций обработки данных, требующих контакта (взаимодействия) человека с компьютером.
Очевидно, что для эффективной работы пользователя со сложной имитационной средой требуется организация рационального диалога между человеком и компьютером, с целью снижения загрузки на человека рутинными операциями и обеспечения комфортных условий для проведения анализа результатов и принятия решения.
|
|
Для этого создается диалоговая надстройка, которая берет на себя функции обучения, навигации и помощи пользователю на всех стадиях имитационного процесса. Концептуально диалоговая имитационная модель содержит следующие компоненты:
- база моделей, база входных и выходных данных, база сценариев - позволяют вести весь архив имитационного эксперимента и создают условия для дальнейшего глубокого и всестороннего анализа результатов моделирования (хранилище данных); среда имитационного моделирования - компьютерная среда, оснащенная специальным или типовым программным обеспечением, позволяющая создавать, корректировать имитационные модели заданного класса, получать и сохранять данные из хранилища данных;
- адаптивная диалоговая оболочка - выполняет функции обучения пользователей всем процедурам, как на этапах подготовки моде-ли, так и на этапах исполнения имитационного эксперимента, а также позволяет произвести ввод/вывод данных в хранилище, произвести аудит и администрирование хранящихся данных и сценариев.
Система 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
|
|
Рис. 12.2. Сведения о программе
Это закономерно, поскольку обе программы выполнены с соблюдением стандартов MS Windows. Более того, если рисование в Visio представляется разработчику более легким делом, чем аналогичная работа в ARENA, то он может изобразить логику процесса в Visio, после чего перейти в Arena и импортировать созданную диаграмму. Панели, расположенные в верхней части окна на рисунке, достаточно традиционны. Заметим лишь, что на второй линии пиктографических изображений расположены инструменты для изображения линий, связывающих блоки на диаграммах.
Рассмотрим панель инструментов, расположенную вертикально в левой части окна на рис.12.3. Она называется Project Bar и размещается на экране путем установки галочки в соответствующем пункте меню группы View.
Рис. 12.3. Открытие панели инструментов
Это базовый набор модулей, необходимый для описания моделируемых систем, в первую очередь - систем массового обслуживания. Он состоит из двух групп. Модули первой группы (желтые пиктограммы) предназначены для описания логики взаимодействия элементов системы. В этом они подобны блокам IDEF-диаграмм.
Однако каждый блок имеет специфику, которая отражена не только в его названии, но и форме. Эти модули называются Flowchart modules. Как ясно из названия, речь идет о потоках - в первую очередь, заявок и обслуживания. Модули второй группы ориентированы на детальное описание параметров (данных) Flowchart modules. Они так и называются - Data modules.
Им соответствуют пиктограммы в виде таблиц. Это как бы напоминает исследователю, что MS Excel является простым и удобным инструментальным средством записи, хранения данных и обмена ими между программами, ориентированными на расчеты.
Программа ARENA имеет большое число Flowchart modules и Data modules.
Они объединены в кластеры и могут загружаться в Project Bar из группы File, как показано на рис.12.4, рис.12.5, рис.12.6.
Рис. 12.4. Открытие панели шаблонов
Рассмотрим более детально процесс загрузки новых кластеров в программу
Первый этап. Для загрузки нового кластера необходимо открыть меню File/ Template Panel/Attach. После этого появится диалоговое окно, в котором необходимо выбрать соответствующий кластер (набор инструментов).
Кластеры можно как подключать, так и отключать. Для выгрузки кластеров необходимо выбрать пункт File/ Template Panel/Detach.
Помимо этого, в меню File есть кнопки, позволяющие создавать новые модели, сохранять их или открывать уже существующие, отправлять документы на печать и прочие функции, вызвать которые можно нажатием на соответствующий пункт меню.
Второй этап: выбор необходимого кластера в диалоговом окне Attach Template Panel. Программа ARENA обладает широким набором кластеров для более удобной работы. Как можно увидеть на рис.12.5, в программе представлены около 15 шаблонов. Используя эти наборы, можно значительным образом увеличить скорость и удобство работы.
Изначально в программе открыт кластер Basic Process.
Рис. 12.5. Выбор шаблона
Все представленные в кластере элементы (Flowchart modules и Data modules) можно применять для создания диаграмм.
Рис. 12.6. Элементы для создания диаграмм
Третий этап. Загрузка завершена. Как видно на рис.12.6, в меню инструментов добавилась новая вкладка с названием "Advanced Process".
Это напоминает загрузку тематических панелей в Visio. Однако ARENA - не "рисовалка", а мощное средство имитационного моделирования.
Программа ARENA позволяет создавать диаграммы, отражающие функционирование того или иного процесса. Процесс создания диаграмм во многом схож с таковым в MS Visio. Здесь также используется технология Drag and Drop, однако для некоторых процесс "рисования" в MS Visio будет более удобным и предпочтительным.
На рис.12.7 изображена диаграмма основной деятельности системы массового обслуживания с ожиданием на примере системы обслуживания клиентов с применением офисной АТС.
Рис. 12.7. Диаграмма основной деятельности системы массового обслуживания с ожиданием
Однако после ряда настроек ARENA позволяет, помимо построения диаграмм, проводить также имитационное моделирование. В результате проведения данной операции получаем результаты, которые можно использовать для дальнейшего анализа и построения новых моделей. Пример подобных результатов представлен на рис.12.8. Программа дает возможность проводить имитационное моделирование, но уже с другими параметрами.
Данный пример иллюстрирует только системы массового обслуживания с очередью. Существуют и другие системы, например, системы массового обслуживания с отказом, когда клиент не желает ждать. Также выделяют различные СМО в зависимости от того, поступают заявки извне или от элементов самой системы. Все эти модели можно создать и "проиграть" с применением программы ARENA.
Рис. 12.8. Результаты имитационного моделирования