Next Article in Journal
Ground Risk Assessment for Unmanned Aircraft Systems Based on Dynamic Model
Next Article in Special Issue
Towards Resilient UAV Swarms—A Breakdown of Resiliency Requirements in UAV Swarms
Previous Article in Journal
Unmanned Aerial Vehicle Adaptation to Facilitate Healthcare Supply Chains in Low-Income Countries
Previous Article in Special Issue
A Group Maintenance Method of Drone Swarm Considering System Mission Reliability
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Distributed Task Rescheduling Method for UAV Swarms Using Local Task Reordering and Deadlock-Free Task Exchange

College of Intelligence Science and Technology, National University of Defense Technology, Changsha 410073, China
*
Author to whom correspondence should be addressed.
Drones 2022, 6(11), 322; https://doi.org/10.3390/drones6110322
Submission received: 30 September 2022 / Revised: 16 October 2022 / Accepted: 21 October 2022 / Published: 27 October 2022
(This article belongs to the Special Issue Intelligent Coordination of UAV Swarm Systems)

Abstract

:
Distributed task scheduling is an ongoing concern in the field of multi-vehicles, especially in recent years; UAV swarm performing complex tasks endows it with new characteristics, such as self-organization, scalability, reconfigurability, etc. This requires the swarm to have distributed rescheduling capability to dynamically include as many unassigned tasks or new tasks as possible, while satisfying tight time constraints. As one of the most advanced rescheduling methods, the Performance Impact (PI)-MaxAss algorithm provides an important reference for this paper. However, its task exchange-based strategy faces the deadlock problem, and the task rescheduling method should not be limited to this. To this end, a new distributed rescheduling method is proposed for UAV swarms, which combines the local task reordering strategy and the improved task exchange strategy. On the one hand, based on the analysis of the fact that the scheduler is unreasonable for individuals, this paper proposes a local task reordering strategy denoted as PI-Reorder, which simply adds the reordering strategy to the recursive inclusion phase of the PI-MinAvg algorithm, so that unassigned tasks or new tasks can be included without relying on the task exchange. On the other hand, from the phenomenon that two or more vehicles occasionally get caught in an infinite cycle of exchanging the same tasks, the deadlock problem of PI-MaxAss is analyzed, which is then solved by introducing a deadlock-free task exchange strategy, where some defined counters are used to detect and isolate the deadlocks. Then, a rescue scenario is used to demonstrate the performance of the proposed methods, PI-Hybrid compared with PI-MaxAss. Monte Carlo simulation results show that, compared with PI-MaxAss, this method can not only increase the number of allocations to varying degrees, but also reduce the average waiting time, while ensuring deadlock avoidance. The methods can be used not only for the secondary optimization of the existing task exchange scheduling algorithms to escape local optima, but also for task reconfiguration of swarm tasks after adding or removing tasks.

1. Introduction

In recent years, UAV swarms have attracted much attention due to their low cost, scalability, wide-area distribution, etc. [1,2,3]. A team of homogeneous or heterogeneous specialized UAVs can cover more ground and be more resilient to failures than a single all-purpose UAV [4]. They have broad application prospects in post-disaster search and rescue, pollution traceability, pick-up and delivery, logistics, and any scenario that requires many urgent jobs to be completed in a minimum time by multiple UAVs. Different from simple clustering behavior, which can be achieved with a stigmergy-based approach, the complex tasks cannot be accomplished by a swarm without the assignment of tasks and the arrangement of their timing, that is, multi-vehicle scheduling. It is nothing new, but the swarm boom in recent years activates it again [5,6], and endows it with new characteristics, such as self-organization, scalability, reconfigurability, etc.
Multi-vehicle scheduling is a proven NP-hard combinatorial optimization problem; therefore, obtaining the global optimal solution is computationally intensive [7]. Earlier studies used a centralized approach to generate and distribute plans for all vehicles by using a central server capable of gathering system-wide information (situational awareness), either on the ground (the fleet’s ground control terminal) or on one of the vehicles selected as the master. In this approach, the overall objective function of the problem concerned can be explicitly minimized or maximized based on the collection of all vehicle information on a central server. Therefore, the main advantage lies in the ability to optimize the overall objective function (and thus obtain the approximate optimal solution) by some heuristic algorithms (such as genetic algorithm, ant colony algorithm, etc.). However, there are several disadvantages [8]: First, the computational requirements are high because the computational operations are placed on a central server for global optimization of the multi-vehicle scheduling problem; second, each vehicle is required to communicate with the central server, and all vehicles need to communicate their situational awareness (SA) to the central server, which will bring a heavy communication burden. Third, centralized approaches are prone to single points of failure.
Given the individual low cost and self-organization of the swarm, the individual cannot afford the computationally expensive centralized scheduling, and the central server faces the communication pressure brought by information collection. To this end, the swarm can only resort to distributed task scheduling [9,10,11], which is roughly divided into three implementation approaches: redundant central computing, distributed parallel optimization and market-based bidding. Redundant central computing instantiates the centralized scheduler on each vehicle in order to achieve distribution, as well as eliminate the single point of failure [12,13,14]. These approaches often assume perfect communication links with unlimited bandwidth, since every vehicle must have the same SA. Inconsistencies in SA can lead to allocation conflicts because each vehicle will perform a centralized optimization using a different information set. Distributed parallel optimization divides the global optimization problem into sub-problems, which are solved by parallel computation to obtain higher optimization performance and computational efficiency [14,15,16,17,18]. These methods rely on high-frequency and high-speed data exchange and seem to be more suitable for gigabit connected server farms. Market-based bidding is where vehicles bid on tasks in a greedy strategy, the higher bidder wins the task, and the suboptimal solution can be obtained through multiple rounds of bidding [7,19,20]. In these types of algorithms, vehicles bid on tasks with values based solely on their own SA. Even if there are inconsistencies in their SA, they can naturally converge to a conflict-free solution. In comparison, market-based bidding is more suitable for the low cost, self-organization, and wide-area distribution of swarms.
The scalability of the swarm cannot be ignored; it means that the UAV can flexibly join or withdraw. As the number of tasks and UAVs increases, it is usually too computationally expensive to consider each combination of tasks for each UAV in order to find the optimal solution. The computational limitations are particularly relevant in search and rescue scenarios in which time and resources could be limited. Thus, heuristic methods are employed to speed up the process of task scheduling while maintaining an efficient and scalable algorithm. Consensus-Based Bundle Algorithm (CBBA) [19] and Performance Impact (PI-MinAvg) [7,21] are two of the most representative heuristic methods, and many methods are derived from them. CBBA is a popular solution that utilizes a heuristic greedy strategy locally to select tasks and resolves task conflicts among multiple agents through consensus rules. It has been shown that CBBA produces the same solution as the centralized sequential greedy procedures, and guarantees 50% optimality, which means that CBBA is still trapped into local optimization where each robot is striving for its own optimal scheduling and cannot give up some local optimal tasks for the global optimization. PI-MinAvg is an extension of CBBA, which introduces the ‘significance’ to prioritize task assignments and updates the significance of the follow-up tasks in the respective task list after any task is included or removed. It was shown empirically to solve time-critical task scheduling problems that CBBA could not, and was shown to find a lower average start time compared with CBBA. Despite the improved performance, PI-MinAvg still fails to solve some problems that are solvable due to converging to locally optimal but globally suboptimal solutions. It can be seen that heuristic methods to solve combinational optimization problems are prone to finding a local optimum and lack the flexibility to escape from it [22]; nonetheless, a second search can perturb the first phase solution out of local optima to reach an enhanced solution closer to a nondominated global optimum. The procedure follows a two-phase task scheduling strategy that starts from a solution generated with an existing scheduling algorithm that minimizes average waiting time; a rescheduling method needs to be used in the second stage for maximizing task allocations.
In addition to the above features, the reconfigurability of swarms is meant to support the dynamic addition or removal of tasks, which also requires the swarm to have the ability to reschedule tasks. For instance, CBBA with Partial Replanning (CBBAPR) [20] enables CBBA to respond quickly to new tasks that appear online. PI-MaxAss [23] can increase the allocation number by exchanging tasks among robots and creating a feasible time slot for unallocated tasks. Moreover, preliminary experiments running PI-MaxAss showed that two or more UAVs occasionally get caught in an infinite cycle of exchanging the same tasks, i.e., a deadlock problem. This phenomenon is intolerable for the swarm and will cause the system to stagnate. Still taking search and rescue as an example, when multiple UAVs conduct distributed scheduling, without the truncation of the algorithm, they will not be able to jump out of the infinite loop of the algorithm, resulting in the failure to obtain and execute the schedules in time, and ultimately leading to the failure of survivors obtaining rescue. The paper [22] proposed a solution to limit the number of times that a robot can remove the same task before it no longer attempts to include it. However, this method relies heavily on the reasonableness of the maximum number of removals, with a lower limit causing premature truncation of the algorithm, and a higher limit causing multiple invalid bids. The above facts indicate that solving the deadlock problem arising from the exchange mechanism and further improving the performance of task rescheduling methods are worthy of research.
It can be seen that task rescheduling can be used not only for the secondary optimization of the algorithm to escape local optima, but also for task reconfiguration after adding or removing tasks. This paper proposes a novel distributed rescheduling method for UAV swarms using local task reordering and deadlock-free task exchange. First, in terms of the search and rescue scenario, a distributed tasks rescheduling problem is formulated as a mathematical optimization problem coupled with some time, space or task constraints. Second, based on suboptimal solutions obtained with a scheduling method such as PI-MinAvg, a novel local task reordering strategy denoted as PI-Reorder is designed, which simply adds the strategy to the recursive inclusion phase of PI-MinAvg, so that unassigned tasks or new tasks can be included as soon as possible without relying on the task exchange strategy (such as PI-MaxAss). Third, from the phenomenon that shifting tasks occasionally falls into an infinite cycle, the deadlock problem of PI-MaxAss is analyzed, which is then solved by introducing a deadlock-free task exchange strategy, where a removed task set, an included task set, a task removed counter, a task included counter and a collection of task included counters are introduced together to detect and isolate deadlocks. Fourth, the local task reordering strategy and the deadlock-free task exchange strategy is integrated into an algorithm called PI-Hybrid. Monte Carlo simulation results show that the proposed local task reordering strategy PI-Reorder and the improved exchanging strategy PI-Hybrid can both increase the number of allocated tasks and reduce the total task waiting time to different degrees in the swarm search and rescue task. Pi-Reorder provides a new boost to the result performance of the PI-MinAvg algorithm. Compared with PI-MaxAss method, PI-Hybrid has a small improvement in the results, and overcomes the intolerable deadlock problem of swarm distributed scheduling.
The rest of this paper is organized as follows. In Section 2, a formal description of a typical task rescheduling problem is given and a classical distributed scheduling algorithm is introduced. Section 3 presents a distributed rescheduling method—Section 3.1 presents a local task reordering strategy, Section 3.2 presents an improved task exchange strategy and Section 3.3 presents an integrated reordering and exchange method. Numerical simulation and analysis are presented in Section 4. Finally, some conclusions are drawn in Section 5, followed by expectations for the future.

2. Preliminaries

2.1. Problem Formulation

Consider a variety of heterogeneous UAVs performing a search and rescue mission; the purpose is to cooperate with each other to rescue a number of survivors discovered, who require food supplies or medical provisions [22,24]. Each survivor must be visited by one UAV in order to be deemed rescued. Every UAV always follows a minimum time path to visit all of the unvisited survivors allocated to it, while not being required to return to its initial location. The scenarios have similarities with the traveling salesman problem (TSP), a well-known NP-hard combinatorial optimization problem. The objectives considered here are comparable to the constraints of two variants of the TSP: the team orienteering problem with time windows (TOPTW) [25] and the K-traveling repairmen problem (K-TRP) [26]. These objectives and constraints are applicable to a variety of scenarios such as those found in target tracking, pick-up and delivery, logistics and any scenario that requires many urgent jobs to be completed in a minimum time by multiple drones. One challenge in using a swarm is to schedule them to perform tasks while optimizing one or more objectives, for example, to minimize the average waiting time before their rescue, and to maximize the number of rescued survivors.
To formulate the problem mathematically, a set of n heterogeneous UAVs is defined by V = v 1 , v 2 , , v n , and a set of m tasks waiting to be conducted is defined by T = t 1 , t 2 , , t m . Each UAV v i selects its appropriate tasks from the task set T and arranges them in sequence to form its scheduler p i respecting time constraints. Whether a task is appropriate for a UAV depends on two aspects: one is whether the UAV can undertake this type of task, which is limited by the fact that low cost UAVs usually only have single task capability; another aspect is whether the task is within the limited range of the drone. The optimization objective J of the scheduling problem shown in the following formula is to minimize the total waiting time C as much as possible under the premise of allocating as many tasks N as possible.
J = min C max N
where
C = i = 1 n k = 1 p i c i , k p i , N = i = 1 n p i
in which the time cost of a task t k in p i , defined as c i , k p i , is the predicted waiting time taken by the drone to arrive at the location of the task t k . This time includes the duration of earlier tasks in p i and travel time to and from those earlier tasks, but does not include the duration of the execution of t k . The objective of minimizing waiting time measures the cost of a task scheduling as the time it takes to start serving the task from the start of the drone’s schedule, i.e., the total time the survivor must wait before being attended to. p i is the number of assigned tasks for v i . Maximizing N measures the number of tasks assigned, that is, the number of survivors rescued.
The corresponding constraints are listed below:
p i N i , i 1 , , n p i p j = , i j 1 , , n i z p i T , i , z 1 , , n c i , k p i s p i , K , i 1 , , n , k 1 , , m h i , k H , i 1 , , n , k 1 , , m
where the first constraint represents the capacity N i at which the UAV v i can perform tasks. The second constraint ensures that each task is assigned to at most one UAV, or is left unassigned because it is beyond the capabilities of all UAVs. The validity of scheduling is promised by the third constraint where any scheduler’s combination is a subset of the task set T. The fourth constraint guarantees that the time c i , k p i UAV v i to initiate the kth task in its scheduler p i would be before their tasks’ deadlines s p i , K , after which it is too late for the task to be executed successfully. It is therefore necessary to determine whether a drone can arrive at the location of a task t k before the latest start time s p i , K . The last constraint in the form of a compatibility matrix H expresses that each UAV can only undertake one corresponding type of task, where h i , k is a Boolean variable.
Assume that a suboptimal solution in which additional tasks cannot be directly included without violating time constraints is obtained with the scheduling method; the UAVs rely on a decentralized rescheduling method to coordinate a rescue plan over multiple iterations to increase the allocation number simply. The main challenge is to reach an optimal allocation where the allocation number is maximized and the waiting time minimized while respecting time constraints.

2.2. Scheduling with PI-MinAvg

Whitbrook et al. [21] and Zhao et al. [7] proposed a distributed scheduling method as an extension of CBBA; it was shown empirically to solve time-critical task allocation problems such as search and rescue. In this method, a quantity called performance impact is introduced to determine the priority of task allocation for the robot, which takes into account not only the cost of task allocation, but also the impact of the task allocation on other allocation costs in the robot scheduler. The method employs a heuristic greedy strategy to enable robots to build a bundle of tasks sequentially and to optimize one or more objectives indirectly with a consensus rule; for instance, the average waiting time can be reduced by shifting tasks between robots. With PI-MinAvg, a robot does not release a task until it is reassigned elsewhere at a lower cost; i.e., once a task is assigned it does not become unassigned. Like CBBA, PI-MinAvg iterates over a task inclusion phase, a communication and conflict resolution phase.
During the task inclusion phase, robots select a task at a time to include in their schedulers until no more tasks can be added. Before including a task, the algorithm computes the inclusion performance impacts (abbreviated as IPI-MinAvg) of all candidate tasks t q at each position l according to Equation (4), where candidate tasks are those compatible with v i ’s capabilities and not already in p i . Here, the IPI-MinAvg of a task represents the minimum impact of a task addition on the average waiting time of the existing tasks in p i .
ω q p i , t q = min l = 1 p i + 1 z = l p i + 1 c i , z p i l t q z = l p i c i , z p i
where c i , z p i denotes the start time of the task at position z in v i ’s scheduler; l indicates that the task t q is inserted into the l t h position of p i . Since the inserted task t q only affects the start times of its subsequent tasks in p i , the formula calculates the cumulative time delay of the l t h task and the tasks after it. A list to store the IPI-MinAvg of each task is kept on each robot and is defined as γ i = w 1 , , w m for robot v i .
After the IPI-MinAvg of all candidate tasks have been computed, v i selects for inclusion the task whose IPI-MinAvg can improve upon the task’s removal performance impacts (abbreviated as RPI-MinAvg) the most. The maximum difference between the RPI-MinAvg of all tasks and the IPI-MinAvg of all tasks is computed as max q = 1 m { γ i , q γ i , q } > 0 . An IPI-MinAvg of t q in p i lower than t q ’s RPI-MinAvg in another robot’s task list p j indicates that the global cost can be reduced if t q is reallocated to v i .
w k p i , t k = z = b p i c i , z p i z = b + 1 p i c i , z p i t k
where b is the position of task t k in v i ’s task list, c i , z p i denotes the time cost of the task at position z in p i ’s scheduler and p i t k denotes p i with t k removed. The RPI-MinAvg of a task t k is referred to formally as w k and each robot stores the vector γ i = w 1 , , w m .
During the communication and conflict resolution phase, robots share their schedulers with neighboring robots and resolve conflicting allocations. As two or more robots may be assigned the same task, the consensus procedure introduced in [19] is used to resolve these conflicting assignments. A lower RPI-MinAvg indicates a more optimal schedule; therefore robots with a higher RPI-MinAvg for a conflicting assignment release the task. The above two phases are alternately repeated until the task assignment is agreed upon within the swarm.

2.3. Rescheduling with PI-MaxAss

Turner et al. [22] proposed a distributed rescheduling method called PI-MaxAss as an extension of PI-MinAvg. Starting from a suboptimal assignment in which additional tasks cannot be directly included without violating time constraints, PI-MaxAss is able to reschedule tasks to increase the allocation number simply through the cost-independent allocation. The idea is to attribute a high cost to an assigned task when the release of this task can permit an additional task to be inserted within the free time created. A schedule is considered optimal and without cost if the release of any task does not permit another task to be scheduled within the free time created.
PI-MaxAss follows the same algorithm process of PI-MinAvg, iterating over a task inclusion phase, a communication and conflict resolution phase. However, it adopts different definitions of inclusion performance impact and removal performance impact, which are denoted as IPI-MaxAss and RPI-MaxAss, respectively. A task’s IPI-MaxAss is set to be without cost if it can be included in a scheduler and satisfy time constraints.
w q p i , t q = 0 , l t z p i l t q , c i , z p i l t q min s z , f i , t q ψ i
where the candidate tasks for inclusion in p i are formally defined as ψ i = { t q | t q p i , w q > 0 } , which are those compatible with the robot’s capabilities and not already in p i , and with an RPI-MaxAss greater than 0. The RPI-MaxAss of a task is formally defined as:
w q = U , i f t q p i 0 , i f t q p i
where the formula shows that unassigned tasks are initially set to have a fixed highest RPI-MaxAss, a constant defined as U, and the assigned tasks t k are initially set to have 0.

3. Proposed Rescheduling Method

In general, distributed scheduling is not necessarily reasonable for individuals; it sacrifices local optimization to obtain a conflict-free global suboptimal solution while limiting the number of assigned tasks. Moreover, the exchange strategy is prone to deadlock, which is intolerable for the swarm and must be resolved. Below, we propose solutions to the above two aspects. In this section, we apply two rescheduling strategies to improve these problems: (1) One is the cost-dependent rescheduling strategy, which simply adds a local task reordering strategy in the recursive inclusion phase of PI-MinAvg to include unassigned tasks or new tasks directly; (2) the other is the cost-independent rescheduling strategy, that is, the improved deadlock-free PI-MaxAss method, which relies on the task exchange strategy without cost to create free time slots to contain unassigned tasks or new tasks indirectly. Finally, we incorporate the task reordering mechanism of strategy 1 into the recursive inclusion phase of strategy 2 to form a hybrid task rescheduling method.

3.1. A Novel Local Task Reordering Strategy

For search and rescue missions, PI-MinAvg prioritizes minimizing the average start time of all tasks, and then considers the number of tasks that can be accommodated, which makes it difficult to further increase the total number of allocated tasks and is not the most desirable for rescue. In order to achieve a consistent schedule, there is a mutual compromize among agents, although each adopts a heuristic greedy strategy. This may lead to the local scheduler possibly not being reasonable for individuals; either there is a task to look far away, or there is a necessity to wait. In other words, on the individual level, there is room for improvement in the local scheduler. Moreover, exchange-based methods, such as CBBA and PI-MinAvg, have a common feature that once included tasks that are not removed from the swarm in subsequent bidding rounds; they will only be exchanged within the swarm and obtained by other UAVs at a lower price. Actually, it is possible for the UAVs to form new slots to contain unassigned tasks or new tasks simply by rearranging their respective tasks without violating time constraints. To this end, we propose a novel distributed rescheduling method (denoted as PI-Reorder), which simply adds the local task reordering strategy to the recursive inclusion phase of PI-MinAvg, so that unassigned tasks or new tasks can be included as soon as possible without relying on the task exchange strategy (such as PI-MaxAss). The following is an example where the heuristic greedy strategy leads to non-ideal individual scheduling, and PI-MaxAss is unable to further improve the scheduling results through cost-independent task exchange.
Example 1.
An illustrative example of two mobile UAVs v 1 , v 2 and five tasks t 1 , , t 5 distributed in a common partitioned workspace is depicted in Figure 1a. Driven by the greedy strategy of PI-MinAvg running on v 1 , the UAV will firstly select t 1 due to its lower IPI-MinAvg and then t 3 . Similarly, v 1 will choose to undertake t 2 and t 4 subsequently. However, the remaining task t 5 will not be selected by any UAV because neither v 1 nor v 2 can contain task t 5 without abandoning the existing task. Figure 1b depicts the timeline corresponding to the scheduling result in the left figure. Intuitively, it is not possible to create a feasible slot containing t 5 with a task exchange mechanism such as PI-MaxAss. For example: v 1 tries to pass t 1 to v 2 by raising t 1 ’s significance, thereby creating a slot that can contain t 5 ; however, v 2 is currently unable to take on additional tasks, and t 5 cannot be inserted into v 2 ’s task list. That is, there is no way to obtain a boost in the number of tasks by swapping methods.
The following describes the basic principles of the task reordering strategy, and the specific procedure is shown in Algorithm 1.
First, the UAV v i tries to sort its local scheduler in ascending order, according to the deadlines of tasks in the scheduler (Algorithm 1, line 2).
p ˜ i = s o r t p i , s . t . j 1 , , p i , s j , K < s j + 1 , K
Second, the UAV v i updates the time costs c i , k p i of tasks in p ˜ i (Algorithm 1, line 2). By adding t q to p i , v i will perform its remaining task assignments later. The time cost of tasks in the task list earlier than t q is not affected by increasing t q .
Next, following PI-MinAvg, mentioned in Section 2.2, the UAV v i selects a task at a time to include in its updated task lists p ˜ i until no more tasks can be added (Algorithm 1, lines 4–8).
Once tasks are recursively included, subsequent work follows the same method as PI-MinAvg, which is not described here.
Algorithm 1 Task Inclusion Procedure with Reordering running on v i .
1:
while p i N i do
2:
   Reorder p i according to tasks’ deadlines: p ˜ i s o r t p i .
3:
   Update the time costs c i , k p ˜ i for the tasks in p ˜ i .
4:
   Compute the marginal significance list γ i , q , q { 1 , , m } .
5:
   if max q = 1 m { γ i , q γ i , q } > 0 then
6:
      Insert the task t q into p ˜ i at position l .
7:
      Update γ i , q , β i , q , c i , κ ( p ˜ i ) .
8:
   end if
9:
    p i p ˜ i .
10:
end while
11:
Update significance list γ i , k , t k p i .
Continuing on Example 1, it is explained how the task reordering strategy achieves the further incorporation of t 5 while keeping the existing tasks t 1 , , t 4 unchanged when PI-MinAvg and PI-MaxAss are incapable.
Example 2.
Based on the schedulers t 1 , t 3 generated by PI-MinAvg, the UAV v 1 reorders its local scheduler according to tasks’ deadlines as shown in Figure 2a and it can create a new feasible slot for t 5 . Thus, v 1 is able to add t 5 into its scheduler, increasing the allocation numbers further. The task timelines corresponding to Example 1 (continued) are illustrated in Figure 2b. Intuitively, utilizing the task reordering strategy, v 1 reorders its local scheduler from t 1 , t 3 to t 3 , t 1 , despite increasing time cost. The change can create a feasible slot for unassigned tasks, so that v 1 adds a task into its scheduler as t 5 , t 3 , t 1 .
The above example shows that without a swapping task, it is possible for each UAV to further increase the allocation number by exploiting its local schedule potential.

3.2. A Deadlock-Free Task Exchange Strategy

The effect of simply using the task reordering strategy is limited, and the task exchange strategy is still needed to obtain better schedules. Starting from a suboptimal assignment in which additional tasks cannot be directly included without violating time constraints, PI-MaxAss presented in [22] is able to reschedule tasks to increase the allocation number simply through the cost-independent allocation. The idea is to attribute a high cost (RPI-MaxAss) to an assigned task when the release of this task can permit an additional task to be inserted within the free time created, to further increase the total allocation number. However, PI-MaxAss occasionally falls into an infinite cycle of shifting the same task, i.e., the deadlock problem. In this section, we first analyze the deadlock phenomenon, and then propose a deadlock-free task exchange strategy.
(1) Deadlock Analysis for PI-MaxAss. To explain the deadlock problem for PI-MaxAss intuitively here an example of deadlock is exhibited in Table 1 and a similar situation remains problematic.
Example 3.
A representative example of three mobile UAVs v 1 , v 2 , v 3 suffering from the deadlock problem when bidding for six tasks t 1 , , t 6 with PI-MaxAss is depicted in Table 1, wherein each bidding round task consensus (abbreviated as TC), task removal (abbreviated as TR), task’s RPI-MaxAss update (abbreviated as RU) and task inclusion (abbreviated as TI) work in turn, but the stage in which the intermediate results do not change is omitted here for simplification. With PI, v 1 obtains two tasks t 5 , t 3 , v 2 also obtains two tasks t 2 , t 4 , v 3 obtains the task t 6 and the remaining task t 1 cannot be executed by any UAV. Next, the rescheduling process of PI-MaxAss is shown in Table 1, where the symbol in the form of t k c , k 1 , , m indicates that t k is rescheduled to a UAV with its RPI-MaxAss equal to c. For an unassigned task (abbreviated as Un task), such as t 1 , its RPI-MaxAss is set to a high value U n · r , where r is a decay factor; that is, each time a task is rescheduled, its RPI value is subtracted by r. A task is regarded as an unassigned task if its RPI is larger than a preset value such as U 3 r ; that is, rescheduling is allowed for t 1 at most three times.
According to the schedules of PI-MinAvg given in the first row of Table 1, the rescheduling process of three UAVs bidding for six tasks is described in detail, which leads to an infinite deadlock loop.
In round 1, since v 1 and v 2 can add the unassigned task t 1 to their local scheduler on the premise that their tasks t 5 and t 6 are removed, respectively, they both actively increase t 1 ’s RPI-MaxAss to U r , so that t 1 may be bid by other UAVs in the next round. The RPI-MaxAss of the remaining tasks in the individual UAV schedulers remain the same because even if they intend to remove any tasks from their schedulers, they cannot add any unassigned tasks.
In round 2, after communicating with each other, v 2 will find that the RPI-MaxAss of tasks t 5 and t 6 belonging to v 1 and v 3 , respectively, have increased. At this point, v 2 has the opportunity to bid t 6 by removing t 2 or t 4 , while t 5 is not considered because it cannot satisfy v 2 ’s time constraints. Similar to round 1, the RPI-MaxAss of t 2 and t 4 need to be raised to U 2 r , so that they can be outbid by other UAVs.
In round 3, after communication and consistency, v 3 finds that v 2 increases the RPI of t 2 , so it can add t 2 to its scheduler without removing any tasks. In the RPI-MaxAss update stage, v 3 finds that t 4 can be added on the premise of removing t 6 , so t 6 ’s RPI-MaxAss is updated to U 3 r .
In round 4, v 2 has to remove t 2 which was outbid by v 3 . After removing t 2 , v 2 selects the task with the lowest cost among the current candidate tasks, which happens to be still t 2 here. Then, when v 2 updates the RPI-MaxAss, it can still obtain t 6 by increasing the RPI-MaxAss of t 2 or t 4 as in round 2, but at this time, since t 6 ’ RPI-MaxAss for v 3 has reached the threshold value U 3 r , for this reason v 2 cannot obtain t 6 with a lower RPI-MaxAss.
In round 5, v 3 has to remove t 2 which was outbid by v 2 . After removing t 2 , v 3 finds that there is a time margin to include t 1 , so it updates t 6 ’s RPI-MaxAss to U r , which goes back to round 2 (abbreviated as G2) and gets stuck in an endless loop.
Preliminary experiments running PI-MaxAss show that two or more UAVs occasionally get caught in an infinite cycle shifting the same tasks. For a swarm system, this phenomenon is intolerable and will cause the system to stagnate. For example, in a search and rescue mission, when multiple UAVs perform distributed task scheduling, in the absence of algorithm truncation, they will not be able to get out of the algorithm’s infinite loop, resulting in the inability to obtain schedules in time to carry out actions, and ultimately causing survivors to be unable to obtain rescue. Therefore, it is necessary to find a way to avoid this deadlock problem.
(2) A Deadlock-free Task Exchange Strategy. Ref. [22] proposed a solution to limit the number of times that a UAV can remove the same task from its list before it no longer attempts to include it. A removal task set Y i Z + is created to record removed tasks, and a counter vector ϖ i is used to store the times each task has been removed from a UAV v i ’s task list. The precaution ϖ i , k σ , t k p i can prevent those tasks that are being repeatedly swapped from being scheduled optimally, but it ensures that the system can converge. However, this method relies heavily on the reasonableness of the maximum number σ of removals, with a lower limit causing premature truncation of the algorithm, and a higher limit causing multiple invalid bids. Here, based on the exchange mechanism of PI-MaxAss, we introduce a removed task set Y i , an included task set Γ i , a task removed counter ϖ i , q , a task included counter ϑ i , q and a collection of task included counters Ξ i to achieve deadlock-free task exchange. The specific process is as follows:
As with PI-MaxAss, unallocated tasks are set initially to have a fixed highest RPI-MaxAss, a constant defined as U, such that if t q is unassigned then w q = U . The RPI-MaxAss of assigned tasks t k are initially set to 0, such that w k = 0 .
In the task inclusion phase as shown in Algorithm 2, UAVs select tasks to include in their schedulers until no more tasks can be added. The candidate task t q is the one compatible with the functionality of v i and not already in p i , and with an RPI-MaxAss greater than 0. In addition, t q either does not belong to the removed task set Y i , or it belongs to Y i but ϖ i , q < σ (Algorithm 2, line 4). This condition indicates that t q has never been removed in the previous iteration, or the task removed counter ϖ i , q is less than the set threshold σ . The candidate tasks for inclusion in p i are formally defined as
ψ i = t 1 , , t ς , t q p i , w q > 0 , i f t q Y i o r t q Y i a n d ϖ i , q < σ
If the condition in Algorithm 2, line 6, returns true for at least one position l, the IPI-MaxAss w q of t q in p i is recorded such that,
w q p i , t q = 0 , l t z p i l t q , c i , z p i l t q min s z , f i , t q ψ i
Next, v i selects for inclusion the task whose IPI-MaxAss can improve upon the task’s current RPI-MaxAss the most as shown in the following formula. An IPI-MaxAss of t q in p i lower than t q ’s RPI-MaxAss in another UAV’s task list p j indicates that the global cost can be reduced if t q is reallocated to v i .
max q = 1 m { γ i , q γ i , q } > 0
After the most appropriate task t q is included (Algorithm 2, line 11), t q needs to be added to the included task set Γ i if t q Γ i , the corresponding task which included counter ϑ i , q is instantiated with its initial value to be 1; otherwise, only the task which included count needs to be incremented by one (Algorithm 2, line 13).
Γ i Γ i t q a n d ϑ i , q 1 , i f t q Γ i ϑ i , q ϑ i , q + 1 , i f t q Γ i
Before the end of the task inclusion procedure, the RPI-MaxAss list, which keeps track of which UAV is assigned to which task, needs to be updated; this differs from PI-MaxAss in that additional conditions need to be met (Algorithm 2, line 15). Refer to Algorithm 3 for the specific process.
Algorithm 2 Task Inclusion Procedure running on v i .
1:
while p i N i do
2:
    w q ← highest permissible cost, w q γ i .
3:
   Identify candidate tasks ψ i satisfying t q Y i o r ( t q Y i a n d ϖ i , q < σ ) according to (11).
4:
   for each task t q in ψ i do
5:
       if p i l t q is feasible then
6:
         Record the IPI-MaxAss w q of t q in p i according to (10).
7:
       end if
8:
   end for
9:
   if max q = 1 m { γ i , q γ i , q } > 0  then
10:
    Insert task t q into p i at position l .
11:
    Update γ i , q , β i , q , c i , κ ( p i ) .
12:
     Γ i Γ i { t q } and ϑ i , q 1 if t q Γ i , else ϑ i , q ϑ i , q + 1 .
13:
   end if
14:
end while
15:
Update significance γ i , k with Algorithm 3 satisfying ϑ i , k > λ or ϖ i , k = 0 , t k p i .
In this paper, task t k ’s RPI-MaxAss γ i , k is the maximum significance change brought by the insertion of a candidate task t q Ω i , k shifted from other UAVs in local scheduler p i after t k is removed, where Ω i , k is the candidate tasks set consisting of unassigned tasks, and tasks that would be released from other UAVs’ schedulers.
Ω i , k = t q ψ ¯ i | l t z { p i k l t q } , c i , z ( p i k l t q ) min ( s z , f i )
where ψ ¯ i is a list of the candidate tasks defined as follows:
ψ ¯ i = t 1 , , t ζ , t q p i , 0 < δ < γ i , q , i f Ξ i , k > λ o r ϖ i , k = 0
The candidate tasks follow the same constraints as the candidates in (11) with the added constraint that the candidate task’s RPI-MaxAss is greater than δ . This constraint is used to limit the number of reassignments permissible to allocate an additional task. In addition, tasks that do not belong to the removed task set Y i or with a task included counter ϑ i , k greater than the threshold λ can only be updated with the RPI-MaxAss. That is, if a task t k has never been removed, it can be freely updated with the RPI-MaxAss; if a task t k has a removed record and the task included counter Ξ i , k exceeds the threshold λ after being included in Γ i , then the task can be updated with the RPI-MaxAss.
If a task t k in p i can be replaced by two or more candidate tasks t q with different RPI-MaxAss, the highest RPI-MaxAss is recorded. The RPI-MaxAss of t q in p i is formally defined as
w k p i , t k = max q = 1 | Ω i , k | { w q r } , t q Ω i , k , r R +
where the decay factor r subtracted is used for limiting the number of reschedules.
Algorithm 3 Significance Update Procedure running on v i .
1:
Maintain tasks in p i with the lowest RPI-MaxAss to 0: γ i , k 0 , i f t k q i .
2:
Identify Candidate Tasks ψ ¯ i satisfying Ξ i , k > λ or ϖ i , k = 0 according to (14).
3:
for each task t k in p i  do
4:
   Create a temporary scheduler p i k = p i t k .
5:
   Update c i , z ( p i k ) for tasks after t k .
6:
   Identify the list of candidate tasks Ω i , k according to (13).
7:
   Compute t k ’s RPI-MaxAss w k ( p i , t k ) according to (15).
8:
end for
In the communication and conflict resolution phase as shown in Algorithm 4, except for the following differences, this paper follows the same task removal process for PI-MinAvg introduced in Section 2.2. When a task t k has been removed from the UAV v i ’s scheduler p i for the first time, it will be added to Y i , and ϖ i , k is initialized to 1; otherwise, only the removal count needs to be incremented by one.
Y i Y i t k a n d ϖ i , k 1 , i f t k Y i ϖ i , k ϖ i , k + 1 , i f t k Y i
Once the current round of removal while-cycle ends, the tasks just removed need to be immediately deleted from the inclusion set Γ i .
Γ i Γ i t k , t k Γ i Y i
The corresponding task included counter ϑ i , k Ξ i also needs to be cleared.
Ξ i Ξ i ϑ i , k , ϑ i , k Ξ i a n d t k Γ i
For the detailed removal process of PI-MinAvg, please refer to [7].
Algorithm 4 Task Removal Procedure running on v i .
1:
UAV v i forms its conflict tasks set d i p i [ β i [ p i ] i ] .
2:
while max k = 1 | d i | { γ i [ d i ] γ i [ d i ] } > 0 and d i  do
3:
   Remove task t k arg max k = 1 | d i | { γ i [ d i ] γ i [ d i ] } from p i and d i .
4:
   Update costs c i , κ ( p i ) and significance γ i for the rest of the tasks in p i and d i .
5:
    Y i Y i { t k } and ϖ i , k 1 if t k Y i , else ϖ i , k ϖ i , k + 1 .
6:
end while
7:
Remove task t k from the included task set Γ i for any t k Γ i Y i .
8:
Remove the task included counter ϑ i , k from Ξ i satisfying t k Γ i .
9:
Update the local list β i d i i belongs to UAV v i .

3.3. The Integrated Method with Task Reordering and Task Exchange

Here, a decentralized rescheduling method for each UAV running independently is presented, denoted as PI-Hybrid, which combines the local reordering strategy with the modified task exchange strategy to improve optimization and avoid deadlocks. The pseudocode of the entire iterative process is shown in Algorithm 5.
Before entering the loop iteration, the parameters Y i , ϖ i , k , σ , Γ i , ϑ i , k , Ξ i , λ need to be initialized. After entering the while loop, Algorithm 1 is called to reorder the tasks in the respective scheduler p i , and the unassigned tasks are added according to the greedy strategy to allocate as many tasks as possible. Next, Algorithm 2 is called to try to exchange the local task to other UAVs to free time slots for unassigned tasks. Subsequently, through mutual communication, the UAV v i obtains the consistent assignments of its scheduler β i and significance list γ i using consensus rules [19]. This information is used to guide the call to Algorithm 4 to remove local conflicting tasks. The above phases repeatedly alternate until a global conflict-free task allocation is agreed upon by all UAVs.
Algorithm 5 Distributed Scheduling Method running on v i
1:
Initialize timer T 1 and c o n v e r g e d f a l s e .
2:
Initialize parameters Y i , ϖ i , k , σ , Γ i , ϑ i , k , Ξ i , λ .
3:
while c o n v e r g e d is false do
4:
   Call Task Reordering Procedure with Algorithm 1.
