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