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

Anylogic:如何将等待块链接到不同代理的时间表

仰翔
2023-03-14

我有一艘容量为1750 pp的船,根据时间表每2小时离开港口一次。乘客到达等候区后,如果满足以下条件,他们可以离开该区域:

  • 码头上有一艘船
  • (离开等候区的已上船乘客人数)

所有这些条件都正常工作,但由于到达码头需要时间,而且根据安全协议,我想在船只出发前2分钟停止客流,以免乘客没有登上码头。

如何将船期(名为schDepartureBoat1)与乘客等待区(名为waitForBoat1)联系起来?目前,我在等待块的输入操作中有以下代码:

if(cllBoatDock1.size()>0 && (cllPedOnDock1.size()+cllPedOnBoat1.size()) < 1750) {
 waitForBoat1.freeAll();
}

提前感谢您的帮助

共有1个答案

孔乐邦
2023-03-14

在这种情况下,最自然的可能是“等待”块下游的“保持”块。

出发前2分钟,您可以调用myHoldBlock。block()。没有更多的特工离开“等待”街区,他们将不得不呆到下一次出发。

只要确保调用myHoldBlock.unblock()当下一艘船想要开始登机。

 类似资料:
  • 我希望你们都平安无事, 假设我有第一张照片中显示的这个系统。有2个源链接到2个不同的代理类型。他们从同样的延迟送达。 我的目标:是从第一个源找到代理的等待时间,从第二个源找到代理的等待时间。 我所做的:我首先使用了“timemeasureend”数据集。我运行了模拟,然后检查了日志中的datasets_Log。(见图二)。 我的问题是:我无法知道哪些代理来自源1,哪些来自源2。它只是给我基于FIF

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

  • 谁能帮助我如何创建一个新的代理人,并将其链接到旧的,以治愈人民? 多谢!

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

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

  • 我已经为我们的生产过程创建了一个离散模拟模型,其中应模拟来年的产能、产量等。该模型可行,但我在测量过程时间方面有问题。我们的生产时间仅为上午7点至下午3点。是否有办法设置TimeMeasureStart和TimeMeasureEnd块,以便仅在轮班期间测量时间? 作为TimeMeasureStart、服务和TimeMeasureEnd块的简化示例: 代理在下午2:30通过TimeMeasureSt