5:
   Call Task Inclusion Procedure with Algorithms 2 and 3, in which.
6:
   Communication and Conflict Resolution using consensus rules.
7:
   Call Task Removal Procedure with Algorithm 4.
8:
    c o n v e r g e d C h e c k C o n v e r g e n c e .
9:
    T T + 1 .
10:
end while

4. Numerical Results

This section presents the numerical simulations conducted to test the performance of the proposed PI-Hybrid compared with that of PI-MinAvg and PI-MaxAss. In addition, PI-Reorder is also compared to independently reflect its impact on the overall performance. Among the above methods, PI-MaxAss, PI-Reorder and PI-Hybrid are all initialized with the PI-MinAvg solution. The results of simulations are analyzed from optimization and deadlock-free, respectively.

4.1. Scenario and Simulation Setup

The scenarios adopted in this paper are consistent with those of the literature [7,21]. The setup uses a rescue team equally split into two UAVs rescuing two types of survivors, who are likewise equally split into those requiring food and those requiring medicine. Parameters related to the scenario are summarized in Table 2 and are illustrated as follows. The UAVs are randomly distributed in 10 km × 10 km × 0 km ground space, where the UAVs’ speeds are assumed to be constant and are set to 30 m · s 1 and 50 m · s 1 , respectively. The tasks take place in a 3D space spanning 10 km × 10 km × 1 km, with coordinates drawn from uniform distributions randomly. The medicine tasks last for a duration of 300 s and the food tasks last 350 s. The deadlines for starting each rescue are uniformly distributed on a timeline between 0 and 2000 s. Given the random initialization of tasks and UAV locations and deadlines, it is sometimes impossible for some tasks to be started by any UAV before their deadline. In these simulations, all task information is available to all UAVs up front.

4.2. Results and Analysis

As elaborated here, the paper uses the Monte Carlo method to implement random simulations, where each method is tested 1000 times for each pair of p 2 , 3 , 4 , 5 and n 2 , 4 , , 16 . p is the ratio of the number of tasks to the number of UAVs, and n is the number of UAVs.

4.2.1. Optimization

First of all, the total allocation number obtained with four methods is compared and analyzed, which can be said to be the most important optimization indicator. For example, in search and rescue missions, saving one more survivor may be more important than other things. Figure 3 depicts the allocation numbers using four methods in the same scenario. When the proportion p is the same, as n increases, the total number of assigned tasks tends to increase. PI-MinAvg as a scheduling method has the lowest allocation number, and other rescheduling methods initialized with the PI-MinAvg solution all produce a boost in the allocation numbers. PI-Reorder can increase the limited allocation number by reordering UAVs’ local scheduler. PI-MaxAss as a typical task-swap method is able to obtain an appreciable effect on the allocation number. PI-Hybrid has the best improvement for the allocation numbers. Moreover, it should be explained that the deadline is randomly distributed between 0 and 2000 s, which means that some tasks have a short random deadline and it is impossible to complete them. Therefore, it is impossible to schedule all the tasks in such a situation.
Since Figure 3 can only present the variation trend of the number of scheduled tasks as increases and the approximate differences between methods, Figure 4 shows the box plots of the allocation numbers under the conditions of two groups of p = 2 , n = 6 and p = 5 , n = 16 , respectively.
It can be seen from Figure 4a that PI-Reorder cannot increase the number of scheduled tasks through local reordering based on the solution of PI-MinAvg, while PI-MaxAss allocates one more task as a whole through task exchange. Similarly, PI-Hybrid’s total allocation number is the same as PI-MaxAss. The reason for the above phenomenon is that when the total number of tasks to be assigned is low and the number of UAVs is small, the optimization of the PI-MinAvg solution is close to optimal, and the room for improvement is small. At this time, since the local task switching cannot obtain a better solution, PI-Hybrid actually works only by its task switching, which is equivalent to PI-MaxAss. It can be seen from Figure 4b that as p and n increase, the median task assignment of PI-Reorder increases from 66 to 69 compared to PI-MinAvg, which is due to the fact that more UAVs have more tasks that can be chosen so that the total number of tasks for the problem has more room for improvement. Of course, PI-Reorder that only relies on local tasks reordering cannot obtain the effect of the PI-MaxAss method using task exchange, but PI-Hybrid combining the two mechanisms can obtain a better solution than PI-MaxAss. For example, the median assigned tasks increased from 73.5 to 74.
Since the solution performance of PI-MinAvg and PI-MaxAss is already very good, it is not obvious from the improvement of the allocation numbers obtained in the above experiments. Next, the number of times increasing allocation numbers in 1000 tests with different combinations of p and n is counted as shown in Figure 5. Removing unnecessary elaboration, here mainly PI-Hybrid and PI-MaxAss are compared. It can be found that, when p is larger, more solutions of PI-MaxAss can be improved by PI-Hybrid. This is because the larger p is, the larger the space for reordering tasks will be, and the hybrid mechanism can achieve a better optimization effect that cannot be reached with a solo task swap.
Figure 6 summarizes the average increase of scheduled tasks in the improved solutions in which the mean and standard deviation are shown. Obviously, PI-Hybrid has a good effect on the increase of the number of allocated tasks compared with PI-MaxAss, where the increase rate has reached about 7% when p and n are equal to 3 and 6, respectively. When the number of UAVs increases, the space for swapping tasks is also enlarged, making the difference between the two methods smaller. That is why PI-Hybrid has a weaker effect compared with PI-MaxAss under the condition of n increasing but p remaining unchanged, which can be seen in Figure 6.
Next, let us look at another important indicator. Under the same total number of tasks scheduled, the shorter the average waiting time, the better the method. Figure 7 is a graph about the average waiting time of various methods to complete tasks in the same scenarios. It is observed that PI-MinAvg has the shortest completion time because it also completes the least number of tasks. PI-Reorder has the second short travel time, which is also reasonable for its completed task number exceeds PI-MinAvg but not others. In addition, carefully comparing PI-MaxAss and PI-Hybrid, whether it is the upper quartile, the median or the lower quartile, PI-Hybrid is lower than PI-MaxAss to varying degrees, which fully shows that the proposed method not only increases the total number of the scheduled tasks but also reduces the average waiting time.
Figure 8 shows the boxplot statistics of the average waiting time of the four methods under the conditions of p = 2 , n = 6 , and p = 6 , n = 16 , respectively. It shows the boxplot statistics of the average waiting time of the four methods under the conditions of p = 2 , n = 6 , and p = 6 , n = 16 , respectively. As the number of assigned tasks increases, the average waiting time of PI-MinAvg, PI-Reorder and PI-MaxAss also increases. It is worth remembering that from the median, upper quartile and lower quartile of average waiting time, PI-Hybrid is able to obtain less average waiting time while allocating more total tasks. This performance improvement is obtained by mixing two strategies of the task reordering and the task exchange, which is bound to be crucial for the swarm search and rescue.
From the above analyses, it can be seen that the combination of the local task reordering and the task exchange can not only improve the allocation number but also have better average waiting time.

4.2.2. Deadlock Avoidance

Another important issue addressed in this paper is to avoid the algorithm occasionally falling into an infinite cycle of shifting the same task. Figure 9 shows the statistical deadlock situation of different methods with various values of p, where the abscissa is the ratio of task and UAV numbers, and the ordinate is the deadlock rate. The deadlock rate of a method with each is its average under various conditions of n from 6 to 16, where each situation is tested 1000 times with random initialization of UAVs and tasks.
It can be found that the deadlock situation only occurs in PI-MaxAss, and all the other proposed methods do not exist in any deadlock. For the PI-MaxAss algorithm, when p is equal to 2 or 3, its deadlock rate is very low, having not reached 1%. However, its deadlock rate increases rapidly with the increase of p, which comes up to 6% approximately at the condition of p = 5 . This is because more participating UAVs and tasks will lead to more conflict between UAVs, while PI-MaxAss does not consider the potential deadlock avoidance. By contrast, PI-Hybrid is completely deadlock-free no matter what the values of p and n are.

