1. Introduction
Currently, multiagent systems (e.g., unmanned aerial vehicle systems) have drawn increasing attention from researchers worldwide [
1,
2,
3,
4,
5,
6]. In comparison to a single agent, multiagent systems can achieve more complicated mission objectives and increase execution efficiency through cooperation. In this paper, we focus on the application of UAVs in multiagent systems due to the advantages of high flexibility, easy assembly, and low-cost consumption [
7,
8]. In particular, UAVs have been widely used in a variety of industries, including search and rescue, military reconnaissance, and traffic transportation. To date, there is a growing consensus that the multi-UAV task assignment problem (MTAP) has become one of the most challenging problems of multiagent systems.
In general, the MTAP is a combinatorial optimization problem with complex constraints that aims to coordinate a group of UAVs to accomplish various tasks while optimizing some given overall objectives [
9]. Moreover, the MATP is proven to be a nondeterministic polynomial hard (NP-hard) problem [
10], and as a result, the scale of the problem has a direct impact on the complexity of the solving process.
Early studies of the MATP focused on centralized approaches, where each UAV communicates situational awareness (SA) to a centralized server that generates a collaborative plan for the entire UAV swarm. Initially, the problem is modeled as mixed-integer linear programming (MILP) [
11], which includes multiple processor resource allocation (MPRA) [
12], the multiple traveling salesman problem (MTSP) [
13], and the vehicle routing problem (VRP) [
14]. By embedding complicated constraints into the models, the MILP algorithms have advantages in describing the mission; however, the tree search method and exhaustive enumerations in MILP have resulted in an explosion in the computational demands for large-scale systems. Then, some heuristic algorithms [
15,
16,
17,
18], namely, swarm intelligence algorithms (SIAs), are proposed by searching a certain range of solution space in an acceptable time to obtain feasible solutions for MATP. Common heuristic methods include the genetic algorithm (GA) [
15], ant colony algorithm [
16], particle swarm optimization algorithm [
17], wolf swarm algorithm [
18], etc. Although these SIAs have a relatively straightforward structure, their stability is weak and a single point of failure can bring down the entire system [
19].
Recently, some
distributed allocation methods have been proposed, which are flexible and robust, consuming less communication and computational resources than centralized approaches. Most of these distributed approaches (e.g., contract network protocol) [
20,
21,
22,
23] are developed on the basis of market auction mechanisms. The UAVs place bids on tasks, and the highest bid wins the assignment. Choi et al., in [
24], proposed the classical consensus-based bundle algorithm (CBBA) and introduced a
consensus procedure to achieve agreement on the winning bid values through a consensus routine instead of SA. A series of modifications to the classical CBBA were made in [
25,
26] to expand the function and application of such a method. Then, another distributed approach called performance impact (PI) was proposed by Whitbrook et al. [
27] and Zhao et al. [
28], which aims to directly optimize the overall objective. Such methods introduce a key concept called significance to assess each task’s contribution to the local time cost of an UAV. In comparison to CBBA, the PI method is developed on the basis of the heuristic optimization principle and can solve more time-sensitive MTAP while achieving allocation with lower time costs across tasks.
In realistic situations, the existence of various constraints and uncertainties will cause significant growth in the complexity of MATP [
29]. To this end, most studies on MTAP describe this problem in terms of ideal mathematical models. For example, [
30] proposes a “closed-loop CBBA” that considers the return of UAVs to the take-off base after the mission is completed, but ignores existing constraints during the allocation. Ponda et al., in [
26], proposed an extension algorithm of CBBA to handle MTAP with time window constraints and vehicle fuel cost constraints; however, the allocated tasks in results notably decrease when time window constraints between tasks are more complex. In addition, PI-MaxAss was proposed as an extension of PI by Turner et al. [
31], which aims to maximize the number of task allocations under strict time constraints. This article discusses task deadlines under a search and rescue scenario, while the time window constraints between tasks are ignored.
In this paper, common constraints such as time windows and UAV capabilities are combined to build a complex MTAP model. We propose an algorithm, namely, distributed allocation with time windows (DATW), which aims to achieve conflict-free allocation with a minimum average task completion time. The proposed DATW embeds time window constraints into the PI-based framework and iterates between three phases: the task inclusion phase, conflict resolution phase, and task reallocation phase. The first phase selects the optimal task within validity time windows for each UAV. The second reaches a consensus based on the significance value over all UAVs. The last allocates the tasks that remain unassigned after the former two phases due to time window constraints. Note that the time window constraints in this paper are “hard constraints”, i.e., each task must start within its time window constraints; otherwise, the task is not allowed to be assigned. The key contributions of this paper are summarized as follows:
The time window constraints are first embedded into the PI-based framework. That is, the significance value of each task is directly related to its validity time window. In the obtained allocation, the vast majority of tasks are assigned by achieving a minimum average task completion time.
Compared with the PI method in [
22], a new task reallocation phase that only considers the marginal significance value is proposed. The number of allocated tasks is effectively improved by the aid of this third phase, where simulation results show that the average rate of feasible tasks has exceeded 70%.
The experiments reveal that the proposed DATW assigns more tasks within validity time windows than the existing E-CCBA method in [
26]. In addition, the DATW has facilitated an 18% increase in success rate when assigning all tasks for UAVs.
This paper is organized as follows.
Section 2 presents the description of MTAP and depicts the mathematical model of the distributed allocation with time window constraints.
Section 3 proposes the PI-based distributed method DATW to solve the studied task allocation problem.
Section 4 presents numerical simulations to demonstrate the merits of DATW. Finally,
Section 5 concludes the paper.
2. Problem Description
This paper studies the multi-UAV task assignment problem (MTAP) with time window constraints. Let
Nt = {
t1,
t2, …,
tm} be the set of
m tasks and
Nu = {
u1,
u2, …,
un} be a set of
n UAVs. A list of key symbols used hereafter is provided in
Table 1. The properties of each
tj ∈
Nt are denoted by a tuple <
loc(
tj),
Dj>, where
loc(
tj) = (
xj, yj, zj) is the coordinate of the task in the 3-D spatial plane and
Dj is the duration required to perform task
tj. Meanwhile, an UAV
ui ∈
Nu is denoted by <
loc(
ui),
vi>, where
loc(
ui) = (
xi, yi, zi) is the initial position of
ui, and
vi is the flight velocity. UAVs communicate through a local communication topology denoted by a symmetric adjacency matrix
G, where
Gih = 1 means
ui and
uh are capable of communicating with each other, while
Gih = 0 otherwise. We use
Pi = <
ti1,
ti2, …,
ti|Pi|> to denote an ordered sequence of tasks assigned to
ui; UAV
ui starts from its initial coordinate
loc(
ui) and performs tasks in
Pi sequentially. Once UAV
ui completes task
tij in
Pi, it immediately flies to the location of the next task
tij+1. The assigned task sequences for all UAVs constitute a
task allocation P = [
P1,
P2, …,
Pn]
T of MTAP under consideration.
On the basis of the above-mentioned information, the general working mechanism of the multi-UAV systems with time window is illustrated in
Figure 1. Herein, the initial information board inputs all the relevant information of tasks and the underlying time window constraints which should be satisfied by all UAVs. Specifically, for each UAV
ui, its reason system generates an allocation plan
Pi consisted of tasks assigned to
ui and their ordered sequence. Whenever a
ui includes a new task, it updates the task’s time information and transmits this information to another UAV
uj with
Gij = 1 via communication link. This reasoning system continuously updates the allocation plan according to newly received information. Based on such a dynamic reasoning system, all UAVs work in parallel and interact with each other. Thus, one key problem of our paper is to design an effective reasoning system to achieve a conflict-free allocation by satisfying all time window constraints.
For the sake of convenience, we use the notation Φ(
Pi,
g) =
tj to denote the fact that task
tj is the
g-th (
g > 1) task in
Pi, i.e.,
tj =
tig. If task
tk is
tj’s preorder task, Φ(
Pi,
g−1) =
tk. Then, the time parameter
Tj(
Pi), when
ui starts to execute
tj, is calculated as follows:
where
dis(•) represents the distance between two different locations. Moreover, the completion time
Fj(
Pi) for task
tj is calculated as follows:
In the rest of this paper, let (Pi) = be the sum of the completion time for all tasks in Pi; herein, (Pi) is called the local time cost of UAV ui.
The practical MTAP is subject to the constraints related to UAVs and tasks:
Conflict-freeness: each task is only assigned to one UAV.
Capability constraints: each UAV can execute at most Li tasks at a time. That is,
- 3.
Time window constraints: each task must be started during the interval of a time window. Let Tj_start be the earliest start time of task tj, and Tj_end be the latest start time so that the validity interval for tj is given as
- 4.
Power consumption constraints: the remaining fuel mass Fri for each UAV must be more than a threshold Δ. Let Foi be the initial fuel mass of UAV ui, and ui consumes the fuel at a nominal rate vmi, such that the power consumption constraint is given as follows
This paper aims to find the optimal task allocation for MATP with the goals of satisfying the above-mentioned constraints and minimizing the
global time cost, which is the sum of all local time costs across all UAVs. The sought MTAP can be modeled mathematically as follows:
where objective (6) minimizes the global time cost; (7) ensures that the allocation includes all tasks and each task is assigned to only one UAV, indicating conflict-freeness; (8) ensures that the number of tasks assigned to each UAV
ui does not exceed the execution capacity
Li; (9) guarantees the satisfaction of the time window constraint for all tasks; (10) ensures that each UAV satisfies the power consumption constraints.
3. Distributed Allocation with Time Window Constraints
This section proposes a heuristic method, namely, distributed allocation with time windows (DATW), for solving the MATP under consideration. The DATW algorithm is run concurrently on all UAVs that transmit information to each other via local communication. The proposed DATW algorithm consists of three phases: task inclusion, conflict resolution, and task reallocation. The first two phases are performed iteratively until an initial allocation is agreed upon by all UAVs, although some tasks may remain unassigned. Then, the last phase aims to maximize the allocation of these unassigned tasks to UAVs under the time window constraints.
Before introducing the DATW algorithm, some message or information stored on each UAV ui is defined as follows.
Task list:Zi = [Zi1, …, Zim]T is a vector that keeps track of which task is assigned to which UAV. The entry Zij = k if ui thinks that task tj is assigned to uk, while Zij is infinity, i.e., Zij → ∞, if ui deems tj to be unassigned;
Task significance list: Qi = [
Qi1, …,
Qim]
T is a vector recording the significance values of all tasks; the concept of the significance of tasks will be given in
Section 3.1. If
Zij → ∞, we set
Qij → ∞;
Task start time list: Ti = [Ti1,…, Tim]T is a vector recording the begin-execute time for each task. When Zij = k, Tij reflects the time when UAV uk starts to execute task tj. Note that if Zij → ∞, Tij → ∞;
Timestamp list:
si = [
si1, …,
sin]
T records the timestamp when
ui obtains the latest message from each of the other UAVs. Once a message is passed, the timestamp
sih is calculated as follows:
where
τr represents the time when
ui receives the information.
3.1. Task Inclusion Phase
In the first phase, each UAV ui selects the optimal task that can minimize ui’s local time cost and inserts this task into a proper position of list Pi so that the time window constraints are satisfied. The concepts of “significance” and “marginal significance” are given to describe how tasks affect the local time cost of an UAV.
Consider a task
tj ∈
Pi; let
Pi⊖
tj represents the remaining task sequence after removing
tj from
Pi. Then, the significance value of
tj with regard to
ui is formulated as follows:
By definition, qij(Pi⊖tj) is composed of two parts: (Pi) − (Pi⊝tj) and Tj(Pi) − Tj_start. The first part equals the decrease in ui’s local time cost by removing tj from Pi, directly reflecting the contribution of tj to the local time cost of ui. Meanwhile, the second is the interval between the earliest start time allowed for tj to start under the time window constraints and the time ui starts to execute tj. That is, agent ui gives preference to tasks that are performed immediately upon meeting the time window constraints. In this case, both Tj(Pi) and Fj(Pi) for task tj are further decreased, and thus, the contribution of tj to the local time cost of ui is logically decreased. Note that if tj ∉ Pi, let qij(Pi⊖tj) →∞.
- 2.
Marginal significance
Considering a task
tj ∉
Pi, the local time cost of UAV
ui is increased after inserting
tj into
Pi. Then, the marginal significance, denoted by
qij*(
Pi⨁
tj), is required to reflect the minimum increase in
ui’s local time cost by adding
tj into
Pi, which is formulated as follows:
where
Pi⨁
k tj represents the task sequence after inserting
tj into the
kth position of
Pi. Note that
qij*(
Pi⨁
tj) → ∞ if
tj ∈
Pi. Moreover, if
tj ∈
Pi,
Zij=
i and
Qij=
qij(
Pi⊖
tj).
In this task inclusion phase, a task tj is allowed to be assigned to the UAV ui if the following conditions hold:
(a). Zij ≠ i and qij*(Pi⨁tj) < Qij;
(b). Let p = argqij*(Pi⨁tj); after inserting tj into the p-th position of Pi, all tasks in the sequence Pi⨁ptj satisfy the underlying time window constraints;
(c). Foi – vmi × (Pi⨁tj) ≥ Δ.
The above condition (a) ensures that tj is unassigned to ui and requires that the marginal significance value qij*(Pi⨁tj) for tj is strictly less than its significance Qij stored on ui, such that the global time cost might be decreased by assigning tj to ui. Condition (b) guarantees the satisfaction of time window constraints after inserting tj into Pi, while condition (c) ensures the satisfaction of power consumption constraints.
Let ℘(
Pi) = {
tj ∈
Nt | Conditions (a), (b), and (c) both hold for
tj and
ui} be the set of tasks that satisfy the above conditions. This phase chooses the task
tk ∈ ℘(
Pi) expressed in (14) and inserts it into the position
p = arg
qik*(
Pi⨁
tk) of list
Pi.
The corresponding information related to task tk is updated as Zik = i, Qik = qik*(Pi⨁tk), and the start time for all tasks in Pi is recalculated.
The above task addition process is repeated until ℘(
Pi) = ∅ or |
Pi| =
Lt, which indicates that no task can be included in
Pi. Since the inclusion of new tasks may change the significance of other existing tasks in
Pi, the list
Qi is required to update accordingly (12) after inclusion. The whole procedure is depicted in Algorithm 1.
Algorithm 1:ui execution task adding process at iteration λ. |
Initialization: Pi(λ) = Pi(λ − 1), Zi(λ) = Zi(λ − 1), Qi(λ) = Qi(λ − 1), Ti(λ) = Ti(λ − 1). |
1: while |Pi| ≤ Li do |
2: For each task tj ∈ Pi compute the marginal significance value qij*(Pi⨁tj); |
3: Compute ℘(Pi) ← {tj ∈ Nt | Conditions a), b) and c) both hold for tj and ui}; |
4: if ℘(Pi) ≠ ∅ then |
5: tk ← (Qij − qij*(Pi⨁tj)); |
6: p ← argqij*(Pi⨁tk); |
7: Insert task tk into p − th of Pi; |
8: Zik← i; |
9: Qik ← qij*(Pi⨁tj); |
10: Update Ti; |
11: end if |
12: else |
13: break; |
14: end if |
15: end while |
16: Update Qi; |
3.2. Conflict Resolution Phase
In the previous task inclusion phase, a task may be assigned to more than one UAV, as Algorithm 1 runs concurrently on all UAVs, leading to a conflict. Thus, the second phase is conducted to obtain a conflict-free allocation via local communication topology. In particular, the conflict resolution phase is composed of two stages: (i) consensus, where UAVs communicate with each other for consensus, and (ii) task removal, where UAVs determine whether to remove a task from its current task list. These two stages are repeated alternately on each UAV until the global consensus is achieved across all UAVs, i.e., Qi = Qh, ∀ui, uh ∈ Nu, and ui ≠ uh.
3.2.1. Consensus Stage
To search for the smallest significance value for every task, in this stage, each UAV ui transmits the relevant information, including Zi, Qi, Ti, and si, to its neighbor UAV uj through local communications.
Suppose that UAV ui receives a message from uh where Gih = 1. It determines whether the received message is the latest for task tj based on lists Zi and si, and then, three possible actions are taken on task tj:
Update: Zij = Zhj, Qij = Qhj, Tij = Thj;
leave: Zij = Zij, Qij = Qij, Tij = Thj;
reset: Zij → ∞, Qij → ∞, Tij → ∞.
Specifically, agents select actions according to the decision rules given in
Table 2. The first two columns of
Table 2 record the executor of task
tj believed by sender
uh and receiver
ui, respectively. The third column outlines the action taken on
tj with respect to receiver
ui. Note that once a piece of message is passed, timestamp
gi is updated according to Formula (11) to obtain the latest time information.
3.2.2. Task Removal Stage
After the consensus stage, each UAV ui checks the current task sequence Pi and removes tasks in two sets A = {tj ∈ Pi | Zij ≠ i } and B = {tj ∈ Pi | Tj(Pi) <Tj_start or Tj(Pi) >Tj_end}. Herein, A denotes the set of tasks in Pi whose corresponding information Zij has been changed after the communication, while B represents the set of tasks in Pi violating the time window constraints.
First, a task in
A can be removed from
Pi and
A, according to the following criterion:
where
=
(
Pi) −
(
Pi⊝
tj) represents the significance of
tj computed from the current task sequence
Pi, while
Qij denotes
tj’s significance obtained from the consensus stage.
We release a task tk from Pi and A such that tk = . This removal process is continued until (15) is not satisfied or A is empty. When this process is terminated but A ≠ ∅, each remaining task tk ∈ A should be returned to agent ui by setting Zik = ui.
Next, each UAV ui checks its sequence Pi and releases the tasks in B sequentially. Specifically, once there is a task tj ∈ Pi that does not meet the time window constraint, tj is removed from the sequence Pi immediately, and the related information is updated as Zij → ∞, Qij → ∞, Tij → ∞. Note that each time ui removes a task from Pi, the start time for other tasks in Pi is updated. Thus, we need to update set B after each removal. Such a removal process is repeated alternately until all tasks in all Pi satisfy the time window constraint. At the end of the task removal stage, the relevant information Qij and Tij for each tj ∈ Pi is updated correspondingly.
In the conflict resolution phase, the algorithm iterates over the consensus stage and task removal stage until a global consensus is achieved across all UAVs. To this end, we obtain a conflict-free allocation where tasks are assigned by meeting the time window constraints. The whole procedure is illustrated by Algorithm 2.
Algorithm 2: Conflict resolution phase of UAV ui at iteration λ. |
Initialization:Pi(λ) = Pi(λ − 1), Zi(λ) = Zi(λ − 1), Qi(λ) = Qi(λ − 1), Ti(λ) = Ti(λ − 1), set si to zero vector. |
1: Send Qi, Ti,Zi and si to uh where Gih=1; |
2: Receive Qh,Th,Zh and sh from uh where Ghi=1; |
3: Update Qi, Ti,Zi and si according to the rules in Table 2; |
4: A←{tj ∈ Pi |Zij ≠ i, tj ∈ Pi}; |
5: while > 0 do |
6: tk ← ; |
7: Remove task tk from Pi and A; |
8: end while |
9: if A≠∅ then |
10: let Zij = i, ∀tj ∈A; |
11: end if |
12: B←{tj ∈ Pi |Tj(Pi) <Tj_start or Tj(Pi) >Tj_end}; |
13: while B≠∅ do |
14: Remove task tk∈B from Pi; |
15: Set Zij, Qij, Tij as infinity values |
16: Update B; |
17: end while |
3.3. Task Reallocation Phase
After completing iterations between the above phases, the obtained allocation generally covers all tasks. However, in some cases, a few tasks may remain unassigned due to the strict time window constraints. Let Cai be the set of these unassigned tasks for each UAV ui, i.e., Cai ={tk | Zik→∞}. This phase intends to reassign tasks in Cai to some UAVs to increase the number of allocated tasks. That is, for each UAV ui, only tasks in Cai can be added to or removed from the current list Pi, while assigned task tj ∉ Cai is not allowed to be moved. This phase is composed of two stages: secondary inclusion and secondary conflict resolution.
3.3.1. Secondary Inclusion
We define a vector Mi = [mi1, mi2, …, mi|Cai|]T for all tasks in Cai with regards to UAV ui, where the entry mij = 1 if a task tj ∈ Cai has been added to Pi but removed from the same sequence for violating time window constraint, and mij = 0 otherwise. By definition, a task tj ∈ Cai can be assigned to UAV ui according to the following conditions:
(d). Zij ≠ i and mij = 0;
(e). let p = argqij*(Pi⨁tj); after inserting tj into the p-th position of Pi, all tasks in the sequence Pi⨁ptj satisfy the underlying time window constraint.
(f). Foi – vmi × (Pi⨁tj) ≥ Δ.
Condition (d) ensures that tasks are not repeatedly added or removed by the same UAV, condition (e) ensures that all tasks in Pi⨁tj satisfy the time window constraints after inserting tj into Pi, and condition (f) ensures the satisfaction of power consumption constraints.
Let ℜ(
Pi,
Cai) = {
tj ∈
Cai | Conditions (d), (e) and (f) both hold for
tj and
ui} denote the set of tasks that satisfies the above conditions. To minimize the significance value, each UAV
ui chooses the task
tk∈ℜ(
Pi,
Cai), according to (16), and inserts it into the position
p = arg
qik*(
Pi⨁
tk) of list
Pi.
Different from criterion (14), (16) requires that the UAV only selects out the unassigned task tk with the minimum marginal significance value. The above process is repeated until no task can be included in Pi, i.e., ℜ(Pi, Cai) = ∅ |Pi| = Li.
3.3.2. Secondary Conflict Resolution
To obtain a conflict-free allocation, the secondary conflict resolution stage iterates between the consensus process and the task removal process until global consensus is achieved across all UAVs.
In the consensus process, the heuristic consensus rule proposed in
Section 3.2.1 is used to obtain a conflict-free allocation. Note that each UAV only exchanges the information related to tasks in
Cai with its neighboring UAVs through local communications. According to the decision rules given in
Table 2, once
ui receives a message, it
updates,
resets, or
leaves the stored information
Zij,
Qij,
Tij, and
sij for each task
tj ∈
Cai.
Then, in the task removal process, each UAV
ui checks its current task sequence
Pi and removes tasks belonging to two sets
A′
={
tj ∈
Pi | Zij ≠
i} and
B′
={
tj ∈
Pi | Tj(
Pi)<
Tj_start or
Tj(
Pi)>
Tj_end} from
Pi. Herein,
A′ denotes the set of tasks whose information
Zij is changed after the consensus process, while
B′ represents the set of tasks violating the time window constraints. The tasks in
A′ and
B′ are sequentially removed from
Pi using the same method as in
Section 3.2.2. In addition, each time a task
tj ∈
B′ is removed, we update its related information as
Zij → ∞,
Qij → ∞,
Tij → ∞, and we also set
mij = 1 such that task
tj is prevented from repeatedly assigning to
Pi, according to condition c). These requirements not only avoid invalid task inclusion and removal, but also improve the performance of the entire system.
The secondary inclusion and secondary conflict resolution are repeated alternately until no actions can be made for a period of time. That is, the task reallocation phase has already converged, and an optimized global conflict-free task assignment that satisfies all time window constraints is obtained.
3.4. Convergence Analysis
The first two phases of the DATW algorithm alternate until an initial allocation is obtained, and then, the last phase is performed to reallocate these unassigned tasks. In the ideal case, the system deems to be converged when no changes can be made in the first two phases. However, due to the strict time window constraints, some tasks may be repeatedly included and removed by the same UAV, and thus, an infinite cycle arises. To avoid such reiteration and reallocate those tasks in the last phase, iterations between the first two phases are terminated, provided that the allocations obtained after the second phase remain the same for a specified period.
Moreover, each UAV always aims to decrease the global time cost at each iteration. Specifically, the significance value of a task is highly related to its current contribution to the local time cost of its assigned UAV. In the first two phases, each UAV ui exchanges the significance of all tasks with its neighbor UAVs, and then, based on these significance values, ui tries to decrease the global time cost by recursively adding or removing tasks from its task sequence. The last phase reassigns tasks in Cai, which collects all unassigned tasks after the first two phases, to agents. In particular, each ui selects unassigned tasks in Cai with the minimum significance value in each iteration of the last phase. Note that the initial significance value for each task is set to infinity and is continuously updated as the significance of a task is highly correlated with the current allocation. Consequently, the DATW algorithm converges when the task significance list of each UAV is not changed for a specified period of time.
Formally, the proposed DATW running on each UAV can be expressed in detail as follows.
Step 1: Performing the task inclusion phase, according to Algorithm 1.
Step 2: Running Algorithm 2. The conflict resolution phase is repeated until global consensus is achieved over all UAVs.
Step 3: Step 1 and Step 2 are repeated until the allocation obtained after Step 2 remains the same for a specified period of time.
Step 4: Carrying out the secondary inclusion stage to assign tasks in Cai to agents.
Step 5: Carrying out the secondary conflict resolution stage, performing the consensus process and the task removal process alternately, until the global consensus is achieved over all UAVs.
Step 6: Step 4 and Step 5 are repeated until no changes have been made in the task significance list Qi for a specified period of time, and then, the algorithm is completed.
Moreover, we obtain the working architecture of the DATW by integrating the above 6steps through the process in
Figure 2.
5. Conclusions
In this paper, a distributed task allocation algorithm (DATW) is proposed for the MTAP problem with time window constraints. This algorithm embeds the time window constraints into the PI-based decentralized framework for the first time and aims to minimize the average completion time of all tasks. As an extension of the PI algorithm, the DATW method uses a three-phase architecture, including the task inclusion phase, conflict resolution phase, and task reallocation phase. Herein, the average number of allocated tasks exceeds 70% by the aid of the newly introduced task reallocation phase. Another novel idea is to correlate the significance value of tasks with the time window constraints, such that each task can be completed as early as possible during its validity interval. Moreover, the start time of each task is broadcasted among agents via communication typology to allocate tasks in a validity time interval without imposing any extra communication burdens. To this end, a conflict-free allocation with a minimum average task completion time can be obtained by the proposed DATW algorithm, where the vast majority of tasks are assigned within the validity time window. A series of simulations are conducted under a search and rescue scenario. The experimental results confirm that the DATW is effective and superior in increasing the total number of allocated tasks as well as minimizing the average completion time of the tasks. Moreover, compared with existing (CBBA-based) solutions, results show up to an 18% increase in success rate (SR) using the DATW. Thus, the DATW can successfully enable a team of UAVs to perform complex missions under various time window constraints.
Future work will focus on facilitating real-time task allocation in dynamic environments, which indicates integrating the presented DATW into the asynchronous framework and addressing the MTAP with latency in task computation and communication.