我定义了一个称为"Sellers"的代理群体和一个名为"Manufacturer"的1人代理群体。"平均销售额"是在卖家代理的统计数据中定义的。现在我想让制造商知道卖方的"平均销售额"所取的不同值。我认为对于这次沟通,我应该从卖家那里发送一条信息,其中"平均销售额"的值将发送给制造商。问题是所有的示例都在状态图中定义了一条消息。我该怎么做?你能给我写下这个动作的代码吗?在哪里添加?
谢谢
代理通信并不总是必须通过消息进行。(这正好符合面向状态图的代理行为视图,并且在AnyLogic的许多示例模型中都强调了这一点。)在许多情况下(如您的情况),直接访问另一个代理(或其群体)中的信息要简单得多。
在您的情况下,您的制造商代理可以直接访问统计值。假设您在Main
中有种群manufacturers
和sellers
,如您所说,具有统计AverageSales
。从您的一个制造商代理中,您只需执行main.sellers.AverageSales()
即可访问统计信息(即,通过为您创建的上级代理链接转到Main
,然后进入卖家群体,并通过提供的功能访问统计值)。
查看以下帮助:
-
使用Java进行高级建模-->AnyLogic的Java基础-->我在哪里以及如何到达…?
-
发行说明-->以前版本中的新增内容-->AnyLogic7-->链接到上层代理
-
基于Agent的建模-->收集Agent 的统计信息