AnyLogic - инструмент имитационного моделирования

Автор работы: Пользователь скрыл имя, 22 Июня 2014 в 14:01, доклад

Описание работы

AnyLogic - единственный инструмент имитационного моделирования (ИМ), который поддерживает все подходы к созданию имитационных моделей: процессно-ориентированный (дискретно-событийный), системно динамический и агентный, а также любую их комбинацию. Уникальность, гибкость и мощность языка моделирования, предоставляемого AnyLogic, позволяет учесть любой аспект моделируемой системы с любым уровнем детализации. Графический интерфейс AnyLogic, инструменты и библиотеки позволяют быстро создавать модели для широко спектра задач от моделирования производства, логистики, бизнес-процессов до стратегических моделей развития компании и рынков.

Файлы: 1 файл

Обзор возможностей-AnyLogic.doc

— 174.00 Кб (Скачать файл)

Обзор возможностей

AnyLogic - единственный инструмент имитационного  моделирования (ИМ), который поддерживает  все подходы к созданию имитационных  моделей: процессно-ориентированный (дискретно-событийный), системно динамический и агентный, а также любую их комбинацию. Уникальность, гибкость и мощность языка моделирования, предоставляемого AnyLogic, позволяет учесть любой аспект моделируемой системы с любым уровнем детализации. Графический интерфейс AnyLogic, инструменты и библиотеки позволяют быстро создавать модели для широко спектра задач от моделирования производства, логистики, бизнес-процессов до стратегических моделей развития компании и рынков.

Агентное моделирование

AnyLogic предоставляет графический язык, который значительно упрощает создание агентных моделей:

  • Диаграммы состояний (statecharts) для задания поведения агентов
  • Диаграмма действий для описания сложных алгоритмов
  • Элемент «Среда» используется для описания «мира» в котором агенты «живут» и сбора различной статистики
  • Элемент «Событие» используется для описания случайных или периодически происходящих событий

Данные инструменты позволяют описать практически все поведенческие особенности агентов. Кроме того, Вы всегда можете использовать Java если нужно смоделировать какое-то специальное поведение или логику. Агентные модели могут комбинироваться с дискретно-событийными и системно-динамическими. Ознакомьтесь с дополнительной информацией о многоподходном моделировании.

Системно-динамические моделирование

AnyLogic не только полностью поддерживает  потоковые диаграммы, как и любой  инструмент для системной динамики, но и предоставляет значительно больше возможностей:

  • AnyLogic позволяет создавать интерактивную анимацию моделей, которая будет значительно более понятна вашим клиентам, чем потоковые диаграммы, понятные только разработчикам модели
  • Вы можете комбинировать вашу модель с другими. Например, для моделирования рынка можно использовать системную динамику, а производство и цепочку поставок моделировать используя процессное моделирование и агентное так как эти методы лучше подходят для данных задач
  • Вы можете импортировать ваши модели из VenSim®

Кроме того, AnyLogic создан на основе открытой, инновационной Java платформы Eclipse, которая стала стандартом де-факто для разработки бизнес приложений. Благодаря Eclipse AnyLogic работает на всех платформах – Windows, MacOS, Linux, а среда разработки основана на современных технологиях и проста в использовании.

Дискретно-событийное моделирование

AnyLogic включает специальную библиотеку (Enterprise Library) для моделирования дискретно-событийных (процессных ) систем. Библиотека позволяет создавать любые дискретно-событийные модели из блоков. Для каждого блока библиотеки задана анимация по умолчанию. Кроме того пользователь может создать свою анимацию любой сложности, которая будет отображать моделируемые процессы и позволять управлять параметрами модели в процессе ее выполнения.

 

Агентное моделирование

AnyLogic поддерживает метод агентного  моделирования (так же как системную динамику и дискретно-событийное моделирование) и позволяет Вам эффективно комбинировать этот метод с другими известными подходами.

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

Агентное моделирование – новый взгляд на Вашу организацию

