当前位置: 首页 > 知识库问答 >
问题:

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

洪胤
2023-03-14

我希望你们都平安无事,

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

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

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

我的问题是:我无法知道哪些代理来自源1,哪些来自源2。它只是给我基于FIFO的代理的索引。

我需要一种方式,给我每个代理的等待时间,以及告诉我代理的类型(或来自哪个来源)。

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

我真希望我说清楚了。

共有1个答案

龙枫
2023-03-14

备选方案1:

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

如果代理来自source,则退出时可以执行agent.source=0;如果它来自source1,则可以执行agent.source=1;

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

agent.source==0 ? delayForAgentsComingFromSource : delayForAgentsComingFromSource1 

当然,delayForAgentsComingFromSource是一个数字。

备选方案2:

如果您的代理类型为Meow(源)和Meow2(source1),则可以在延迟中执行以下操作:

agent instanceof Meow ? delayForAgentsComingFromSource : delayForAgentsComingFromSource1
 类似资料:
  • 希望你们都平安无事 假设我有以下过程:2个不同的源,队列,延迟,和接收器。我有一个叫“病人”的探员。 我的目标:有不同的服务率(延迟时间)的病人谁是来自第一来源(使用百分比)。换句话说,我想有一个例子;10%的患者(来自源1)延迟时间等于5分钟,90%的患者延迟时间等于10分钟。 我所做的:是我为代理(病人)分配了一个名为“百分比”的参数。并使用我键入的第一个源的“On exit” 然后在延迟时间

  • 我有5个代理-母线,变压器,发电机,负载,线路。我有一个需要动态连接以上代理的需求。

  • 我有一艘容量为1750 pp的船,根据时间表每2小时离开港口一次。乘客到达等候区后,如果满足以下条件,他们可以离开该区域: 码头上有一艘船 (离开等候区的已上船乘客人数) 所有这些条件都正常工作,但由于到达码头需要时间,而且根据安全协议,我想在船只出发前2分钟停止客流,以免乘客没有登上码头。 如何将船期(名为schDepartureBoat1)与乘客等待区(名为waitForBoat1)联系起来?

  • 本文向大家介绍Selenium有哪些不同的等待类型?,包括了Selenium有哪些不同的等待类型?的使用技巧和注意事项,需要的朋友参考一下 下面列出了Selenium中可用的不同类型的等待- 隐式等待 这是Selenium中动态等待的一种,其语法为- 明确等待 这是Selenium中动态等待的一种,其语法为- 流利的等待 这是Selenium中动态等待的一种,其语法为- 静态等待 这用于将执行暂停

  • 直接问题:如何检查代理是否在等待块中等待? 更多细节?下面,谢谢。 我按照费利佩先生对一个类似问题的回答(这个问题:任何逻辑-将多个项目组合回原始所有者) 在回答的第4步中,他说“在passengerWait上,在Oneter操作中,您将检查连接到乘客的所有行李是否都在bagWait块上……如果在bagWait块上……那么您将释放(wait.free(agent))乘客和行李” 你知道怎么检查这个

  • 我正在研究任何逻辑。假设我有3种代理类型(公、母、猫)(链接中的截图)。 问题:我想让男性和女性“只”到“mandf队列”,猫在selectoutput之后“只”到“c队列”。 我试图在selectOutput的“probability”栏中放一个if语句,但我不知道如何提取代理的名称。我应该使用一个参数吗?比如,如果我有12种代理类型,那该怎么做呢 谢谢你