AnyLogic 如何将吸引子选择设置为自由和随机

AnyLogic how to set attractor choice to both free and random

有没有办法同时自由和随机地选择吸引子?

我自己遇到的问题是:

我找到但不知道如何正确实施的解决方案在以下线程中:

我试图创建一个代理类型(而不是 class)'myAttractor',里面有一个布尔变量(占用或未占用的吸引子),但我不知道如何分配它代理类型到节点内的实际吸引子 - 如果可能的话?

也许还有其他解决方案来自定义吸引子选择以实现完全随机,每个吸引子只有一个智能体?

非常感谢, 彼得

这是一个很好的问题,而且通常是动画方面的问题。

一个选项是创建一个集合,简单的 ArrayList 就可以,所有的吸引子

然后在您设置吸引子的过程建模块 (PML) 中,您有一个 returns 吸引子的函数。我在这里提供代理,这样我们就可以跟踪哪个代理被发送到哪个吸引子,这样我们就可以在代理离开吸引子位置后将吸引子放回可用堆中。

这里是 getAttractor 函数

它得到一个随机的可用的吸引子,然后还将把它带到地图上的代理保存

这是地图的设置mapAgentPerAttractor

如果你想释放吸引子,你可以在吸引子被释放的任何时候简单地调用它

attractorsAvailable.add(mapAgentPerAttractor.get(agent));
mapAgentPerAttractor.remove(agent);

这是最终结果以及我们对您描述的问题进行的比较

可以看到在底部节点中只有 8 个点可用,因为一些代理在同一个吸引子上...