A Bat Algorithm with Mutation for UCAV Path Planning

Path planning for uninhabited combat air vehicle (UCAV) is a complicated high dimension optimization problem, which mainly centralizes on optimizing the flight route considering the different kinds of constrains under complicated battle field environments. Original bat algorithm (BA) is used to solve the UCAV path planning problem. Furthermore, a new bat algorithm with mutation (BAM) is proposed to solve the UCAV path planning problem, and a modification is applied to mutate between bats during the process of the new solutions updating. Then, the UCAV can find the safe path by connecting the chosen nodes of the coordinates while avoiding the threat areas and costing minimum fuel. This new approach can accelerate the global convergence speed while preserving the strong robustness of the basic BA. The realization procedure for original BA and this improved metaheuristic approach BAM is also presented. To prove the performance of this proposed metaheuristic method, BAM is compared with BA and other population-based optimization methods, such as ACO, BBO, DE, ES, GA, PBIL, PSO, and SGA. The experiment shows that the proposed approach is more effective and feasible in UCAV path planning than the other models.


Introduction
Uninhabited combat aerial vehicle (UCAV) is one of inevitable trends of the modern aerial weapon equipment which develop in the direction of unmanned attendance and intelligence. Research on UCAV directly affects battle effectiveness of the air force and is fatal and fundamental research related to safeness of a nation. Path planning and trajectory generation is one of the key technologies in coordinated UCAV combatting. The flight path planning in a large mission area is a typical large scale optimization problem; a series of algorithms have been proposed to solve this complicated multiconstrained optimization problem, such as differential evolution [1], biogeography-based optimization [2,3], genetic algorithm [4], ant colony algorithm [5] and its variant [6,7], cuckoo search [8,9], chaotic artificial bee colony [10], firefly algorithm [11,12], and intelligent water drops optimization [13]. However, those methods can hardly solve the contradiction between the global optimization and excessive information.
In 1995, Storn and Price firstly proposed a novel evolutionary algorithm (EA): differential evolution (DE) [14], which is a new heuristic approach for minimizing possibly nonlinear and nondifferentiable continuous space functions. It converges faster and with more certainty than many other acclaimed global population-based optimization methods. This new method requires few control variables, which makes DE more robust and easy to use and lend itself very well to parallel computation.
First presented in [15], the bat-inspired algorithm or bat algorithm (BA) is a metaheuristic search algorithm, inspired by the echolocation behavior of bats with varying pulse rates of emission and loudness. The primary purpose of a bat's echolocation is to act as a signal system to sense distance.
However, in the field of path planning for UCAV, no application of BA algorithm exists yet. In this paper, we use an original BA and an improved modified BA algorithm to solve UCAV path planning problem. Here, we add mutation operation in DE between bats to propose a new metaheuristic algorithm according to the principle of BA, and then 2 The Scientific World Journal an improved BA algorithm is used to search the optimal or suboptimal route with complicated multiconstraints. To investigate the feasibility and effectiveness of our proposed approach, it is compared with BA and other populationbased optimization methods, such as ACO, BBO, DE, ES, GA, PBIL, PSO, and SGA under complicated combating environments. The simulation experiments indicate that our hybrid metaheuristic method can generate a feasible optimal route for UCAV more effectively than other populationbased optimization methods.
The remainder of this paper is structured as follows. Section 2 describes the mathematical model in UCAV path planning problem. Subsequently, the principle of the basic BA is explained in Section 3, and then an improved BA with mutation for UCAV path planning is presented in Section 4 and the detailed implementation procedure is also described in this section. The simulation experiment is conducted in Section 5. Finally, Section 6 concludes the paper and discusses the future path of our work.

Mathematical Model in UCAV Path Planning
Path planning for UCAV is a new low altitude penetration technology to achieve the purpose of terrain following and terrain avoidance and flight with evading threat, which is a key component of mission planning system [16]. The goal for path planning is to calculate the optimal or suboptimal flight route for UCAV within the appropriate time, which enables the UCAV to break through the enemy threat environments, and self-survive with the perfect completion of mission. In our work, we use the mathematical model in UCAV path planning in [1], which is described as follows.

