代理在 AnyLogic 中同时接收多条消息

Agent receiving several messages at the same time in AnyLogic

假设您有两种代理类型:

  1. 人口为 10 的代理类型 1
  2. 人口为 1 的代理类型 2

假设类型 2 有一个状态图,其中包含两个状态,如下所示: Agent Type 2 statechart

如果类型 1 的所有 10 个代理同时发送相同的消息,或者至少间隔小于图中所示的超时转换,则类型 2 代理处于“状态”时收到的消息会发生什么情况评估贷款人决定”?消息是否被丢弃或排队,直到再次达到状态“waitingForLender”?

首先,我建议您观看我制作的这个 youtube 视频,它解释了消息是如何发送的。 https://www.youtube.com/watch?v=Fe2U8IAhlHM

使用 send 或 deliver 的消息在连接对象中接收,消息被重定向到您在此处定义的不同状态图表。

在你的情况下,你应该自己生成一个队列,其中包含所有已收到的消息(可能使用集合)

如果您的消息是同时发送的,那么您的 10 个代理中有 9 个将从您的状态图中丢弃他们的消息,因为在收到第一个消息后不会有状态图等待消息,但不会从您的连接角度来看...所有消息都已有效接收。