问题描述
有没有办法同时自由和随机地选择吸引子?
我自己的问题是:
- When the choice is set to Free - agents are using attractors in very predictable order based on attractor creation.
- When the choice is set to Random - more than one agent is using an attractor at the same time,which I don't want.
我找到了解决方案,但不知道如何正确实施在以下线程中:
AnyLogic Attractor weird behavior
我尝试创建一个代理类型(而不是一个类)'myAttractor',里面有一个布尔变量(占用或未占用的吸引器),但我不知道如何将该代理类型分配给节点内的实际吸引器- 如果这可能吗?
也许还有其他解决方案可以自定义吸引子选择以实现完全随机,每个吸引子只有一个代理?
非常感谢, 彼得
解决方法
这是一个很好的问题,而且通常是动画方面的问题。
一种选择是创建一个集合,简单的 ArrayList 就可以做到,所有吸引子
然后在设置吸引器的过程建模块 (PML) 中,您有一个返回吸引器的函数。我在这里提供代理,以便我们可以跟踪将哪个代理发送到哪个吸引子,以便一旦代理离开吸引子位置,我们就可以将吸引子放回可用堆中。
这里是 getAttractor 函数
它获得一个随机的可用吸引子,然后还将把它带到地图上的代理保存
这是地图 $ curl localhost:5443/
如果你想释放吸引子,你可以在吸引子被释放的任何时候简单地调用它
mapAgentPerAttractor
这是最终结果以及我们正在复制您描述的问题的比较
可以看到在底部节点中只有 8 个点可用,因为一些代理位于同一个吸引子上...