Традиционные подходы имитационного моделирования рассматривают служащих компании, проекты, продукты, клиентов, партнеров как среднее арифметическое или как пассивные заявки/ресурсы в процессе. Например, модели системной динамики полны предположений, таких как "у нас есть 120 служащих, они могут проектировать приблизительно 20 новых продуктов в год”, или “у нас есть 1200 грузовиков, они могут перевезти определенное количество груза в месяц, и 5 % из них списываются каждый год и заменяются новыми”. В процессном моделировании (также известном как дискретно-событийное моделирование) организация рассматривается как различные процессы, такие как: “клиент звонит в телефонный информационный центр, звонок обрабатывается оператором А, который тратит, в среднем, 2 минуты на вызов, после чего 20 % запросов должны быть переадресованы … ”. Эти методы превосходят “аналитическое моделирование” в возможности рассматривать динамику предприятия, нелинейности, но они игнорируют тот факт, что все эти люди, проекты, продукты, оборудование и активы являются различными – они имеют собственную историю, намерения, желания, свойства, а также сложные отношения. Например, люди могут быть с различными карьерами и доходами, они могут иметь разную производительность труда; проекты взаимодействуют и конкурируют, могут зависеть один от другого; у самолетов есть индивидуальные графики технического обслуживания, при несоблюдении которых машина может выйти их строя; потребители могут консультироваться с членами своей семьи, прежде чем принять решение о покупке. Агентное моделирование не обладает такими ограничениями, поскольку оно предполагает сосредоточение непосредственно на отдельных объектах, их поведении и коммуникации. Агентная модель – это ряд взаимодействующих активных объектов, которые отражают объекты и отношения в реальном мире. Таким образом, агентное моделирование делает шаг вперед в понимании и управлении совокупностью сложных социальных и бизнес процессов.

Агентное моделирование заставит Ваши данные работать на Вас

На сегодняшний день коммерческие компании и государственные организации накопили огромное количество данных в их CRM, ERP и HR базах данных, но эти данные все ещё очень слабо используются. Агентное моделирование – естественный способ использовать эти данные и заставить их работать. Поскольку агентные модели являются объектно-ориентированными, они могут быть населены агентами, свойства которых реальны и считываются непосредственно с CRM системы (в случае, если мы моделируем рынок), или из ERP/HR системы (если мы моделируем динамику трудовых ресурсов в организации). Это дает Вам (a) легкий, (b) очень точный и (c) всегда актуальный способ смоделировать, предсказать, сравнить сценарии и оптимизировать стратегию предприятия.

Область применения агентного моделирования

Хороший пример использования агентного моделирования – потребительский рынок. В очень динамичной, конкурентной и сложной среде рынка выбор покупателя зачастую зависит от индивидуальных особенностей, врожденной активности потребителя, сети контактов, а также внешних влияний, которые лучше всего описываются с помощью агентного моделирования. 
Другой стандартный пример – это эпидемиология. Здесь агенты это люди, которые могут быть иммунными, носителями инфекции, переболевшими или восприимчивыми к болезни. Агентное моделирование поможет спроецировать в мир моделей социальные сети, разнородные контакты между людьми и в итоге получить объективные прогнозы распространения инфекции.

Однако, не следует думать, что агентное моделирование применимо только для решения задач коммуникативного характера. Задачи, связанные с логистикой, производством, цепями поставок или бизнес-процессами, также решаются с помощью агентного моделирования. Например, поведение сложной машины может быть эффективно смоделировано отдельным объектом (агентом) с картами состояний, описывающими ее систему таймеров, внутренних состояний, разного рода реакции в различных ситуациях и т.д. Подобная модель может быть необходима для воссоздания технологических процессов на производстве. 
Участники цепочки поставок (компании-производители, оптовые торговцы, розничные продавцы) могут быть представлены как агенты со индивидуальными целями и правилами. Агенты могут также быть проектами или продуктами в пределах одной компании, при этом обладать собственной динамикой и внутренними состояниями, конкурировать за ресурсы компании.

Поддержка агентного моделирования в AnyLogic

Агентные модели, применяемые на практике, очень разнообразны, поэтому почти невозможно создать универсальную библиотеку под любые нужды, а тем более упростить разработку модели до пары кликов мыши. Существуют, однако, некоторые "шаблоны" моделирования агентных систем, которые упрощают создание модели и включены в AnyLogic:

  • Стандартная архитектура
  • Агентная синхронизация ("шаги")
  • Состояние (непрерывное или дискретное), подвижность и анимация
  • Агентные свзязи (сети, например социальные) и коммуникация
  • Динамическое создание и уничтожение агентов

Создание стандартной агентной модели в AnyLogic заключается в объявление двух активных классов. К примеру, класс «Main» для описания высокоуровневого объекта, где содержаться все агенты, и класс «Person» для описания агента нижнего уровня. Класс Person, в большинстве случаев, был бы объявлен как Agent – специальный класс подкласса ActiveObject, который расширил бы класс Person под цели агентого моделирования. Число агентов было бы включено в класс Main как дубликаты объекта "человек" класса Person. Одна или более конструкций типа Environment могут быть определены на уровне класса Main для установления свойств агентов. Впрочем, Вы можете легко определить другие иерархии в Вашей агентной модели, например у Вас могут быть компании-агенты, которые содержат служащих-агентов и общаются с потребителями-агентами.