Problem Description.
Path planning for UCAV is the design of optimal flight route to meet certain performance requirements according to the special mission objective and is modeled by the constraints of the terrain, data, threat information, fuel, and time. In this paper, firstly the route planning problem is transformed into a D-dimensional function optimization problem ( Figure 1).
In Figure 1, we transform the original coordinate system into new coordinate whose horizontal axis is the connection line from starting point to target point according to transform expressions shown as (1), where the point (x, y) is coordinate in the original ground coordinate system O XY ; the point (x , y ) is coordinate in the new rotating coordinate system O X Y ; θ is the rotation angle of the coordinate system. One has Then, we divide the horizontal axis X into D equal partitions and then optimize vertical coordinate Y on the vertical line for each node to get a group of points composed by vertical coordinate of D points. Obviously, it is easy to get the horizontal abscissas of these points. We can get a path from start point to end point through connecting these points together, so that the route planning problem is transformed into a D-dimensional function optimization problem.

Performance Indicator.
A performance indicator of path planning for UCAV mainly contains the completion of the mandate of the safety performance indicator and fuel performance indicator, that is, indicators with the least threat and the least fuel.
Then the total performance indicators for UCAV route where w t is the threat cost for each point on the route; w f is fuel cost for each point on the path which depends on path length (in this paper, w f ≡ 1); k ∈ [0, 1] is balanced coefficient between safety performance and fuel performance, whose value is determined by the special task UCAV performing; that is, if flight safety is of highly vital importance to the task, then we choose a larger k, while if the speed is critical to the aircraft task, then we select a smaller k.

Threat Cost.
When the UCAV is flying along the path L i j , the total threat cost generated by N t threats is calculated as follows: To simplify the calculations (as shown in Figure 2), each path segment is discretized into five subsegments and the threat cost is calculated on the end of each subsegment. If the The Scientific World Journal distance from the threat point to the end of each subsegment is within threat radius, we can calculate the responding threat cost according to where L i j is the length of the subsegment connecting node i and node j; d 0.1,k is the distance from the 1/10 point on the subsegment L i j to the kth threat; t k is threat level of the kth threat.
As fuel cost related to flight length, we can consider w f = L, for simplicity, and fuel cost of each edge can be expressed by w f ,Lij = L i j .

Bat Algorithm (BA)
The bat algorithm is a new swarm intelligence optimization method, in which the search algorithm is inspired by social behavior of bats and the phenomenon of echolocation to sense distance.

Mainframe of BA.
In [17], for simplicity, bat algorithm is based on idealizing some of the echolocation characteristics of bats, which are following approximate or idealized rules.
(1) All bats apply echolocation to sense distance, and they always "know" the surroundings in some magical way.
(2) Bats fly randomly with velocity v i and a fixed frequency f min at position x i , varying wavelength λ, and loudness A 0 to hunt for prey. They can spontaneously accommodate the wavelength (or frequency) of their emitted pulses and adjust the rate of pulse emission r ∈ [0, 1], depending on the proximity of their target.
(3) Although the loudness can change in different ways, it is supposed that the loudness varies from a minimum constant (positive) A min to a large A 0 .
Based on these approximations and idealization, the basic steps of the bat algorithm (BA) can be described as shown in Algorithm 1. In BA, each bat is defined by its position x t i , velocity v t i , frequency f i , loudness A t i , and the emission pulse rate r t i in a d-dimensional search space. The new solutions x t i and velocities v t i at time step t are given by where β ∈ [0, 1] is a random vector drawn from a uniform distribution. Here x * is the current global best location (solution) which is located after comparing all the solutions among all the n bats. Generally speaking, depending on the domain size of the problem of interest, the frequency f is assigned to f min = 0 and f max = 100 in practical implementation. Initially, each bat is randomly given a frequency which is drawn uniformly from [ f min , f max ].
For the local search part, once a solution is selected among the current best solutions, a new solution for each bat is generated locally using random walk where ε ∈ [−1, 1] is a scaling factor which is a random number, while A t = A t i is the average loudness of all the bats at time step t.
The updates of the velocities and positions of bats have some similarity to the procedure in the standard particle swarm optimization [18] as f i in essence controls the pace and range of the movement of the swarming particles. To some degree, BA can be considered as a balanced combination of the standard particle swarm optimization and the intensive local search controlled by the loudness and pulse rate.
Furthermore, the loudness A i and the rate r i of pulse emission update accordingly as the iterations proceed as shown in where α and γ are constants. In essence, α is similar to the cooling factor of a cooling schedule in the simulated annealing [19]. For simplicity, we set α = γ = 0.9 in this work.

