1. Introduction
Unmanned aerial vehicles (UAVs) refer to aircraft without pilots; such aircraft can fly autonomously or can be remotely controlled by an operator [
1]. They can completely reduce casualties and costs when performing highrisk missions [
2]. At present, UAVs have become very popular in many fields, such as infrastructure inspection, coastal border surveillance, military applications, and others fields [
3,
4,
5,
6]. In the increasingly complex battlefield situation, a single UAV cannot quickly adapt to the changing battlefield environment due to lack of information interaction. At the same time, the effectiveness of a single UAV in perform tasks is not high due to the limited ammunition capacity of a single UAV. However, when a team composed of multiple UAVs performs tasks cooperatively it can overcome the shortcomings of a single UAV. The UAV team can share information and fully allocate internal resources, allowing tasks to be completed efficiently [
7,
8].
In order to take the advantage of multiple UAVs when performing tasks realize improvements in efficiency, cooperative task assignment is important. In recent years, results have been achieved in research on task assignment in different fields [
9,
10]. According to the different factors considered by researchers, the task assignment problem of multiple UAVs can be categorized into different models, and many related algorithms have been proposed as well. Swarm intelligence optimization algorithms are widely used in this field, particularly genetic algorithms [
11]. The UAV team can be composed of either homogeneous UAVs or heterogeneous UAVs. For cooperative task assignment of homogeneous UAVs considering the limitations on the total flight distance of UAVs, Wang et al. [
12] established a combinatorial optimization problem with the total weighted cost of target value and distance cost as the objective, and presented an improved genetic algorithm based on the beetle antennae search algorithm. Venugopalan et al. [
13] presented a team searchbased decentralized task assignment scheme for homogeneous UAVs. Velhal et al. [
14] formulated the restricted airspace protection problem as a multiUAV spatiotemporal multitask allocation problem, and proposed a modified consensusbased bundled auction method to solve it. For cooperative task assignment of heterogeneous UAVs, Fatemeh Afghah et al. [
15] proposed a coalition formation approach to solve the problem of adversary target detection and subsequent task completion. Schwarzrock et al. [
16] proposed a method to increase the amount of tasks performed within the problem of task allocation among agents representing UAVs. Taking the minimization of the task execution time of UAVs as the objective, Ye et al. [
17] established a task assignment model and proposed a modified genetic algorithm with a multitypegene chromosome encoding method. Considering a coupled task allocation and path planning problem, Yan et al. [
18] proposed a task allocation algorithm and a cooperative particle swarm algorithm. Uncertain factors are considered in the cooperative task assignment problem as well. Considering the parameter and timesensitive uncertainties in the task assignment problem, Chen et al. [
19] proposed an algorithm that combines the interior point method and the modified twopart wolf pack search algorithm. Jia et al. [
20] established a twostage stochastic programming model of the cooperative task assignment problem incorporating the stochastic velocities of UAVs, and proposed a novel metaheuristic based on a modified genetic algorithm.
However, only a single goal is considered by the above task assignment problems. In order to simultaneously optimize the losses and benefits of the UAV team, it is necessary to study the multiobjective optimization problem for multiUAV task assignment. NSGAII and its variants are widely used in the study of multiobjective optimization for UAV mission assignment [
21,
22]. Cheng et al. [
23] considered the multiobjective optimization of task assignment, with minimization of cost and maximization of the value of destroyed targets regarded as the objectives. Taking into account the relationship between the UAVs and the ground control stations, Cristian et al. [
24] proposed a new multiobjective genetic algorithm for solving complex mission planning problems be formulating mission planning as a constraint satisfaction problem [
25]. Chen et al. [
26] studied the task assignment problem for UAVs with different sensor capacities, and proposed a modified multiobjective symbiotic organism search algorithm. Wang et al. [
27] considered a highdimensional multiobjective optimization problem containing four objectives for task assignment, then used an improved multiobjective quantumbehaved particle swarm optimization algorithm to solve the problem. Pohl et al. [
28] developed an innovative algorithm for multiUAV mission routing. Phiboon et al. [
29] studied multifidelity multiobjective airfoil design optimization for fixedwing UAVs. However, the above studies have not explained how decisionmakers are to choose a solution from the Paretooptimal front. At the same time, the above literature does not consider the emergencies that may occur on the battlefield. The complexity of the battlefield environment inevitably causes emergencies; for example, damage to UAVs, the appearance of new targets, etc. The problem of UAV task reassignment needs to be considered when such emergencies occur. Unlike the general task assignment problem, task reassignment in emergencies must be completed in a short time. Therefore, the task reassignment problem has higher requirements with respect to the calculation speed of the algorithm. A contract network algorithm [
30] based on the auction mechanism has been applied to the realtime task assignment problem. Zhen et al. [
31] proposed an improved contract network protocolbased cooperative target assignment scheme to deal with heterogeneous overloading and time sequence problems. Zhang et al. [
32] established a model of realtime assignment of tasking based on reconnaissance benefits and reconnaissance costs, and proposed an improved contract network algorithm. Xiang et al. [
33] studied the cooperation target assignment of multiple agents, and proposed an improved contract network protocol according to the characteristics and restrictions of target assignment.
The contributions of the present article are provided as follows:
 (1)
