任何逻辑。如何计算平均队列大小?

AnyLogic. How to count the average queue size?

我建立了多路径场景下通过两个网络传输数据包的模型。每个数据包都显示为代理。逻辑如下:首先,将数据包传输到Network1(如果它有足够的资源),如果Network1 中的资源不够,则将数据包传输到Network2。如果两个网络中都没有足够的资源,则数据包将在队列中等待。数据包也有生命周期。如果生命周期结束,数据包离开队列。

如何统计队列的平均大小?我的意思是在队列中等待的数据包,但不要立即通过它。如果任何网络中有足够的资源来发送数据,我们不应该计算这个数据包,因为它会立即离开队列。然而,队列在输入时对每个数据包进行计数。另一方面,数据包可能会等待资源。如何通过仿真统计队列中平均等待包数?

队列还显示输入数据的数量更多(比生成的数据包更多)。

如有任何帮助,我将不胜感激。谢谢。

创建一个定期计算 queue.size() 的循环事件。您决定间隔。

事件然后将此值添加到新的 Statistics 对象,您可以从中检索平均值和其他统计数据(在事件中使用 myStatisticsObject.add(queue.size())