我目前的情况是,在一个群体中,我有3种类型的代理,分为3个来源。例如,Agent A的值应在3-5之间,B应在5-7之间,c应在8-9之间。然后,我需要的是让每个进入逻辑的人在这3个组的数字之间有一个不同的值,并且它必须是随机的。如何编写函数或做其他可以得到结果的事情?我在Anylogic帮助中看到了关于从群体中随机选择代理的内容,但我真的不太明白。
发布于 2021-07-28 12:59:14
你提到了3个不同的来源和3个不同的代理类型,所以我假设你有一个类似于下面的设置。有3种代理类型,每种类型都在不同的源中创建
在这种情况下,您可以很容易地在Actions部分的o"on at Exit“代码中编写类似于屏幕截图agent.variable = uniform_discr(3, 5);中的代码
这将为我在代理中创建的一个变量分配一个介于3和5之间的值。
您只需在每个源代码中为不同的代理类型创建类似的代码,并更改随机分布采样代码uniform_discr(min, max)中的值

如果您创建的所有代理都在群体中,您可以简单地循环每种类型的代理的群体,并为它们分配一个值,如下所示
for(AgentA agent : agentApopulation) {
agent.variable = uniform_discr(3, 5);
}https://stackoverflow.com/questions/68551594
复制相似问题