Next Article in Journal
Research on Modeling and Fault-Tolerant Control of Distributed Electric Propulsion Aircraft
Previous Article in Journal
SDWBF Algorithm: A Novel Pedestrian Detection Algorithm in the Aerial Scene
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Cooperative Multi-UAV Task Assignment in Cross-Regional Joint Operations Considering Ammunition Inventory

1
School of Mathematical Science, Dalian University of Technology, Dalian 116024, China
2
State Key Laboratory of Structural Analysis for Industrial Equipment, Department of Engineering Mechanics, Dalian University of Technology, Dalian 116024, China
3
Science and Technology on Reliability and Environmental Engineering Laboratory, Beijing 100191, China
4
Institute of Reliability Engineering, Beihang University, Beijing 100191, China
5
School of Reliability and Systems Engineering, Beihang University, Beijing 100191, China
*
Author to whom correspondence should be addressed.
Drones 2022, 6(3), 77; https://doi.org/10.3390/drones6030077
Submission received: 20 February 2022 / Revised: 10 March 2022 / Accepted: 11 March 2022 / Published: 16 March 2022
(This article belongs to the Section Drone Design and Development)

Abstract

:
As combat missions become increasingly complex in both space and time, cross-regional joint operations (CRJO) is becoming an overwhelming trend in modern air warfare. How to allocate resources and missions prior to the operation becomes a central issue to improve the combat efficiency. In this paper, we focus on the cooperative mission planning of multiple heterogeneous unmanned aerial vehicles (UAVs) in a CRJO. A multi-objective optimization problem is presented with the aim of minimizing the makespan while maximizing the value expectation obtained. Moreover, it is not mandatory for each UAV to return exactly to the base which it takes off. Furthermore, in addition to the constraints commonly found in UAV mission assignment problems, the ammunition inventory at each base is also taken into account. To solve such a problem, we developed an improved genetic algorithm (IGA) with a novel chromosome encoding format. It can determine the number of attacks on a given target based on the expectations obtained, rather than being predetermined. Specifically, an efficient logic-based unlocking mechanism is designed for the crossover and mutation operations in the algorithm. Simulation results show that the developed IGA can efficiently solve the considered problem. Through numerical experimental comparisons, the algorithm proposed in this work is superior to other existing IGA-like algorithms in terms of computational efficiency.

1. Introduction

Due to the advantages of powerful execution and low risk to human life, UAVs have been widely used for various military purposes such as reconnaissance, precision strike, surveillance, communication relay, decoy, etc. [1]. Compared with a single UAV, UAVs with different capacities can achieve more complicated mission goals through cooperation. Nowadays, there is a growing consensus that mission planning, which is generally composed of task assignment and path planning, should be taken as the core technique to improve the combat efficiency [2,3].
The task assignment problem is essentially a nondeterministic polynomial hard (NP-hard) problem [4], which suggests that the scale of the problem severely impacts the solving process. The multi-UAV task assignment problem can generally be modeled as a mixed-integer linear programming (MILP), and commonly used models include vehicle routing problem (VRP) [5], multiple traveling salesman problem (MTSP) [6], multiple processors resource allocation (MPRA) [7], etc. Complicated constraints are embedded in the models to give an accurate description of the mission. The exhaustive enumerations of MILP and the tree search method lead to prohibitive computational complexity when handling large and complex missions [8,9]. Instead, due to the powerful optimality-seeking ability and extraordinary computational stability, swarm intelligence algorithms (SIAs) have become the mainstream. Commonly used SIAs in these fields include particle swarm optimization (PSO) [10], genetic algorithm (GA) [11,12], ant colony optimization (ACO) [13,14], reactive tabu search algorithm [15] and their variations. In order to improve the solving performance, many studies combine multiple SIAs to construct novel compound methods [16,17]. In addition to the centralized algorithms mentioned above, distributed task assignment methods such as contract net [18], auction methods [19] are also popular for their advantages in real-time implementation.
When the factors considered are different, the model of the task assignment problem and the corresponding algorithm are different. These factors may include the types of UAVs, the types of tasks, and the types of constraints, etc. For the multi-UAV collaborative task assignment problem, Jia et al. [20] proposed the two-parent genetic algorithm based on the given coding scheme and a sequence number cross method. Considering the task coupling constraints, the resource constraints and the strict task precedence constraint comprehensively, Ye et al. [21] established a cooperative multiple task assignment model to minimize the makespan, and an adaptive genetic algorithm is developed to address the problem (note that makespan is often used in scheduling problems, where it represents the total execution time of UAV tasks). Taking the benefits of UAVs, the time required to execute tasks and the task load into account, Yang et al. [22] proposed a hybrid task allocation method for the multi-UAV cooperative task allocation, where the quantum genetic algorithm, the grouping optimization strategy and the simulated annealing criterion are considered in the proposed method. Zhen et al. [23] proposed an intelligent self-organized algorithm to solve the cooperative task planning problem, which the maneuverability constraints, the collision avoidance constraints, the threat avoidance constraints and the range constraints are considered. Environmental uncertainty also affects models and algorithms. Bertuccelli et al. [24] studied the real-time multi-UAV task assignment in dynamic and uncertain environment, and analyzed task assignment for heterogeneous air vehicles using a guaranteed conflict-free assignment algorithm. Considering the stochastic velocities of UAVs, Jia et al. [25] studied the cooperative multiple task assignment problem, which is formulated as a two-stage stochastic programming model, and proposed an improved genetic algorithm. A task assignment problem that many criteria values essential to task assignment were random or fuzzy was studied in the literature [26], and a novel approach based on stochastic multicriteria acceptability analysis method was proposed in this study. There are many other related studies on the consideration of uncertain factors in the task assignment of multiple UAVs [27,28,29,30], which will not be described in detail here.
It should be noted that general crossover and mutation operations in SIAs are likely to generate chromosome with constraint violation, which results in the deadlock (or “lock” for short) phenomenon. Each algorithm has its mechanism to fix these infeasible solutions, known as the unlocking process. During the implementation, a large portion of computational time is consumed by the unlocking process. For example, unlocking process is achieved by keeping swapping two columns of the chromosome randomly until all constraints are satisfied in [31]. It results in an unacceptable computational burden as the problem scale increases. Hence, developing efficient unlock mechanisms is significantly beneficial for improving the computational efficiency.
Considering the complexity in the both spatial and time domain of modern air warfare, CRJOs are frequently executed to cover the battlefield with a vast range. It may require heterogeneous UAVs distributed at different bases to constitute a fleet or a swarm to achieve certain mission goals cooperatively. For example, aiming to attack an island, the carrier-based combat UAVs on the sea and the bomber UAVs at home should cooperate, where the former tries to win the air superiority and the latter executes bombing missions. However, task assignment problems under the multi-base scenario are rarely seen in previous research. Hence, in this paper, we address the cooperative task assignment for multiple heterogeneous UAVs in CRJOs by an IGA. First, the task assignment problem is formulated into a multi-objective MILP. In the developed mathematical model, heterogeneous UAVs set off from different airports and they are not required to return exactly to the airport they depart. Three types of tasks (i.e., classification, attack, and verification) are expected to be executed sequentially on each target. Each target is prescribed with a fixed value, and it allows multiple attacks on a certain target. Two contradictory objectives, i.e., minimization of execution time and maximization of obtained value expectation are set. Practical constraints such as maximum ammunition load, time constraints, and so on are imposed. In addition, the ammunition inventory of each airport, which is rarely seen in the existing literature, is also taken into consideration. To solve the problem, an IGA is developed. It deals with various constraints in the formulated problem through a unique encoding of chromosomes and specifically designed resource constraint sets (RCSs). Special crossover and mutation operations can adaptively adjust the number of attacks on the target according to the fitness function. Furthermore, the logic-based unlocking method greatly reduces the time consumption of unlocking process and effectively improves the efficiency of the algorithm.
To the best of our knowledge, this is the first paper to address the problem of multi-heterogeneous UAV mission assignment with multiple airports and munitions inventory constraints. The main contributions of this paper can be summarized as follows: (i) a novel IGA with a special encoding format and genetic operations is developed to solve the problem; (ii) an efficient logic-based unlocking mechanism is designed by using RCS; and (iii) the number of attacks on the target can be determined by the IGA without the need of prior setting.
The remainder of the paper is organized as follows. Section 2 describes the multi-airport task assignment problem. Section 3 establishes the corresponding MILP model. An IGA to solve the problem is developed in Section 4 and then validated in Section 5. Finally, Section 6 concludes the paper.

