微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

我自己的问题是:

  • 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 就可以做到,所有吸引子

enter image description here

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

enter image description here

这里是 getAttractor 函数

enter image description here

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

这是地图 $ curl localhost:5443/

的设置

enter image description here

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

mapAgentPerAttractor

这是最终结果以及我们正在复制您描述的问题的比较

enter image description here

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。