Реплицированные объекты

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

С помощью репликации объектов можно:

Создание реплицированного объекта

Вначале вам нужно добавить на диаграмму вложенный объект того типа, который вы хотите реплицировать.

Чтобы сделать вложенный объект реплицированным
  1. В графическом редакторе или в панели Проекты выделите тот вложенный объект, который вы хотите сделать реплицированным.
  2. В секции Специфические панели Свойства задайте требуемое количество экземпляров этого объекта, которое вы хотите создать, в поле Количество.

Вы можете задать количество элементов реплицированного объекта с помощью параметра агента типа integer или double. Такая параметризация может понадобиться при необходимости одновременного изменения количества элементов сразу нескольких реплицированных объектов.

Если вы зададите количество элементов реплицированного объекта с помощью параметра, то AnyLogic создаст количество элементов, равное начальному значению параметра (или его округленному значению - в случае параметра типа double). AnyLogic не будет автоматически изменять количество элементов объекта в случае изменения значения параметра во время работы модели. Вы можете сами задать соответствующие действия в обработчике события изменения значения этого параметра (свойство параметра Действие при изменении).

Доступ к элементам реплицированного объекта

Получить доступ к отдельному элементу реплицированного объекта anObject можно с помощью метода anObject.get(), которому в качестве аргумента нужно передать номер этого элемента в векторе реплицированных элементов (нумерация начинается с 0, номер последнего элемента можно получить как anObject.size() – 1).