2. Problem Description

Suppose that N T detected targets with known positions in the battlefield. Let
T : = { T 1 , T 2 , , T N T }
denote the set of targets. Target T k is assigned with a value V a l u e T k . For a target, a series of sub-tasks need to be performed on it until the desired goal is reached. Each target contains 3 types of tasks, that is, classification task, attack task and verification task. Let k represent the task type, k = 1 , 2 , 3 , respectively, represent classification task, attack task and verification task. In particular, let k = 0 represents that the UAV returns to the airport. In addition, N k represents the number of task types, thus, N k = 4 .
For simplicity of description, the classification, attack and verification tasks are abbreviated as C, A, V, respectively. Let S T j be the task set of target T j ,
S T j : = { C , A 1 , A 2 , , A N A j , V } , j = 1 , 2 , , N T ,
where N A j is the number of attack tasks of target T j , which depends on the value of the target T j . In this paper, the values of N A j , j = 1 , 2 , , N T are quantities to be optimized rather than being prescribed. Since multiple airports are considered, we suppose that
P : = { P 1 , P 2 , , P N P }
denote the set of airports, where P m , m = 1 , 2 , , N P is the m-th airport.
According to the actual situation, for the same target, classification, attack and verification tasks should be executed sequentially. Let t C T j , t A l T j ( l = 1 , 2 , , N A j ) , t V T j denote the execution time of the task C, A l , V of target T j , respectively. Then, we have,
t C T j < t A T j , t ^ A T j < t V T j , j = 1 , 2 , , N T ,
where t A T j : = min { t A l T j | l = 1 , 2 , , N A j } , t ^ A T j : = max { t A l T j | l = 1 , 2 , , N A j } .
Three types of UAVs, i.e., surveillance UAV, combat UAV and munition UAV cooperate to conduct the CRJO. Among them, surveillance UAVs can perform the classification and verification tasks, combat UAVs can perform all types of tasks, and munition UAVs can only perform the attack task. Let
U : = { U 1 , U 2 , , U N U }
denote the set of UAVs, where U i is the i-th UAV. The tasks assigned to a certain UAV constitute the task set of the UAV. Each UAV loads ammunition at the airport and then takes off to perform its tasks. Suppose that the task set of UAV U i is
M U i : = { T 1 U i , T 2 U i , , T N U i U i } ,
where T n U i , n = 1 , 2 , , N U i is the n-th task of UAV U i . Each UAV completes the tasks one by one in the order of task assignment. Let t n U i ( n = 1 , 2 , , N U i ) denote the execution time of the n-th task of UAV U i . Then, we have,
t 1 U i < t 2 U i < < t n U i < < t N U i , U i , i = 1 , 2 , , N U .
There is the possibility, in practical situations, that a UAV does not completely destroy a target by one attack. In this paper, we assume that each UAV has different success probabilities when attacking different targets. Let the probability of target T j ( j = 1 , 2 , , N T ) being destroyed by UAV U i ( i = 1 , 2 , , N U ) is written as P S i , j . We only consider the success probability of the attack task.In addition, for the cross-regional joint operations problem, we also make the following assumptions:
  • To reduce the complexity of the problem, the environment considered is a two-dimensional plane;
  • UAVs all fly at different altitudes, and there will be no collision even if the trajectories overlap;
  • The success rate in performing classification and verification tasks is 100%.
For the above problem description and assumptions, Figure 1 shows an example of cross-regional joint operations for 2 airports, 2 targets and 3 UAVs. Among them, U 1 , U 2 and U 3 are the survival UAV, munition UAV and combat UAV, respectively.

3. Mathematical Model

3.1. Map Discretization

The connected digraph is introduced for map discretization. The locations of targets and airports, and the values of heading angles are involved in the information of the vertices. A UAV can approach or leave an airport or a target with different orientations. In order to facilitate the calculation, the continuous heading angle is discretized. The heading angle is discretized by using the form of equal division, and the set of discretized heading angles is
Ψ = { ψ i | ψ i = 2 π i N ψ , i = 0 , 1 , , N ψ 1 } ,
where N ψ represents the number of possible heading angles.
Based on the above description, the set of vertices is
V = P 1 , P 2 , , P l , , P N P , T 1 , T 2 , , T j , , T N T ,
where l = 1 , 2 , , N P , j = 1 , 2 , , N T . Let N V is the number of vertices. Obviously, one has N V = N P + N T . The set of edges is
E = { ( V i , V j ) | V i , V j V , i , j = 0 , 1 , , N V , i j } ,
where V i is the i-th element of V. Then, the connected digraph is given as
C G = { V , E } .

3.2. Objective Function

In the task assignment problem model, there are two parts are considered in the objective function. These two parts are the makespan and the expectation of value obtained, and the details are given as follows.
(1)
The makespan
When evaluating a task assignment plan, minimizing the makespan is the primal indicator. The makespan depends on the maximum completion time among all UAVs, and it can be expressed as
J 1 = max u U { k = 1 N k i = 1 N V j = 1 N V j ^ = 0 N ψ 1 i ^ = 0 N ψ 1 X ( ( v i , ψ i ^ ) , ( v j , ψ j ^ ) ) u , k · d ( ( v i , ψ i ^ ) , ( v j , ψ j ^ ) ) u / V e l o c i t y u } ,
where X ( ( v i , ψ i ) , ( v j , ψ j ) ) u , k { 0 , 1 } , v i , v j V , ψ i ^ , ψ j ^ Ψ , u U is a binary decision variable. If UAV U u executes task type k from ( v i , ψ i ^ ) to ( v j , ψ j ^ ) , then X ( ( v i , ψ i ^ ) , ( v j , ψ j ^ ) ) u , k = 1 ; otherwise, X ( ( v i , ψ i ^ ) , ( v j , ψ j ^ ) ) u , k = 0 . And d ( ( v i , ψ i ^ ) , ( v j , ψ j ^ ) ) u is the the distance of the Dubins path of UAV U u from ( v j , ψ j ^ ) to ( v j , ψ j ^ ) . For more information about Dubins path, please refer to the literature [32]. V e l o c i t y u represents the speed of UAV U u .
(2)
The expectation of the value obtained
Maximizing the expectation of the value obtained is another important indicator to evaluate a task assignment scheme. Here, we try to minimize the opposite of the expectation of the value obtained,
J 2 = u U l = 1 N V j = 1 N V j ^ = 0 N ψ 1 i ^ = 0 N ψ 1 ( X ( ( v i , ψ i ^ ) , ( v j , ψ j ^ ) ) u , 2 · V a l u e T j · P S u , j ) .
This is a multi-objective optimization problem. The objective function we expect is the weighted sum of J 1 and J 2 . The orders of magnitude of two objectives can be of large difference, and direct weighted sum is meaningless. In this paper, the standard values s t a n d a r d 1 and s t a n d a r d 2 are taken to make J 1 and J 2 dimensionless. The specific form is given as follows,
min J = α · J 1 / s t a n d a r d 1 + β · J 2 / s t a n d a r d 2 ,
where α , β are the weights that satisfy α + β = 1 .
Remark 1.
How to select the standard value in the algorithm is described in detail in Section 4.4.2 of this article. For some reasons, the fitness function in the actual calculation cannot directly take the objective function, but requires operations such as translation. Related details are also provided in Section 4.4.2.

3.3. Constraints