Algorithm BA for UCAV Path Planning.
In BA, the standard ordinates are inconvenient to solve UCAV path planning directly. In order to apply BA to UCAV path planning, one of the key issues is to transform the original ordinate into rotation ordinate by (1). Fitness of bat i at position x i is determined by the threat cost by (4), and the smaller the threat cost, the smaller the fitness of bat i at position x i . Each bat is encoded by Ddimensional deciding variables. And then, we use BA to optimize the path planning to get the best solution that is optimal flight route for UCAV. At last, the best solution is inversely converted to the original ordinates and output. The algorithm BA for UCAV path planning is shown as Algorithm 2. The Scientific World Journal

Begin
Step 1: Initialization. Set the generation counter t = 1; Initialize the population of NP bats P randomly and each bat corresponding to a potential solution to the given problem; define loudness A i , pulse frequency Q i and the initial velocities v i (i = 1, 2, . . . , NP); set pulse rate r i .
Accept the new solutions Increase r i and reduce A i end if Rank the bats and find the current best x * t = t + 1; Step 3: end while Step 4: Post-processing the results and visualization.

Begin
Step 1: Initialization. Set the generation counter t = 1; Initialize the population of NP bats P randomly and each bat corresponding to a potential solution to the given problem; define loudness A i , pulse rate r i , pulse frequency Q i and the initial velocities v i (i = 1, 2, . . . , NP).
Step 2: Generating rotation coordinate system. Transform the original coordinate system into new rotation coordinate whose horizontal axis is the connection line from starting point to target point according to (1); convert battlefield threat information to the rotation coordinate system and divide the axis X into D equal partitions. Each feasible solution, denoted by P = {p 1 , p 2 , . . . , p D }, is an array indicated by the composition of D coordinates which are the floating-point numbers Step 3: Evaluate the threat cost J for each bat in P by (4) Step 4: while The halting criteria is not satisfied or t < MaxGeneration do Generate new solutions by adjusting frequency, and updating velocities and locations/solutions [(7)] if (rand > r i ) then Select a solution among the best solutions; Generate a local solution around the selected best solution end if Generate a new solution by flying randomly if (rand < A i and J i < J * ) then Accept the new solutions Increase r i and reduce A i end if Rank the bats and find the current best x * t = t + 1 Step 5: end while Step 6: Inversely transform the coordinates in final optimal path into the original coordinate, and output End.
Algorithm 2: Algorithm of BA for UCAV path planning.

Bat Algorithm with Mutation (BAM)
The differential evolution (DE) algorithm, proposed by Storn and Price [14], is a simple evolutionary algorithm (EA) which generates new candidate solutions by combining the parent individual and a few other individuals of the same population. A candidate substitutes the parent only if it has better fitness. This is a rather greedy selection scheme which often overtakes traditional EAs. Advantages of DE are easy implementation, simple structure, speed, and robustness.
In general, the standard DE algorithm is adept at exploring the search space and locating the region of global optimal value, but it is not relatively good at exploiting solution. On the other hand, standard BA algorithm is usually quick at the exploitation of the solution though its exploration ability is relatively poor. Therefore, in this paper, a hybrid metaheuristic algorithm by inducing mutation in differential evolution into bat algorithm, so-called bat algorithm with mutation (BAM), is used to solve the path planning for UCAV. The difference between BAM and DE is that the mutation operator is used to improve the original BA generating new solution for each bat with a probability 1 − r originally using random walk. In this way, this method can explore the new search space by the mutation of the DE algorithm and exploit the population information with BA and therefore can overcome the lack of the exploitation of the DE algorithm. In the following, we will show the algorithm BAM which is a variety of DE and BA. Firstly, we describe a mainframe of BAM, and then an algorithm BAM for UCAV path planning is shown.