5. Conclusions

Aiming at the new characteristics of multi-vehicle scheduling given by UAV swarm, such as self-organization, scalability and reconfiguration, this paper proposes a task rescheduling method that integrates local task reordering and improved task exchange strategy, with the goal of secondary optimization of task scheduling suboptimal solution and task reconfiguration. As a supplement to the task exchange-based strategy, local task reordering is a new cost-related strategy to increase the number of allocation tasks. To improve the task exchange-based strategy, deadlock detection and isolation mechanism are introduced to avoid occasional task exchange falling into the deadlock problem. Based on the swarm rescue mission, a large number of numerical simulation experiments show that the integrated method can not only improve the number of allocation tasks but also have a better average waiting time.
In the future, we will carry out research on scheduling and rescheduling methods under the condition of ad hoc network communication. For large-scale clusters, we will focus on architecture design, interaction mechanisms and algorithms. Field experiments will be conducted in combination with the real UAV swarm system.

Author Contributions

Conceptualization, J.L. and R.C.; methodology, J.L.; software, J.L.; validation, R.C.; investigation, T.P.; writing—original draft preparation, J.L.; writing—review and editing, T.P. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the Science and Technology Innovation 2030-Key Project of ‘New Generation Artificial Intelligence’ under Grant 2020AAA0108200.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Chung, S.J.; Paranjape, A.A.; Dames, P.; Shen, S.; Kumar, V. A Survey on Aerial Swarm Robotics. IEEE Trans. Robot. 2018, 34, 837–855. [Google Scholar] [CrossRef] [Green Version]
  2. Brambilla, M.; Ferrante, E.; Birattari, M.; Dorigo, M. Swarm Robotics: A review from the swarm engineering perspective. Swarm Intell. 2013, 7, 1–41. [Google Scholar] [CrossRef] [Green Version]
  3. Hadaegh, F.Y.; Chung, S.-J.; Manohara, H.M. On development of 100-gram-class spacecraft for swarm applications. IEEE Syst. J. 2014, 10, 673–684. [Google Scholar] [CrossRef] [Green Version]
  4. Cao, Y.; Yu, W.; Ren, W.; Chen, G. An overview of recent progress in the study of distributed multi-agent coordination. IEEE Trans. Ind. Inform. 2013, 9, 427–438. [Google Scholar] [CrossRef] [Green Version]
  5. Bossens, D.M.; Tarapore, D. Qed: Using quality-environmentdiversity to evolve resilient robot swarms. IEEE Trans. Evol. Comput. 2021, 25, 346–357. [Google Scholar] [CrossRef]
  6. Atn, G.M.; Duan, M.S.; Voulgaris, P.G. A swarm-based approach to dynamic coverage control of multi-agent systems. Automatica 2020, 112, 108637. [Google Scholar]
  7. Zhao, W.; Meng, Q.; Chung, P.W. A heuristic distributed task allocation method for multiUAV multitask problems and its application to search and rescue scenario. IEEE Trans. Cybern. 2015, 46, 902–915. [Google Scholar] [CrossRef] [Green Version]
  8. Zhang, K.; Collins, E.G., Jr.; Shi, D. Centralized and distributed task allocation in multi-robot teams via a stochastic clustering auction. ACM Trans. Auton. Adapt. Syst. 2012, 7, 21:1–21:22. [Google Scholar] [CrossRef]
  9. Chen, C.-H.; Chou, F.-I.; Chou, J.-H. Optimization of robotic task sequencing problems by crowding evolutionary algorithms. IEEE Trans. Syst. Man Cybern. Syst. 2021, 52, 6870–6885. [Google Scholar] [CrossRef]
  10. Kim, S.; Moon, I. Traveling salesman problem with a drone station. IEEE Trans. Syst. Man Cybern. Syst. 2018, 49, 42–52. [Google Scholar] [CrossRef]
  11. Xin, B.; Wang, Y.; Chen, J. An efficient marginal-returnbased constructive heuristic to solve the sensor–weapon–target assignment problem. IEEE Trans. Syst. Man Cybern. Syst. 2018, 49, 2536–2547. [Google Scholar] [CrossRef]
  12. Chen, W.; Wang, D.; Li, K. Multi-user multi-task computation offloading in green mobile edge cloud computing. IEEE Trans. Serv. Comput. 2018, 12, 726–738. [Google Scholar] [CrossRef]
  13. Mnif, S.; Elkosantini, S.; Darmoul, S.; Said, L.B. An immune network based distributed architecture to control public bus transportation systems. Swarm Evol. Comput. 2019, 50, 100478. [Google Scholar] [CrossRef]
  14. Mudrova, L.; Hawes, N. Task scheduling for mobile robots using interval algebra. In Proceedings of the 2015 IEEE International Conference on Robotics and Automation (ICRA), Seattle, WA, USA, 26–30 May 2015; pp. 383–388. [Google Scholar]
  15. Testa, A.; Rucco, A.; Notarstefano, G. Distributed mixedinteger linear programming via cut generation and constraint exchange. IEEE Trans. Autom. Control 2019, 65, 1456–1467. [Google Scholar] [CrossRef] [Green Version]
  16. Camisa, A.; Notarnicola, I.; Notarstefano, G. Distributed primal decomposition for large-scale milps. IEEE Trans. Autom. Control 2021, 67, 413–420. [Google Scholar] [CrossRef]
  17. Alighanbari, M.; How, J.P. Decentralized task assignment for unmanned aerial vehicles. In Proceedings of the 44th IEEE Conference on Decision and Control, Seville, Spain, 15 December 2005; pp. 5668–5673. [Google Scholar]
  18. Patel, R.; Rudnick-Cohen, E.; Azarm, S.; Otte, M.; Xu, H.; Herrmann, J.W. Decentralized Task Allocation in Multi-Agent Systems Using a Decentralized Genetic Algorithm. In Proceedings of the 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 31 May–31 August 2020; pp. 3770–3776. [Google Scholar] [CrossRef]
  19. Choi, H.-L.; Brunet, L.; How, J.P. Consensus-based decentralized auctions for robust task allocation. IEEE Trans. Robot. 2009, 25, 912–926. [Google Scholar] [CrossRef] [Green Version]
  20. Buckman, N.; Choi, H.-L.; How, J.P. Partial replanning for decentralized dynamic task allocation. In Proceedings of the AIAA Scitech 2019 Forum, San Diego, CA, USA, 7–11 January 2019; p. 915. [Google Scholar]
  21. Whitbrook, A.; Meng, Q.; Chung, P.W. Reliable, distributed scheduling and rescheduling for time-critical, multiUAV systems. IEEE Trans. Autom. Sci. Eng. 2017, 15, 732–747. [Google Scholar] [CrossRef] [Green Version]
  22. Turner, J.; Meng, Q.; Schaefer, G.; Whitbrook, A.; Soltoggio, A. Distributed task rescheduling with time constraints for the optimization of total task allocations in a multiUAV system. IEEE Trans. Cybern. 2017, 48, 2583–2597. [Google Scholar] [CrossRef] [Green Version]
  23. Turner, J.; Meng, Q.; Schaefer, G. Increasing allocated tasks with a time minimization algorithm for a search and rescue scenario. In Proceedings of the 2015 IEEE International Conference on Robotics and Automation (ICRA), Seattle, WA, USA, 26–30 May 2015; pp. 3401–3407. [Google Scholar]
  24. Parker, J.; Nunes, E.; Godoy, J.; Gini, M. Exploiting spatial locality and heterogeneity of agents for search and rescue teamwork. J. Field UAV 2016, 33, 877–900. [Google Scholar] [CrossRef]
  25. Vansteenwegen, P.; Souffriau, W.; Oudheusden, D.V. The orienteering problem: A survey. Eur. J. Oper. Res 2021, 209, 1–10. [Google Scholar] [CrossRef]
  26. Fakcharoenphol, J.; Harrelson, C.; Rao, S. The K-traveling repairmen problem. ACM Trans. Algorithms 2007, 3. [Google Scholar] [CrossRef]
