首页 > 解决方案 > 对anylogic中的不同任务使用相同的服务块

问题描述

我目前正忙于一家医院的一个项目。我需要创建一个模拟模型来复制医院的流程。我对医院的一个柜台或服务台有疑问。服务台的工作人员需要执行两项不同的任务,具体取决于患者的类型。如何对服务块进行编程以执行两个不同的任务?现在,在这里输入图像描述我已经使用同一个工作人员将块分成两个不同的块。还有另一种方法可以解决这个问题吗?

标签: anylogicevent-simulation

解决方案


服务台的工作人员需要执行两项不同的任务,具体取决于患者的类型。

如果任务仅在持续时间上有所不同,您可以通过延迟属性中的患者类型轻松调整任务持续时间Service(假设您的患者是类型PatientType1和的代理PatientType2): 在此处输入图像描述

对于更复杂的任务,您可以创建一个返回持续时间并将请求患者作为输入参数的函数,例如f_getDelayByPatient(MyPatientType patient) ,然后,服务块可以在“延迟时间”代码部分中使用该函数为每个到达的患者计算它使用f_getDelayByPatient(agent)


推荐阅读