AnyLogic 如何将吸引子选择设置为自由和随机
AnyLogic how to set attractor choice to both free and random
有没有办法同时自由和随机地选择吸引子?
我自己遇到的问题是:
- When the choice is set to Free - agents are using attractors in very predictable order based on attractor creation.
- 选择将选择设置为随机 - 多个代理人同时使用吸引子,我不想要。
我找到但不知道如何正确实施的解决方案在以下线程中:
我试图创建一个代理类型(而不是 class)'myAttractor',里面有一个布尔变量(占用或未占用的吸引子),但我不知道如何分配它代理类型到节点内的实际吸引子 - 如果可能的话?
也许还有其他解决方案来自定义吸引子选择以实现完全随机,每个吸引子只有一个智能体?
非常感谢,
彼得
这是一个很好的问题,而且通常是动画方面的问题。
一个选项是创建一个集合,简单的 ArrayList 就可以,所有的吸引子
然后在您设置吸引子的过程建模块 (PML) 中,您有一个 returns 吸引子的函数。我在这里提供代理,这样我们就可以跟踪哪个代理被发送到哪个吸引子,这样我们就可以在代理离开吸引子位置后将吸引子放回可用堆中。
这里是 getAttractor 函数
它得到一个随机的可用的吸引子,然后还将把它带到地图上的代理保存
这是地图的设置mapAgentPerAttractor
如果你想释放吸引子,你可以在吸引子被释放的任何时候简单地调用它
attractorsAvailable.add(mapAgentPerAttractor.get(agent));
mapAgentPerAttractor.remove(agent);
这是最终结果以及我们对您描述的问题进行的比较
可以看到在底部节点中只有 8 个点可用,因为一些代理在同一个吸引子上...
有没有办法同时自由和随机地选择吸引子?
我自己遇到的问题是:
- When the choice is set to Free - agents are using attractors in very predictable order based on attractor creation.
- 选择将选择设置为随机 - 多个代理人同时使用吸引子,我不想要。
我找到但不知道如何正确实施的解决方案在以下线程中:
我试图创建一个代理类型(而不是 class)'myAttractor',里面有一个布尔变量(占用或未占用的吸引子),但我不知道如何分配它代理类型到节点内的实际吸引子 - 如果可能的话?
也许还有其他解决方案来自定义吸引子选择以实现完全随机,每个吸引子只有一个智能体?
非常感谢, 彼得
这是一个很好的问题,而且通常是动画方面的问题。
一个选项是创建一个集合,简单的 ArrayList 就可以,所有的吸引子
然后在您设置吸引子的过程建模块 (PML) 中,您有一个 returns 吸引子的函数。我在这里提供代理,这样我们就可以跟踪哪个代理被发送到哪个吸引子,这样我们就可以在代理离开吸引子位置后将吸引子放回可用堆中。
这里是 getAttractor 函数
它得到一个随机的可用的吸引子,然后还将把它带到地图上的代理保存
这是地图的设置mapAgentPerAttractor
如果你想释放吸引子,你可以在吸引子被释放的任何时候简单地调用它
attractorsAvailable.add(mapAgentPerAttractor.get(agent));
mapAgentPerAttractor.remove(agent);
这是最终结果以及我们对您描述的问题进行的比较
可以看到在底部节点中只有 8 个点可用,因为一些代理在同一个吸引子上...