Anylogic: как я могу открыть / закрыть клапан в фрейме агента из основного / корневого фрейма?

#anylogic #agent

#anylogic #агент

Вопрос:

Я создаю гибридную модель DES-ABM в AnyLogic. Агенты проходят через блоки DES в основном фрейме. Из этих блоков в основном / корневом фрейме я хочу открыть клапан в фрейме агента.

Когда я использую agent.xxx, и он находит правильный агент со всеми элементами в фрейме агента.

Я использовал

«‘agent.valve_trafficsignIN.open(); «‘ (в блоке DES на главном / корневом фрейме)

чтобы открыть клапан в фрейме агента. Он не выдает мне никаких ошибок при его запуске. Кроме того, когда я печатаю информацию с помощью traceln, она выдает мне правильные характеристики рассматриваемого клапана и указывает, что он открыт.

Однако, когда я открываю фрейм агента, клапан все еще закрыт. Кроме того, изменения, которые должны произойти в модели при открытии клапана, не происходят.

Что я должен изменить / как мне открыть клапан в фрейме агента из основного / корневого фрейма?

Комментарии:

1. вероятно, вы не смотрите на агент, для которого вы открыли клапан

Ответ №1:

Я обнаружил, что исходный блок DES генерирует агентов в DeafaultPopulation, поэтому я не смог найти правильный агент во время запуска моделирования. Я изменил исходную настройку на «добавить агентов в: пользовательскую совокупность», и теперь я могу найти нужного агента и ссылаться на него.