## 5 Case Study and Algorithm Validation
### Effects of Iterations  
In order to explore the convergence rate of the proposed BSO method, the effects of the different numbers of iterations are analyzed in this subsection. In these simulations, the numbers of the algorithm iterations are set as 50, 150, 250, and 350, respectively. Still, the path risk, turning angle, path length, total path cost, and generated UAV paths are the indexes that are used to evaluate the performances of the algorithms. Figure 16: Effects of individual dimensions on path cost. Figure 18 presents the normalized risk of the generated UAV paths under the different iteration settings. From the curves, we can see that the proposed BSO method becomes quite stable within only a few iterations. As shown in Figure 18a, 50 iterations are enough to locate a solution for the UAV's waypoint set. Combining with the curves in Figure 18b, the global best solutions would be found around the 70 th iteration. After that, the risk of the UAV path does not change a lot. It becomes much more obvious, as shown in Figure 18c,d, with 250 and 350 iterations, respectively. In this way, for the proposed BSO method, not so many iterations are needed to find the global best solutions, which further guarantees time efficiency. Meanwhile, there are not so many fluctuations except for the very few beginning iterations. The trend of PSO is similar to that of the proposed BSO method, as presented in Figure 18. But the path risk imposed by PSO is much higher in every generation. The path risk of standard BAS is higher than PSO and BSO. Meanwhile, there are more ups and downs, especially in the first 50 iterations, as shown in Figure 18a. More than 100 iterations are needed for standard BAS to obtain a relative optimum solution based on Figure 18b-d. When there are 350 iterations, the risk of standard BAS is lower than that of PSO after the 80 th iteration. GA and FA are the worst of all. More iterations give GA more fluctuations since the beginning. As described in Figure 18d for GA, each jump in each generation is so different, which illustrates GA cannot locate the optimum solutions accurately. Quite differently, the path risk of FA under all the iteration settings stays the same from the beginning to the end. It means that FA falls into the local optimum quickly, no matter how many iterations there are. It is 27.23%, 64.14%, 50.36%, and 22.56% lower in the path risk of the proposed BSO method than PSO, GA, FA, and standard BAS. Figure 17: Effects of individual dimensions on generated path. Figure 19 shows the accumulated turning angles on a given UAV path by the five algorithms with the different iterations. From the curves, it can be seen that in the few beginning iterations, there would be fluctuations for the proposed BSO method, PSO, and standard BAS. However, the convergence rates of the proposed BSO method are the best of the three. Based on Figure 19b-d, there are more turning angles on the UAV path generated by the proposed BSO method than PSO after the 32 nd, 98 th, and 41 st iterations. After that, the turning angles of the two would remain stable until the end. Considering the previous analysis, the proposed BSO method guarantees the lowest path risk as well as the shortest UAV path by sacrificing the turning angles, which makes sense in the actual operations. Standard BAS is worse than the two above on the turning angles, with more ups and downs. According to the curves provided in Figure 19, for standard BAS, more than 110 iterations are needed to reach the optimum positions because, in BAS, only one beetle is used to locate the best in each move. GA and FA are the worst of all. The turning angles of FA are determined at the beginning and would not change anymore, which is because the local optimum solutions are found and are taken as the global optimum waypoints. This drawback of FA cannot be overcome by itself. Oppositely, GA changes all the time in every iteration. As shown in Figure 19, GA cannot find consistent solutions, which makes it jump from iteration to iteration.