Mainframe of BAM.
The critical operator of BAM is the hybrid differential evolution mutation operator, which composes the mutation operation in differential evolution with the BA. The core idea of the proposed hybrid mutation operator is based on two considerations. First, poor solutions can take in many new used features from good solutions. Second, the mutation operator of DE can improve the exploration of the new search space. In this way, we composed mutation operation into BAM which modifies the solutions with poor fitness in order to add diversity of the population to improve the search efficiency.
For bat algorithm, as the search relies entirely on random walks, a fast convergence cannot be guaranteed. Described here for the first time, a main modification of adding mutation operator is made to the BA, including two minor modifications, which are made with the aim of speeding up convergence, thus making the method more practical for a wider range of applications but without losing the attractive features of the original method.
The first modification is that we use fixed frequency f and loudness A instead of various frequency f i and A t i . Similar to BA, in BAM, each bat is defined by its position x t i , velocity v t i , the emission pulse rate r t i , the fixed frequency f , and loudness A in a d-dimensional search space. The new solutions x t i and velocities v t i at time step t are given by where x * is the current global best location (solution) which is located after comparing all the solutions among all the n bats. In our experiments, we make f = 0.5. Through a series of simulation experiments on path planning for UCAV in Section 5.2, it was found that setting the parameter of pulse rate r to 0.6 and the loudness A to 0.95 produced the best results. The second modification is to add mutation operator in an attempt to increase diversity of the population to improve the search efficiency and speed up the convergence to optima. For the local search part, once a solution is selected among the current best solutions, a new solution for each bat is generated locally using random walk by (8) when ξ is larger than pulse rate r, that is, ξ > r, where ξ ∈ [0, 1] is a random real number drawn from a uniform distribution; while when ξ ≤ r, we use mutation operator in DE updating the new solution to increase diversity of the population to improve the search efficiency by where F is the mutation weighting factor, while r 1 , r 2 , and r 3 are uniformly distributed random integer numbers between 1 and NP. Through testing on path planning for UCAV in Section 5.2, it was found that setting the parameter of mutation weighting factor F to 0.5 in (11) and scaling factor ε to 0.1 in (4) produced the best results. Based on above-mentioned analyses, the mainframe of the bat algorithm with mutation (BAM) can be described as shown in Algorithm 3.

Algorithm BAM for UCAV Path
Planning. BAM can adapt to the needs of UCAV path planning, while optimization algorithms can improve the BA fast search capabilities and increase the search to the global possible optimum solution. Fitness for bat i at position x i is represented by the objective function shown as (4) in UCAV path planning model, the smaller the threat value, the lower the fitness for bat i at position x i . Based on the above analysis, the pseudo code of improved BA-BAM for UCAV path planning is described as shown in Algorithm 4.

Simulation Experiments
In this section, we look at the performance of BAM as compared with other population-based optimization methods, such as ACO, BBO, DE, ES, GA, PBIL, PSO, and SGA. Firstly, we compare performances between BAM and other population-based optimization methods on the different parameters the maximum generation Maxgen and the dimension of converted optimization function D, and then we compare performances between BAM and BA on the different parameters loudness A, pulse rate r, weighting factor F, and scaling factor ε (where F and ε only for BAM).
To allow a fair comparison of running times, all the experiments were performed on a PC with an AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ running at 2.20 GHz, 1024 MB of RAM, and a hard drive of 160 GB. 6 The Scientific World Journal

