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

AnyLogic中路径的行进距离

如何解决AnyLogic中路径的行进距离

我正在尝试计算资源代理在完成其任务时在整个网络中的行进距离。

我尝试了函数 distanceto,但它们返回的是欧几里得距离,而不是通过路径的距离。

我也在agen_movement_stats_logagent_movement_raw_log中查看了模型日志记录的距离,但计算错误,只需要计算速度*时间即可意识到日志没有计算出正确的行进距离。当没有附加代理时,日志仅计算资源代理的移动,因此为了获得移动的总距离,我查找了被资源移动的代理移动的距离,但是这个距离是根据代理的速度而不是资源速度计算的,不管代理根据其配置和运行时间证据以资源速度移动的事实。

有没有什么简单的方法可以计算资源移动的总距离,而不管它是否附加了代理?

谢谢。

资源的日志中只记录了两个移动: agent_movement_raw_log

正在移动的代理以其自身的速度而不是资源速度记录在日志中(Pala 是附加代理,Extensible 是资源代理):

agen_movement_stats_log

日志是否有错误

解决方法

计算任何运动距离的最灵活和最安全的方法是使用系统动力学与流量和存量(缺点是您的模型变得有点慢,但您可以在模型配置中设置高时间步长)。流量等于速度,它会累积在库存中移动的距离。

在这种情况下,您唯一的任务是让流量适合速度,这意味着您必须在每次资源移动或停止移动时更改流量值。

如果你的资源中有加速,你可以添加另一个累积速度的加速流,速度存量连接到我之前谈到的流。

还有其他方法,但对于详细的内容,使用这个不是一个坏主意……使用恒定流也可以使处理速度更快。

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