Based on the actual situation and the multi-airport situation, the following constraints need to be considered in the task assignment problem.
(1)
The task requirement constraint.
Multi-UAV cooperative constraints are common constraints in the UAV task assignment problem. Based on the above description, UAVs are required to perform all tasks in coordination, that is, each task will be assigned to one UAV to perform. The mathematical representation of this constraint is given as follows,
u = 1 N U k = 1 N k i = 1 N V i ^ = 0 N ψ 1 j ^ = 0 N ψ 1 X ( ( v i , ψ i ^ ) , ( T t , ψ j ^ ) ) u , k = N T t , t = 1 , 2 , , N T .
N T t represents the number of tasks that target t needs to perform. In some cases N T t may be 0, such as the ammunition is insufficient or the target value is not high enough.
(2)
The ammunition load constraints.
Due to various reasons, the amount of ammunition carried by the UAV is limited, so the number of attack tasks of the UAV cannot exceed its ammunition load. This constraint can be modeled as follows,
i = 1 N V j = 1 N V i ^ = 0 N ψ 1 j ^ = 0 N ψ 1 X ( ( v i , ψ i ^ ) , ( v j , ψ j ^ ) ) u , 2 n u a , u U ,
where n u a represents the ammunition capacity of UAV U u . In addition, in order to reduce the risk of attack task and increase the value expectation, we often stipulate that the same UAV will only attack the same target once.
(3)
The time constraints.
In this article, each target contains three types of tasks. Based on the above description, these three types of tasks for the same target must be completed in order.
t C T t < t A T t < t V T t , t = 1 , 2 , , N T .
When hitting the same target multiple times, t A T t is not just an element. It will be a set T A T t = { t A 1 T t , , t A n T t } . Under this circumstance, we only need to ensure that the following formula holds.
t C T t < min ( T A T t ) and max ( T A T t ) < t V T t , t = 1 , 2 , , N T .
(4)
The UAVs recycling constraints.
In the actual battlefield, UAVs that have completed their tasks need to return to the airport. There are multiple airports considered in this paper, such as aircraft carrier formations and island bases. Therefore, for the multi-airport problem, any UAV that departs from any airport needs to return to any airport in the end. The mathematical representation of this constraint is given as follows,
n = 1 N P k = 1 N k j = 1 N T N ψ l = 0 N ψ 1 X ( ( P n , ψ P n ) , ( v j , ψ l ) ) u , k + n = 1 N P k = 1 N k j = 1 N T N ψ l = 0 N ψ 1 X ( ( v j , ψ l ) , ( P n , ψ P n ) ) u , k = 2 , u U .
(5)
The multi-airport ammunition constraints.
In the multi-airport problem, the number of ammunition at each airport is limited, so the task assignment problem involves the multi-airport ammunition constraint. Therefore, the number of tasks performed by UAVs at each airport cannot exceed the total number of ammunition at that airport. That is,
i = 1 N V j = 1 N V i ^ = 0 N ψ 1 j ^ = 0 N ψ 1 X ( ( v i , ψ i ^ ) , ( v j , ψ j ^ ) ) u , 2 n p a , u P p
where n p a , p = 1 , 2 , , N P represents the number of ammunition of the p-th airport.

3.4. Formulation of the Optimization Problem

Based on the above description, the model of the task assignment problem involving multiple airports is described as follows,
min J = α · J 1 / s t a n d a r d 1 + β · J 2 / s t a n d a r d 2 s . t . u = 1 N U k = 1 N k i = 1 N V i ^ = 0 N ψ 1 j ^ = 0 N ψ 1 X ( ( v i , ψ i ^ ) , ( T t , ψ j ^ ) ) u , k = N T t , t = 1 , 2 , , N T , i = 1 N V j = 1 N V i ^ = 0 N ψ 1 j ^ = 0 N ψ 1 X ( ( v i , ψ i ^ ) , ( v j , ψ j ^ ) ) u , 2 n u a , u U , t C T t < t A T t < t V T t , t = 1 , 2 , , N T , n = 1 N P k = 1 N k j = 1 N T N ψ l = 0 N ψ 1 X ( ( P n , ψ P n ) , ( v j , ψ l ) ) u , k + n = 1 N P k = 1 N k j = 1 N T N ψ l = 0 N ψ 1 X ( ( v j , ψ l ) , ( P n , ψ P n ) ) u , k = 2 , u U , i = 1 N V j = 1 N V i ^ = 0 N ψ 1 j ^ = 0 N ψ 1 X ( ( v i , ψ i ^ ) , ( v j , ψ j ^ ) ) u , 2 n p a , u P p , X ( ( v i , ψ i ) , ( v j , ψ j ) ) u , k { 0 , 1 } , v i , v j V , ψ i ^ , ψ j ^ Ψ , u U .

4. An IGA with Flexible Unlock Mechanism

4.1. Chromosome Encoding

According to the above description, in order to make the genetic algorithm suitable for solving the multi-airport task assignment problem, the algorithm needs to be modified. The modified chromosome coding is given in this section.

4.1.1. Encoding Format

In the original genetic algorithm, each chromosome represents a feasible solution. Similarly, this method is also used in the improved algorithm. We know that although the task assignment problem is an NP-hard problem, it is essentially to find the corresponding relationship between tasks and UAVs and the sequence of these corresponding relationships. Therefore, each given plan contains two aspects: 1. the corresponding relationship between UAVs and tasks; 2. the order in which UAVs perform tasks. Based on this idea, the following chromosome fragment can be constructed.
Figure 2 is a chromosome fragment, and the third row represents the number of the UAV. Figure 2 represents the plan of UAV U 1 in the chromosome. A complete plan is executed by multiple UAVs collaboratively, so a complete chromosome contains several fragments similar to Figure 1. In addition, in each fragment, the first and second rows are the task number and task type, respectively. The information in the first three rows forms the above-mentioned corresponding relationship between UAVs and tasks. The order of tasks corresponding to the chromosome from left to right is the order of execution of tasks. Because the distance is calculated by using the Dubins path, the information in Dubins path is added to the chromosome. The fourth row is the angle when the UAV approaches the target. The fifth and sixth rows are the angles of the UAV when it leaves and returns to the airport. In addition, the background of multiple airports also makes the chromosome need to include the necessary airport information. The seventh row is the number of the airport where the UAV returns, and the eighth row is the number of the airport where the UAV departs, and the ninth row is the location of the UAV in the airport. For example, in Figure 2, the eighth and ninth rows in the chromosome indicate that UAV U 1 is at position 1 of airport 1. If UAV U 2 is also at Airport 1, then the values of the eighth and ninth rows corresponding to the UAV U 2 are 1 and 2, respectively. This agreement is to facilitate program calculations. Figure 3 is a complete chromosome, which consists of several fragments illustrated in Figure 2.

4.1.2. Initialization Strategy

Because the CRJO problem contains many constraints, there are many infeasible solutions in our randomly generated chromosomes, and a large number of infeasible solutions will affect the speed of algorithm convergence. Therefore, in the process of generating chromosomes, we must avoid some infeasible solutions. A resource constraint set is defined in the algorithm of this paper, which is generated according to the ammunition reserves owned by the airport and the docked UAVs, and represents the capabilities of each airport. Figure 4 shows the process of assigning task k to execute the UAV in the encoding of chromosomes. The advantage of assigning tasks through resource constraint set encoding is that the resulting chromosomes satisfy resource constraints. Therefore, the resource constraint set needs to be used in the subsequent cross-mutation process.
Figure 4 completes the coding of lines 1–3 of the initial chromosome, various heading angles in lines 4–6 are randomly given, and the airport information in lines 7–9 is initially determined. The chromosomes in Figure 3 are obtained by arranging the generated chromosomes according to the UAV number. Since this article considers the situation of ammunition scarcity, first, we need to judge the size of n e a = max { airport   total   ammunition ,   sum   of   all   UAV   loads } and N T . If the ammunition is sufficient, assign the UAV to the task of the N T targets, otherwise, select n e a targets by roulette according to the target value, and assign the UAV to perform their tasks.

4.2. Crossover Operator

The crossover operator is an important part of the genetic algorithm. In essence, the crossover operation is to exchange the information of the two chromosomes. This paper, it is to exchange the correspondence between the tasks in the two schemes and the UAV. First, this paper uses the roulette algorithm to select two good parents according to the fitness function value. Second, a single-point crossover method is used to randomly select a point from parent 1 as the crossover starting point. All information from the beginning to the end of parent 1 is exchanged with the corresponding information of parent 2. Since the attack task will involve resource constraints, the crossover of attack information is different from that of classification evaluation.
Furthermore, under the background assumptions of this paper, the number of attacks against the target is no longer deterministic. In the initial process of chromosomes, the number of attacks on the target is 1, but in the subsequent calculation, the algorithm will determine the number of attacks on the target by itself according to the value of the fitness function. Therefore, this will lead to the phenomenon of crossover operation of chromosomes of different sizes during the crossover process, and changes in chromosome dimensions may also occur during the crossover process. The crossover method in this paper takes the dimension of the first chromosome as a reference, so different dimensions and changes in dimensions will not affect the crossover operation.