Based on the idea of the NSGAII algorithm, an algorithm suitable for solving the multiobjective optimization problem of multiUAV task assignment is presented, and the encoding format and genetic operators therein are specially designed.
 (2)
A method for aiding commanders in choosing an operation plan from among the Pareto solution set is provided.
 (3)
A highly efficient CNPbased algorithm is developed for realtime task reassignment in emergencies.
The remainder of this paper is organized as follows.
Section 2 presents a multiobjective optimization model of cooperative task assignment.
Section 3 provides the multiobjective optimization strategy.
Section 4 provides the method of selecting solutions from the Pareto solution set. The problem of task reassignment in emergencies is studied in
Section 5. Numerical examples are provided in
Section 6. Finally,
Section 7 concludes the paper.
2. MultiObjective Optimization Model of Cooperative Task Assignment
For convenience, let ${I}_{n}:=\{1,2,\cdots ,n\}$, ${\overline{I}}_{n}:=\left\{0\right\}\cup {I}_{n}$, $n\in {\mathbb{N}}_{+}$. On the battlefield, UAVs with attack capabilities are required to attack multiple known targets in coordination to improve efficiency. Assume that ${N}_{U}$$({N}_{U}\in {\mathbb{N}}_{+})$ UAVs coordinately attack ${N}_{T}$$({N}_{T}\in {\mathbb{N}}_{+})$ targets in the combat area. Let $U:=\{{U}_{1},{U}_{2},\cdots ,{U}_{{N}_{U}}\}$ be the set of UAVs, where ${U}_{i}$$(i\in {I}_{{N}_{U}})$ represents the ith UAV. The target set is recorded as $T:=\{{T}_{1},{T}_{2},\cdots ,{T}_{{N}_{T}}\}$, where ${T}_{j}$$(j\in {I}_{{N}_{T}})$ represents the jth target. When a UAV attacks a target, the UAV may be destroyed, and different UAVs have different probabilities of being destroyed when they attack different targets. Let ${P}_{ij}$, ${K}_{ij}$ respectively denote the probability that ${U}_{i}$$(i\in {I}_{{N}_{U}})$ and ${T}_{j}$$(j\in {I}_{{N}_{T}})$ are destroyed when ${U}_{i}$ attacks ${T}_{j}$. Let ${V}_{{T}_{j}}$$(j\in {I}_{{N}_{T}})$ and ${W}_{{U}_{i}}$$(i\in {I}_{{N}_{U}})$ represent the value of ${T}_{j}$ and ${U}_{i}$, respectively.
Because the previous singleobjective optimization cannot achieve simultaneous optimization of two conflicting objectives, i.e., simultaneous optimization of the costs and benefits in terms of UAVs, it is necessary to establish a multiobjective optimization model for the cooperative task assignment problem. Considering the respective probabilities of UAVs and targets being destroyed, the following two objectives are used to maximize the value of the destroyed targets while incurring the minimum cost in damaged UAVs.
 (i)
Maximizing the total value of the targets destroyed by UAVs:
 (ii)
Minimizing the total cost of the damaged UAVs:
where
${x}_{ij}\in \{0,1\}$,
$i\in {I}_{{N}_{U}}$, and
$j\in {I}_{{N}_{T}}$. If
${x}_{ij}=1$, this means that
${U}_{i}$ attacks
${T}_{j}$,; otherwise,
${T}_{j}$ is not attacked by
${U}_{i}$.
The UAVs have a limited amount of ammunition, which makes it impossible to allocate more tasks to each UAV than its ammunition capacity. Targets have different values, and are divided into highvalue targets and lowvalue targets. In this paper, the values of enemy targets are known in advance. Multiple attack missions are assigned to the same highvalue target in order to increase the probability of success. To decrease the time that UAVs must stay within the enemy’s threat range, the following assumption is made.
Hypothesis 1 (H1). Different tasks for the same target are performed by different UAVs.
The implicit constraint in $\mathbf{H}\mathbf{1}$ is that the same UAV can only attack the same target once. This constraint not being taken into account can cause the limited ammunition to be distributed unevenly, which can affect efficiency. For this reason, the number of highvalue targets to be attacked needs to be limited. According to the above description, the task assignment problem needs to satisfy the following constraints.
 (i)
