Anylogic - 在DES-ABM模型中从seize向代理发送消息

时间:2017-11-24 09:57:17

标签: java anylogic agent-based-modeling

在我使用Anylogic 8构建的混合DES-ABM模型中,我正在努力发送消息。主要有几个诊所,在这些诊所中,过程建模库用于在临床过程中建模。一旦患者代理人到达“抓住”区块,就会查获医生代理人。

现在,我要做的是,一旦抓住医生代理人,就需要从该“抓住”区块向住在诊所的医生代理人发送信息。

我已经查阅了Anylogic帮助手册,并且我已经将这些代码段插入到'seize'块中,在'On entry'字段中: -

agent.send("Start", Clinic.doctor)

send("Start", Clinic.doctor)
  

错误:说明:无法对非静态字段进行静态引用

agent.send("Start", doctor)

send("Start", doctor)
  

错误:说明:代理类型中的send(Object,Agent)方法不适用于参数(String,Clinic._doctor_Population)。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您需要在seize块的“onSeize”代码部分发送消息。在那里,键入:

send("Start", unit)

关键字“单位”会将其发送给已被扣押的医生。详细了解这些关键字以及在何处找到它们:

http://www.benjamin-schumann.com/blog/2016/2/4/the-magic-lightbulb-and-how-it-can-help-your-anylogic-modelling