增强的基于冲突的搜索算法(ECBS)(3)


相对与CBS算法,在上层和下层中,CBS使用了一个优先列表,并且都是按照最小cost来逐个弹出,虽然能找到最优解,但是随着Agent的数量增大,算法所消耗的时间会指数型增长,分析如下:

1.在上层中,从OPEN中弹出一个cost最小节点N,然后对N.solution[]进行遍历检测conflict,当找到一个冲突后进行节点扩展,并交给下层重新规划路径,此时下层规划的路径由于无法保证重新规划后的路径不会重新产生新的冲突,只是盲目根据约束树来进行盲目规划,因此导致整个算法在所搜的时候会产生大量新的冲突,导致效率比较低。

2.对于上层中的OPEN列表,其中存储的节点属于大节点,在进行节点冲突检测和节点扩展时会消耗大量的资源,因此需要减少消耗的资源,提高计算效率,一个方法就是减小重新规划时再次产生冲突的可能性。

如图为缺点1的产生原因:

 

增强的基于冲突的搜索算法采用了聚焦搜索,在上下层搜索中加入了FOCAL列表,该算法基本思想为,从OPEN列表中选出允许误差的范围内的次优解放入FOCAL中,FOCAL中根据碰撞相关的参数进行排序,每次从FOCAL中选出碰撞数较小的节点进行扩展,这样每次进行扩展时,得出的结果都是碰撞数较少的,就能够更快找到次优解。

详解:

下层:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM