3.2. Fuzzy Ant Colony Algorithm (FACA)
If we can plan the local path and the global path using a hierarchical decision-making method, we can minimize the flight time of the UAV. The path planning of the UAV among target subgroups in a target group is a TSP problem, which is solved using a fuzzy ant colony algorithm. The ant colony algorithm imitates ants’ life behavior [
33]. When ants are walking, they leave pheromones on the route. Pheromones are chemicals that decrease over time. When other ants smell the pheromone, they move in the direction of the presence of the pheromone. Similarly, other ants leave pheromones in their path. A larger amount of pheromone makes it more likely that a pathway will be selected. Surely, in each stage, the probability of choosing the shortest path is increased and, eventually, most of the ants move onto the shortest path. The ant colony algorithm guides ants to choose the best path by adjusting the amount of pheromone in each path. The traditional ant colony algorithm is easy to fall into a local drop-dead halt; thus, we introduce fuzzy logic to improve the ant colony algorithm in the pheromone update rules.
The procedure of the path planning method based on a fuzzy ant colony algorithm for multi-UAVs is described below.
We assume that is the intensity of the exohormone on the edge at moment according to a probability function that takes the distance of the target subgroups and the number of pheromones on the edge of the target subgroups as the variables. The number of ants is m. Each ant can start from its starting position and return to its starting position. Unless the round trip is completed, the ant is not allowed to move to the visited target subgroup, and the walking of ants is controlled by the tabu list. If represents the tabu list of the ant, represents element in the tabu list. After completing a round trip, ants release pheromones on every edge of their visit.
At the initial time, the information on each path is equal, and
(
is constant). The ant
determines the direction of movement according to the information of each route.
indicates the probability that the ant
moves from position
to position
at
time. The rule for
is as follows:
In Equation (13), represents the next target subgroup that allows ant to choose. Unlike the actual ant colony, the artificial ant colony system has a memory function. is used to record the target subgroup that ants are currently traversing, and tabuk is dynamically adjusted with evolution. indicates the visibility of edge , which generally takes and to represent the distance between the target subgroup and the target subgroup . denotes the relative importance of the trajectory, and denotes the relative importance of visibility. denotes the persistence of the trajectory, and denotes the attenuation of the trajectory.
Over time, the information left in the past gradually disappears. The parameter
is used to indicate the degree of information disappearance. After
times, the ant completes a cycle. The amount of information on each path should be adjusted according to Equation (14).
where
denotes the amount of information left in the path
by the
ant in this cycle.
represents the increment of information on path
on this cycle.
represents the path length of the ant
traveling around.
In this paper, fuzzy logic is added to the ant colony algorithm. The traveling counter and the quality value of the solution obtained by each ant are used as the fuzzy input of the fuzzy controller. Firstly, the two quantities are fuzzified; then, the fuzzy control rules of information updating are determined. Finally, the output fuzzy quantities are de-fuzzified, and the updating quantities of each ant on the path are obtained. The fuzzy control rule is a key component of the fuzzy controller, which determines the performance of the fuzzy controller. Generally, the setting of fuzzy rules needs to consider the fuzzy input domain and the output domain. The setting of fuzzy rules usually depends on expert experience or domain knowledge; thus, it is an empirical rule. Therefore, to address the issue investigated, we develop a fuzzy rule according to the experience of experts to improve the performance of the ant colony algorithm.
Firstly, the input values are fuzzed. The setting of input and input fields is . We use Equation (15) to map the domain to the domain .
For input 1 and input 2
we convert the input to
and
using Equation (15).
This paper sets fuzzy control rules as shown in
Table 2.
In this paper, the number of fuzzy parameters is set to five, and the fuzzy input and output spaces are divided into five fuzzy sets. S stands for “small”, M-stands for “smaller”, M represents “middle”, M + represents “higher”, and B represents “high”. The corresponding relationship between the fuzzy value and the actual value is shown in
Table 3.
This paper sets the fuzzy rule to IF x is and y is , then z is . Therefore, for the fuzzy output , the final output is .
The procedure for the fuzzy ant colony algorithm is shown in Algorithm 2.
Algorithm 2: Fuzzy ant colony algorithm |
Step 1: ( is the number of iterations or searches), and are initialized separately, and ants are placed on target subgroups. |
Step 2: The initial starting point of each ant is placed in the current solution set. For each ant, which is moved to the next target subgroup according to probability , the target subgroup is placed in the current solution set. |
Step 3: Calculate the length of the path of each ant and record the best solution. |
Step 4: The strength of the trajectory is updated according to the renewal equation. |
Step 5: . |
Step 6: If is less than the expected number of iterations and does not degenerate (that is, the same solution is found), go back to Step 2. |
Step 7: Output the best solution at present. |