4.2.1. Crossover of Attack Genes

This section gives the specific operation of single-point crossover of attack genes. Since the attack task involves ammunition constraints, the crossover operation of attack genes will be divided into two cases by discussing whether the attackable UAV set is empty or not. Because the crossover process involves the crossover of chromosomes of different dimensions, the set of attackable UAVs corresponding to one chromosome may be empty, while the other is not. In this case, the chromosome corresponding to the empty set is defined as parent 1. As long as the attackable UAV set of parent 1 is empty, the attackable UAV set is considered empty (the attackable UAV set corresponding to another chromosome may not be empty at this time). We call the constraint that the same target can only be attacked once by the same UAV as constraint A. A detailed description of the single-point crossover of the attack gene is as follows.
  • Attackable set is not empty.
If the attackable set is not empty, then the tasks information remain unchanged, and the exchange of the information of the two chromosomes is achieved by exchanging the information of the UAVs performing the attack tasks in the two chromosomes. The specific steps are shown in Algorithm 1, In addition, Table 1 is a notation description of the algorithm in this section.
A simple example is given to assist readers in understanding the operation flow of the crossover operation when the set of attackable UAVs is not empty. In this example, there are 2 airports, 3 UAVs, and 2 targets. First, two parents are obtained through the roulette algorithm, as shown in the following figure.
Algorithm 1 Crossover operations where the attackable set is not empty
Input:
chromosome 1 = c 1 , attackableUAV 1 = a A 1 ,
chromosome 2 = c 2 , attackableUAV 2 = a A 2
Output:
c 1 , a A 1 , c 2 , a A 2
1:
Find out all the attack tasks of c 2 , marked as a t t a c k 2 .
2:
Remove the UAV number a of the exchange line of c 1 from a A 1 . In addition, let I = a A 1 a t t a c k 2 .
3:
if I 0 then
4:
    Randomly select an element b from I.
5:
    while b does not satisfy constraint A  do
6:
        Randomly select an element b from I.
7:
    if a is not in a A 2 or a does not satisfy constraint A  then
8:
        Randomly select an element c from a A 2 .
9:
        a = c
10:
   Change b into the cross column of c 1 , and change a into the corresponding column of c 2 .
11:
   Update a A 1 and a A 2 .
12:
return c 1 , a A 1 , c 2 , a A 2
As shown in the Figure 5, the orange column in parent 1 is the column for single-point crossover operation, and the UAV performing the attack task in this column is U 2 . The attack resource constraint set of parent 1 is attackableUAV 1 = { 1 , 2 , 3 } , it means U 1 , U 2 , U 3 that can also perform attack tasks under the task assignment plan of parent 1. The columns of attack tasks in Parent 2 is marked in green in the Figure 5, and it is represented by a set as a t t a c k 2 = { 1 , 2 } . The attack resource constraint set of parent 2 can also be expressed as attackableUAV 2 = { 1 , 2 , 3 } . Remove 2 from attackableUAV 1 = { 1 , 2 , 3 } , and then take the intersection with a t t a c k 2 , which is expressed as I = attackableUAV 1 / { 2 } a t t a c k 2 = { 1 } . Because 1 is in attackableUAV 2 , so the number in the red position of parent 1 can be exchanged with the number in the blue position of parent 2 in the Figure 5.
After swapping the UAVs of the crossed columns of the two chromosomes, it is also necessary to swap the approach angle and other information, and finally get the result shown in the Figure 6. This is the process of single-point crossover operation of attack genes when resources are sufficient.
  • Attackable set is empty.
When the attackable set is empty, then all the ammunition are allocated, so the operation of changing the UAV cannot be performed. According to the previous description, the nature of crossover operation is to exchange the corresponding relationship between the targets and the UAVs in the two chromosomes. Therefore, when the attack set is empty, the UAVs that perform the attack task can be fixed, and the targets being attacked in the two parents can be exchanged.
Table 1 is a notation description of the algorithm in this section. If CI 1 is not an empty set, when the crossover operation is performed on chromosome 1 and chromosome 2, chromosome 1 can refer to the information of chromosome 2 for internal exchange. Internal exchange is a random selection of an element of CI 1 , which is a target that the UAV U u 0 did not perform on chromosome 1, but according to the definition of the set, this target is chromosome 2 The target of the attack mission performed by U u 0 . Exchange this target with the target executed by U u 0 in chromosome 1, so as to indirectly achieve the purpose of exchanging information with chromosome 2. Similarly, if CI 2 is not an empty set, chromosome 2 can also refer to the information of chromosome 1 for internal exchange. We refer to the restriction of internal exchange as Constraint B.
The specific steps are shown in Algorithm 2.
Algorithm 2 Crossover operations where the attack set is empty
Input:
chromosome 1 = c 1 , chromosome 2 = c 2 ,
Output:
c 1 , c 2
1:
Calculate CA 1 , CA 2 , CB 1 , CB 2 according to c 1 , c 2 .
2:
if CB 2 Ø then
3:
    Calculate CI 1 , CI 2 .
4:
     C o m p l e t e = 0
5:
    while  C o m p l e t e = 0  do
6:
        if  CI 1 Ø and CI 1 Ø  then
7:
           Randomly select an element a from CI 1 , elect an element b from CI 2 .
8:
           if a, b satisfies constraint B  then
9:
                c 1 and c 2 are exchanged internally accordingly.
10:
                C o m p l e t e = 1
11:
           else
12:
               Remove the corresponding elements from CI 1 , CI 2 .
13:
        if  CI 1 Ø and CI 2 = Ø  then
14:
           Randomly select an element a from CI 1 .
15:
           if a satisfies constraint B  then
16:
                c 1 exchanges internally.
17:
               Replace c 1 cross column elements into c 2 , and adjust c 2 .
18:
                C o m p l e t e = 1
19:
           else
20:
               Remove a from CI 1 .
21:
        if  CI 1 = Ø and CI 2 Ø  then
22:
           Randomly select an element b from C 2 .
23:
           Traverse CB 2 if c 2 can be exchanged internally, record f l a g = 1 ;
24:
           if  f l a g = 1  then
25:
                c 2 exchanges internally.
26:
               Replace c 2 cross column elements into c 1 , and adjust c 1 .
27:
                C o m p l e t e = 1
28:
           else
29:
               Remove the corresponding elements from CI 2 .
30:
        if  CI 1 = Ø and CI 2 = Ø  then
31:
           Replace c 2 cross column elements into c 1 , and adjust c 1 .
32:
           Replace c 1 cross column elements into c 2 , and adjust c 2 .
33:
            C o m p l e t e = 1
34:
return c 1 , c 2
In order to facilitate readers to understand the above-mentioned crossover process, take the situation that resources are insufficient as an example to illustrate how the crossover operation is performed. The example contains 2 airports, 4 targets, 3 UAVs, and each airport has 1 ammunition. The two parents are given as follows:
The orange column of parent 1 in the Figure 7 is the column where parent 1 performs single-point crossover operation, and the target number that needs to be changed is marked in red. Obviously, CA 1 = { 1 } , CA 2 = { 3 } , CB 1 = { 2 } , CB 2 = { 1 } , CI 1 = { 1 } , CI 2 = Ø . The UAV that performs the attack task in the crossed column of parent 1 is U 2 . In parent 2, we also use orange to mark the column that U 2 performs the attack task, and the target number is marked in blue. As shown in the Figure 7, there is only one column for U 2 to execute the attack, so this column can only be used as the crossed column of parent 2. If there are multiple columns of U 2 to perform the attack task in Parent 2, it is necessary to use the information of CI 1 , CI 2 to select the crossed columns according to the algorithm steps. In this example, CI 1 = { 1 } is not empty, so first determine whether parent 1 can be exchanged internally. We mark the column in parent 1 that performs attack tasks on target 1 in green, and the target is marked in blue. We found that the numbers in the red block and the blue block in parent 1 can still satisfy the constraints after being exchanged, so parent 1 can be exchanged internally. Since CI 2 is an empty set, the number 3 can only be exchanged into the blue block of parent 2 to replace the previous number 1. After this treatment, there are no attack tasks of target 1 in parent 2, so the classification task and verification task (the gray column in parent 2) are meaningless, so they need to be deleted in the subsequent operations.
The result obtained after the two chromosomes are crossed is shown in the Figure 8. The target 1 and target 3 in parent 1 are interchanged. Change the previous target 1 in parent 2 to target 3, because there was no attack task of target 3 in the previous chromosome, so after adding the attack task of target 3, the classification task and verification task of target 3 are need to be added, such as the red columns in parent 2. The above process completes the single-point crossover operation for the attack task in the case of insufficient resources.

