Abstract
Many existing multi-agent path finding (MAPF) solvers focus on completeness, speed, or optimization. However, completeness and rapidity are usually in conflict with each other, which makes these algorithms far from satisfactory in practical applications. Motivated by this realistic requirement, we propose an efficient decoupling method to accelerate the solution of large MAPF problems. First, we define the concept of ‘non-essential vertex’-vertices which are not needed to solve a MAPF problem, and a scheme to identify them. Then, a decoupling scheme based on ‘non-essential vertex’ is proposed, which will assign higher priorities to agents whose goal positions are non-essential vertices and lower priorities to agents whose start positions are non-essential vertices. That is, invoking our decoupling algorithm can decouple any given MAPF problem into three subproblems while maintaining the completeness of the solution. All three sub-MAPF problems can be solved sequentially by a complete solver (e.g., CBS or EECBS, etc.), and two of them can also be solved by a prioritized planning algorithm. We have conducted several experiments in different workspaces, and the statistical results show that the proposed decoupling method significantly improves the speed and success rate of existing MAPF solvers with almost no degradation in solution quality when solving problems with high agent density. In addition, the solving efficiency can be further improved if the prioritized planning algorithm is invoked to solve the first and third sub-MAPF problems.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
Introduction
Multi-agent path finding is a coordination task that arises from many practical applications such as traffic control [1], warehouses [2], and other multi-agent systems [3]. The problem is to compute a set of collision-free paths to navigate a team of homogeneous agents, located in a shared environment, from their initial positions to their given goal locations.
In studies of MAPF problems, the sum-of-costs (the sum of time steps required by each agent to reach its goal) and the Makespan (maximum arrival time required for all agents to reach their goal) are important indicators to assess the quality of the solution [4]. Many early MAPF solvers focused on completeness and optimality, such as A* [5] and MA-RRT* [6, 7] viewed the problem as a high-dimensional search problem and attempted to obtain an optimal solution by traversing the entire solution space. However, the size of the coupled search space is exponentially related to the number of agents, which leads to the fact that these fully coupled MAPF solvers are usually inefficient (i.e., long running time) in solving MAPF problems with a large number of agents, even with perfect heuristic functions.
To avoid searching the high-dimensional space directly, countless predecessors have proposed amazing solving schemes and proved their algorithms to be optimal or complete by complex mathematical derivations [8, 9]. In [10] and [11], some primitives are designed to avoid unnecessary exploration of search space. Although they maintain the completeness of the solution, these solutions often come with unbounded path lengths. M* [12] minimizes the dimensionality of the search space through a strategy called sub-dimensional expansion, thereby reducing computational complexity. Based on M*, the newly improved algorithm MS* [13] can dynamically modify the dimension of the new search space based on agent-agent conflicts and defer planning in the joint space until necessary. Independence Detection (ID [14]) attempts to plan each agent independently, and merge these conflicting agents into a meta-agent. Similar to M*, ID may degenerate to A* in the worst case. Incremental cost tree search (ICTS [15]) and conflict-based search (CBS [16]) are decoupled complete algorithms. They do not directly search the k-agent search space but obtain the optimal solution through iteration. The difference is that ICTS uses iteration to find the appropriate cost for each agent, while CBS uses iteration to add appropriate space-time constraints to each agent. Although each iteration of CBS only requires updating the path of one robot, conflicts between agents increase as the problem becomes more complex, resulting in a significant increase in its solving time. Several improvements have been proposed to reduce the number of iterations required to solve the CBS [17,18,19,20]. For example, sorting conflicts [17] can avoid invalid branches in a search tree maintained by CBS, Explicit Estimation Search can help CBS get a feasible solution faster [18]. However, the above CBS-improved algorithms are still time-consuming and not applicable when solving some MAPF problems consisting of a large number of agents.
The idea of prioritized planning was proposed in [21], where agents were assigned a pre-defined overall priority ordering. Prioritized planning algorithm plans feasible paths for each agent in turn and treats the planned agents as dynamic obstacles, so it requires very little running time. However, fixed priority ordering does not perform well in all scenarios, and many articles argue that the order of priorities has a significant impact on the quality of the solution [22,23,24]. Therefore, how prioritizing the team of agents remains a key consideration. The random assignment of priorities is a simple and feasible solution [25], which can be combined with the screening strategy to obtain a higher-quality solution within a limited number of iterations [26, 27]. For example, a random search can be performed by climbing hills to find a lower-cost solution [28]. In addition, experiments show that raising the priority of the failed agent to the highest and re-planning is a strategy with a high success rate [29]. To obtain the optimal priority ordering for a given evaluation metrics, such as Makespan and Sum of costs, an algorithm proposed in [30] enumerates all total priority orderings and chooses the best one. However, this thorough traversal method is impractical, because, for N agents, there are N! permutations. To avoid searching the entire space of all priority orderings, paper [31] proposes a priority-based search algorithm that greedily explores every sorting possibility by building a priority tree.
Several papers have proposed prioritization heuristics to compute better priorities for agents. A prioritization heuristics algorithm that performs well on makespan is based on path prospects [32]. It gives lower priorities to agents with more alternative paths, thereby reducing the obstacles of high-priority agents to low-priority agents. Similar heuristic indicators include the length of the path and static path planning time of a single agent. Prioritizing agents with longer paths can minimize the makespan as much as possible [33], and prioritizing agents that require longer planning time will help reduce overall planning time [34].
Although the prioritization heuristics algorithms can improve the quality of the solution in some scenarios, they still cannot guarantee completeness [22, 24]. In past studies, there are two main approaches to compensate for the incompleteness of prioritized planning. The first approach is to call a complete solver to solve the paths of those agents that need to be coupled. Paper [35] proposes a decoupling method to identify these agents, but essentially the algorithm is also constructing a search tree like [31], so the time it takes grows exponentially with the number of agents. The second one is to impose restrictions on the given MAPF problem. A class of MAPF problems with solutions for any priority ordering, called well formed, is defined in [23]. A MAPF problem is well formed if any agent is always able to find a collision-free path to its goal vertex without passing through the endpoints of other agents. However, the abstract MAPF problem in practical applications is usually not well formed, for example, all agents must avoid pedestrians suddenly appearing or other obstacles, and the interrupted system will become ill formed. Similarly, studies that pursue completeness by restricting the MAPF problem include paper [36], which presents a MAPF solver called WSCaS that has good performance in the swappable space, but such a swappable space is also easily broken. Although it is not difficult to restrict the MAPF problem in specific applications, we want to obtain a MAPF solver that has completeness for any given MAPF problem. Therefore, in this work, we focus on how to quickly obtain those agents that need a complete solver and assign priorities to the remaining agents.
Unlike [35], our approach does not test conflicts between agents one by one, but sacrifices some possible ordering to enhance the speed of decoupling. Firstly, we define the concept of ‘non-essential vertex’-vertices which are not needed to solve a MAPF problem. Based on this concept, we can assign priorities to agents in an iterative manner instead of thoroughly exploring the coupling between agents. In each iteration, an agent will be assigned a priority, higher if its goal position is a non-essential vertex and lower if its starting position is a non-essential vertex. At the end of the iteration, our proposed decoupling algorithm also identifies some agents that need coupled planning, and the solution to this given MAPF problem is complete as long as a complete algorithm is invoked to calculate the paths of these coupled agents. The main contributions of this work are as follows:
-
1.
We propose the concept of the non-essential vertex and a corresponding identification scheme, which is based on a sufficient condition and requires less computation.
-
2.
We propose a decoupling method that decouples any given MAPF problem into three sub-MAPF problems while maintaining the completeness of the solution.
-
3.
We propose a planning framework based on this decoupling method that enhances the efficiency of existing MAPF solvers in planning MAPF problems with high agent density.
The rest of this paper is organized as follows. In the next section, we propose the concept of the non-essential vertex and a corresponding decision scheme in the subsequent section. Then we propose the decoupling scheme and the corresponding planning scheme; the penultimate section describes the experimental process of the performance investigation, and the final section concludes the paper and highlights future research avenues.
Problem statement and related definitions
We consider a class of MAPF problems whose undirected graphs \(\mathcal {W} = (V,E)\) are abstracted from the 4-neighbor grids workspace. N agents navigate in this connected graph and each agent is assumed to be assigned a task that involves moving from its start position \({{s}_{i}}\) to its goal position \({{g}_{i}}\) and don’t disappear. Time is discretized into time steps. At each time, each agent is located at a vertex of the graph. Within each step, each agent can wait at the current vertex or move to an adjacent vertex according to the edges E of the graph. Let \({{\pi }_{i}}\left( t \right) \in V\) denotes the vertex occupied by the agent \({{a}_{i}}\) at time t, and one trajectory can be donated as \({{\pi }_{i}}={{\pi }_{i}}\left( 0 \right) ,\ldots ,{{\pi }_{i}}\left( {{T}_{i}} \right) ,\) \({{\pi }_{i}}\left( {{T}_{i}}+1 \right) ,\ldots \), where \({{\pi }_{i}}\left( 0 \right) ={{s}_{i}}\), and \({{\pi }_{i}}\left( t \right) ={{g}_{i}}\) for all time \(t={{T}_{i}},\ldots ,\infty \). Then this single trajectory \({{\pi }_{i}}\) contributes \({{T}_{i}}\) to the Sum of costs of the corresponding joint plan. Our task is to find a set of valid trajectories \(\pi ={{\pi }_{1}},\ldots ,{{\pi }_{n}}\), and trajectories \({{\pi }_{i}}\),\(~{{\pi }_{j}}\) of every two different agents i, j are mutually conflict-free (vertex collision: \({{\pi }_{i}}\left( t \right) ={{\pi }_{j}}\left( t \right) \), edge collision: \(\left( {{\pi }_{i}}\left( t \right) ,{{\pi }_{i}}\left( t+1 \right) \right) =\left( {{\pi }_{j}}\left( t+1 \right) ,{{\pi }_{j}}\left( t \right) \right) \)). In the following, the path \(p_{i}\) contains all of the vertices that the agent visits while the trajectory \(\pi _{i}\) designates the vertex that an agent occupies each timestep.
Definition 1
Priority ordering: A priority ordering \(\prec \) is such that an agent \({{a}_{i}}\) with priority \({{\xi }_{i}}\) is of higher priority than another agent \({{a}_{j}}\) with priority \({{\xi }_{j}}\) iff \({{\xi }_{i}}\prec {{\xi }_{j}}\).
Definition 2
Ordered agent set: Given a priority ordering \(\prec \) on a set of agents \(L_\textrm{given}\), the pair \(\left( L_\textrm{given},\prec \right) \) is a strict partially ordered agent set.
The following shorthand notation will be used to denote the set of vertices occupied by different subsets of agents in \(L_\textrm{given}\) at their start and goal positions:
Definition 3
Connected graph: A connected graph is one in which for any vertex pair u and v, there exists a path connecting u and v.
Definition 4
Bifurcated vertex: A bifurcated vertex is a vertex with at least three adjacent vertices.
Definition 5
Swap port: A swap port consists of a bifurcated vertex and any three vertices adjacent to it.
As shown in Fig. 1, A2 is a bifurcated vertex, and \(\left\{ A1, A2, A3, B2 \right\} \) constitutes a swap port. Obviously, if there are only two agents in the swap port, they can swap their positions with each other.
Definition 6
Solvable workspace: The solvable workspace of k-agents is a graph on which any MAPF problem with at most k agents can be solved.
Definition 7
Non-essential vertex: For a MAPF problem defined in graph \(\mathcal {W} = (V,E)\), x is said to be a non-essential vertex if the problem is still solvable in \(\mathcal {W}\backslash x\), where \({\mathcal {W}}\backslash x = (V\backslash x,E\backslash (x,*))\) is the graph \(\mathcal {W}\) remaining after removing the vertex x.
Non-essential vertex
For a given MAPF problem, the set of non-essential vertices is usually available only at the end of planning. However, the concept of non-essential vertices is proposed to simplify the MAPF problem solving process, and they should be identified before planning. To simplify the identification of non-essential vertices, this section provides a sufficient condition to identify non-essential vertices. First, some lemmas are introduced in advance.
Lemma 1
The MAPF problem defined on a connected graph is solvable if any two neighboring agents can swap their positions without affecting other agents.
Proof
See Section IV-A in [36]. \(\square \)
Note that in [36], the position exchange of the two agents is done by a sequence of intermediate moves in a graph named figure-8, while in this work, the intermediate actions of position exchange are done in a swap port.
Lemma 2
A connected graph containing k bifurcated vertices is a solvable workspace of \(k+1\) agents.
Proof
Based on Lemma 1, we only need to prove that any two adjacent agents can exchange their positions. A simple induction shows that there are at least \(k+3\) vertices in the connected graph containing k bifurcated vertices (for \(k>0\), otherwise, the lemma is naturally valid). In addition to the vertices already occupied by \(k+1\) agents, there are at least two unoccupied vertices left. Suppose the initial configuration of agents is \(\mathcal {C}_0\), where the two neighboring agents that need to exchange positions are \(a_i\) and \(a_j\). We can always find a \(\mathcal {C}_0\)-accessible configuration \(\mathcal {C}_{t_1}\) where \(a_i\) or \(a_j\) is located on a bifurcated vertex (based on the Pigeonhole principle). Furthermore, we can utilize the remaining unoccupied vertices to transfer the two agents around \(a_i\) (assume that \(a_i\) is located at the bifurcated vertex), thus ensuring that the remaining two vertices of the swap port where \(a_i\) and \(a_j\) are located are released. The configuration at this moment is recorded as \(\mathcal {C}_{t_2}\), and based on \(\mathcal {C}_{t_2}\), \(a_i\) and \(a_j\) can swap their positions in this swap port. After \(a_i\) and \(a_j\) complete their position swap, all agents except \(a_i\) and \(a_j\) can return to their original vertices in configuration \(\mathcal {C}_0\). Thus, we can say that any MAPF problem consisting of no more than \(k+1\) agents is solvable in a connected graph containing k bifurcated vertices. \(\square \)
According to Lemma 2, a sufficient condition for judging the solvability of a MAPF problem consisting of k agents can be obtained: its graph is connected and contains at least \(k-1\) bifurcated vertices. As shown in the graph \(\mathcal {W}\) in Fig. 1, A2 is a bifurcated vertex, so \(\mathcal {W}\) is a solvable workspace of two agents. Since the fact that A2 is a bifurcated vertex is independent of B1, i.e., \(\mathcal {W}\backslash B1\) is also a solvable workspace of two agents.
Corollary 1
When solving a MAPF problem consisting of k agents defined on a graph \(\mathcal {W}\), if a vertex x is neither the starting positions nor the goal positions of the k agents, and \(\mathcal {W}\backslash x\) is connected and contains \(k-1\) bifurcated vertices, then x can be a non-essential vertex.
Proof
According to Lemma 2, the workspace \(\mathcal {W}\backslash x\) containing \(k-1\) bifurcated vertices is a solvable space of k agents. Moreover, since the vertex x is neither the starting positions nor the goal positions of the k agents, it can be said that this MAPF problem defined on \(\mathcal {W}\) is also solvable on \(\mathcal {W}\backslash x\). Therefore, x can be a non-essential vertex in the solving process. \(\square \)
According to Corollary 1, we can easily obtain that a sufficient condition for identifying vertex x in graph \(\mathcal {W}\) as a non-essential vertex in solving the MAPF problem with k agents is that: (1) \(\mathcal {W}\backslash x\) is connected and contains \(k-1\) bifurcated vertices; (2) x is neither the starting positions nor the goal positions of the k agents.
Proposed decoupling method
In this section, we describe the proposed decoupling method in detail and demonstrate the completeness of the planning scheme based on the proposed decoupling method.
Basic idea
The revised version of prioritized planning (RPP) algorithm was proposed in the article [22] and proved to be complete for well-formed MAPF problems. The completeness of RPP stems from the property of well-formed infrastructure, where each agent has a path from its start endpoint to its goal endpoint that avoids all other endpoints. In fact, in the well-formed infrastructure, the endpoints of the agents are non-essential positions (vertices) for solving the paths of the remaining agents. Thus, if we find agents that can be planned independently and whose endpoints are non-essential vertices, we can call the RPP algorithm to plan their paths, thereby reducing the difficulty of solving the entire MAPF problem.
The decoupling method
We will assign priorities to agents according to whether their start or goal positions are non-essential vertices, where higher priorities will be assigned to those agents whose goal positions are non-essential vertices, and lower priorities will be assigned to agents whose start positions are non-essential vertices. The pseudocode of prioritization is shown in Algorithm 1.
Before introducing the algorithm logic in detail, it is necessary to explain the variables and calling functions used in the algorithm.
\(\textrm{FindPath}(\mathcal {W}_\textrm{static},a_i)\): Given a static graph \({{\mathcal {W}}_\textrm{static}}\) and an agent \({{a}_{i}}\), if there is a collision-free path from \({{s}_{i}}\) to \({{g}_{i}}\) in \({{\mathcal {W}}_\textrm{static}}\), then return True; otherwise, return False.
\(\textrm{IsEssential}(\mathcal {W},L_\textrm{given},x)\): Given a connected graph \(\mathcal {W}\), a vertex x, and a agent list \(L_\textrm{given}\). if the workspace \(\mathcal {W} \backslash x\) is connected and contains \(|L_\textrm{mid} |- 1\) bifurcated vertices, and \(x\cap \left\{ S^\textrm{given}\cup G^\textrm{given} \right\} =\phi \), then return False; otherwise, return True. See “Non-essential vertex” for the specific judgment method of this paper.
According to the logic in Algorithm 1, three lists, \(L_\textrm{high}\), \(L_\textrm{low}\), and \(L_\textrm{mid}\) were created to divide all agents in \({{L}_\textrm{init}}\) that need to be planned. All agents are placed in \(L_\textrm{mid}\) at initialization, and they are taken out one by one and assigned a priority. When assigning priority to the agent \(a_{i}\), if \(g_{i}\) is a non-essential vertex to solve the MAPF problem composed of agents in \(L_\textrm{mid}\backslash a_i\), and there is a collision-free path from \(s_i\) to \(g_i\) in the graph \(\mathcal {W} \backslash S^\textrm{low} \backslash G^\textrm{high} \backslash S^\textrm{mid} \cup s_i\), then \(a_{i}\) can be given a priority lower only than the agents in \({{L}_\textrm{high}}\). If \({{a}_{i}}\) is not added to \({{L}_\textrm{high}}\), \({{s}_{i}}\) is a non-essential vertex to solve the MAPF problem composed of agents in \(L_\textrm{mid}\backslash a_i\), and there is a collision-free path from \(s_i\) to \(g_i\) in the graph \(\mathcal {W} \backslash S^\textrm{low}\backslash G^\textrm{high} \backslash G^\textrm{mid} \cup g_i\), then \(a_{i}\) is given a priority that is only higher than the agents in \(L_\textrm{low}\). Once the agent is assigned a priority, its position can be fixed by updating the graph. The graph \(\mathcal {W} \backslash {{S}^\textrm{low}}\backslash {{G}^\textrm{high}}\) means let the agents in \(L_\textrm{high}\) stay at their goal positions, and the agents in \(L_\textrm{low}\) stay at their starting positions. In each iteration, one agent in \(L_\textrm{mid}\) will be removed and assigned a priority, which makes it less difficult to plan the coordination trajectory of the remaining agents. If no agent is assigned a priority in an iteration, this means that the paths of the remaining agents in \(L_\textrm{mid}\) may not be solved by prioritized planning, so the priority assignment process is ended.
Planning scheme and completeness analysis
After calling Algorithm 1, any given initial MAPF problem \(L_\textrm{init}\) can be decoupled into three sub-MAPF problems: \(L_\textrm{high}\), \(L_\textrm{low}\), and \(L_\textrm{mid}\). The list \(L_\textrm{high}\) and \(L_\textrm{low}\) store those agents whose paths can be solved by prioritized planning algorithm, while the paths of agents in \(L_\textrm{mid}\) require a complete solver to plan. Based on the decoupled sub-MAPF problem, we use the planning framework shown in Fig. 2 to solve them. These three sub-MAPF problems are solved sequentially. In solving \(\left( {{L}_\textrm{high}},\prec \right) \), the agents in \(L_\textrm{low}\) and \(L_\textrm{mid}\) will be considered as obstacles, which are stationary at their starting positions, so the workspace at this moment is \(\mathcal {W} \backslash \left\{ S^\textrm{low} \cup S^\textrm{mid} \right\} \). Similarly, in solving \(L_\textrm{mid}\), the agents in \(L_\textrm{high}\) and \(L_\textrm{low}\) are considered as obstacles. The difference is that the agents in \(L_\textrm{low}\) remain at their starting positions, while the agents in \(L_\textrm{high}\) are considered as dynamic obstacles \(\pi _\textrm{high}\). Finally, agents in both \(L_\textrm{high}\) and \(L_\textrm{mid}\) are considered as dynamic obstacles in the process of solving \(L_\textrm{low}\). Essentially, this is a Grouped Prioritized Planning algorithm [37], since there is a group priority order in the solving process. In the following, we will demonstrate that such a solver does not lead to a failure of the planning, i.e., the solver is complete.
If all agents in \({{L}_\textrm{mid}}\) are merged into a meta-agent, the implementation of the planning scheme based on the decoupling method is prioritized planning. Suppose that the n agents in the initial MAPF problem are divided into three non-empty groups \({{L}_\textrm{high}}\), \({{L}_\textrm{low}}\), and \({{L}_\textrm{mid}}\) according to Algorithm 1, where \({{L}_\textrm{high}}\) contains \({{n}_\textrm{high}}\) agents: \(a_{1}^{h},\ldots ,a_{{{n}_\textrm{high}}}^{h}\), \({{L}_\textrm{mid}}\) contains \({{n}_\textrm{mid}}\) agents: \(a_{1}^{m},\ldots ,a_{{{n}_\textrm{mid}}}^{m}\), and \({{L}_\textrm{low}}\) contains \(n-{{n}_\textrm{high}}-{{n}_\textrm{mid}}\) agents: \(a_{1}^{l},\ldots ,a_{n-{{n}_\textrm{high}}-{{n}_\textrm{mid}}}^{l}\). After merge the agents in \({{L}_\textrm{mid}}\) into a meta-agent \({a_{m}}\), we can get an new agent permutation for prioritized planning: \(\left( {{L}_\textrm{rpp}},\prec \right) =a_{1}^{h},\ldots ,a_{{{n}_\textrm{high}}}^{h},{{a}_{m}},a_{n-{{n}_\textrm{high}}-{{n}_\textrm{mid}}}^{l},\ldots ,a_{1}^{l}\).
Lemma 3
In this dummy planning problem \(\left( {{L}_\textrm{rpp}},\prec \right) \), each agent \(a_i\) has feasible path \(p_i\) and \(p_i\) is \({{S}^{>i}}\)-avoiding and \({{G}^{<i}}\)-avoiding.
Proof
According to Algorithm 1, every new agent \({{a}_{i}}\) that joins \({{L}_\textrm{high}}\) has a feasible path in \(\mathcal {W} \backslash S^\textrm{low}\backslash G^\textrm{high} \backslash S^\textrm{mid} \cup s_i\), where \(G^\textrm{high}\) is the \({{G}^{<i}}\), \(S^\textrm{low} \cup S^\textrm{mid} \backslash s_i\) is \({{S}^{>i}}\). Therefore, the first \({{n}_\textrm{high}}\) agents in \({{L}_\textrm{rpp}}\) have this property (has a path \(p_i\) of \({{S}^{>i}}\)-avoiding and \({{G}^{<i}}\)-avoiding). Similarly, it can be proved that the last \(n-{{n}_\textrm{high}}-{{n}_\textrm{mid}}\) agents of \({{L}_\textrm{rpp}}\) have this property, because each agent \({{a}_{i}}\) newly added to \({{L}_\textrm{low}}\) has a feasible path in \(\mathcal {W} \backslash S^\textrm{low}\backslash G^\textrm{high} \backslash G^\textrm{mid} \cup g_i\), where \(G^\textrm{high} \cup G^\textrm{mid} \backslash g_i\) is the \({{G}^{<i}}\), \(S^\textrm{low}\) is \({{S}^{>i}}\). In addition, since the starting positions of all agents in \({{L}_\textrm{low}}\) and the goal positions of all agents in \({{L}_\textrm{high}}\) are non-essential vertices to solve the MAPF problem formed by the agents in \(L_\textrm{mid}\), they do not prevent the movement of agents in \(L_\textrm{mid}\). In this work, we assume that the initial MAPF is solvable, so \(a_{m}\) has a feasible solution in the workspace \(\mathcal {W} \backslash S^\textrm{low}\backslash G^\textrm{high}\), where \(S^\textrm{low}\) is \(S^{>i}\)-avoiding and \(G^\textrm{high}\) is \(G^{<i}\)-avoiding. Therefore, we can say that each agent \(a_i\) in \(\left( {{L}_\textrm{rpp}},\prec \right) \) has feasible path \(p_i\) and \(p_i\) is \({{S}^{>i}}\)-avoiding and \({{G}^{<i}}\)-avoiding. \(\square \)
Based on Lemma 3, the RPP algorithm enables the MAPF problem in \({{L}_\textrm{rpp}}\) to always be solved [22]. Because for any agent \({{a}_{i}}\), there is always a moment \({{T}_{si}}\), in time interval \(t\in \left[ 0,{{T}_{sj}} \right] \): agent \({{a}_{i}}\) can stay at \({{s}_{i}}\), in interval \(\left[ {{T}_{si}},\infty \right] \): \({{a}_{i}}\) can follow its satisfying path \({{p}_{i}}\) to reach \({{g}_{i}}\). Therefore, the planning scheme based on the decoupling method can be successfully implemented, that is to say, this planning scheme is complete.
Classical MAPF instance analysis
In this section, we analyze three classical MAPF instances according to the logic of Algorithm 1 to verify the effectiveness of the proposed algorithm.
Example 1
The MAPF instance shown in Fig. 3 is a typical example that can be solved by a prioritized planning algorithm. However, its solvability is based on correct prioritization: \({{\xi }_{2}}\prec {{\xi }_{1}}\), which is the opposite of the initial priority order of the agents. According to the logic of Algorithm 1, \({{g}_{1}}\) is a non-essential vertex, but there is no feasible path to avoid \({{s}_{2}}\), which results in \(a_1\) not being added to \({{L}_\textrm{high}}\). Fortunately, \({{s}_{1}}\) is a non-essential vertex, and there is a feasible path for \(a_1\) to avoid \({{g}_{2}}\), so \({{a}_{1}}\) is added to \({{L}_\textrm{low}}\). In the second iteration, \({{g}_{2}}\) is a non-essential vertex, and there is a feasible path for \(a_2\) to avoid \({{s}_{1}}\), \({{a}_{2}}\) is added to \({{L}_\textrm{high}}\), and \({{\xi }_{2}}\prec {{\xi }_{1}}\) can be obtained.
Example 2
The MAPF example shown in Fig. 4 is a typical example that cannot be solved by any prioritized planning algorithm, i.e., it can only be solved by calling the complete MAPF solver. According to the logic of Algorithm 1, \({{g}_{1}}\) is a essential vertex, \({{s}_{1}}\) is a non-essential vertex, but there is no feasible path to avoid \({{g}_{2}}\). Similarly, there is no feasible path for \({{a}_{2}}\) to avoid \({{g}_{1}}\), so both \({{a}_{1}}\) and \({{a}_{2}}\) will stay in \({{L}_\textrm{mid}}\). On this basis, we will call a complete MAPF algorithm to solve it according to the solving scheme shown in Fig. 2.
Example 3
Fig. 5 shows a complex MAPF instance that cannot be solved by any prioritized planning algorithm. However, our proposed algorithm can decouple it and reduce the number of agents that need to be coupled. According to the logic shown in Algorithm 1, \(g_1\) is a essential vertex for planning trajectories for \(a_2\) and \(a_3\), \(s_1\) is a non-essential vertex, and there is a feasible path to \(g_1\) without passing \(g_2\) and \(g_3\), so \({{a}_{1}}\) is added to \({{L}_\textrm{low}}\). However, \(g_2\) overlaps with \(s_3\) and \(g_3\) overlaps with \(s_2\), which prevents both \(a_2\) and \(a_3\) from being assigned priority, so they must remain in list \(L_\textrm{mid}\). Although it is impossible to use prioritized algorithm to plan the trajectories of all agents, our method decouples the original MAPF problem into two sub-problems, which reduces the complexity while maintaining the completeness of the solution.
Experiments
In this section, we demonstrate the performance and generality of the proposed decoupling method through several numerical simulations. In the next section, we investigate the decoupling performance of the proposed algorithm for different types of MAPF instances. Then we evaluate the performance of the planning scheme based on the decoupling approach in different environments. The algorithms are implemented in C++, and the experiments are conducted on Ubuntu 20.04 LTS on an Intel Xeon E3-1225 CPU with a memory limit of 16 GB.
Decoupling performance
We investigate the decoupling performance of the proposed method in 4-neighbor grids, all of the simulation maps are down from the benchmark set [4], including empty-32-32, empty-48-48, random-32-32-20, random-64-64-20, den312d, and warehouse-10-20-10-2-1. In addition, we downloaded 25 “random" scenarios of each map to obtain different MAPF problems. In this paper, two parameters are chosen to evaluate the decoupling performance of the proposed algorithm, including the decoupling time and the number of non-priority agents (\(|L_\textrm{mid} |\)), where the former evaluates the speed of the algorithm (the less time required, the faster it is) and the latter evaluates the practicality of the algorithm (the fewer agents without priority, the more practical it is). The statistical results shown in Fig. 6 are the average of 25 independent runs. The solid red curve shows the relationship between decoupling time and the number of agents in the problem, while the blue curve shows the relationship between the number of agents that are not assigned priority (\(\vert L_\textrm{mid} \vert \)) and the total number of agents.
It can be seen that the blue curves of all subplots in Fig. 6 are monotonically increasing, indicating that as the number of agents in the problem increases, the number of agents to be coupled also increases. This phenomenon indicates that the proposed algorithm gradually fails as the planning problem becomes more complex. Nevertheless, all blue curves initially almost coincide with the x-axis, indicating that the proposed algorithm can assign priority to almost every robot when the size of the given planning problem is relatively small. For example, in solving the planning problem consisting of 325 agents in empty-32-32 map, after employing our proposed algorithm, only three agents’ paths need to be coupled to solve, while the rest of the agents can be planned by RPP. In addition, another phenomenon worth mentioning is that the solid blue line rises more slowly in larger maps of the same type. Comparing Fig 6a, b or c, d reveal that the blue curves rise at different rates in the same type of map; specifically, the larger the map size, the slower the rate of rise. It can be interpreted as follows: the larger the workspace, the more bifurcated vertices there are, naturally allowing more agents to be assigned priorities.
In contrast to the blue curves, the red curves in Fig. 6 are not monotonically with the number of agents. As seen in Fig. 6a, c, the red curves increase first and then decrease, while in the other subplots, they are still in the rising phase. The fluctuation of the red solid curve is closely related to the procedure IsEssential in Algorithm 1. The procedure IsEssential will return True if the number of bifurcated vertices in the map is not sufficient to ensure that the MAPF problem consisting of non-priority agents is solvable. Therefore, the proposed algorithm does not take much time in decoupling the assignment problem with high agent density.
Note that the IsEssential procedure is designed based on the sufficient conditions provided in “Non-essential vertex”. If the criteria for identifying non-essential vertices change, then the time required for decoupling may be different, and even the performance of the decoupling method may change. For example, if we increase the number of bifurcated vertices in the \(\textrm{IsEssential}(\mathcal {W},L_\textrm{given},x)\) procedure from \(\vert L_\textrm{mid} \vert - 1\) to \(\vert L_\textrm{mid} \vert \), it is still a sufficient condition for identifying non-essential vertices but causes all the blue curves in Fig. 6 to rise earlier. In this case, the instance shown in Fig. 3 cannot be decoupled.
Comparison with other MAPF solvers
Based on the planning framework shown in Fig. 2, any MAPF problem can be solved by dividing it into three sub-problems, each of which can be solved by calling a complete solver, and the first and third sub-problems can also be solved by prioritized planning. Both CBS and EECBS are complete MAPF solving algorithms, with the former capable of planning optimal paths and the latter having a faster speed. Based on this, we can get three combined planning schemes: CBS+RPP, EECBS+RPP, and EECBS*3 (three sub-problems are solved by EECBS). The planning schemes used for comparison are CBS, EECBS, and RPP [16, 18, 22]. In this simulation, the maximum time for each algorithm to solve each MAPF instance is a minute. The following three indicators are used for performance evaluation: Sum of costs—the average cost of the solution obtained by each algorithm; runtime—the average time required for each algorithm to solve an instance; success rate—the ratio of the number of instances solved by each algorithm within a minute to the total number.
Figure 7 shows the average solution cost of the six algorithms on different maps. It can be seen that all curves increase with the number of agents, but there are differences in the rate of their increase. The RPP-related algorithms have significantly higher curves than the other algorithms, which indicates a worse quality of their solutions. However, the cost curves of EECBS*3 and EECBS almost overlap, indicating that our proposed decoupling scheme is not the main reason for the degradation of the solution quality. We label the cost difference between the solution of EECBS+RPP and CBS at a success rate of 1 (Fig. 7), and the data show that the cost difference between their solutions is within 20% if less than 100 agents are considered in the MAPF problem.
Figure 8 shows the average solving time of the six algorithms on different maps. The results show that the planning time of all algorithms increases with the number of agents in the MAPF problem. Among them, CBS is undoubtedly the most time-consuming. It can be seen that there seems to be a threshold value for the number of agents below which EECBS is more efficient, and conversely, the decoupling-based planning scheme proposed in this paper is more effective. For example, the agent threshold in the empty-32-32 map is 300, while in the empty-48-48 map is 750. To further investigate the relationship between this threshold and the map, we introduce the parameter Map-load (the ratio of agents to free vertices) to describe the density of agents. It can be seen that the threshold value of Map-load is almost the same in the same type of maps. For example, the Map-load threshold is about 0.3 in the empty-type maps and about 0.18 in the random-type maps. The reason for this phenomenon is that when the density of agents is low, there are fewer conflicts between agents and prioritized planning still performs exhaustive detections, most of which are unnecessary and thus waste a lot of time. However, as conflicts between agents increase, these conflict detections are necessary, making planning more efficient.
Analyzing the intersection curves in Fig. 8, it is known that there exists a time threshold in each map corresponding to the threshold of the number of agents, and these decoupling-based planning algorithms will perform better than EECBS if the given maximum runtime is higher than this threshold. For example, this time threshold is 1.73 s in the empty-32-32 map and 26.76 s in the empty-48-48 map. It can be seen that the time thresholds vary greatly from map to map, specifically, the larger the map, the larger its value. Based on this, it is not difficult to deduce that the time threshold of warehouse-10-20-10-2-1 should be greater than 60 s. In addition, this discovery can be used to analyze the success rate curve shown in Fig. 9. Figure 9 shows the success rate of different solvers in one minute on different maps. What can be seen in this figure is that those MAPF solvers (CBS+RPP, EECBS+RPP, and EECBS*3) based on the proposed scheme perform better than EECBS in the first five maps except warehouse-10-20-10-2-1. Of course, if the simulation time is limited below the time threshold, EECBS will perform better than the MAPF solvers based on the proposed planning scheme. For example, if the simulation time is set to 10 s, the success rate curve shown in Fig. 10 can be obtained. In this figure, EECBS has the highest success rate curve on empty-48-48 and random-64-64-20.
Conclusions
To improve the efficiency of solving MAPF problems, this paper proposes a decoupling method by investigating the relationship between graph vertices and feasible solutions. Based on this decoupling method, any given MAPF problem can be divided into three sub-problems while maintaining solution completeness. All three sub-MAPF problems can be solved sequentially by a complete solver, and two of them can also be solved by a prioritized planning algorithm. On the theoretical side, we have proved that decoupling-based planning schemes are complete and will not fail if given enough time. The experimental results show that although this decoupling-based planning scheme does not improve the quality of the solution, it enhances the efficiency of solving MAPF problems with high agent density. Moreover, the solving time can be further reduced by invoking the prioritized planning algorithm.
Due to the rapid development of artificial intelligence, the problem of Multi-Agent Path Finding has become more and more complex. In the future, we will further conduct theoretical research on the MAPF solver to deal with various challenging application problems. Of course, the decoupling method has some shortcomings. It assumes that the agent can stay in any position, but the fixed-wing drones cannot hover in the air.
Data Availability
The datasets generated during and/or analysed during the current study are available from the corresponding author on reasonable request.
References
Trüg S, Hoffmann J, Nebel B (2004) Applying automatic planning techniques to airport ground-traffic control-a feasibility study
Wurman PR, D’Andrea R, Mountz M (2008) Coordinating hundreds of cooperative, autonomous vehicles in warehouses. AI Mag 29(1):9
Bennewitz M, Burgard W, Thrun S (2002) Finding and optimizing solvable priority schemes for decoupled path planning techniques for teams of mobile robots. Robot Auton Syst 41(2–3):89–99
Stern R, Sturtevant NR, Felner A, Koenig S, Ma H, Walker TT, Li J, Atzmon D, Cohen L, Kumar TS et al (2019) Multi-agent pathfinding: definitions, variants, and benchmarks. In: Twelfth annual symposium on combinatorial search
Hart PE, Nilsson NJ, Raphael B (1968) A formal basis for the heuristic determination of minimum cost paths. IEEE Trans Syst Sci Cybern 4(2):100–107
Čáp M, Novák P, Vokřínek J, Pěchouček M (2013) Multi-agent rrt*: Sampling-based cooperative pathfinding. arXiv:1302.2828
Jiang J, Wu K (2020) Cooperative pathfinding based on memory-efficient multi-agent rrt. IEEE Access 8:168743–168750
Han SD, Yu J (2020) Ddm: fast near-optimal multi-robot path planning using diversified-path and optimal sub-problem solution database heuristics. IEEE Robot Autom Lett 5(2):1350–1357
Kornhauser DM, Miller G, Spirakis P (1984) Coordinating pebble motion on graphs, the diameter of permutation groups, and applications, Master’s thesis, M.I. T., Dept. of Electrical Engineering and Computer Science
Luna RJ, Bekris KE (2011) Push and swap: fast cooperative path-finding with completeness guarantees. In: Twenty-second international joint conference on artificial intelligence
De Wilde B, Ter Mors AW, Witteveen C (2014) Push and rotate: a complete multi-agent pathfinding algorithm. J Artif Intell Res 51:443–492
Wagner G, Choset H (2011) M*: a complete multirobot path planning algorithm with performance bounds. In: IEEE/RSJ international conference on intelligent robots and systems, pp 3260–3267. IEEE
Ren Z, Rathinam S, Choset H (2021) Ms*: a new exact algorithm for multi-agent simultaneous multi-goal sequencing and path finding. In: 2021 IEEE international conference on robotics and automation (ICRA), pp 11560–11565. IEEE
Standley T (2010) Finding optimal solutions to cooperative pathfinding problems. In: Proceedings of the AAAI conference on artificial intelligence, vol 24
Sharon G, Stern R, Goldenberg M, Felner A (2013) The increasing cost tree search for optimal multi-agent pathfinding. Artif Intell 195:470–495
Sharon G, Stern R, Felner A, Sturtevant NR (2015) Conflict-based search for optimal multi-agent pathfinding. Artif Intell 219:40–66
Boyarski E, Felner A, Stern R, Sharon G, Tolpin D, Betzalel O, Shimony E (2015) Icbs: improved conflict-based search algorithm for multi-agent pathfinding. In: Twenty-fourth international joint conference on artificial intelligence
Li J, Ruml W, Koenig S (2021) Eecbs: a bounded-suboptimal search for multi-agent path finding. In: Proceedings of the AAAI conference on artificial intelligence (AAAI), pp 12353–12362
Boyarski E, Felner A, Harabor D, Stuckey PJ, Cohen L, Li J, Koenig S (2020) Iterative-deepening conflict-based search. In: IJCAI, pp 4084–4090
Cohen L (2020) Efficient bounded-suboptimal multi-agent path finding and motion planning via improvements to focal search, Ph.D. thesis, University of Southern California
Erdmann M, Lozano-Perez T (1987) On multiple moving objects. Algorithmica 2(1):477–521
Čáp M, Novák P, Kleiner A, Seleckỳ M (2015) Prioritized planning algorithms for trajectory coordination of multiple mobile robots. IEEE Trans Autom Sci Eng 12(3):835–849
Čáp M, Vokřínek J, Kleiner A (2015) Complete decentralized method for on-line multi-robot trajectory planning in well-formed infrastructures. In: Twenty-fifth international conference on automated planning and scheduling
Dewangan RK, Shukla A, Godfrey WW (2017) Survey on prioritized multi robot path planning. In: IEEE international conference on smart technologies and management for computing, communication, controls, energy and materials (ICSTM), pp 423–428. IEEE
Bennewitz M, Burgard W (2001) Finding solvable priority schemes for decoupled path planning techniques for teams of mobile robots. In: Proc. of the international symposium on intelligent robotic systems (SIRS), Citeseer
Amir O, Sharon G, Stern R (2015) Multi-agent pathfinding as a combinatorial auction. In: Twenty-ninth AAAI conference on artificial intelligence
Morag J, Stern R, Felner A, Atzmon D, Boyarski E (2021) Optimality in online multi-agent path finding
Bennewitz M, Burgard W, Thrun S (2002) Finding and optimizing solvable priority schemes for decoupled path planning techniques for teams of mobile robots. Robot Auton Syst 41(2–3):89–99
Andreychuk A, Yakovlev K (2018) Two techniques that enhance the performance of multi-robot prioritized path planning. arXiv:1805.01270
Azarm K, Schmidt G (1997) Conflict-free motion of multiple mobile robots based on decentralized motion planning and negotiation. In: Proceedings of international conference on robotics and automation, vol 4, pp 3526–3533. IEEE
Ma H, Harabor D, Stuckey PJ, Li J, Koenig S (2019) Searching with consistent prioritization for multi-agent path finding. In: Proceedings of the AAAI conference on artificial intelligence, vol 33, pp 7643–7650
Wu W, Bhattacharya S, Prorok A (2020) Multi-robot path deconfliction through prioritization by path prospects. In: 2020 IEEE international conference on robotics and automation (ICRA), pp 9809–9815. IEEE
Van Den Berg JP, Overmars MH (2005) Prioritized motion planning for multiple robots. In: 2005 IEEE/RSJ international conference on intelligent robots and systems, pp 430–435. IEEE
Velagapudi P, Sycara K, Scerri P (2010) Decentralized prioritized planning in large multirobot teams. In: 2010 IEEE/RSJ international conference on intelligent robots and systems, pp 4603–4609. IEEE
van Den Berg J, Snoeyink J, Lin MC, Manocha D (2009) Centralized path planning for multiple robots: optimal decoupling into sequential plans. In: Robotics: science and systems, vol 2, pp 2–3
Wang H, Rubenstein M (2020) Walk, stop, count, and swap: decentralized multi-agent path finding with theoretical guarantees. IEEE Robot Autom Lett 5(2):1119–1126
Li J, Chen Z, Zheng Y, Chan S-H, Harabor D, Stuckey PJ, Ma H, Koenig S (2021) Scalable rail planning and replanning: winning the 2020 flatland challenge. In: Proceedings of the international conference on automated planning and scheduling, vol 31, pp 477–485
Funding
This work was supported in part by the National Natural Science Foundation of China (No. 11972314) and Shaanxi Federation of Social Sciences (2022HZ1390).
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors have no relevant financial or non-financial interests to disclose.
Ethics approval
Not applicable. Our manuscript does not report the results of studies involving humans or animals.
Consent to participate
Informed consent was obtained from all individual participants included in the study.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Liao, B., Zhu, S., Hua, Y. et al. A decoupling method for solving the multi-agent path finding problem. Complex Intell. Syst. 9, 6767–6780 (2023). https://doi.org/10.1007/s40747-023-01088-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s40747-023-01088-2