В AnyLogic v7 я хотел бы использовать событие для сброса всех моих агентов в определенное место в потоке процесса в начале каждого рабочего дня. У меня есть созданное событие и цикл, который может проходить через всех агентов, но я не уверен, какое свойство или метод мне нужно, чтобы фактически переместить агент в конкретный блок задержки. Спасибо!
Как в AnyLogic v7 изменить место агента в потоке процесса через java?
Ответы (1)
- Поместите блок
Enter
и соедините его с блоком, который отражает «определенное место». - На холсте агента введите код, например:
main.enter.take(currenBlock().remove(this));
currentBlock().remove(this)
удаляет самого агента из своего текущего блока блок-схемы и возвращает его. enter.take(...)
вводит агент в блок-схему, Enter
блок мгновенно перенаправляет агента к следующему блоку. Он работает как блок Source
, но здесь он вводит уже существующий агент, а Source
создает новый агент. главный. ссылка на агент верхнего уровня, который содержит блок-схему.
person
Gregory Monahov
schedule
07.12.2016
Вам также нужно беспокоиться о любых побочных эффектах перемещения Агентов; например, если исходное место, в котором они находились, вызвало какое-то другое поведение в модели, это, возможно, нужно каким-то образом «отменить». В чистой модели DES (моделирование процессов) это обычно не проблема.
- person Stuart Rossiter; 08.12.2016