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

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

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

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

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

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

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

Участники цепочки поставок (компании-производители, оптовые торговцы, розничные продавцы) могут быть представлены как агенты с индивидуальными целями и правилами. Агенты могут также быть проектами или продуктами в пределах одной компании, при этом обладать собственной динамикой и внутренними состояниями, конкурировать за ресурсы компании.

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

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

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