Begin
Step 1: Initialization. Set the generation counter t = 1; Initialize the population of NP bats P randomly and each bat corresponding to a potential solution to the given problem; define loudness A; set frequency Q and the initial velocities v; set pulse rate r and weighting factor F. Step 2: Evaluate the quality f for each bat in P determined by f (x).
Step 3: While the termination criteria is not satisfied or t < MaxGeneration do Sort the population of bats P from best to worst by order of quality f for each bat; Select the offspring x t k with the best fitness among the offsprings Step 4: end while Step 5: Post-processing the results and visualization; End.
Algorithm 3: Bat algorithm with mutation. Our implementation was compiled using MATLAB R2011b (7.13) running under Windows XP SP3. No commercial BBO tools or other population-based optimization tools were used in the following experiments.

General Performance of BAM.
In this subsection, firstly we will present the supposed problem we use to test the performance of BAM. We use the parameters of battle field environments described as [1]. Supposed that there exists the following map information, UCAV flight from start point (10,10) to end point (55, 100). In the flight course, there exist five threat areas. Their coordinates and corresponding threat radii are shown as in Table 1. Also, we set balanced coefficient between safety performance and fuel performance k = 0.5. In order to explore the benefits of BAM, in this subsection we compared its performance on UCAV path planning problem with BA and eight other population-based optimization methods, which are ACO, BBO, DE, ES, GA, PBIL, PSO, and SGA. ACO (ant colony optimization) [20] is a swarm intelligence algorithm for solving computational problems which is based on the pheromone deposition of ants. Biogeography-based optimization (BBO) [21][22][23] is a new evolutionary algorithm (EA) developed for global optimization which is a generalization of biogeography to EA. DE (differential evolution) [14] is a simple but excellent optimization method that uses the difference between two solutions to probabilistically adapt a third solution. An ES (evolutionary strategy) [24] is an algorithm that generally distributes equal importance to mutation and recombination, and that allows two or more parents to reproduce an offspring. A GA (genetic algorithm) [25] is a search heuristic that mimics the process of natural evolution. PBIL (probability-based incremental learning) [26] is a type of genetic algorithm where the genotype of an entire population (probability vector) is evolved rather than individual members. PSO (particle swarm optimization) [18,27] is also a swarm intelligence algorithm which is based on the swarm behavior of fish, and bird schooling in nature. A stud genetic algorithm (SGA) [28] is a GA that uses the best individual at each generation for crossover.
Except an ad hoc explain, in the following experiments, we use the same MATLAB code and parameters settings for other population-based optimization methods in [21,29].
The Scientific World Journal 7

