介绍
本文提出了MAPF问题的一个新变种及其解决方案。变种的名字正如题目,简写为MAPF-PC,这个问题中每个agent都有一个goal序列,需要按这个序列依次访问每个goal,然后不同agent的不同goal之间有先后关系要求。
本文继续在CBS和PBS上进行魔改以解决这个变种,同时提出了一些优化方案。
CBS-PC
基本思路
在CBS上的魔改,核心思路是把“先后关系”也定义为一种CBS内的constraint。当搜索到某个节点出现这种违背先后关系的conflict时,假设当前路径下本应先到的agent在时刻到,对左右子节点分别施加“本应晚来的agent必须在t时刻之后到”和“本应晚来的agent必须在
或之前到以及本应先来的agent必须在
或之前到”。左子节点显然很可能会解决掉这个conflict,而右子节点把conflict发生的时间至少推前了一个时刻。
其他细节
如果搜索到多个conflict,优先解决先后关系的conflict,而在其间优先解决会导致路径长度增加最多的。
对于每次路径的寻找,使用些微修改过的Multi-Label A*算法即可解决。
一些优化
- 用先后关系预处理好到每个goal的时刻上下限(很显然的优化)
- disjoint splitting(CBS常规优化)
- target reasoning(CBS常规优化)
PBS-PC
也是在PBS基础上添加了先后顺序的constraint,但既然已经有了规划路径的先后顺序,底层没有使用MLA*而只是贪心地寻找最短路径。和PBS一样不optimal不complete,但是快且效果不差。