4.2.2. Crossover Operations of the Classification Genes and the Verification Genes and the Heading Angles

Because the ammunition constraints do not need to be considered in the classification and verification tasks, so their crossover method is simple. The crossover operation is similar to the simplified version of the crossover operation where the attackable set is not empty. The specific steps are shown in Algorithm 3.
Algorithm 3 Crossover operator for classification and verification tasks
Input:
chromosome 1 = c 1 , detectableUAV 1 = d A 1 ,
chromosome 2 = c 2 , detectableUAV 2 = d A 2
Output:
c 1 , d A 1 , c 2 , d A 2
1:
Find all UAVs that perform classification and verification tasks in c 2 , marked as d e t e c t 2 .
2:
Remove the UAV number a of the exchange line of c 1 from d A 1 . In addition, let I = d A 1 d e t e c t 2 .
3:
if I Ø then
4:
    Randomly select an element b from I.
5:
    Change b into the cross column of c 1 , and change a into the corresponding column of c 2 .
6:
    Update d A 1 and d A 2 .
7:
return c 1 , d A 1 , c 2 , d A 2
In addition, in the fifth step of the crossover operation, the initial and final heading angles of the two chromosomes need to be exchanged.The specific steps are shown in Algorithm 4.
Algorithm 4 The heading angle crossover operator
Input:
chromosome 1 = c 1 , chromosome 2 = c 2
Output:
c 1 , c 2
1:
Count the number of heading angles of c 1 and c 2 and record them as Hn 1 and Hn 2 , respectively.
2:
H n m i n = min { Hn 1 , Hn 2 } .
3:
R = r a n d o m ( 0 , H n m i n ) .
4:
Exchange the first R heading angles of c 1 and c 2 .
5:
return c 1 , c 2
The above is all about performing crossover operations on a pair of chromosomes.

4.3. Mutation Operator

In this paper, mutation operation can not only prevent the algorithm from falling into a local optimum, but also change the dimension of chromosomes by adding or deleting attack tasks for a certain target. The mutation operation mainly consists of two parts. The probability P M i of the occurrence of a given mutation. When the generated random number is less than P M i , perform related operations. First of all, to make the attack times of each solution to the target not fixed, it is necessary to increase or decrease the attack times of a certain target during the mutation process. Second, to avoid falling into a local optimum, it is necessary to change the task sequence of the random UAVs in the scheme and the various heading angles of the randomly selected UAVs.
We want to increase the number of attacks on high-value targets when each target has value. In addition, we want to drop low value targets when ammo is limited. For the selection method of high-value targets, the value of the target is used as the standard, and high-value targets are selected through roulette. In the case of insufficient resources, repeated attacks on some high-value targets meant that some low-value targets had to be abandoned. This paper takes the inverse of the target value and selects low-value targets through the roulette method. The Algorithm 5 gives the algorithm flow for the first part of the mutation.
We call the constraint A that the same UAV can only attack the same target once and the total number of attacks i = 1 N A min { n i a , j = 1 N U i n j , i a } . In addition, we call the attack task whose resource constraint set can guarantee the increase of the corresponding target as constraint C.
In order to facilitate the readers to understand the above process, a simple example is given here. The example contains 2 airports, 4 targets, 3 UAVs, and each airport has 1 ammunition. This example is used to illustrate how the algorithm can increase the number of attacks on a certain target when resources are insufficient. The initial chromosome for the mutation operation is given in Figure 9.
Algorithm 5 Mutation operations
Input:
chromosome = c , attackableUAV = a A ,
Output:
c, a A
1:
f l a g 1 = 0
2:
while f l a g 1 = 0 do
3:
    Roulette chooses a target a that increases the number of attacks.
4:
    if a satisfies constraint A . then
5:
        if a satisfies constraint C . then
6:
           Increase the number of attacks on a.
7:
            f l a g 1 = 1
8:
        else
9:
            f l a g 2 = 0
10:
           while  f l a g 2 = 0  do
11:
               Copy c and a A as c c and a A c .
12:
               Delete an attack task of c c and update a A c .
13:
               if a and a A c satisfies constraint C . then
14:
                    f l a g 2 = 1
15:
            c = c c , a A = a A c .
16:
           Increase the number of attacks on a.
17:
            f l a g 1 = 1
18:
        Update the heading angle of c.
19:
returnc, a A
First, the roulette method is used to select the target that needs to be increased the number of attacks. Since target 2 has the highest value, it has the greatest probability of being selected. In this example, the target that needs to be increased the number of attacks is also target 2. The second step of the algorithm needs to determine whether the target 2 can be attacked again. Although target 2 has been attacked once in the chromosome, there are two UAVs that can perform the attack task, so in theory, target 2 can still be attacked again. Because the current resource constraint set is empty, the target of some attack tasks in the chromosome needs to be replaced with target 2. Because in the chromosome, except for the orange column, only the green column is the attack task column. Therefore, replace the value in the gray position in the Figure 9 with 2. When the value of the gray position is changed to 2, the chromosome still satisfies the constraint, so this operation is reasonable.
After the replacement, the attack task of target 3 does not exist in the chromosome, so the classification task and verification task of target 3 are meaningless (the column marked in gray in the Figure 10). The original chromosome contains the classification task and verification task for target 2, so there is no need to add the classification task and verification task for target 2 after replacement.
The Figure 11 is the final result of the mutation operation. The size of the chromosome has been changed through the mutation operation.

4.4. Program Initialization

The content of chromosome initialization coding has been described in detail above. At the same time, a very important part of program initialization is the calculation of fitness. Many issues in fitness calculation will be discussed in this part.

4.4.1. Unlock

This article uses a logic-based unlocking method to deal with the deadlock issue. This unlocking method can extract the program information contained in the chromosome, and then logically determine whether it is locked and use corresponding strategies for different deadlock scenarios.
First, we define some set symbols as shown in Table 2. Through the previous explanation of the structure of the chromosome, we know that a chromosome represents a task assignment plan. Each UAV executes a part of the overall plan. We call the part executed by UAV U i as a sub-program (Subprogram) of the overall plan. Next, we define the Subprogram task execution logic and four strategies.
Task execution logic: we traverse the program Program of the UAV U i .
1. When encountering a reconnaissance task, we remove the task from the Subprogram, and then add it to Classified and Classified _ S .
2. When encountering an attack task, we judge whether the target number is in Classified _ S , if it is in it, execute the attack task, and remove the task from the Subprogram, and update Attacked _ N , add 1 to the number of attacks on the target. At this time, if the number of attacks on the target is equal to the total number of attacks in the plan, the target number is added to Can _ V and removed from Classified _ S .
3. When encountering an evaluation task, we judge whether the target is in Can _ V , if it is, we remove the task from the Subprogram, and add the target number to Verified .
Operation 1. Use task execution logic for each Subprogram in the overall program.
Operation 2. Traverse each Subprogram to find the reconnaissance task, and if found, exchange the execution order with the first task of the current Subprogram, and use task execution logic for the Subprogram of the exchange order.
Operation 3. Find the attack task of the first element in Classified _ S , and if found, exchange the execution order with the first task of the current Subprogram, and use the task execution logic for the Subprogram of the exchange order and the subsequent Subprograms.
Operation 4. Traverse Can _ V , Find the first attack mission of the target that did not complete the attack mission. The found target exchanges the execution order with the first task of the current sub-program. And use task execution logic for the sub-schemes of the exchange sequence.
After defining the above four strategies, We combine them through the process in Figure 12 to get a logic-based unlocking method.

4.4.2. Fitness Function and Initialization