Figure 1. Illustration of task schedules in Example 1, where v 1 executes tasks t 1 , t 3 in turn, v 2 executes t 2 , t 4 , with remaining task t 5 unallocated, and the rescheduling of PI-MaxAss cannot change this situation. (a) Schedulers generated by PI-MinAvg, where the dots represent tasks, dashed lines represent available time periods for tasks, red rectangles represent deadlines for task start, solid lines with arrows represent task schedulers and diamond patterns represent the duration of task execution. (b) Corresponding task timelines, where the red dotted lines indicate the tasks’ latest start time, the diagonal boxes indicate the transition time of the drones, the color-filled box indicates the duration of task execution.
Figure 1. Illustration of task schedules in Example 1, where v 1 executes tasks t 1 , t 3 in turn, v 2 executes t 2 , t 4 , with remaining task t 5 unallocated, and the rescheduling of PI-MaxAss cannot change this situation. (a) Schedulers generated by PI-MinAvg, where the dots represent tasks, dashed lines represent available time periods for tasks, red rectangles represent deadlines for task start, solid lines with arrows represent task schedulers and diamond patterns represent the duration of task execution. (b) Corresponding task timelines, where the red dotted lines indicate the tasks’ latest start time, the diagonal boxes indicate the transition time of the drones, the color-filled box indicates the duration of task execution.
Drones 06 00322 g001
Figure 2. Illustration of task schedules in Example 2, where v 1 executes tasks t 5 , t 3 , t 1 in turn, v 2 still executes t 2 , t 4 , with no remaining task. (a) Schedulers generated by PI-Reorder, where v 1 creates a new time slot to include t 5 by reordering its existing task list { t 1 , t 3 } . (b) Corresponding task timelines, where t 5 can be inserted into a new time slot after { t 1 , t 3 } is reordered, although t 1 can be executed with the latest start time allowed.
Figure 2. Illustration of task schedules in Example 2, where v 1 executes tasks t 5 , t 3 , t 1 in turn, v 2 still executes t 2 , t 4 , with no remaining task. (a) Schedulers generated by PI-Reorder, where v 1 creates a new time slot to include t 5 by reordering its existing task list { t 1 , t 3 } . (b) Corresponding task timelines, where t 5 can be inserted into a new time slot after { t 1 , t 3 } is reordered, although t 1 can be executed with the latest start time allowed.
Drones 06 00322 g002
Figure 3. Box plot comparison of total allocation numbers of four methods at p = 5 and n 6 , 8 , , 16 .
Figure 3. Box plot comparison of total allocation numbers of four methods at p = 5 and n 6 , 8 , , 16 .
Drones 06 00322 g003
Figure 4. Detailed comparison of the allocation number box plots for four methods at p = 5 and n = 16 . (a) p = 2 , n = 6 ; (b) p = 5 , n = 16 .
Figure 4. Detailed comparison of the allocation number box plots for four methods at p = 5 and n = 16 . (a) p = 2 , n = 6 ; (b) p = 5 , n = 16 .
Drones 06 00322 g004
Figure 5. Ratio of the allocation number increased by PI-Hybrid compared to PI-MaxAss.
Figure 5. Ratio of the allocation number increased by PI-Hybrid compared to PI-MaxAss.
Drones 06 00322 g005
Figure 6. Mean and standard deviation of allocation number increased by PI-Hybrid compared with PI-MaxAss.
Figure 6. Mean and standard deviation of allocation number increased by PI-Hybrid compared with PI-MaxAss.
Drones 06 00322 g006
Figure 7. Box plot comparison of average waiting time of four methods at p = 5 and n 6 , 8 , , 16 .
Figure 7. Box plot comparison of average waiting time of four methods at p = 5 and n 6 , 8 , , 16 .
Drones 06 00322 g007
Figure 8. Detailed comparison of the average waiting time box plots for four methods at p = 5 and n = 16 . (a) p = 2 , n = 6 ; (b) p = 5 , n = 16 .
Figure 8. Detailed comparison of the average waiting time box plots for four methods at p = 5 and n = 16 . (a) p = 2 , n = 6 ; (b) p = 5 , n = 16 .
Drones 06 00322 g008
Figure 9. Deadlock ratio of different methods with various values of p.
Figure 9. Deadlock ratio of different methods with various values of p.
Drones 06 00322 g009
Table 1. Deadlock phenomenon for PI-MaxAss.
Table 1. Deadlock phenomenon for PI-MaxAss.
RoundsPhases v 1 v 2 v 3 Unassigned
01 t 5 0 , t 3 0 t 2 0 , t 4 0 t 6 0 t 1 U
1TC t 1 U , t 2 2 0 , t 3 1 0 , t 4 2 0 , t 5 1 0 , t 6 3 0
RU t 5 U r , t 3 0 t 2 0 , t 4 0 t 6 U r t 1 U
2TC t 1 U , t 2 2 0 , t 3 1 0 , t 4 2 0 , t 5 1 U r , t 6 3 U r
RU t 5 U r , t 3 0 t 2 U 2 r , t 4 U 2 r t 6 U r t 1 U
3TC t 1 U , t 2 2 U 2 r , t 3 1 0 , t 4 2 U 2 r , t 5 1 U r , t 6 3 U r
TI2~ + t 2 U 3 r ~
RU t 5 U r , t 3 0 t 2 U 2 r , t 4 U 2 r t 6 U 3 r , t 2 U 3 r t 1 U
4TC t 1 U , t 2 3 U 3 r , t 3 1 0 , t 4 2 U 2 r , t 5 1 U r , t 6 3 U 3 r
TR~ t 2 U 2 r ~~
TI~ + t 2 0 ~~
RU t 5 U r , t 3 0 t 2 0 , t 4 0 t 6 U 3 r , t 2 U 3 r t 1 U
5TC t 1 U , t 2 2 0 , t 3 1 0 , t 4 2 0 , t 5 1 U r , t 6 3 U 3 r
TR~~ t 2 U 3 r ~
RU t 5 U r , t 3 0 t 2 0 , t 4 0 t 6 U r t 1 U
6G2 t 1 U , t 2 2 0 , t 3 1 0 , t 4 2 0 , t 5 1 U r , t 6 3 U r
1 Not applicable. 2 No tasks have been removed or included.
Table 2. Parameters related to the simulation scenario.
Table 2. Parameters related to the simulation scenario.
PropertiesMedicineFood
UAV speed30 m · s 1 50  m · s 1
UAV initial positionRandom distribution in 10 km × 10 km × 0 km
Task duration300 s500 s
Task deadlineRandom distribution between 0 s and 2000 s
Task locationRandom distribution in 10 km ×10 km × 1 km
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Li, J.; Chen, R.; Peng, T. A Distributed Task Rescheduling Method for UAV Swarms Using Local Task Reordering and Deadlock-Free Task Exchange. Drones 2022, 6, 322. https://doi.org/10.3390/drones6110322

AMA Style

Li J, Chen R, Peng T. A Distributed Task Rescheduling Method for UAV Swarms Using Local Task Reordering and Deadlock-Free Task Exchange. Drones. 2022; 6(11):322. https://doi.org/10.3390/drones6110322

Chicago/Turabian Style

Li, Jie, Runfeng Chen, and Ting Peng. 2022. "A Distributed Task Rescheduling Method for UAV Swarms Using Local Task Reordering and Deadlock-Free Task Exchange" Drones 6, no. 11: 322. https://doi.org/10.3390/drones6110322

Article Metrics

Back to TopTop