AnyLogic
Развернуть
Размер шрифта

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

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

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

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

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

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

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

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

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

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

Как мы можем улучшить эту статью?