Begin
Step 1: Initialization. Set the generation counter t = 1; Initialize the population of NP bats P randomly and each bat corresponding to a potential solution to the given problem; define pulse frequency Q; set loudness A i , the initial velocities v i and pulse rate r i (i = 1, 2, . . . , NP); set weighting factor F. Step 2: Generating rotation coordinate system. Transform the original coordinate system into new rotation coordinate whose horizontal axis is the connection line from starting point to target point according to (1); convert battlefield threat information to the rotation coordinate system and divide the axis X into D equal partitions. Each feasible solution, denoted by P = {p 1 , p 2 , . . . , p D }, is an array indicated by the composition of D coordinates which are the floating-point numbers Step 3: Evaluate the threat cost J for each bat in P by (4) Step 4: while The halting criteria is not satisfied or t < MaxGeneration do Sort the population of bats P from best to worst by order of threat cost J for each bat; for i = 1 : NP (all bats) do Select uniform randomly Select the offspring x t k with the best fitness among the offsprings Evaluate the threat cost for each bat in P by (4). Sort the population of bats P from best to worst by order of threat cost J for each bat; t = t + 1; Step 5: end while Step 6: Inversely transform the coordinates in final optimal path into the original coordinate, and output End.
Algorithm 4: Algorithm of BAM for UCAV path planning.
To compare the different effects among the parameters Maxgen and D, we ran 100 Monte Carlo simulations of each algorithm on the above UCAV path planning problem to get representative performances. For simplicity, we subtract 50 from the actual value; that is, if a value is 0.4419 in the following table, then its corresponding value 50.4419 is its true value. We must point out that we mark the best value with italic and bold font for each algorithm in Tables 2-5.  Table 2 shows the best minima found by each algorithm over 100 Monte Carlo runs. Table 3 shows the worst minima found by each algorithm over 100 Monte Carlo runs. Table 4 shows the average minima found by each algorithm, averaged over 100 Monte Carlo runs. Table 5 shows the average CPU time consumed by each algorithm, averaged over 100 Monte Carlo runs. In other words, Tables 2, 3, and 4 show the best, worst, and average performance of each algorithm, 8 The Scientific World Journal  respectively, while Table 5 shows the average CPU time consumed by each algorithm. From Table 2, we see that BAM performed the best on all the groups, while DE performed the second best on the 5 groups especially when Maxgen = 150, 200, and 250. Table 3 shows that PBIL was the worst at finding objective function minima on all the five groups when multiple runs are made, while the BAM was the best on all the groups in the worst values. Table 4 shows that BAM was the most effective at finding objective function minima when multiple runs are made, while DE and SGA performed the second best on the 5 groups, and GA and SGA similarly performed the third best on the 5 groups. Table 5 shows that PBIL was the most effective at finding objective function minima when multiple runs are made, performing the best on all the 5 groups. By carefully looking at the results in Tables 2, 3, and 4, we can recognize that the values for each algorithm are obviously decreasing with the increasing Maxgen, while the performance of BAM increases little with the Maxgen increasing from 200 to 250, so we set Maxgen = 200 in other experiments. In sum, from Tables 2, 3, 4, and 5 we can draw the conclusion that the more the generations are, the smaller the objective function value we can reach, while the CPU time consumes more. Moreover, BAM performs better than other population-based optimization methods for the UCAV path planning problem with different maximum generation.  Table 6 shows the best minima found by each algorithm over 100 Monte Carlo runs. Table 7 shows the worst minima found by each algorithm over 100 Monte Carlo runs. Table 8 shows the average minima found by each algorithm, averaged over 100 Monte Carlo runs. Table 9 shows the average CPU time consumed by each algorithm, averaged over 100 Monte Carlo runs. In other words, Tables 6, 7, and 8 show the best, worst, and average performance of each algorithm, respectively, while Table 9 shows the average CPU time consumed by each algorithm.

Effect of
From Table 6, we see that DE performed the best when D = 10, while BAM performed the best on the other groups when multiple runs are made. Table 7 shows that BA and ES were the worst when D = 5 and D = 10, respectively, and PBIL was the worst at finding objective function minima on all the other groups when multiple runs are made, while the DE, SGA, and GA were the best when D = 5, 10, and 15, respectively, and BAM was the best on the other groups in the worst values. Table 8 shows that DE and SGA were the most effective when D = 5 and 10, respectively, and BAM was the best on the other groups at finding objective function minima when multiple runs are made. Table 9 shows that PBIL was the most effective at finding objective function minima on all the groups. So, from the experimental results of this sub-subsection, we can conclude that the mutation operation between bats with a probability 1 − r during the process of generating new solutions has the ability to accelerate BA in general; especially the improvements are more significant at higher dimensionality. With the higher dimension, we are not always getting the better results with consuming more time; furthermore, the result is good enough when D = 20. In sum, in other experiments we should make D = 20 under the comprehensive consideration.

Influence of Control Parameter.
In [15], Yang concluded that if we adjust the parameters properly so that BA can outperform GA, HS (harmony search), and PSO. The choice of the control parameters is of vital importance for different problems. To compare the different effects among the parameters A, r, F, and ε (F and ε only for BAM), we ran 100 Monte Carlo simulations of BA and BAM algorithm on the above problem to get representative performances.

