Lecture 19
Ant Colony Optimization
Background
The ant colony optimization (ACO) search process was initially described by Dorigo (1992), and has been used to address problems in many different fields, including forestry.
ACO algorithms are based on the mechanics of ants searching for food from a nest area. It was initially suggested for route management problems.
Each solution corresponds to an ant's route through the solution space.
The objective function value of each solution is computed, and the route taken is noted.
Ants that take the same portion of a route influence the acceptability and desirability of the portion of the route.
In this manner, the search process evolves.
Ant Colony Optimization
Characteristics of the algorithm (first take)
1) This is a stochastic, population-based, swarm-type heuristic.
2) Ants wander randomly initially, looking for food.
• Solutions are generated using Monte Carlo simulation.
• Therefore an ant is a solution.
3) Upon finding the food, ants return to their colony while laying down pheromones.
4) If other ants find a part of the path, they are likely to use it rather than wandering randomly.
5) The path is reinforced if food is found again by another ant.
6) Over time, the path's trail of pheromones evaporates, reducing its attractive strength. The more time it takes for an ant to travel down a trail, the more pheromones evaporate.
• Shorter paths are traveled more frequently, and pheromones are stronger there as well.
Ant Colony Optimization
Characteristics of the algorithm (second take)
1) An ant (called a blitz) travels around randomly.
2) If the ant discovers food, it returns to the colony, and leaves behind a trail of pheromones for others to follow.
3) Nearby ants will follow the trail, if it is attractive.
• Shorter paths are increasingly more attractive as more pheromones are laid down
• Longer paths will become less attractive, as the pheromone trail evaporates
• Interestingly, all ants should eventually have the same route
Ant Colony Optimization
Characteristics of the algorithm
An ant is a solution.
Solutions (ants) are at different places in the solution space.
How they change is based on the probability of changing to a different schedule.
An ant completes its tour after selection a choice for each stand.
Utilities (objective function values) of each tour are calculated.
Pheromone levels are updated after all of the ants have completed all of their tours.
Ant Colony Optimization
Characteristics of the algorithm
The probability of moving from Point A to Point B depends on the attractiveness of the move and the trail level.
Attractiveness - an a priori desirability (typically based on the inverse distance) of the move.
Trail level - an a posteriori, computed attractiveness.
This is computed after an ant completes a solution, increasing or decreasing the desirabilities of components of a solution.
B
A
?
C
A
B
A
B
A
B
Ant Colony Optimization
Characteristics of the algorithm
Amounts of pheromones are updated after a solution has been generated.
(1-p) prior pheromone +
pheromone
Where:
p = a coefficient related to the evaporation rate.
if A
B path is used, pheromone levels increase
pheromone = Q / L k
Where:
Q = a constant
L k
= solution length (quality)
Else pheromone levels decrease, since in this case
pheromone = 0
B
A
?
C
Ant Colony Optimization
Advantages:
• It is intuitive to biologically-minded people, mimicking nature.
• The system is built on positive feedback (pheromone attraction) and negative attractiveness (pheromone evaporation).
• Pheromone evaporation helps avoid convergence to a local optima.
Disadvantages:
• For routing problems it may make more sense, but for harvest scheduling problems, it requires a conceptual leap of faith.
• Fine-tuning the sensitive parameters may require significant effort.
Ant Colony Optimization
Necessary parameters
1) The initial population of ants (an ant cycle).
2) The total number of tours.
3) The evaporation rate.
4) The amount of pheromone applied to a section of a cycle or solution.
5) The constant Q.
Ant Colony Optimization
Basic Process
Update pheromone levels
Generate initial ants
For all ants, develop an ant tour
Assess the quality of the ant tours
Change probabilities of pieces of each potential tour
Has the best solution been improved?
Yes
Save best solution
No
No
Have we reached the stopping criteria?
Yes
Stop and report the best solution found during search