The amount of tasks assigned to each UAV cannot exceed its own ammunition capacity:
 (ii)
The number of tasks for each target is limited:
 (iii)
The same UAV can only attack the same target once:
where
${n}_{i}$$(i\in {I}_{{N}_{U}})$ represents the ammunition capacity of
${U}_{i}$,
${m}_{j}$$(j\in {I}_{{N}_{T}})$ represents the maximum number of
${T}_{j}$ being attacked, and
${a}_{ij}$$(i\in {I}_{{N}_{U}},\phantom{\rule{3.33333pt}{0ex}}j\in {I}_{{N}_{T}})$ represents the number of tasks performed by
${U}_{i}$ on
${T}_{j}$.
Let
$F\left(x\right):={\left({f}_{1}\left(x\right),{f}_{2}\left(x\right)\right)}^{\top}$. The multiobjective optimization problem of the cooperative task assignment (CTAMOP) is expressed as follows.
4. Selection Strategy
Because the decisionmaker needs to select one or more solutions from the Pareto solution set in order to perform specific operations, it is necessary to have a strategy for selecting nondominated solutions from the Paretooptimal front. Let
${f}_{j}$ denote the
jth objective function,
n denote the number of objective functions, and
m denote the number of nondominated solution on the Paretooptimal front. The specific selection steps are shown in Algorithm 2.
Algorithm 2 The strategy for selecting solutions. 
1:  Convert all objective functions ${f}_{j}$ $(j\in {I}_{n})$ into a form that minimizes or maximizes the function ${F}_{j}$ $(j\in {I}_{n})$. 
2:  Solve the problem using the improved NSGAII algorithm to obtain the Paretooptimal front. 
3:  If the dimensions of any two objective functions are different or the orders of magnitude of the values of any two objective functions are different, then normalize the objective function values; otherwise, the objective function values are not normalized. The jth objective function of the ith nondominated solution on the Paretooptimal front is denoted as ${\overline{F}}_{j}^{i}$ $(j\in {I}_{n},\phantom{\rule{3.33333pt}{0ex}}i\in {I}_{m})$. 
4:  Weight and sum each group of objective function values obtained in step 3 to obtain the following set:

5:  In step 1, if the objective functions are transformed into the form of seeking the minimum value, then the solution corresponding to the minimum value in set S obtained in step 4 is selected; otherwise, the solution corresponding to the maximum value in set S is selected. 
The specific value of ${\alpha}_{j}$ ($j\in {I}_{n}$) depends on the degree of preference of the decisionmaker for the objective function ${f}_{j}$. Let $C=\{{c}_{1},{c}_{2},\cdots ,{c}_{n}\}$, where ${c}_{j}$$(j\in {I}_{n})$ represents the degree of preference of the decisionmaker for ${f}_{j}$. The rules for setting the value of ${\alpha}_{j}$$(j\in {I}_{n})$ are as follows:
If ${c}_{{j}_{1}}>{c}_{{j}_{2}}>\cdots >{c}_{jn}$, then ${\alpha}_{{j}_{1}}>{\alpha}_{{j}_{2}}>\cdots >{\alpha}_{jn}$, and $\sum _{l={j}_{1}}^{{j}_{n}}}{\alpha}_{l}=1$, ${j}_{i}\in {I}_{n},\phantom{\rule{3.33333pt}{0ex}}i\in {I}_{n}$.
If ${c}_{{j}_{1}}={c}_{{j}_{2}}$, then ${\alpha}_{{j}_{1}}={\alpha}_{{j}_{2}}$, $\forall \phantom{\rule{3.33333pt}{0ex}}{j}_{1},\phantom{\rule{3.33333pt}{0ex}}{j}_{2}\in {I}_{n}$. In particular, if ${c}_{{j}_{1}}={c}_{{j}_{2}}=\cdots ={c}_{jn}$, then ${\alpha}_{{j}_{1}}={\alpha}_{{j}_{2}}=\cdots ={\alpha}_{jn}=\frac{1}{n}$.
Finally, the flowchart diagram of the improved genetic algorithm together with the selection strategy is shown in
Figure 3.
5. Task ReAssignment for Emergencies
The task assignment process is carried out on the enemy targets found on the battlefield. However, there are many uncertain factors due to the complexity of the battlefield environment. For example, after assigning the discovered targets, new enemy targets may be found on the battlefield again, or certain UAVs in the task assignment may suddenly malfunction and be unable to continue performing combat tasks. Both new targets and targets in the task sets of damaged UAVs need to be reassigned. There are two methods of assigning tasks. The first method is to assign all tasks according to the current health status of the UAVs, and the second is to assign tasks that need to be assigned based on the obtained task assignment plan. In combat, efficiency issues are more important when solving unexpected situations. Compared with the first method, the second method takes less time and has a higher task assignment efficiency.
In this paper, the reassignment strategy for new tasks is constructed based on the idea of the contract network protocol and the characteristics of the task assignment problem. Smith first proposed the idea of a contract network protocol [
30]. The principle idea of a contract network protocol is to assign tasks through a process of tendering and bidding between agents. There are three types of agents in a contract network protocol: the tender agent, bidding agent, and winning agent. In the problem of UAV task reassignment, the tender agent is the reconnaissance UAV that discovers a new task or the UAVs that becomes damaged, the bidding agents are UAVs with the ability to perform the newly available tasks, and the winning agent is the UAV corresponding to the bid with the best function value.
5.1. Task ReAssignment Model
Based on the above description, there are two trigger conditions for task reassignment: (1) new enemy targets are discovered and (2) one or more UAVs are damaged. Suppose that the number of new targets found on the battlefield is
${s}_{1}$, and the number of destroyed UAVs is
${s}_{2}$. Let
$\overline{T}$ denote the set of targets that need to be assigned,
where
${T}_{{N}_{T}+i}$$(i\in {I}_{{s}_{1}})$ represents the
ith task that needs to be assigned. Let
$\overline{U}$ denote the set of UAVs that can perform tasks,
where
${U}_{{\overline{l}}_{j}}$ (
$j\in {I}_{{s}_{2}}$) represents the
${\overline{l}}_{j}$th damaged UAV. Based on (
1) and (
2), an objective function is constructed with the following form:
where
$j\in {I}_{{s}_{1}}$ and
${T}_{{j}_{r}}$$({j}_{r}\in {I}_{{N}_{T}+j1})$ represents the target replaced by
${T}_{{N}_{T}+j}$;
${T}_{{j}_{r}}$ is only considered in an interchange contract, which is described along with sales contracts in the next section. The values of
${\alpha}_{1}$ and
${\alpha}_{2}$ are the same as the values of
${\alpha}_{1}$ and
${\alpha}_{2}$ in Algorithm 2 in
Section 4. Thus, the model of task reassignment (TRAM) is as follows:
where
$j\in {I}_{{s}_{1}}$.
5.2. Task ReAssignment Algorithm
In the CNPbased algorithm, sales contracts and interchange contracts are considered. The idea of a sales contract is that a new task is added to the task set of the bidding agent. The specific form of a sales contract of a UAV
${U}_{i}$ for a target
${T}_{{N}_{T}+j}$ is represented as follows:
where,
$i\in \{{l}_{1},{l}_{2},\cdots ,{l}_{{N}_{U}{s}_{2}}\}$,
$j\in {I}_{{s}_{1}}$. The sales contract (
9) indicates that the revenue obtained by adding target
${T}_{{N}_{T}+j}$ to the task set of
${U}_{i}$ is
$\overline{f}$. An interchange contract, on the other hand, replaces a target in the UAV task set with a target that needs to be assigned. The specific form of an interchange contract of a UAV
${U}_{i}$ for a target
${T}_{{N}_{T}+j}$ is represented as follows:
where
$i\in \{{l}_{1},{l}_{2},\cdots ,{l}_{{N}_{U}{s}_{2}}\}$,
$j\in {I}_{{s}_{1}}$, and
${j}_{r}\in {I}_{{N}_{T}+j1}$. The interchange contract (
10) indicates that the revenue obtained by replacing
${T}_{{j}_{r}}$ in the task set of
${U}_{i}$ with
${T}_{{N}_{T}+j}$ is
$\overline{f}$. If UAV
${U}_{i}$$(i\in \{{l}_{1},{l}_{2},\cdots ,{l}_{{N}_{U}{s}_{2}}\})$ has ammunition remaining, then
${U}_{i}$ can execute both the sales contract and the interchange contract; otherwise,
${U}_{i}$ can only execute the interchange contract. The steps for assigning target
${T}_{{N}_{T}+j}$$(j\in {I}_{{s}_{1}})$ are provided in Algorithm 3.
Algorithm 3 Task reassignment algorithm ${T}_{{N}_{T}+j}$$(j\in {I}_{{s}_{1}})$. 
1:  Initialize the information of UAV ${U}_{i}$, the values of parameters ${K}_{i({N}_{T}+j)}$, ${P}_{i({N}_{T}+j)}$, ${V}_{{T}_{{N}_{T}+j}}$ $(i\in \{{l}_{1},{l}_{2},\cdots ,{l}_{{N}_{U}{s}_{2}}\},\phantom{\rule{3.33333pt}{0ex}}j\in {I}_{{s}_{1}})$, and the number of iterations of interchange contract ${G}_{ic}$. 
2:  Calculate the remaining ammunition ${R}_{i}^{m}$ $(i\in \{{l}_{1},{l}_{2},\cdots ,{l}_{{N}_{U}{s}_{2}}\})$ of ${U}_{i}$. 
3:  If ${R}_{i}^{m}\ne 0$, then ${U}_{i}$ executes the interchange contract and sales contract for ${T}_{{N}_{T}+j}$; otherwise, ${U}_{i}$ only executes the interchange contract for ${T}_{{N}_{T}+j}$. Then, bidding agent ${U}_{i}$ chooses the contract with the largest value of $\overline{f}$. 
4:  The bidding agent evaluates the received contracts and selects the contract with the largest value of $\overline{f}$ as the winning contract, then broadcasts the information of winning agent. 
The flowchart diagram of the CNPbased algorithm is shown in
Figure 4.
6. Numerical Experiments
In order to verify the effectiveness of Algorithms 1–3, simulation examples of various battle situations are analyzed in this section. Examples of the improved multiobjective genetic algorithm and selection strategy are provided in
Section 6.1. In
Section 6.1.1 and
Section 6.1.2, examples where the total amount of ammunition is less than or equal to the total number of tasks are considered, and the effectiveness of Algorithm 1 is verified. In
Section 6.1.3, a largescale example where the total amount of ammunition is greater than the total number of tasks is provided. Examples of task reassignment in emergencies are laid out in
Section 6.2. In
Section 6.2.1, an example is used to illustrate the process of Algorithm 3. A largescale example considering emergencies is provided in
Section 6.2.2 to verify the effectiveness and advantages of Algorithm 3. In
Section 6.2.3, we analyze why the CNPbased method is not directly used to solve the task assignment problem. All numerical experiments were implemented using Python 3.8 on a computer with an Intel Core i510210U CPU @ 1.60GHz, 2.11 GHz, and 4.00 GB RAM. The code for the algorithms can be found at the URL (accessed on 14 September 2022)
https://github.com/gaoxhgithub/multiobjetivetaskassignmentsourcecode. For the different examples provided in this paper, the reader only needs to change the corresponding parameters in the code.
6.1. Test of the Improved MultiObjective Genetic Algorithm
6.1.1. Case 1: Total Amount of Ammunition = Total Number of Tasks
First, we consider a case in which
${N}_{U}=4$ and
${N}_{T}=8$. The ammunition capacity of each UAV is
${n}_{i}=2$$(i\in {I}_{4})$, and the upper limit of each target being attacked is
${m}_{j}=1$$(j\in {I}_{8})$. When
${U}_{i}$$(i\in {I}_{4})$ attacks
${T}_{j}$$(j\in {I}_{8})$, the probability
${P}_{ij}$ of
${U}_{i}$ being destroyed and the probability
${K}_{ij}$ of
${T}_{j}$ being destroyed are shown in
Table 1. The values of
${U}_{i}$ and
${T}_{j}$ are shown in
Table 2. To verify the effectiveness of Algorithm 1, we compare it with the Multiple Objective Particle Swarm Optimization (MOPSO) algorithm using the example in this section. In Algorithm 1, the crossover probability is
${P}_{c}=0.8$ and the mutation probability is
${P}_{m}=0.2$. In MOPSO, the values of the parameters are
$\omega =0.7298$,
${c}_{1}=1.49618$ and
${c}_{2}=1.49618$. The population size and maximum number of iterations of the two algorithms are
$N=100$ and
$G=200$, respectively.
The comparison results of the obtained Paretooptimal fronts and CPU runtime are shown in
Figure 5. According to the definition of the Pareto solution [
34], it can be seen from
Figure 5a that all the nondominated solutions obtained by Algorithm 1 dominate the nondominated solution obtained by MOPSO. As can be seen from
Figure 5b, the CPU runtime of GACTAP is significantly shorter than that of MOPSO. The convergence curves of the objective functions are shown in
Figure 6. Clearly, thte GACTAP algorithm achieves better convergence performance compared to MOPSO. For convenient description, the task assignment corresponding to the nondominated solutions
A,
B, and
C are provided in
Table 3.
Case 1 considers a situation in which the total amount of ammunition is equal to the number of tasks. However, in actual combat it is possible that the number of tasks is more or less than the amount of ammunition.
6.1.2. Case 2: Total Amount of Ammunition < Total Number of Tasks
In this section, we analyze a case in which four UAVs attack twenty targets. For convenience of calculation, it is assumed that each UAV has the same amount of ammunition
${n}_{i}=4$$(i\in {I}_{4})$. At the same time, in order to simplify the description, the parameter information of multiple UAVs carrying out attacking tasks on the first eight targets takes the values in
Table 1 and
Table 2. When
${U}_{i}$$(i\in {I}_{4})$ attacks
${T}_{j}$$(j\in \{9,10,\cdots ,20\left\}\right)$, the probability
${P}_{ij}$ of
${U}_{i}$ being destroyed, the probability
${K}_{ij}$ of
${T}_{j}$ being destroyed, and the value of
${T}_{j}$$(j\in \{9,10,\cdots ,20\left\}\right)$ are provided in
Table 4.
The obtained Paretooptimal front is shown in
Figure 7. It can be seen that the nondominated solutions are evenly distributed and the population diversity is good.
Figure 8 shows the changes of the maximum value of
${f}_{2}$ and the minimum value of
${f}_{1}$ in each iteration over the course of the entire iteration when
${n}_{i}=4$$(i\in {I}_{4})$. It can be seen that as the evolutionary algebra increases, the values of the two functions converge.
The process of selecting solutions from the Pareto solution set using the selection strategy is as follows. Let
$S:=\{{S}_{0},{S}_{1},\cdots ,{S}_{44}\}$ represent the result obtained in Step 4 of Algorithm 2, where
${S}_{i}={\alpha}_{1}{F}_{1}^{i}+{\alpha}_{2}{F}_{2}^{i}$,
${F}_{1}^{i}={f}_{1}^{i}$,
${F}_{2}^{i}={f}_{2}^{i}$$(i\in {\overline{I}}_{44})$,
${\alpha}_{1}$, and
${\alpha}_{2}$ represent the weights and
$({F}_{1}^{i},{F}_{2}^{i})$ represents the
ith nondominated solution in the Paretooptimal front. Based on this example and the description of weights in
Section 4, the rules for setting the values of
${\alpha}_{i}$$(i\in {I}_{2})$ are as follows:
If ${c}_{1}>{c}_{2}$, then ${\alpha}_{1}\in (0.5,1]$.
If ${c}_{1}={c}_{2}$, then ${\alpha}_{1}={\alpha}_{2}=0.5$.
If ${c}_{1}<{c}_{2}$, then ${\alpha}_{1}\in [0,0.5)$.
For the Paretooptimal front shown in
Figure 7, the solutions from the upper left corner to the lower right corner are the 0th to the 44th nondominated solutions. In this example, the objective function values are not normalized because the dimensions of
${f}_{1}$ and
${f}_{2}$ are the same, and the order of magnitude of the values of
${f}_{1}$ and
${f}_{2}$ is the same at
$2.62\le {f}_{1}\le 7.71$ and
$0.78\le {f}_{2}\le 3.81$, respectively. Assuming the weights
${\alpha}_{1}=0.5$,
${\alpha}_{2}=0.5$, the results obtained by selection strategy are shown in
Table 5.
As can be seen from
Table 5, the sixth and seventh nondominated solutions on the Paretooptimal front are the best choices, while the 44th nondominated solution is the worst choice. For the sake of simplifying the description, only the nondominated solution information and the specific task assignment corresponding to the first five choices are shown. The positions of the five solutions are shown in
Figure 7, and the corresponding specific task assignments are shown in
Table 6.
The above description represents the process of selecting solutions of the multiobjective task assignment problem containing two objective functions. For general multiobjective optimization problems, the process of selecting solutions from the Paretooptimal front is similar to the above process, and the values of weights are set according to the rules in
Section 4.
Let
${M}_{{U}_{i}}$$(i\in {I}_{{N}_{U}})$ denote the task set of UAV
${U}_{i}$. According to the meaning of chromosomes, the task assignment information corresponding to the five nondominated solutions in
Table 6 is provided in
Table 7.
6.1.3. Case 3: Total Amount of Ammunition > Total Number of Tasks
In this section, a largescale task assignment example of 15 UAVs attacking 100 targets is considered. The ammunition capacity of each UAV is
${n}_{i}=7$$(i\in {I}_{15})$, and the upper limit of each target being attacked is
${m}_{j}=1$$(j\in {I}_{100})$. Considering the length of the paper, the values of parameters
${V}_{{T}_{j}}$,
${W}_{{U}_{i}}$,
${P}_{ij}$, and
${K}_{ij}$$(i\in {I}_{15},\phantom{\rule{3.33333pt}{0ex}}j\in {I}_{100})$ are not provided. The values of these parameters can be downloaded from the website (accessed on 14 September 2022)
https://github.com/gaoxhgithub/Valuesofparameters. In Algorithm 1, the values of the parameters are as follows:
$N=100$,
$G=200$,
${P}_{c}=0.8$,
${P}_{m}=0.2$. The obtained Paretooptimal front is shown in
Figure 9. The average time for this scale of experiment is about 60 min.
Algorithm 2 is used to select the solution from the Pareto solution set in
Figure 9. In Algorithm 2, the values of weights
${\alpha}_{1}$ and
${\alpha}_{2}$ are
${\alpha}_{1}={\alpha}_{2}=0.5$. The obtained results are shown in
Table 8. It can be seen from
Table 8 that the 53rd nondominated solution should be selected. The information of the 53rd nondominated solution is shown in
Figure 9 and the task assignment scheme of the 53rd nondominated solution is shown in
Table 9.
To further verify the effectiveness of the proposed task assignment algorithm combined with the solution selection strategy, in this section we compare the algorithms developed in this paper with the welldeveloped Gurobi optimization solver. There are three methods for solving multiobjective optimization problems in the Gurobi solver, namely, Blend, Hierarchical, and a combination of these two methods. In this paper, after obtaining the Pareto front of the task assignment problem using Algorithm 1, the decisionmaker can be assisted in selecting a solution from the set of nondominated solutions based on Algorithm 2, which is constructed based on the weights. Considering the idea behind the construction of Algorithm 2, we compared Algorithm 1 and Algorithm 2 with the Blend method in Gurobi in order to better reflect the comparison results. The comparison process is as follows. First, given nine different sets of weights, the solution of the example provided in this section is solved for each set of weights using Blend in Gurobi. Second, the Pareto front of the example is solved using Algorithm 1, then the solution is selected from the Pareto front under each set of weights using Algorithm 2. Finally, the solutions obtained by the two methods are compared for each case of weights.
Table 10 shows the results of the comparison between Gurobi and the algorithms in this paper under nine sets of weights. As can be seen in
Table 10, for each set of weights, the solutions developed this paper and those obtained by Gurobi are not dominated by each other, i.e., both are nondominated solutions of the problem. Although it cannot be proven that the algorithms in this paper are better than the Gurobi solver, it can be seen that the proposed algorithms are not inferior to Gurobi in terms of solution quality.
6.2. Test of the CNPBased Task ReAssignment Algorithm
6.2.1. Case 1: A SmallScale Scenario Involving the Task ReAssignment Problem
In order to introduce the specific steps of Algorithm 3 in detail, the process of task reassignment is explained based on the sixth nondominated solution selected in
Section 6.1.2. Suppose that four new targets
${T}_{i}$$(i\in \{21,22,23,24\left\}\right)$ are found on the battlefield. The probability of UAVs successfully attacking these targets, the probability of UAVs being destroyed, and the values of these new targets are shown in
Table 11. In Algorithm 3, the value of the parameter
${G}_{ic}$ is 10 and
${\alpha}_{1}={\alpha}_{2}=0.5$.
Targets
${T}_{i}$$(i\in \{21,22,23,24\left\}\right)$ are assigned using Algorithm 3; the bidding process is shown in
Table 12. The results of task reassignment are shown in
Figure 10, where
Figure 10a shows the results for the initial assignment and
Figure 10b the results for task reassignment in emergencies. From
Figure 10 and
Table 12, the following can be determined. The winning agents of
${T}_{21}$ and
${T}_{22}$ are
${U}_{4}$ and
${U}_{2}$, respectively, and the contracts of
${U}_{4}$ and
${U}_{2}$ are all sales contracts. The winning agents of
${T}_{23}$ and
${T}_{24}$ are
${U}_{3}$ and
${U}_{2}$, respectively, and the contracts of
${U}_{3}$ and
${U}_{2}$ are all interchange contracts. In the contract of
${U}_{3}$ and
${U}_{2}$, the replaced targets are
${T}_{2}$ and
${T}_{22}$, respectively, while in the bidding processes of
${T}_{2}$ and
${T}_{22}$, no UAV bids for
${T}_{2}$ or
${T}_{22}$.
6.2.2. Case 2: A LargeScale Scenario involving the Task ReAssignment Problem
The primary advantage of the CNPbased method is that it can shorten the time requried for task assignment. The effectiveness of this method can be fully reflected in largescale calculation examples. In a largescale problem, to assign all the current tasks again takes a lot of time. However, if only new tasks are assigned using the CNPbased method, a large amount of time can be saved. In this section, the largescale calculation example in
Section 6.1.3 is used to discuss the effectiveness of the task reassignment method in emergencies.
Suppose that ten new targets are found. The values of the parameters
${V}_{{T}_{j}}$,
${P}_{ij}$,
${K}_{ij}$$(i\in {I}_{15},\phantom{\rule{3.33333pt}{0ex}}j\in \{101,102,\cdots ,110\})$ of the new targets can be downloaded from the website (accessed on 14 September 2022)
https://github.com/gaoxhgithub/Valuesofparameters. In Algorithm 3, the value of the parameter
${G}_{ic}$ is 50. The results of the assignment of ten new targets based on the original assignment results are shown in
Table 13. It can be seen from
Table 13 that the task sets of UAVs
${U}_{4}$,
${U}_{6}$,
${U}_{11}$, and
${U}_{14}$ have changed. The task assignment results obtained using Algorithms 1 and 2 to assign all 110 targets are shown in
Table 14. Through calculation, the values of
${S}_{1}$ corresponding to the task assignment schemes in
Table 13 and
Table 14 are
$8.91$ and
$9.42$, respectively. The performance of the assignment scheme obtained using Algorithms 1 and 2 to assign all tasks is better than the performance of the assignment scheme obtained using Algorithm 3 to assign new tasks. However, the calculation time of Algorithm 3 is lower than that of Algorithm 1 combined with Algorithm 2.
Figure 11 shows the time of ten task reassignment experiments under these two assignment methods. It can be seen from
Figure 11 that Algorithm 3 requires less time to solve the problem of task reassignment in emergencies than Algorithm 1 combined with Algorithm 2. Therefore, in emergency situations, Algorithm 3 can perform realtime task reassignment by slightly sacrificing the ability to seek global optimization.
6.2.3. Case 3: Attempting to Solve the Task Assignment Problem Directly Using the CNPBased Method
Considering that Algorithm 3 can quickly solve the task reassignment problem, it may be possible to use this algorithm directly to solve the task assignment problem. An analysis of this problem is provided in this section. In the task assignment problem before the battle, the main goal of assignment is to find an assignment plan that achieves better performance. Taking the 15 UAVs attacking 100 targets in
Section 6.1.3 as an example. Let
${\alpha}_{1}={\alpha}_{2}=0.5$, the calculation time of Algorithm 3 is about 1 s. The task assignment plan obtained using the CNPbased algorithm is shown in
Table 15. The values of
${S}_{1}$ corresponding to the task assignment schemes in
Table 9 and
Table 15 are
$8.75$ and
$5.189$, respectively. Obviously, the calculation result of the improved multiobjective genetic algorithm combined with selection strategy is much better than the calculation result of the CNPbased method. For the task assignment problem, the CNPbased method is much faster than the improved multiobjective genetic algorithm combined with selection strategy. However, the result obtained by the improved multiobjective genetic algorithm combined with selection strategy is much better than the result obtained by the CNPbased algorithm. Therefore, according to the above analysis, Algorithms 1 and 2 should be used in the task assignment phase with high requirements for the performance of the task assignment scheme, and Algorithm 3 should be used in the task reassignment phase in emergencies with high requirements related to assignment time.
7. Conclusions
In this paper, we have provided a unified multiobjective optimization framework for the cooperative task assignment and reassignment of multiple UAVs. First, we propose a multiobjective optimization problem in which the minimization of the cost and the maximization of the benefits are regarded as the objectives. To solve the problem, a multiobjective genetic algorithm suitable for UAV cooperative task assignment is proposed and the encoding format and genetic operators in the proposed algorithm are specially designed. Then, we provide a selection strategy to facilitate the choice of an operation plan from the Pareto solution set by the decisionmaker. Finally, taking into account the possible emergencies in the complex combat environment, the task reassignment problem in emergencies before the battle is studied and a task reassignment algorithm based on a contract network protocol is proposed. Simulation examples are used to verify the effectiveness of the proposed algorithms.
When the battlefield environment is more complex, a single target may contain multiple different tasks. For multiple types of tasks, heterogeneous UAVs have higher efficiency in performing their tasks compared to homogeneous UAVs. At the same time, there may be multiple obstacles in the environment that affect UAV flight. In addition, it is important to study the performance of the algorithm. Therefore, in our next work we intend to focus on the performance of the algorithm and task assignment of heterogeneous UAVs in complex environments containing obstacles.