In the program initialization process, we first calculate the optimal solution in the initial population, and use J 1 of this optimal solution as the initial value of s t a n d a r d 1 and J 2 as the initial value of s t a n d a r d 2 . In the optimization process, J 1 and J 2 are constantly changing and the magnitude of the change is not the same, which will actually change the fitness function. In order to ensure that the actual meaning of the fitness function does not change significantly during the iteration process, we need to iterate a certain number of times to update the standard value. Every time the specified number of iterations is reached, the standard value is replaced with J 1 and J 2 of the optimal solution of this generation.
Here is a special explanation that constantly changing the s t a n d a r d for dimensionlessness will not affect the optimization process. In other words, constantly changing the dimensionless dividend s t a n d a r d can still ensure that the algorithm is moving towards to the optimal direction. For example, we suppose a > b > c > d > e > f > 0 . In the first dimensionless process, we choose a as the s t a n d a r d , compare b a , c a , we can see that c a is smaller. Selecting c as the s t a n d a r d for the second time, comparing d c , e c , f c , obviously f is the smallest, when a is the dividend, f is also the smallest. After adding a minus sign to all values, the maximum value of this group of numbers becomes f . Taking f as the first s t a n d a r d , through similar discussions, we can also know that updating s t a n d a r d will not affect the optimization. In summary, the constant replacement of s t a n d a r d can still ensure that the algorithm proceeds in the direction of optimization. Section 5.3 will discuss the impact of the replacement frequency of s t a n d a r d on the two optimization indicators.
In the actual calculation process, the value of the fitness function of Formula (4) theoretically should be [−1,1], and the roulette in the algorithm requires the value of the fitness function to be of the same sign. So we shift the fitness function value by one unit and turn it into a number between [0,2]. Finally, the fitness function will eventually become
F = α · J 1 / s t a n d a r d 1 + β · J 2 / s t a n d a r d 2 .
The overall process of initialization is shown in Figure 13.

5. Examples of Multi-Airport Task Assignment Problem

5.1. Value-Oriented Multi-Airport Task Assignment

In this section, we will give several multi-airport task assignment examples to test the effectiveness of the algorithm in this paper.
Parameter u p d a t e r a t e is the update rate of Parameter s t a n d a r d . The meaning of the parameter s t a n d a r d and how to take the value have been described in detail in Section 4.4.2. In Table 3, u p d a t e r a t e = 5 means that s t a n d a r d is updated every 5 iterations.
Table 4 shows the location of each airport, and the ammunition quantity of each airport will be given in a specific calculation example.
For convenience, in this section we use the product of ω 1 i and ω 2 j to replace P S i j in Section 3.1, P S i j = ω 1 i × ω 2 j 1 i N U 1 j N T . The variable ω 1 i represents the execution capability of the UAV U i , and the closer to 1, the higher the success rate of UAV U i executing the attack task. The variable ω 2 j represents the difficulty of the T j , and the closer to 1, the easier it is to complete the T j . Through the above explanation, we know that this substitution is reasonable.
This article considers heterogeneous UAVs, and there are three types considered in this article. C represents a combat UAV, which can perform reconnaissance and attack evaluation tasks, M represents an ammunition UAV that is specifically responsible for attack tasks, and S represents a reconnaissance UAV, which can perform reconnaissance and evaluation tasks.
The following calculation examples will use the data in the above Table 3, Table 4, Table 5 and Table 6. If the number of devices in the calculation example is less than the number in the table, the first few data in the table will be taken. For example, 7 targets take the first 7 data of target information. The following multi-airport calculation example contains 3 airports, 5 UAVs, and 7 targets. The number of ammunition corresponding to the airport is { 5 , 2 , 3 } , and the docking status of UAVs at each airport is A 1 = { U 1 , U 2 } , A 2 = { U 3 } , A 3 = { U 4 , U 5 } .
The specific task assignment scheme obtained by the algorithm is shown in Table 7.
Figure 14 is a trajectory diagram corresponding to the above task assignment scheme.
The task types included in all the initial targets are { C , A , V } . In the calculation example, the number of ammunition is greater than the number of targets, so the algorithm will decide to strike certain targets multiple times based on factors such as the value and distance of the target. We can find from the task assignment plan that the plan has two attacks on targets 2, 3, and 5. It is easy to see that the value of these goals is higher than the remaining goals. If the value is set appropriately, there may be more than two attacks on a target. Under the value set of this calculation example, there will be no more than two attacks on the same target.
In addition, the algorithm in this paper can also solve the situation of insufficient ammunition. Table 8 lists the calculation results of various calculation examples.

5.2. Logic-Based Unlocking

The logic-based unlocking method in this article is much faster than the random unlocking method. The following will use the data of some examples in Section 5.1 to test and compare. In the case of multiple airports, the parameters are still consistent with Table 3. We consider the situation of 2 airports with 3 UAVs and 3 targets, that is, the first situation in Table 8 when the ammunition is sufficient. We let the program iterate ten times to generate a new set of unlocked chromosomes with a population of 100. Calculate the fitness function of the group of chromosomes through two different unlocking methods. Since random unlocking is not stable, the time gap required each time will be large, so each different unlocking method is used to calculate the fitness function of the group of chromosomes 10 times, and the box plot drawn by the obtained data is shown in Figure 15.
We can see from the figure that the speed of logic-based unlocking is much faster than the random exchange algorithm. In addition, when the scale becomes larger, the speed of the random algorithm becomes slower and slower. In addition, from the excellent speed of logic-based unlocking, we see the possibility of using this unlocking method to solve larger-scale problems. Figure 16 shows the changing trend of the calculation time of the algorithm based on the logic unlocking method for the task assignment of a single airport with the change of the target number. Figure 17 is a trajectory diagram of 8 UAVs in a single airport and 23 targets.

5.3. Influence of Parameters on Results

For the weight coefficient, β of the fitness function, the change of the indicator is not unexpected. When β increases, the second indicator value expectation also increases, while the negative value of the first indicator’s makespan decreases, as shown in Figure 18. This shows that the weight does have the effect of controlling the size of the two indicators.
For the update rate of the standard value, Figure 19 is an image drawn by using updaterate to change from 1 to 10, calculating 10 times for each parameter and averaging the data. As can be seen from Figure 19, both indicators show an upward trend with the increase of updaterate. We know that the smaller the indicator makespan, the better the solution, and the larger the value expectation, the better the solution. When the update is frequent, there will be a smaller makespan, and in fact, the value expectation will subsequently become smaller in the process of continuously increasing the updaterate, but overall it does not change much, and the difference between the maximum and minimum values will not exceed 10. For a number of 2 orders of magnitude, this change is very small. Therefore, when calculating, we try to choose a smaller updaterate to ensure that the obtained makespan is better.

6. Conclusions

In this paper, the task assignment problem involving multiple airports is studied. We construct a model for the task assignment problem, where two objectives (i.e., minimizing the makespan of the plan and maximizing the expectation of obtained value) are considered. In addition to the conventional constraints, two types of constraints (i.e., the UAVs recycling constraints and the multi-airport ammunition constraints) are proposed based on the idea of multiple airports. For solving the problem, an IGA with novel encoding format and genetic operators is developed. We creatively introduce a mutation method that changes the size of the chromosome, so that the algorithm adaptively selects the number of attacks based on the target value. In addition, a specially designed logic-based unlocking mechanism greatly improves computational efficiency. It makes the developed IGA a promising method to solve large-scale UAV task assignment problems. Our future research direction is to deal with obstacles and moving targets.

Author Contributions

Conceptualization, X.Y. and X.W.; Methodology, X.Y.; Software, X.Y.; Validation, Y.D., C.L. and S.Z.; Formal Analysis, L.W.; Investigation, X.W. and X.Y.; Resources, X.W.; Data Curation, X.Y.; Writing—Original Draft Preparation, X.Y. and X.G.; Writing—Review and Editing, L.W., X.W., Y.D., C.L. and S.Z.; Visualization, X.Y.; Supervision, L.W. and X.W.; Project Administration, X.W.; Funding Acquisition, L.W. and X.W. All authors have read and agreed to the published version of the manuscript.

Funding

The authors are grateful for the National Key Research and Development Plan (2021YFB3302501); the National Natural Science Foundation of China (12102077); the Fundamental Research Funds for the Central Universities (DUT20YG125).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Contact the first/corresponding author please.

Conflicts of Interest

The authors declare that they have no conflict of interest.