Процессное (ДС) моделирование

Мир вокруг нас является скорее "непрерывным", чем "дискретным": большинство наблюдаемых нами процессов - это непрерывные изменения во времени. Однако, для анализа этих процессов иногда имеет смысл абстрагироваться от их непрерывной природы и рассматривать только некоторые "важные моменты" ("события") в жизни моделируемой системы. Подход к построению имитационных моделей, предлагающий апроксимировать реальные процессы такими событиями и называется "дискретно-событийным" моделированием (discrete event modeling).

Вот некоторые примеры событий: покупатель вошел в магазин, на складе закончили разгружать фуру, конвейер остановился, в производство запущен новый продукт, уровень запасов достиг некоего порога и т.д. В дискретно-событийном моделировании движение поезда из точки А в точку Б будет представлено двумя событиями: отправление и прибытие, а само движение станет "задержкой" (интервалом времени) между ними. (Это, однако, не означает, что вы не сможете показать поезд движущимся - как раз наоборот, AnyLogic позволяет создавать визуально непрерывные анимации для логически дискретных процессов).

Термин "дискретно-событийное моделирование", однако, обычно используется в более узком смысле для обозначения "процессного" моделирования, где динамика системы представляется как последовательность операций (прибытие, задержка, захват ресурса, разделение, ...) над некими сущностями (entities, по-русски - транзакты, заявки), представляющими клиентов, документы, звонки, пакеты данных, транспортные средства и т.п. Эти сущности пассивны, они сами не контролируют свою динамику, но могут обладать определёнными атрибутами, влияющими на процесс их обработки (например, тип звонка, сложность работы) или накапливающими статистику (общее время ожидания, стоимость). Процессное моделирование - это средне-низкий уровень абстракции: здесь каждый объект моделируется индивидуально, как отдельная сущность, но множество деталей "физического уровня" (геометрия, ускорения/замедления) обычно опускается. Такой подход широко используется в бизнес-процессах, производстве, логистике, здравоохранении.

Прежде, чем использовать этот подход мы советум Вам убедиться, что моделируемая система [с точки зрения целей проекта!] действительно естественно описывается как (возможно, иерархическая) последовательность операций. Вы всегда должны иметь в виду альтернативные подходы; например, если легче описать поведение каждого объекта индивидуально, чем пытаться загнать всех в общий процесс, решением может быть агентное моделирование. Аналогично, если Вас интересуют только общие количественные оценки процессов, а не динамика отдельных объектов, воможно, Вам удасться описать сисиему в терминах системной динамики. AnyLogic поддерживает все три подхода, так что Вы можете свободно экспериментировать с уровнем абстракции в очень широких пределах, оставаясь в рамках одного инструмента.

Библиотека AnyLogic Enterprise Library

Основное средство процессного моделирования в AnyLogic - это библиотека Enterprise Library. В эту библиотеку вошли объекты для определения "потока" процесса (process workflow): Source (источник), Sink (выход из системы), Delay (задержка), Queue (очередь), Service (обслуживание), SelectOutput (выбор пути), и т.д., а также задействованных в процессе ресурсов. Все объекты гибкие и настраиваемые: пераметры могут изменяться динамически, действия могут зависеть от атрибутов заявок, и т.д. Объекты имеют "точки расширения" типа onEnter/onExit - это места, где можно определить действия, производимые над заявками при их прохождении через объект. Базовый класс заявок Entity (на самом деле это Java-класс), в свою очередь, может быть расширен путём добавления полей и методов. Компоненты модели, построенные из блоков библиотеки Enterprise Library могут естественным образом взаимодействовать с компонентами системной динамики, с агентами или с низкоуровневыми примитивами AnyLogic - картами состояний и событиями.

 

 

 

 

 

 

Если моделируемая система сложна, имеет смысл разбить её модель на компоненты (подпроцессы) и поместить каждый из них в отдельный активный объект (Active Object). Вы можете определить входы и выходы из подпроцесса, поместить их на внешний интерфейс активного объекта и скрыть его реализацию. На верхнем уровне Вы будете оперировать такими объектами как блоками, соединяя их входы и выходы. Вы можете создать несколько экземпляров активного объекта с разными параметрами, в том числе и в других проектах.

Библиотека Enterprise Library тесно интегрирована с анимационными средствами AnyLogic и позволяет создавать анимации процессов любой степени сложности, в том числе иерархические и с несколькими перспективами. Например, Вы можете определить глобальный взгляд на процесс производства с несколькими агрегированными индикаторами, а также детальные анимации конкретных операций - и переключаться между ними.

Информация о работе AnyLogic - инструмент имитационного моделирования