Loudness: A.
To investigate the influence of the loudness on the performance of BAM, we carry out this experiment comparing BA for the UCAV path planning problem with the loudness A = 0, 0.1, 0.2, . . . , 0.9, 1.0 and fixed pulse rate r = 0.6. All other parameter settings are kept unchanged. The results are recorded in Tables 10, 11, 12, and 13 after 100 Monte Carlo runs. Table 10 shows the best minima found by BA and BAM algorithms over 100 Monte Carlo runs. Table 11 shows the worst minima found by BA and BAM algorithms over 100 Monte Carlo runs. Table 12 shows the average minima found by BA and BAM algorithms averaged over 100 Monte Carlo runs.  Table 12 shows that BAM performed better (on average) than BA on all the groups, and BA and BAM reach the worst values 20.3072 and 20.2230 when A = 0, respectively, while BA and BAM reach the best values 11.1174 and 2.7086 when A = 1.0, respectively, among the mean values when multiple runs are made. Table 13 shows that BA was more effective at finding objective function minima when multiple runs are made, performing the best on all the groups. By carefully looking at the results in Tables 10, 11, and 12, we can recognize that the threat value for BA and BAM is decreasing with the increasing A, and BA and BAM reach optima/minimum when A is equal or very close to 1.0, while BA and BAM reach maximum when A is equal or very close to 0. So, we set A = 0.95 which is very close to 1.0 in other experiments. In sum, from Tables 10, 11, 12, and 13, we can conclude that the mutation operation between bats during the process of the new solutions updating has the ability to accelerate BA in general.

Pulse Rate: r.
To investigate the influence of the pulse rate on the performance of BAM, we carry out this experiment comparing with BA for the UCAV path planning problem with the pulse rate r = 0, 0.1, 0.2, . . . , 0.9, 1.0 and fixed loudness A = 0.95. All other parameter settings are kept unchanged. The results are recorded in Tables 14, 15, 16, and 17 after 100 Monte Carlo runs. Table 14 shows the best minima found by BA and BAM algorithms over 100 Monte Carlo runs. Table 15 shows the worst minima found by BA and BAM algorithms over 100 Monte Carlo runs. Table 16 shows the average minima found by BA and BAM algorithms, averaged over 100 Monte Carlo runs. Table 17 shows the average CPU time consumed by BA and BAM       Table 14, we obviously see that BAM performed better (on average) than BA on all the groups, and BA and BAM reach the worst values 5.1353 and 0.8536 when r = 1.0, respectively, while BA and BAM reach the best values 1.3626 and 0.4591 when r = 0.1 and r = 0.2, respectively, among the optima when multiple runs are made. Table 15 shows evidently that BAM performed better (on average) than BA on all the groups, and BA and BAM reach the worst value 30.9979 and 12.3230 when r = 1.0 and r = 0.1, respectively, while BA and BAM reach the best values 17.8310 and 6.4524 when r = 0.2 and r = 0.7, respectively, among the worst values when multiple runs are made. Table 16 shows that BAM performed better (on average) than BA on all    of BAM, we carry out this experiment for the UCAV path planning problem with the weighting factor F = 0, 0.1, 0.2, . . . , 1.5 and fixed scaling factor ε = 0.1. All other parameter settings are kept unchanged. The results are recorded in Table 18 after 100 Monte Carlo runs. Columns 1, 2, and 3 in Table 18 show the best, worst, and average performances of BAM algorithm, respectively, while Column 4 in Table 18 shows the average CPU time consumed by BAM algorithm.
From Table 18, we can recognize that the threat values for BAM varies little with the increasing F, and BAM reaches optimum/minimum on F = 0.5. So, we set F = 0.5 in other experiments. From Table 18 we can draw the conclusion that BAM is insensitive to the weighting factor F, so we do not have to fine-tune the parameter F to get the best performance for different problems.

