# Multi-Population Parallel Wolf Pack Algorithm for Task Assignment of UAV Swarm
## 2 Basic Knowledge and Literature Review
### The Basics of WPA
#### 2.3.3 Analysis of WPA  
It can be seen from the optimization process that the algorithm integrates various optimization ideas and considers almost all the problems involved in heuristic methods. Walking behavior is the preliminary means of exploiting the solution space, and better candidate solutions are found through the tentative advances of exploring wolves around themselves. Calling behavior shows the ability to explore the solution space, and it is a global optimization to accelerate the convergence of the algorithm. While sieging behavior is a local optimization aiming at the current best solution to avoid falling prematurely into the local optimum. This behavior helps to improve the accuracy of candidate solutions. By removing the worst individuals and replacing them with new ones, the update of the wolf population increases the population diversity to some extent and exploits the solution space again. Although there are many control parameters in the WPA, small changes to parameters do not affect the optimization performance because the parameters have a wide range of values. In other words, the algorithm is robust to control parameters.  
Since the WPA was proposed in 2013, it has been applied to optimization problems in many fields such as parameter optimization [31; 32; 33], the power coordinated optimization model in Active Distribution Networks (ADNs) [34; 35], image compression [36], image fusion [37], etc.  
A series of improvements to the basic WPA have been proposed. [PERSON] et al. [38] designed binary coding based on the WPA and proposed the Binary Wolf Pack Algorithm (BWPA) to solve the 0-1 knapsack problem. [PERSON] et al. [39] improved the BWPA by adopting an adaptive step length and replacing duplicate best wolves with new wolves after each iteration, which enhanced the global convergence and maintained the population diversity. [PERSON] et al. [40] introduced the Oppositional Wolf Pack Algorithm (OWPA), in which the  
Figure 3: Operation in calling behavior. \(step_{b}\) columns in \(X_{j}\) are randomly selected and are replaced by the corresponding columns of the leader wolf, while the duplicate value in the second row is replaced with the original value in the changed column.  
initial population is selected from two oppositional populations so as to enhance the global convergence. [PERSON] et al. [41] introduced chemotactic behavior and elimination-dispersal behavior of bacterial foraging optimization (BFO) into the walking behavior of the WPA to overcome the slow convergence speed and avoid entrapment into the local extremum. [PERSON] et al. [42] proposed the Discrete Wolf Pack Algorithm, with the principles of the Particle Swarm Optimization and Genetic Algorithm (PSO-GA-DWPA), which melts the PSO into walking behavior, and introduced the gene fragment replication method of GA into calling behavior and sieging behavior; their simulation results showed that the proposed algorithm was better than WPA both in convergence speed and accuracy. [PERSON] et al. [43] adopted a variable step to improve the global search capability. [PERSON] et al. [44] integrated the WPA with GA to retain as many elite genes as possible and delete calling behavior to improve the convergence speed. The above improvements improve the optimization performance to a certain extent, but the problem of long convergence time for discrete problems with high-dimensional solution space has not been effectively solved.  
Compared with classical optimization algorithms such as GA and PSO, the WPA has excellent performance in terms of both accuracy and time consumption. However, there is still room to improve it, especially in discrete problems where its performance is not as good as in continuous problems. Improving the details of the WPA leads to a limited improvement in the performance. In order to solve the task assignment model faster, we need to find a more effective method to modify the algorithm.