【发布时间】:2021-02-13 16:51:48
【问题描述】:
我正在研究的模型设置如下。它包含四种代理类型:
- 病人
- 小医院
- 中医院
- 大医院
。所有这些代理都位于 Main。 SmallHospital 和 MediumHospital 代理在网络中使用 link to agent objects 连接到 BigHospitals,例如:mediumHospitalLink 和 bigHospitalLink。
生成后,患者通过 Patient 中的状态图移动到最近的医院代理(无论类型如何,使用 Patient 中的 this 函数)。 Patient 移动到的医院代理存储在 Patient 中名为 p_myFirstHospital 的参数中。 This parameter 具有“代理”类型,因为我事先不知道代理将转移到哪个医院类型。这不会导致任何错误并且可以按预期运行。
但是,我想在一段时间后将 Patient-agent 转移到第二家医院。如果患者目前在小型医院,则应移动到小型医院所链接的中型医院,同样,如果患者在中型医院,则应移动到中型医院所链接的大型医院。
我希望我能够从 Patient 中调用以下代码来访问这些代理:
p_myFirstHospital.mediumHospitalLink.getConnectedAgent();
或通过我创建的a simple function。它应该从存储在p_myFirstHospital 中的医院代理中的Link to agents 中检索代理。
很遗憾,这不起作用。编译器返回以下错误消息:
Description: smallHospitalLink cannot be resolved or is not a field. Location: model/Patient/f_DetermineSecondHospital - Function
我是否遗漏了一些 Java 或 AnyLogic 的细微之处?非常欢迎您的帮助和建议。
【问题讨论】:
标签: anylogic