Как в AnyLogic v7 изменить место агента в потоке процесса через java?

В AnyLogic v7 я хотел бы использовать событие для сброса всех моих агентов в определенное место в потоке процесса в начале каждого рабочего дня. У меня есть созданное событие и цикл, который может проходить через всех агентов, но я не уверен, какое свойство или метод мне нужно, чтобы фактически переместить агент в конкретный блок задержки. Спасибо!


person James    schedule 07.12.2016    source источник


Ответы (1)


  1. Поместите блок Enter и соедините его с блоком, который отражает «определенное место».
  2. На холсте агента введите код, например: main.enter.take(currenBlock().remove(this));

currentBlock().remove(this) удаляет самого агента из своего текущего блока блок-схемы и возвращает его. enter.take(...) вводит агент в блок-схему, Enter блок мгновенно перенаправляет агента к следующему блоку. Он работает как блок Source, но здесь он вводит уже существующий агент, а Source создает новый агент. главный. ссылка на агент верхнего уровня, который содержит блок-схему.

person Gregory Monahov    schedule 07.12.2016
comment
Вам также нужно беспокоиться о любых побочных эффектах перемещения Агентов; например, если исходное место, в котором они находились, вызвало какое-то другое поведение в модели, это, возможно, нужно каким-то образом «отменить». В чистой модели DES (моделирование процессов) это обычно не проблема. - person Stuart Rossiter; 08.12.2016