References

  1. Bethke, B.; Valenti, M.; How, J.P. UAV Task Assignment: An Experimental Demonstration with Integrated Health Monitoring. IEEE Robot. Autom. Mag. 2008, 15, 39–44. [Google Scholar] [CrossRef]
  2. Wang, J.; Jia, G.; Lin, J.; Hou, Z. Cooperative task allocation for heterogeneous multi-UAV using multi-objective optimization algorithm. J. Cent. South Univ. 2020, 27, 432–448. [Google Scholar] [CrossRef]
  3. Gao, Y.; Zhang, Y.; Zhu, S.; Sun, Y. Multi-UAV Task Allocation Based on Improved Algorithm of Multi-objective Particle Swarm Optimization. In Proceedings of the 2018 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery, Zhengzhou, China, 18–20 October 2018. [Google Scholar]
  4. Shima, T.; Rasmussen, S.J.; Sparks, A.G.; Passino, K.M. Multiple task assignments for cooperating uninhabited aerial vehicles using genetic algorithms. Comput. Oper. Res. 2006, 33, 3252–3269. [Google Scholar] [CrossRef]
  5. O’Rourke, K.P.; Carlton, W.B.; Bailey, T.G.; Hill, R.R. Dynamic routing of unmanned aerial vehicles using reactive tabu search. Mil. Oper. Res. 2001, 6, 5–30. [Google Scholar] [CrossRef]
  6. Secreat, B.R. Traveling Salesman Problem for Surveillance Mission Using Particle Swarm Optimization; Wright-Patter-son, Air Force Ibstitute of Technology: Kaduna, Nigeria, 2001. [Google Scholar]
  7. Zang, B.Y. Optimize Virtual Machine on Multi-Core Processor; Fudan University: Shanghai, China, 2014. [Google Scholar]
  8. Darrah, M.A.; Niland, W.; Stolarik, B.M. Multiple UAV Dynamic Task Allocation Using Mixed Integer Linear Programming in a SEAD Mission. Infotech 2006, 2005, 7164. [Google Scholar]
  9. Rasmussen, S.J.; Shima, T. Tree search algorithm for assigning cooperating UAVs to multiple tasks. Int. Robust. Nonlinear Contr. 2008, 18, 135–153. [Google Scholar] [CrossRef]
  10. Kennedy, J.; Eberhart, R. Particle swarm optimization. Neural Netw. 2002, 4, 1942–1948. [Google Scholar]
  11. Souza, G.d.M.; Toledo, C.F.M. Genetic Algorithm Applied in UAV’s Path Planning. In Proceedings of the 2020 IEEE Congress on Evolutionary Computation, Glasgow, UK, 19–24 July 2020; pp. 1–8. [Google Scholar]
  12. Wang, Z.; Liu, L.; Long, T.; Yun, W. Multi-uav reconnaissance task allocation for heterogeneous targets using an opposition-based genetic algorithm with double-chromosome encoding. Chin. J. Aeronaut. 2018, 31, 339–350. [Google Scholar] [CrossRef]
  13. Zaza, T.; Richards, A. Ant Colony Optimization for routing and tasking problems for teams of UAVs. In Proceedings of the 2014 UKACC International Conference on Control, Loughborough, UK, 9–11 July 2014; pp. 652–655. [Google Scholar]
  14. Zhen, Z.; Zhu, P.; Xue, Y.; Ji, Y. Distributed intelligent self-organized mission planning of multi-uav for dynamic targets cooperative search-attack. Chin. J. Aeronaut. 2019, 32, 2706–2716. [Google Scholar] [CrossRef]
  15. Battiti, R.; Tecchiolli, G. The Reactive Tabu Search. Informs J. Comput. 1994, 6, 126–140. [Google Scholar] [CrossRef] [Green Version]
  16. Duan, H.; Luo, Q.; Shi, Y.; Ma, G. Hybrid Particle Swarm Optimization and Genetic Algorithm for Multi-UAV Formation Reconfiguration. IEEE Comput. Intell. Mag. 2013, 8, 16–27. [Google Scholar] [CrossRef]
  17. Arantes, M.d.S.; Arantes, J.d.S.; Toledo, C.F.M.; Williams, B.C. A Hybrid Multi-Population Genetic Algorithm for UAV Path Planning. In Proceedings of the Genetic and Evolutionary Computation Conference, Denver, CO, USA, 20–24 July 2016; pp. 853–860. [Google Scholar]
  18. Smith, R.G. The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver. IEEE Trans. Comput. 1980, 29, 1104–1113. [Google Scholar] [CrossRef]
  19. Fu, X.; Feng, P.; Gao, X. Swarm uavs task and resource dynamic assignment algorithm based on task sequence mechanism. IEEE Access 2019, 7, 41090–41100. [Google Scholar] [CrossRef]
  20. Jia, Y. Research on UAV Task Assignment Method Based on Parental Genetic Algorithm. In International Conference on Swarm Intelligence; Springer: Cham, Switzerland, 2019; pp. 439–446. [Google Scholar]
  21. Ye, F.; Chen, J.; Tian, Y.; Jiang, T. Cooperative Task Assignment of a Heterogeneous Multi-UAV System Using an Adaptive Genetic Algorithm. Electronics 2019, 9, 687. [Google Scholar] [CrossRef] [Green Version]
  22. Yang, W.Z.; Xin, Y. Multi-UAV Task Assignment Based on Quantum Genetic Algorithm. J. Phys. Conf. Ser. 2021, 1824, 12010. [Google Scholar] [CrossRef]
  23. Zhen, Z.; Xing, D.; Gao, C. Cooperative search-attack mission planning for multi-UAV based on intelligent self-organized algorithm. Aerosp. Sci. Technol. 2018, 76, 402–411. [Google Scholar] [CrossRef]
  24. Bertuccelli, L.; Choi, H.-L.; Cho, P.; How, J. Real-Time Multi-UAV Task Assignment in Dynamic and Uncertain Environments. In Proceedings of the AIAA Guidance, Navigation, and Control Conference, Chicago, IL, USA, 10–13 August 2009. [Google Scholar]
  25. Jia, Z.; Yu, J.; Ai, X.; Xu, X.; Yang, D. Cooperative multiple task assignment problem with stochastic velocities and time windows for heterogeneous unmanned aerial vehicles using a genetic algorithm. Aerosp. Sci. Technol. 2018, 76, 112–125. [Google Scholar] [CrossRef]
  26. Hu, X.; Cheng, J.; Luo, H. Task assignment for multi-uav under severe uncertainty by using stochastic multicriteria acceptability analysis. Math. Probl. Eng. 2015, 14, 249825.1–249825.10. [Google Scholar] [CrossRef] [Green Version]
  27. Wang, Z.; Zheng, M.; Guo, J.; Huang, H. Uncertain UAV ISR mission planning problem with multiple correlated objectives. J. Intell. Fuzzy Syst. 2017, 32, 321–335. [Google Scholar] [CrossRef] [Green Version]
  28. Jia, X.; Wu, S.; Sun, J. UAV formation collaborative search and dynamic task allocation method under uncertain environment. In Proceedings of the 33rd Chinese Control Conference, Nanjing, China, 28–30 July 2014; pp. 947–953. [Google Scholar]
  29. Zhen, Z.; Chen, Y.; Wen, L.; Han, B. An intelligent cooperative mission planning scheme of UAV swarm in uncertain dynamic environment. Aerosp. Sci. Technol. 2020, 100, 105826. [Google Scholar] [CrossRef]
  30. Chen, Y.; Yang, D.; Yu, J. Multi-UAV Task Assignment With Parameter and Time-Sensitive Uncertainties Using Modified Two-Part Wolf Pack Search Algorithm. IEEE Trans. Aerosp. Electron. Syst. 2018, 54, 2853–2872. [Google Scholar] [CrossRef]
  31. Deng, Q.; Yu, J.; Mei, Y. Deadlock-free consecutive task assignment of multiple heterogeneous unmanned aerial vehicles. J. Aircr. 2014, 51, 596–605. [Google Scholar] [CrossRef]
  32. Edison, E.; Shima, T. Integrated task assignment and path optimization for cooperating uninhabited aerial vehicles using genetic algorithms. Comput. Oper. Res. 2011, 38, 340–356. [Google Scholar] [CrossRef]
