在任何logic中创建代理时,使用自定义分布为代理分配状态



我正在开发一个模型,以评估动物中种群控制的不同干预措施。我正在尝试使用自定义分布来分配代理在以后创建或添加到人口的状态。

我已经完成了以下

  1. 我创建了一个选项列表,列出了我的模型中的所有状态
  2. 我使用选项列表为初始总体创建了一个自定义分发3我使用相同的选项列表但具有不同的分布值创建了第二个用于移民的自定义分布(因为将继续定期将代理人添加到人群中(。

对于所有具有超时过渡的状态,我使用以下代码:

第一次超时过渡:statechart == state1?参数1:0

其中statechart是代理中的状态图的名称state1是选项列表中分配给拳头状态的名称参数1是参数名称,具有transtion的值使用(例如断奶持续时间= 2个月(

对于我的第二个超时过渡:statechart == state1 ||statechart == state2?参数2:0

等等。

但是,我的第四和第五个州(stete4和state5(具有速率和消息过渡,并且该代码对此类过渡不起作用。

作为结果,我的代理人在零时或移民事件期间的初始人口中没有出现在第四和第五个州。

我可以在模型的最后两个过渡中有其他代码,以使我的代理在模型的所有不同状态中出现吗?

谢谢

我必须为我负责的市场动态模型中的客户群体的初始化设置一个状态,并且通常会通过一条消息来改变状态。为此,我为每个选定的客户使用以下代码:

oCustomer.sc_switchingBehaviour.receiveMessage("moveOn");
oCustomer.onChange();

状态图为sc_switchingbehaviour,通常会导致它们更改状态的消息是" moveon"。

我没有需要做到这一点的费率转换,因此无法直接回答该查询,但是,出于状态初始化的目的,您是否(从概念上(将速率转换为概率,然后使用吗?

最新更新