AnyLogic如何将一个代理链接到另一个代理

时间:2018-06-06 14:11:52

标签: anylogic agents

我是一个关于任何逻辑的相对noob,但我在我的作业中有一个任务,所以这里有我的问题:

我创造了一群代理人,他们都是患者......这些患者患病的可能性比如说30%......我实施了这个,但现在我的任务是使用新的药剂添加药物这个问题可以治愈它们......但是如何将这个新代理与现有代理链接起来呢?我的第一个代理由一条消息触发..因此我们必须使用一个事件将此消息发送给第一个受感染的人等。

任何人都可以帮助我如何创建一个新代理并将其链接到旧代理以治愈人们吗?

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

好吧,因为这是你需要的,我会把它作为答案发布

医学有一个名为SC的状态图表,其初始状态被使用,第二个状态不是用来通过消息从一个到另一个的过渡。

当患者到达病态时,需要找到一个处于状态的药剂医药,而不是能够治愈,所以您可以使用以下代码找到它:

Medicine med=findFirst(main.medicines,m->m.inState(m.notUsed));
if(med!=null){//meaning that there is at least one not used medicine
    med.SC.fireEvent("use medicine");
    send("get better",this);
}

你可能需要做同样的事情,当你创造一种新的药物时,你会用同样的方法找到一个处于状态的人,生病了#34; .. 我假设您在患者代理中调用此功能,但根据您何时呼叫它可能会有所不同。