1. Introduction
In recent years, UAV swarms have attracted great attention due to their low cost, decentralized layout, and a certain degree of scale, and are expected to be used in post-disaster search and rescue, pollution monitoring and traceability, cargo sorting and delivery, and other fields. In contrast to the simple bionic clustering behaviors such as migration, foraging, nesting, hunting, and resistance achieved by the stigmergy-based swarm algorithms, the complex missions in the above real-world application need the UAV swarms work together to assign tasks and schedule them, which cannot be separated from multi-agent scheduling [
1].
Multi-agent scheduling is a classical combinatorial optimization problem [
2]; therefore, obtaining the global optimal solution is computationally intensive [
3]. 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 agents selected as the master [
4]. In this approach, the overall objective function of the concern problem can be explicitly minimized or maximized based on the collection of all vehicle information on a central server. Therefore, their 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 (GA), ant colony algorithm (ACO), particle swarm optimization (PSO) [
5], or the metaheuristic approach [
6], etc. However, they have several disadvantages for the low-cost swarm [
7]: First, the computational requirements are high because the computational operations are placed on a central server for global optimization of the multi-agent scheduling problem; Second, each agent 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 [
8].
To this end, the swarm can only resort to decentralized approaches [
9,
10,
11,
12,
13], which could increase the mission range and remove the single points of failure. They are roughly divided into three implementation approaches: redundant central computing, optimization-based approach and market auction approach. Redundant central computing instantiates the centralized scheduler on each vehicle in order to achieve distribution [
14,
15,
16]. 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. Optimization-based approach utilize distributed constraint optimization, game theory, metaheuristics, or other optimization techniques (distributed GA, distributed PSO and so on) to obtain higher optimization performance and computational efficiency [
16,
17,
18]. However, these methods rely on high frequency and high speed data exchange. Market auction approach 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 [
3,
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. When UAV swarm perform tasks, the spatial positions of UAVs change rapidly, and slow task scheduling means that the generated schedulers is invalid, which puts forward higher requirements for the timeliness of the algorithm. Compared with the two other approaches, the market auction approach has higher computational efficiency, and lower communication requirements and is more suitable for UAV swarm because of its local greedy strategy and simple consensus rules.
The consensus-based bundle algorithm (CBBA) [
19] and the performance impact algorithm (PI) [
3] are two of the most representative market auction methods, and many methods in this field are derived from them. Both CBBA and PI essentially take the ‘significance’ of a task to its assigned agent as the basis for selecting and scheduling tasks, reflecting the value or cost of the task for the global optimization objective. The main difference is that PI uses the native significance as the auction price to achieve better overall optimization performance; The CBBA introduces additional bundling sets and diminishing marginal gain (DMG) pricing mechanisms to ensure that auctions are not deadlocked. It has been shown that CBBA produces the same solution as the centralized sequential greedy procedures, and guarantees 50% optimality, and can ensure that the auction process is deadlock-free, but at the cost of global optimality, because it essentially distorts the native value of the bidding task [
21]. In contrast, PI auctions are based on native significance, which achieves better overall optimization, but has more iterations. It also faces frequent deadlock problems (i.e., two or more UAVs occasionally get caught in an infinite cycle of exchanging the same tasks), which can only be broken out of the loop by truncating the auction process, resulting in the blocking of the optimization process. By analyzing the advantages and disadvantages of the two algorithms, this paper considers whether the global optimality of the problem can be further improved, and the bidding rounds and deadlock probability can be reduced, which is of great benefit to UAV swarm task scheduling.
In addition to the algorithm, another issue that cannot be ignored is the communication model on which the algorithm verification is based. Decentralized scheduling methods rely on the communication network to complete negotiation or arbitration to resolve task conflicts. As far as we know, most algorithms assume perfect communication with topologically fully connected, unrestricted bandwidth, and ideal channels. There are also some algorithms tested under different topological connection, such as Zhao et al. [
3] use row, star, circular and mesh networks to simulate different communications scenarios to test the PI algorithm. Johnson et al. [
22] compare the asynchronous consensus-based bundle algorithm (ACBBA) and CBBA in the fully connected network and row topology; Ismail et al. [
23] use a simple disk communication model to compare the decentralized hungarian-based approach (DHBA) and the consensus-based auction algorithm (CBAA); In the past two years, a few scholars have begun to pay attention to the performance differences of decentralized scheduling methods under different channel transmission characteristics such as channel attenuation and packet loss. For example, Nayak et al. [
24] compare the performance of CBAA, ACBBA, DHBA, PI, and the hybrid information and plan consensus (HIPC) based on Bernoulli, Gilbert-Elliot and Rayleigh fading communication models; Carrillo et al. [
25] use Rayleigh attenuation model to evaluate the current communication level, which is used to select the scheduling algorithm that best fits it. From the above investigation, if the communication factors are considered, the simulation tests of the decentralized scheduling algorithm are based on the transmission characteristics of communication channels, which are mainly divided into two aspects: one is to assume different network topologies and compare the algorithm iteration rounds (the difference caused by neighboring message propagation); the other is to simulate the channel state such as packet loss and evaluate the performance of the algorithm (such as the allocation number, time cost, etc.). Real-world networking communication should not only consider the underlying physical transmission characteristics, but also the working process of the upper-layer communication protocol stack. More reasonable network communication simulation should combine the two, which is one of the work to be considered in this paper.
A distributed task scheduling method with better global optimization performance, fewer iteration rounds, and lower deadlock probability is of great benefit to the real-world applications such as search-and-rescue. This paper modifies the baseline PI algorithm by respectively integrating a new removal strategy and a conflict prediction operator into the tasks removal phase and inclusion phase of the algorithm. The main contributions are as follows.
(1) In the proposed method, a new task removal strategy is adopted to release more space of the scheduler to explore the addition of new tasks, so as to improve the overall optimization. Then, a conflict prediction operator is added to the task inclusion phase of the algorithm to reduce the number of iterations and the probability of deadlock.
(2) By integrating the communication protocol stack of the upper layer network and the physical transmission model of the bottom layer, an ad-hoc network simulation platform is constructed, which is closer to the real world communication, and serves as the supporting environment for the performance testing of decentralized scheduling algorithms.
(3) Monte Carlo simulation experiments on the ad-hoc network simulation platform were carried out, and a large number of results show that, compared with PI, the proposed method can reduce the average time cost and increase the total allocation number under most of the random distributions of vehicles and tasks, and significantly reduce the deadlock ratio and the number of iteration rounds.
The rest of this paper is organized as follows.
Section 2 briefly describes the distributed task scheduling problem and existing market-based methods.
Section 3 presents a distributed task scheduling method based on conflict prediction.
Section 4 presents the ad hoc network protocol stack and channel transmission simulation model.
Section 5 discusses the performance of the algorithm. Finally,
Section 6 concludes the paper.
3. Method
3.1. Basic Idea
In contrast, with its superiority in optimization performance, PI is the best benchmark method for solving distributed scheduling problems. However, as mentioned above, it still has room for improvement in optimization, efficiency and frequent deadlocks (i.e., two or more UAVs occasionally get caught in an infinite cycle of exchanging the same tasks). In this section, we modify it to achieve an overall improvement in optimality, an improvement in deadlock problems, and a reduction in the number of iterations. Here, we follow the two-stage algorithm framework of the market auction method. Without loss of generality, we begin with the communication and consensus phase of an intermediate iteration to illustrate the basic idea of the proposed method.
In the communication and consensus phase, PI resolves conflicts by iteratively deleting tasks that failed in the previous round, item by item. Whenever a task is deleted, the algorithm updates the significance of the remaining underbid tasks, causing them to decrease. If the updated significance is lower than the winning price of the task in the previous round, the original task to be deleted will be preserved. In fact, this method of iteratively updating the significance of the remaining failed tasks has two disadvantages: first, the failed tasks in the last round of bidding may still remain in the local scheduler, which makes it difficult to absorb more tasks in the adjacent task inclusion phase, which restricts the increase of the total task allocation; second, the conflicting assignment is not completely resolved. Failed tasks remain in the local scheduler and cannot be removed until later rounds, which potentially increases the number of iterations. This is essentially a trade-off between exploration and utilization [
28]. Although PI achieve good optimization with native significance, its conservative removal strategy restrict the exploration ability of the algorithm. To this end, this article eliminates the step of iteratively updating significance and includes freeing up more local scheduler space for subsequent tasks. To this end, this article removes the iterative update importance operation to free up more local scheduler space, which helps to absorb more tasks in the adjacent task inclusion phase.
In the task inclusion phase, PI iteratively includes tasks item by item by comparing the marginal significance of the task to be inserted with the bid price of the task. This method can not only achieve lower overall task cost by exchanging existing tasks among swarms, but also realize the insertion of new tasks to obtain more assigned tasks. Through communication, each UAV obtains the local scheduling tasks of other vehicles in the last iteration cycle (which is also the information input for conflict resolution). Based on this, it can predict the included operations of other UAVs in this cycle and judge whether their included tasks are the same as those of the local vehicle in advance. And calculate their marginal significance to determine whether the task is inserted locally. This strategy is expected to reduce the iteration rounds by resolving conflicts in advance. In addition, PI is faced with deadlock problem, that is, two or more vehicles are often in an infinite loop exchanging the same task. Preliminary experiments of running PI show that it mostly occurs between adjacent auction rounds. The above strategy can also avoid some deadlock problems that occur in adjacent rounds. To this end, this paper alleviates the deadlock problem by mutually predicting the task inclusion operations of the current rounds of the respective UAVs to decide whether a task should be added.
Next, we use the following schematic example to illustrate the above basic idea.
Example 1. As shown in Figure 2, without loss of generality, it is assumed that two vehicles use a greedy algorithm to select and schedule four tasks of and in the previous scheduling cycle, where subscripts 1 and 2 are used to distinguish the vehicles to which they belong. For the task removal phase, after the communication of bids, referring to the consensus rule table, the two vehicles directly remove the tasks with no dominant price and get schedules and respectively. For the task inclusion phase, each vehicle predicts each other for one scheduling cycle as the basis for judging and inserting tasks. Vehicle 1 was originally intended to contain the task f, but it is not inserted because it is predicted in advance that vehicle 2 will also contain this task through the predictor, and is smaller than . To this end, vehicle 1 still tries to insert other tasks on the basis of paths , and obtains the schedule at the end of this round of iterations. Vehicle 2 successfully contains the task f and finally gets the schedule , because it predicts that is greater than . The specific algorithm design process is given below.
3.2. Task Removal
This subsection focuses on the design of the task removal strategy as shown in Algorithm 1. As described by the aforementioned basic idea, the significance
of the tasks in the task list of a vehicle should be transmitted to other vehicles
in order to notify them of removing the corresponding tasks from their scheduler, updating local significance list
and to get the significance further decreased. Similar as in PI, a vehicle list
and a local significance list
are also utilized in assistance with updating a proper global significance list, in which
notes the global assigned vehicle
to each task
(
) known by vehicle
, and
represent similar descriptions that are local to vehicle
. If a vehicle receives a significance smaller than the one it has produced for a particular task already in its task list, this task is then required to be removed from the task list (Line 1). Next, find a set of tasks to be deleted from the task list via
, where the formula in square brackets is used to find the task index of the failed bid for vehicle
recorded in the local vehicle list
(Line 2). Finally, the time cost of the remaining tasks in
and the significance of the remaining tasks in
are then updated due to the removal of tasks (Line 3). The algorithm then moves to the task inclusion phase as described previously.
Algorithm 1 Task removal procedure running on vehicle |
- Input:
the global significance list , the global vehicle list , scheduler , local significance list , local vehicle list , the vehicle index i - Output:
the updated - 1:
Perform the consensus procedure to update local significance list and local vehicle list . - 2:
Remove tasks belonging to . - 3:
Update time costs and significance for the rest of tasks in respectively.
|
3.3. Task Inclusion
This subsection presents an iterative task inclusion strategy based on conflict prediction. The UAV take the significance of the winner of each task in the previous round as the benchmark when they remove or include tasks. In other words, this part of the benchmark information could be already outdated. To deal with this problem, a prediction operation is added into the inclusion phase of PI to predict the inclusion loop operations that other vehicles are performing simultaneously. The details of the process are shown in Algorithm 2.
Algorithm 2 Task inclusion procedure running on vehicle |
- Input:
the local scheduler , the global significance list , the global vehicle list , the vehicle index i - Output:
the updated , and - 1:
Initialize the set to be null, , for where . - 2:
whiledo - 3:
Compute the marginal significance list according to Equation 3, for the tasks , . - 4:
if then - 5:
with corresponding position . - 6:
. - 7:
if then - 8:
Insert task into at position . - 9:
Update vehicle list’s entry . - 10:
Update time costs for the tasks followed after in . - 11:
end if - 12:
else - 13:
break. - 14:
end if - 15:
. - 16:
end while - 17:
Update significance and vehicle list , for all . - 18:
return.
|
First, define an empty set
for storing tasks that cannot be inserted or tasks that have been inserted, and copy the scheduler
and significance list
of adjacent vehicles to
and
, respectively (Line 1), where
indicates that the vehicle
is interconnected with
. Second, determine whether the current scheduler still has capacity to insert new tasks (Line 4), and if so, computing the marginal significance list
for the tasks
,
but
according to Equation (
3) (Line 3). Next, the tasks are then continuously added to the scheduler
one after another (Lines 4–14) by each time satisfying the criteria,
and leading to the largest reduction of the overall time cost with the new task
at position
in the task list.
Unlike PI, before vehicle
inserts the task
at position
, we add a step (Line 6): an operator `
’ is used to simulate adjacent vehicles
executes inclusion operation, to determine if the task
will also exist in the scheduler of the adjacent vehicle
, and if so, compare the marginal significance
of task
with the least predicted significance
of the adjacent vehicles. If
, indicating that the significance of
on
is smaller, then the task
will be confirmed to insert into vehicle
’s scheduler
, otherwise the insertion will be abandoned (Lines 7–11). Details about the predictor will be described in
Section 3.4.
Once the task
is indeed inserted, the
th element of the local vehicle list
is set as
i (Line 9), and
for the tasks followed after
in
need to be updated (Line 10). Before inserting the next task, add the task
that may have been inserted or abandoned to the set
to avoid being reconsidered next time (Line 15). Finally, the significance list
on the vehicle
needs to be updated according to Equation (
3) before this phase is completed.
The whole algorithm stops when no changes can be made both in the task inclusion phase and in the task removal phase for a while.
3.4. Predictor
The predictor will simulate a round of task removal and task inclusion operations for all adjacent vehicles, and determine whether the task intended to be included exists in the updated path of the adjacent vehicles. If so, the return value is the marginal significance of the input task on a certain vehicle, which is the smallest among all adjacent vehicles. The specific process as shown in Algorithm 3 is:
Algorithm 3 Predictor procedure running on vehicle |
- Input:
the task intended to be removed , the vehicle index i, the set ; paths , the local significance , for , where . - Output:
the predicted significance of task . - 1:
Initialize to a large initial value. - 2:
for each vehicle , where do - 3:
. - 4:
that do not contain the prediction operation (corresponding to lines 6 and 7 of Algorithm 2). - 5:
if and then - 6:
- 7:
end if - 8:
end for - 9:
return.
|
First, define a predicted significance for task on vehicle and initialize it to a large initial value (Line 1). Then, traverse all adjacent vehicles , where (Line 2), and sequentially call Algorithm 1 (Line 3) and Algorithm 2 (Line 4) to simulate each vehicle to complete a round of the task removal and task inclusion operations, thereby obtaining the predicted scheduler and the marginal significance . It is worth noting that, to avoid infinite nesting of predictions, the include operation here will not include the prediction operation as shown in Algorithm 2, lines 6 and 7. Finally, it is judged whether the task intended to be included exists in the predicted scheduler . If so, the predicted marginal significance is compared with , and the smaller one is assigned to .