Figure 1. An illustration of cross-regional joint operations.
Figure 1. An illustration of cross-regional joint operations.
Drones 06 00077 g001
Figure 2. Chromosome fragment.
Figure 2. Chromosome fragment.
Drones 06 00077 g002
Figure 3. Chromosome.
Figure 3. Chromosome.
Drones 06 00077 g003
Figure 4. Chromosome initialization process.
Figure 4. Chromosome initialization process.
Drones 06 00077 g004
Figure 5. The initial chromosome when the attackable set is not empty.
Figure 5. The initial chromosome when the attackable set is not empty.
Drones 06 00077 g005
Figure 6. Result when the attackable set is not empty.
Figure 6. Result when the attackable set is not empty.
Drones 06 00077 g006
Figure 7. The initial chromosome when the attackable set is empty.
Figure 7. The initial chromosome when the attackable set is empty.
Drones 06 00077 g007
Figure 8. Result when the attackable set is empty.
Figure 8. Result when the attackable set is empty.
Drones 06 00077 g008
Figure 9. Initial chromosome for mutation operation.
Figure 9. Initial chromosome for mutation operation.
Drones 06 00077 g009
Figure 10. Chromosome obtained after increasing the number of attacks on the target.
Figure 10. Chromosome obtained after increasing the number of attacks on the target.
Drones 06 00077 g010
Figure 11. Chromosome obtained by mutation operation.
Figure 11. Chromosome obtained by mutation operation.
Drones 06 00077 g011
Figure 12. Logic-based unlocking process.
Figure 12. Logic-based unlocking process.
Drones 06 00077 g012
Figure 13. Initialization process.
Figure 13. Initialization process.
Drones 06 00077 g013
Figure 14. Task assignment and the path planning result.
Figure 14. Task assignment and the path planning result.
Drones 06 00077 g014
Figure 15. Time comparison of unlocking methods.
Figure 15. Time comparison of unlocking methods.
Drones 06 00077 g015
Figure 16. The runtime changes with the target number.
Figure 16. The runtime changes with the target number.
Drones 06 00077 g016
Figure 17. The assignment result for 8 UAVs and 23 targets.
Figure 17. The assignment result for 8 UAVs and 23 targets.
Drones 06 00077 g017
Figure 18. Indicator changes with β .
Figure 18. Indicator changes with β .
Drones 06 00077 g018
Figure 19. Indicator changes with updaterate.
Figure 19. Indicator changes with updaterate.
Drones 06 00077 g019
Table 1. Parameters in the Crossover Algorithm.
Table 1. Parameters in the Crossover Algorithm.
NotationExplanation
chromosome i Chromosome of parent i.
attackableUAV i The set of attackable UAVs for parent i.
detectableUAV i The set of detectable UAVs for parent i.
Hn i The set of heading angles of parent i.
T t 0 In chromosome 1, the cross column target is marked as T t 0 .
U u 0 In chromosome 1, the UAV performing the cross-column
task is denoted as U u 0 .
CA 1 In Chromosome 1, except for T t 0 , the other targets that were
attacked were executed.
CA 2 { T t 0 }
CB 1 In chromosome 2, except for the target of the attack task executed
by U u 0 , other targets are executed the attack task.
CB 2 In Chromosome 2, the target of the attack mission executed by U u 0 .
CI 1 Intersection of CA 1 and CB 2 .
CI 2 Intersection of CA 2 and CB 1 .
Table 2. Parameters in the unlocking process.
Table 2. Parameters in the unlocking process.
NotationExplanation
Program Program set
Classified The set of targets that have performed the classification task
Classified _ S The set of unfinished missions of the attack mission is in Classified
Attacked _ N Number of target attacks
Can _ V A set of targets that can perform classification tasks
Verified Status of investigation mission
Table 3. Parameters used in the IGA.
Table 3. Parameters used in the IGA.
ParameterVariableNumber
Population size p o p u l a t i o n 100
Number of iterations I t e r m a x 50
Elitism Number N e 2
Crossover Number N c r 66
Mutation Number N m 32
Fitness function coefficient 1 α 0.2
Fitness function coefficient 2 β 0.8
update rate of s t a n d a r d u p d a t e r a t e 5
Table 4. Airport information.
Table 4. Airport information.
Airport NumberPosition
1[800,0]
2[−2000,2000]
3[−1000,5000]
Table 5. UAV information.
Table 5. UAV information.
UAV NumberTypeSpeed (m/s)Max AmmunitionMin Turning Radius (m) ω 1 (Success Rate)
1S250080-
2M2105600.9
3C2302700.7
4S250080-
5C2003900.9
Table 6. Target information.
Table 6. Target information.
Target NumberPositionInitial Task TypesValue ω 2 (Difficulty of Execution)
1[2200,4000][C,A,V]600.9
2[3200,1700][C,A,V]900.6
3[500,1200][C,A,V]800.7
4[−300,−1800][C,A,V]530.98
5[1100,2000][C,A,V]1000.7
6[1100,1000][C,A,V]700.8
7[−500,1200][C,A,V]700.8
8[−2000,4800][C,A,V]800.6
9[−500,3200][C,A,V]560.92
Table 7. Task assignment result.
Table 7. Task assignment result.
UAV NumberUAV U 1 UAV U 2 UAV U 3 UAV U 4 UAV U 5
{ T 1 ,V}{ T 1 ,A}{ T 5 ,C}{ T 1 ,C}{ T 4 ,A}
{ T 3 ,C}{ T 5 ,A}{ T 5 ,A}{ T 5 ,V}{ T 3 ,A}
{ T 4 ,V}{ T 7 ,A}{ T 4 ,C}{ T 7 ,C}{ T 6 ,A}
{ T 3 ,V}{ T 3 ,A}{ T 2 ,C}{ T 7 ,V}
{ T 6 ,C}{ T 2 ,A}{ T 2 ,A}
{ T 6 ,V} { T 2 ,V}
The makespan:   88.62 s
Total number of tasks:   24
Runtime:   31.14 s
Table 8. Algorithm Program.
Table 8. Algorithm Program.
Airport-UAVEffective
Ammunition
Targets J 1 J 2 JRuntime (s)
Lack of
resources
A 1 { U 1 , U 2 }
A 2 { U 3 }
{1,1}328.409287.80000.39994.4582
A 1 { U 1 , U 2 }
A 2 { U 3 , U 4 }
{2,1}527.6828150.40000.39957.0692
A 1 { U 1 , U 2 }
A 2 { U 3 }
A 3 { U 4 , U 5 }
{2,1,2}747.7950251.320.399913.1846
A 1 { U 1 , U 2 }
A 2 { U 3 }
A 3 { U 4 , U 5 }
{3,2,2}960.9314332.35040.399526.2494
Sufficient
resources
A 1 { U 1 , U 2 }
A 2 { U 3 }
{3,2}355.1529215.00.39896.9584
A 1 { U 1 , U 2 }
A 2 { U 3 , U 4 }
{5,3}579.4810356.38720.399216.3244
A 1 { U 1 , U 2 }
A 2 { U 3 }
A 3 { U 4 , U 5 }
{5,2,3}789.7176455.29380.398828.7234
A 1 { U 1 , U 2 }
A 2 { U 3 }
A 3 { U 4 , U 5 }
{5,3,4}997.3252460.85630.397944.0693
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Yu, X.; Gao, X.; Wang, L.; Wang, X.; Ding, Y.; Lu, C.; Zhang, S. Cooperative Multi-UAV Task Assignment in Cross-Regional Joint Operations Considering Ammunition Inventory. Drones 2022, 6, 77. https://doi.org/10.3390/drones6030077

AMA Style

Yu X, Gao X, Wang L, Wang X, Ding Y, Lu C, Zhang S. Cooperative Multi-UAV Task Assignment in Cross-Regional Joint Operations Considering Ammunition Inventory. Drones. 2022; 6(3):77. https://doi.org/10.3390/drones6030077

Chicago/Turabian Style

Yu, Xinyong, Xiaohua Gao, Lei Wang, Xinwei Wang, Yu Ding, Chen Lu, and Sheng Zhang. 2022. "Cooperative Multi-UAV Task Assignment in Cross-Regional Joint Operations Considering Ammunition Inventory" Drones 6, no. 3: 77. https://doi.org/10.3390/drones6030077

Article Metrics

Back to TopTop