Что нового в AnyLogic 7? Улучшения для агентного моделирования.

Одним из основных улучшений в AnyLogic 7 стало объединение понятий агент, заявка, ресурс, пешеход, поезд, машина. Что же это дает?

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

Что нового в AnyLogic 7? Улучшения для агентного моделирования.

На картинке выше агент-пациент имеет диаграмму состояний, которая определяет его текущий статус. Когда у него появляются симптомы заболевания, он обращается за медицинской помощью – «входит» в диаграмму процесса, которая является общей для всех агентов и расположена в корневом объекте.

В AnyLogic 7 мы добавили новый Мастер создания популяций агентов. С его помощью вы сможете быстро задать основные параметры популяции и среды, в которой эти агенты будут жить. Для вызова Мастера просто перетащите элемент «Агент» из основной палитры на холст.

Что нового в AnyLogic 7? Улучшения для агентного моделирования.

Этот же Мастер используется и для создания новых типов заявок, ресурсов, пешеходов и так далее. Для удобства работы, в каждую библиотеку добавлены соответствующие компоненты, при добавлении которых появляется описанный выше Мастер.

Что нового в AnyLogic 7? Улучшения для агентного моделирования.

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

Что нового в AnyLogic 7? Улучшения для агентного моделирования.

Наличие нескольких агентов в модели практически всегда подразумевает их взаимодействие друг с другом, например, посредством сообщений. Объединение агентов в сеть также используется очень часто. Именно поэтому мы добавили новый элемент «connections» внутрь каждого агента, который содержит связи с контактами этого агента и задает настройки взаимодействия.

Что нового в AnyLogic 7? Улучшения для агентного моделирования.

Для задания специфических связей, например, двунаправленных между агентами разных типов, вы можете использовать специальный компонент «Связь с агентами» из основной палитры.

Что нового в AnyLogic 7? Улучшения для агентного моделирования.

Для этих компонентов реализованы специальные методы, с помощью которых вы можете обращаться к списку всех агентов, связанных с данным, отправлять сообщения только внутри группы контактов и т.д. Более подробную информацию вы сможете найти в Справке.

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

Что нового в AnyLogic 7? Улучшения для агентного моделирования.

Нет необходимости вызывать сложный метод вида «get_Main()», просто используйте «main». Ссылка на агента верхнего уровня создается автоматически, когда вы добавляете объект на холст.

Также хотелось бы отметить, что AnyLogic 7 поддерживает графическое наследование. Вы можете создать базового агента, например, транспортное средство и наследовать от него других агентов: автобус, грузовик, машина.

Что нового в AnyLogic 7? Улучшения для агентного моделирования.

Элементы, унаследованные от базового агента, будут иметь другой оттенок и недоступны для редактирования. Пользователь сможет изменять только значение параметров. Использование наследования позволит избежать создания множества однотипных агентов и сделает модель более понятной и логичной.

Надеемся, что эти изменения будут полезными для вас и ваших моделей!

Похожие материалы