Scaling Factor: ε.
For the sake of investigating the influence of the scaling factor ε on the performance of BAM, we carry out this experiment for the UCAV path planning problem with the factor scaling factor ε = 0, 0.1, 0.2, . . . , 1.0 and fixed weighting factor F = 0.5. All other parameter settings are kept unchanged. The results are recorded in Table 19 after 100 Monte Carlo runs. Columns 1, 2, and 3 in Table 19 shows the best, worst, and average performances of BAM algorithms respectively, while Column 4 in Table 19 shows the average CPU time consumed by BAM algorithm. From Table 19, we can recognize that the values for BAM vary little with the increasing ε, and BAM reaches optimum/minimum and the worst/maximum on ε = 0.1 and ε = 0, respectively. So, we set ε = 0.1 in other experiments. From Table 19 we can draw the conclusion that BAM is insensitive to the scaling factor ε, so we do not have to fine-tune the parameter ε to get the best performance for different problems.  The simulation experiment performed in Sections 5.1 and 5.2 shows that the algorithm BAM we proposed performed the best but worst effectively when solving the UCAV path planning problem. From deep investigation, we can see that BAM cam reach minima when maximum generation Maxgen = 50 and population size Popsize = 30, while other population-based optimization methods cannot achieve satisfactory result under this condition; that is, BAM needs fewer maximum generation, less population size, and less time than other population-based optimization methods when arriving to the same performance. In sum, the simulation implemented in Section 6 shows that the algorithm BAM we proposed performed the best and most absolutely effectively, and it can solve the UCAV path planning problem perfectly. Furthermore, comparing to other population-based optimization methods, the algorithm BAM is insensitive to the parameter loudnessA, pulse rate r, weighting factor F, and scaling factor ε, so we do not have to fine-tune the parameters A, r, F, and ε to get the best performance for different problems.

Discussions.
The BA algorithm is a simple, fast, and robust global optimization algorithm developed by X. S. Yang in 2010. However, it may lack the diversity of population between bats. Therefore, in this work, we add mutation operation between bats to the BA during the process of new solutions updating. And then, the BAM algorithm is proposed to solve the UCAV path planning. From the experimental results we can sum up the following: (i) Our proposed BAM approach is effective and efficient. It can solve the UCAV path planning problem effectively.
(ii) The overall performance of BAM is superior to or highly competitive with BA and other compared state-of-the-art population-based optimization methods.
(iii) BAM and other population-based optimization methods were compared for different maximum generations and the dimension. Under majority conditions, BAM is significantly substantial better than other population-based optimization methods.
(iv) BAM and BA were compared for different loudness A and pulse rate r, weighting factor F, and scaling factor ε. Under almost all the conditions, BAM is far better than BA.
(v) The algorithm BAM is insensitive to the parameter loudness A and discovery rate r, weighting factor F, and scaling factor ε, so we do not have to fine-tune the parameters A, r, F, and ε to get the best performance for different problems.

Conclusion and Future Work
This paper presented a bat algorithm with mutation for UCAV path planning in complicated combat field environments. A novel type of BA model has been described for single UCAV path planning, and a modification is applied to mutate between bats during the process of the new generation generating. Then, the UCAV can find the safe path by connecting the chosen nodes while avoiding the threat areas and costing minimum fuel. This new approach can accelerate the global convergence speed while maintaining the strong robustness of the basic BA. The detailed implementation procedure for this improved metaheuristic approach is also described. Compared with other population-based optimization methods, the simulation experiments show that this improved method is a feasible and effective way in UCAV path planning. It is also flexible, in complicated dynamic battle field environments and pop-up threats are easily incorporated.
In the algorithm of UCAV path planning, there are many issues worthy of further study, and efficient route planning method should be developed depending on the analysis of specific combat field environments. Currently, the hot issue contains self-adaptive route planning for a single UCAV and collaborative route planning for a fleet of UCAVs. As the important ways of improving aircraft survivability, adaptive route planning should analyze real-time data under the uncertain and dynamic threat condition; even it can remodify preplanned flight path to improve the success rate of completing mission. The difficulty of the collaborative route planning for a fleet of UCAVs exists in coordination between the various UCAVs, including the fleet formation, target distribution, arrival time constraint, and avoidance conflict, each of which is a complicated question worthy of further study. Our future work will focus on the two hot issues and develop new methods to solve problem in UCAV path planning and replanning.