我定义了一个称为"Sellers“的代理群体和一个称为"Manufacturer”的群体为1的代理。"AverageSales“是在卖方代理的统计数据中定义的。现在我想让制造商知道卖方的"AverageSales“所取的不同值。我认为对于此通信,我应该从卖方发送一条消息,在消息中将"AverageSales“的值发送给制造商。问题是所有的示例都在状态图中定义了一条消息。我该怎么做呢?你能给我写一段这个动作的代码,在哪里添加它吗?
谢谢
发布于 2017-01-28 21:41:41
代理通信并不总是必须通过消息。(这只是符合面向状态图的代理行为视图的东西,并且在AnyLogic的许多示例模型中都强调了这一点。)在许多情况下(就像您的情况一样),直接在另一个代理(或其群体)中访问信息要简单得多。
在您的情况下,制造商工程师可以直接访问统计值。假设你在Main中有人口manufacturers和sellers,就像你说的那样,统计数据是AverageSales。在您的制造商代理中,您只需执行main.sellers.AverageSales()即可访问统计数据(即,通过为您创建的指向上层代理的链接转到Main,然后进入卖家群体并通过提供的函数访问统计值)。
查看以下内容的帮助:
使用Java语言进行
的统计信息
https://stackoverflow.com/questions/41895516
复制相似问题