## 4 Experiment and Result Analysis  
### Experiment Settings  
In order to verify the distributed collaborative allocation method of reconnaissance and strike tasks for heterogeneous UAVs proposed in this paper, a simulation environment for heterogeneous UAV reconnaissance and strike tasks is built in Python 3.6 in this section, and its framework is shown in Figure 2. The simulation environment control module runs as an independent thread to support graphical user interface (GUI), scene generation, simulation progress control, UAV model scheduling, message exchange between UAVs, and interactive result determination between UAVs and tasks. The GUI is developed based on PyQt5 (5.15.4), and pyqtgraph (0.11.1) is used for real-time graphing of the status of UAVs and tasks. The GA used in Algorithms 2, 4 and 5 and the global optimization in Section 4.5 are from the package sko (0.6.6).  
A screenshot of the GUI is shown in Figure 3, and the meanings of different elements are shown in the legend on the right. The display of elements such as text labels and topological connections can be controlled in this interface to better observe the experimental effect.  
To verify the effectiveness of the method in the heterogeneous UAV swarm scenario, four kinds of UAVs are set in the simulation scene, including a mini scouter, mini striker, mini scout and strike UAV, and medium scout and strike UAV. The UAVs are different in flight velocity, scout speed, number of strike loads, and the capability of strike load. The UAV types and their parameter settings are shown as Table 2.  
Figure 3: The generated initial scenario contains 30 UAVs and 30 tasks.  
\begin{table}
\begin{tabular}{|l l l l|} \hline \hline
**UAV Type** & **Velocity (m/s)** & \begin{tabular}{l} **Scout Speed** \\ **(m\({}^{2}\)/s)** \\ \end{tabular} & \
\begin{tabular}{l} **Number of** \\ **Strike Loads** \\ \end{tabular} &
\begin{tabular}{l} **Capability Vector** \\ **of Strike Loads** \\ \end{tabular} \\ \hline Mini scouter & 40 & 10,000 & 0 & — \\ Mini striker & 50 & — & 1 & [40, 40] \\ Mini SC\&ST & 50 & 6000 & 1 & [80, 80] \\ Medium SC\&ST & 80 & 15,000 & 6 & [100, 100] \\ \hline \hline \end{tabular}
\end{table}
Table 2: UAV type and its parameter setting.  
Figure 2: Distributed simulation environment for heterogeneous UAV reconnaissance and strike tasks.  
To simulate the war fog and the dynamic characteristics of the mission, five types of tasks are set up in the experiment, each of which has a differently sized suspicious area and required capability vector, as shown in Table 3. The fake target indicates that there is no actual target in the region, and before the completion of reconnaissance, the specific information of any target is unknown. Therefore, UAV reconnaissance and strike forces need to cooperate more flexibly to reduce mission risk and the time interval from discovery to strike.  
The optimization result of GA is greatly affected by the population size \(\pi_{n}\), iteration number \(\pi_{i}\) and mutation probability \(\pi_{p}\). The larger the problem space, the larger \(\pi_{n}\) and \(\pi_{i}\) should be, so as to carry out a broader search. For the GA used in Algorithms 2 and 4, we let the number of permutations for assigning tasks to UAVs as \(n_{perm}\), and the parameters of the GA are adaptively adjusted according to \(n_{perm}\) before each task assignment optimization.