The particle swarm optimization (PSO) algorithm is a simple, efficient, and easy-to-implement heuristic optimization algorithm, which is widely used in various optimization scenarios. Therefore, this paper proposes a method to solve the optimization problem based on the PSO algorithm. However, its original purpose is to solve the optimization problem with continuous function in continuous space. Furthermore, the problem of multi-UAV cooperative dynamic task allocation is a multi-constraint multi-objective, discrete optimization problem. This paper designs a particle coding strategy and other strategies to realize the transformation from a continuous PSO algorithm to the discrete particle swarm optimization (DPSO) algorithm suitable for discrete problems. In addition, aiming at the problem of the poor-quality solution, and falling into local optimum easily, this paper proposes the A-QCDPSO algorithm by introducing the dynamic subpopulation strategy and the market auction mechanism into the DPSO algorithm to meet the requirements of timeliness of the dynamic task allocation problem, as shown in
Figure 2. The dynamic subpopulation strategy guarantees the search space of the internal particles of the subpopulation, which ensures the diversity of the population to some extent. The market auction mechanism can initialize some particles to ensure the quality of the initial solution; meanwhile, for the task coordination problem of the illegal solution, it makes the UAV decide to bid on the principle of efficiency maximization to ensure the efficient solution of the task coordination process.
3.3. Market Auction Mechanism
The market auction algorithm is similar to the auction mechanism of the human economic market. It is essentially a task coordination mechanism based on the search tree method [
34,
35]. The auction algorithm imitates the auction behavior between humans and obtains the optimization scheme through the information transmission and sharing mechanism between bidders and auctioneers to solve the optimization problems.
The market auction mechanism, which is integrated into PSO to apply to the UAV cooperative task allocation problem, can initialize some particles to ensure the quality of the initial solution. Meanwhile, for the task coordination problem of the illegal solution, it makes the UAV decide to bid on the principle of efficiency maximization to ensure the efficient solution of the task coordination process.
When solving the task allocation problem, the UAV that needs to allocate its own tasks becomes the auctioneer, and others become the bidders. The tasks flow within the formation system as a lot. The bidder adds the task to the sequence to complete the auction when signing the contract with the auctioneer. Through the auction, the auctioneer designates the highest bidder to accept the lot and completes the task distribution among multiple UAVs.
For the multi-UAV task allocation problem, the auction algorithm is described as follows [
36]:
is the set of tasks to be completed. is the set of UAVs performing auction operations. is the set of auction UAVs participating in the auction. is the set of proceeds for the UAV to complete the task, and is the benefit of the UAV after completing the task . is the cost set for the UAV to complete the task, and represents the cost for the UAV to complete the task . is the bidding price set for the bidding UAV, represents the bidding price of the UAV for task . , , where M and N are positive integers.
3.3.1. Design of Auction Efficiency Function
This paper takes multi-UAV cooperative air-to-ground combat as the task background, which covers two types of detection and attack tasks. Aiming at the negotiation process between the internal auction UAV and the bidding UAV in the formation, a reasonable auction efficiency function is designed to evaluate the auction negotiation process. In this paper, the overall effectiveness E is obtained by (8) as the auction efficiency function.
3.3.2. The Rule of Maximum Efficiency Based on Matrix Full Arrangement
The task allocation scheme of the UAV can be regarded as a task set containing the task execution sequence . The flight range of the UAV to perform the task is different because of the different task execution sequence, so the task plan efficiency of the UAV calculated by the range cost is different. Therefore, in order to ensure the optimality of the UAV task execution plan, it is necessary to determine the order in which the UAV performs new tasks to maximize its effectiveness.
The task matrix of a certain UAV is constructed as a
matrix by the
n tasks in its task set to express the task’s execution plan of it. Matrix arrangement is to arrange all elements of it. The number of the types of matrix arrangements with
n elements is calculated as follows:
Since the auctioneer randomly selects a task in the task set for auction during each auction transaction, for the complete arrangement of a single UAV, it only needs to be arranged on the basis of the results of the last auction transaction in an inserted manner to obtain arrangements of task schemes. Then, calculate the effectiveness of each arrangement and select the arrangement scheme with the maximum effect as the execution plan for this UAV task.
For example, the current task execution plan of the UAV
is
. After the auctioneer releases the task, the complete arrangement of the task matrix of the UAV is shown in
Figure 4.
- 2.
Analysis of changes in auction performance
The auction transaction is a process of negotiation between the UAVs. The bidding UAVs select the appropriate price to participate in the auction according to the amount of change in efficiency after buying/selling a certain task. From the above analysis, we know that for a certain UAV task set S, different sequences of tasks will greatly affect the overall evaluation of the UAV’s tasks. Therefore, in the process of auction transactions, UAVs need to use their maximum effectiveness as a criterion and rely on independent decision-making to select the optimal task execution plan to participate in the auction.
The evaluation criterion for auction transactions is the amount of change in the effectiveness of the UAV’s task. UAV
achieves a different efficiency by completing tasks in the task set
in different orders. Assuming that the number of fully arranged tasks is
, the maximum efficiency of the UAV in performing tasks is:
After the UAV buys the task
at the auction transaction, the maximum efficiency of the UAV is:
Therefore, the price of the UAV participating in the auction is the amount of effectiveness’ change of the UAV:
3.4. A-QCDPSO Algorithm
The A-QCDPSO algorithm uses the PSO as the main operating process. The PSO is transformed to DPSO by particle coding strategy, and the particle update strategy in the basic PSO is used. Then, the dynamic subpopulation strategy is introduced to divide the particle group; and the market auction mechanism is introduced to initialize some particles and coordinate the illegal solution.
The flow process of the A-QCDPSO algorithm is shown in
Figure 5. The specific implementation steps are as follows:
Step 1: Initialize the particle number PN, accuracy requirements, subpopulation size, dynamic subgroup iteration interval ∆t, and the maximum number of iterations PT, and enter the mission pre-allocation plan.
Step 2: Based on the mission pre-allocation scheme, initialize some particles using an auction mechanism.
Step 3: Calculate the objective function value of each particle and sort the particles according to the objective function value.
Step 4: Determine whether the number of iterations meets the iteration interval of the dynamic subgroup. If it does, the sorted particles are generated according to the dynamic subgroup strategy and the size of the subpopulation; otherwise, the atomic population is used.
Step 5: Calculate the particle’s own optimal solution and the optimal solution of the subpopulation in which the particle is located, update the particle velocity/position, and calculate the corresponding objective function value.
Step 6: Screen illegal solutions according to the constraints of the problem to be solved, introduce an auction mechanism, select auction UAVs and bid UAVs, and adjust the elements of the illegal solutions that do not meet the constraints in all dimensions to meet the requirements.
Step 7: Determine whether the maximum number of iterations is reached. If it has been reached, go to Step 8; otherwise, go to Step 3.
Step 8: Calculate the fitness of each particle and select the particle with the best fitness as the resulting output.