2016-04-25 4 views
0

У меня есть смешанная модель в Anylogic, где некоторые из моих агентов должны добавить части (которые также являются агентами) в QUEUE для моделирования дискретных событий.Add/Inject Agent to Queue in Anylogic

Получение агентов из QUEUE осуществляется через queue1.removeFirst();, но я не могу найти эквивалент, чтобы что-то добавить. Я пробовал addAgentToContents без везения ...

ответ

1

Вы не можете добавить агента в очередь напрямую.

Либо вы помещаете исходный объект перед ним, либо устанавливаете его свойство «Прибытие defiend by» на «inject()». Также установите для своего типа «Новый агент» значение «Часть». Когда ваш агент хочет добавить часть в очередь, вы должны позвонить source.inject(), и часть будет добавлена ​​в очередь.

В качестве альтернативы, если вы уже создали агент части, вы можете использовать порт от вашего Агента и связать его с вашей очередью с помощью Коннектора. Оба объекта можно найти в библиотеке «Агенты».

надеюсь, что это поможет

+0

Спасибо, Бенджамин. Я пытался установить соединение, но мне все равно придется «отправить» часть как-то. Есть метод 'send', но он справляется только с сообщениями ... знаете ли вы, как это сделать? – jacandau

+0

Сообщение может быть любого типа, а не только строки. Если вы проверите Javadoc на метод «отправить» для порта, он скажет вам, что параметр «msg» имеет тип «Object», что означает, что это может быть что угодно. – Benjamin

+1

Закончено с помощью блока «Ввод», чтобы «отправить» агента детали обратно на диаграмму процесса – jacandau