繁体   English   中英

获取不同代理类型的等待时间 AnyLogic

[英]getting the waiting time for different agent types AnyLogic

希望你们都平安

假设我有第一张照片中显示的这个系统。 有 2 个源链接到 2 种不同的代理类型。 他们从同一个延迟服务。

我的目标:是找到第一个来源的代理和第二个来源的代理的等待时间。

我做了什么:我首先使用了“timeMeasureEnd”数据集。 我运行了模拟,然后检查了日志中的 datasets_Log。 (见图2)。

我的问题是:我不知道哪些代理来自源 1,哪些来自源 2。它只是根据 FIFO 给我代理的索引。

我需要一种方法来为我提供每个代理的等待时间并告诉我代理的类型(或它来自哪个来源)。

我的尝试: 1. 我尝试将代理 ID 保存在数据集中,但它没有显示在日志中。 2. 我创建了一个额外的队列并为其分配了一个数据集。 在数据集中输入代理 ID 以及等待时间,然后我比较代理 ID。 但这需要很长时间。

我希望我说清楚。

一句话:我需要获取代理的来源和等待时间。

谢谢你

照片 1照片 2

选项1:

只需在您的代理中创建一个名为 source 的变量(它可以是一个整数)

如果您的代理来自源代码,则在退出时您可以执行 agent.source=0; 如果它来自 source1 你可以做 agent.source=1;

在延迟之后,您可以使用以下延迟时间

agent.source==0 ? delayForAgentsComingFromSource : delayForAgentsComingFromSource1 

当然 delayForAgentsComingFromSource 是一个数字。

选项 2:

如果您的代理类型是 Meow(源)和 Meow2(源 1),那么您可以在延迟期间执行以下操作:

agent instanceof Meow ? delayForAgentsComingFromSource : delayForAgentsComingFromSource1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM