3.9 Further reading
4.6.2 ACO-ACPP Algorithm
4.6.2.1 Ant Colony Optimization
There are many studies in engineering where animal behaviors, e.g., learning, food cultivation, navigation, competition, locomotion, communication, is mimicked through mathematical models in order to improve and built solutions to complex problems.
Ants are social insects that live in colonies and have a cooperative way of living. A common ant behavior is the foraging behavior. When foraging, ants communicate with each other by leaving pheromone trails. This behavior was modeled and used to design the ACO structure and mechanism. In order to be solved with ACO algorithm, the optimization problems must be converted in the problem of finding the optimal path on a weighted graph. Then software agents, i.e., virtual ants, deposit pheromones in the transversed path, i.e., graph edges, as they go through the graph. The solutions are build incrementally as many ants move on the graph, i.e., from starting to goal position. Finally, the path with a bigger concentration of pheromones is chosen as the best one. Figure 4.9 shows an illustration with the algorithm principle in a Traveling Salesman Problem (TSP) example.
Figure 4.9: Virtual ants leaving pheromone trains while looking for the best path to a food source. The problem is addressed as a TSP-like graph problem.
The first ACO algorithm was called Ant System (AS), then other extensions came up, such as for example Elitist AS (EAS), Max-Min AS (MMAS), ranked-based AS (ASrank), etc. In any case, the metaheuristic pseudo-code is given by Algorithm 4.6.2.3 (62):
This technique have been widely used to solve path planning problematics for ground robots navigation (63, 64), and path planning for aerial vehicles as well (7, 65). For what aerial vehicles is concerned, the problems mentioned are far different from
4.6 Metaheuristic approaches
Algorithm 4.6.2.3 ACO pseudo-code
1: Initialize optimization problem
2: while Not Stop Condition do
3: Construct Ants Solutions
4: Local search % Optional
5: Update Pheromones
6: end while
7: Return solution(s)
the problem addressed herein. In the first place the work presented by Jennings et al. aims at finding a near-optimal aerial trajectory in the presence of wind subject to some constrains. Moreover, this approach uses a simulated training set to find a solution in a continuous domain. Finally, this works does not use ACO at all. It uses a stochastic optimization mechanism that is said to use a pheromone-based philosophy. In Chao et al. the same comment prevails. The problem is different and the constrains as well. In these works the aim is to compute an aerial trajectory to a given destination restricted to some threated zones. Even though, the work presents poor evidences.
MMAS overview
The ACO-ACPP algorithm is based in the ACO extension MMAS. The motivation behind this choice is because the MMAS is an improvement over other ACO extensions and have been successfully used in many applications (62, 66). The MMAS mechanism is enhanced in algorithm 4.6.2.4.
Algorithm 4.6.2.4 MMAS pseudo-code
1: Initialize pheromone trails
2: while Not Stop Condition do
3: Tour construction
4: Set pheromone limits
5: Update pheromones trails
6: if some sort of stagnation then
7: Initialize pheromone trails
8: end if
9: end while
The first step is the initialization of the pheromones trail. The pheromone trail is addressed by a matrix mapping all arcs from the search space. The Pheromone trail in MMAS is given by,
τij = τ0 = 1
ρCnn, ∀(i, j) (4.10)
where τij is the quantity of pheromone dropped from point i to j (i.e. an arc) and τ0 is it initial value. The number of points is given by n, and Cnn the cost of a path computed with a nearest-neighbor heuristic. Finally, ρ is the pheromone evaporation rate.
After that, n virtual ants starts to construct the tour from any initial point, moving iteratively from point to point and adding points that have not been visited before. They decide which point to move next using a probability defined by a Random Proportional Rule (RPR) as follow,
pkij = [τij] α[η ij]β P l∈Nk i[τil] α[η il]β , if j ∈Nki (4.11)
The Nij = d1ij is an heuristic that define the desirability of going from point i to point j. This value is inversely-proportional to the distance between i and j (i.e., arch length). Furthermore, α and β parameters determine the influence of the pheromone trail and heuristic computed respectively. Finally, Ni is the set of neighbors not yet visited by ant k when being at city i. After no more points are left the virtual ant return back to the initial position.
The pheromones are updated by applying an evaporation rate after finishing all the paths created by virtual ants.
τij ← (1 − ρ)τij, ∀(i, j) ∈ L (4.12)
Moreover, pheromones are deposit in the arcs belonging to the best ranked tour,
τij ← τij + ∆τijbest, (4.13)
where ∆τijbest= Cbest1 and Cbest the length of the best tour. Actually, this variable
4.6 Metaheuristic approaches
best ant could be either the iteration-best ant or the best-so-far ant (see Equation 4.14).
∆τijbest= 1 Cib if iteration-best 1 Cbs if best-so-far (4.14)
Moreover, in order to improve exploration and avoid stagnation a lower and upper limit [τmin, τmax] are imposed in the pheromone trails. The limits are given by,
τmin = τmax(1 − n √ 0.05) (avg − 1)√n 0.05 , τmax= 1 ρCbest (4.15)
Once again the Cbest relies on the best-so-far and/or iterated-best tour length depend on the size of the search space. For what the avg variable is concerned, its value is the average number of neighborhoods available to an ant at each step while constructing a solution.
Finally, the pheromone trails are reinitialized if after some iterations no improvement is obtained in the solution. The algorithm stops when the stop condition is meet, e..g. computation time, number of iterations, minimum pre-defined cost.
A resume of the typical parameters employed in the MMAS is shown in Table 4.2
Table 4.2: Resume of the parameter settings for MMAS. .
α β ρ m τ0
1 2 to 5 0.02 n ρC1nn
α Pheromone trail influence β Heuristics influence
ρ Pheromone evaporation rate m Number of ants
τ0Initial pheromone value