两个代理之间的交互,而不是在状态图中



我定义了一个称为"Sellers"的代理群体和一个名为"Manufacturer"的1人代理群体。"平均销售额"是在卖家代理的统计数据中定义的。现在我想让制造商知道卖方的"平均销售额"所取的不同值。我认为对于这次沟通,我应该从卖家那里发送一条信息,其中"平均销售额"的值将发送给制造商。问题是所有的示例都在状态图中定义了一条消息。我该怎么做?你能给我写下这个动作的代码吗?在哪里添加?

谢谢

代理通信并不总是必须通过消息进行。(这正好符合面向状态图的代理行为视图,并且在AnyLogic的许多示例模型中都强调了这一点。)在许多情况下(如您的情况),直接访问另一个代理(或其群体)中的信息要简单得多。

在您的情况下,您的制造商代理可以直接访问统计值。假设您在Main中有种群manufacturerssellers,如您所说,具有统计AverageSales。从您的一个制造商代理中,您只需执行main.sellers.AverageSales()即可访问统计信息(即,通过为您创建的上级代理链接转到Main,然后进入卖家群体,并通过提供的功能访问统计值)。

查看以下帮助:

  • 使用Java进行高级建模-->AnyLogic的Java基础-->我在哪里以及如何到达…?

  • 发行说明-->以前版本中的新增内容-->AnyLogic7-->链接到上层代理

  • 基于Agent的建模-->收集Agent 的统计信息

最新更新