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. 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. 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. 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:

$$\begin{aligned} \begin{array}{ll} S^\textrm{given} =\underset{a_i\in L_\textrm{given} }{\mathop {\bigcup }}\,s_{i} &{} G^\textrm{given} =\underset{a_i\in L_\textrm{given} }{\mathop {\bigcup }}\,g_{i} \\ S^{>i} =\underset{j = j+1,\ldots ,n}{\mathop {\bigcup }}\,s_{j} &{} G^{<i} =\underset{j = 1,\ldots ,i-1 }{\mathop {\bigcup }}\,g_{j} \end{array} \end{aligned}$$

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.

Fig. 1
figure 1

A workspace for illustration

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.

figure a

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.

Fig. 2
figure 2

Planning framework based on the decoupling method. The given initial MAPF problem is divided into three sub-MAPF problems and solved sequentially

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.

Fig. 3
figure 3

MAPF instance: can be solved only with priority ordering: \({{\xi }_{2}}\prec {{\xi }_{1}}\)

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.

Fig. 4
figure 4

MAPF instance: can not be solved by any fixed priority ordering

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.

Fig. 5
figure 5

MAPF instance: can be decoupled

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.

Fig. 6
figure 6

Decoupling performance over different numbers of simulated agents. The blue solid line indicates the number of agents that need to be coupled during the solving process (Left y-axis) and the red solid line indicates the average time required to decouple MAPF problems (Right y-axis)

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.

Fig. 7
figure 7

Solution quality of different solvers on different maps. The solution cost of RPP-related algorithms is slightly higher, but the curves of EECBS and EECBS*3 almost overlap, indicating that the proposed planning scheme does not lead to a significant decrease in solution quality

Fig. 8
figure 8

Runtime of different solvers on different maps. There are differences in the growth curves of the solving time required by different algorithms, and the proposed planning scheme is faster in solving MAPF problems with higher agent density (map load)

Fig. 9
figure 9

Success rate of different solvers in one minute on different maps. The proposed planning scheme has the highest success rate (red and blue solid lines) in most maps with a maximum simulation time of 60 s

Fig. 10
figure 10

Success rate of different solvers in 10 s on different maps. This indicates that the success rate of different algorithms to solve MAPF problems is closely related to the given maximum simulation time

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.