CBS是一个具有两层结构的多智能体寻路算法。在CBS的上层算法中维护着一棵约束树,树中每一个节点包含了约束和满足该节点所有约束的路径[22]。CBS的下层算法则是针对单智能体的寻路算法,它的任务是为每一个智能体找到满足当前约束树节点中所有约束的最短路径。通过它得到的路径只考虑了约束,未将其他智能体的影响纳入计算范围内,所以生成的路径之间很可能存在顶点冲突或者边沿冲突。当它搜索完成后,若现有节点中的路径集合无冲突时会返回这个路径集合作为最终的解。而当路径集合中存在冲突时,CBS上层算法会选择一个冲突扩展子节点,并为产生冲突的两个智能体添加约束,直到找到无冲突的路径集合为止。