Anylogic - 基于代理到达时间表的延迟长度

问题描述

我正在为手术病房建模,其中 3 种不同的患者类型(红色患者、蓝色患者和绿色患者)根据时间表进入。根据患者的类型(红色、蓝色或绿色),手术时间会有所不同。 红色:30 分钟。蓝色:1 小时,绿色:2 小时。 我正在使用 delay 块来模拟手术时间。如何根据进入的患者类型设置延迟时间?

例如:延迟时间为 30 分钟。当红色患者进入延迟块时,但如果蓝色患者进入则为 1 小时?

谢谢!

解决方法

患者可以只是一种代理类型,具有该类型的变量。

然后在延迟时间中添加一个函数,例如 getTypeDelay(agent);

在函数中你做类似的事情

if(agent.type.equals("green") return 5.0;//hours or whatever time is

希望对你有所指导