Ant Colony Optimization (ACO)

Ant Colony
Optimization
(ACO)
Introduction
●
●
●
●
Based on ant foraging
General purpose
○ Can be easily modified for many optimisation
problems
Formalised as meta-heuristic
○ Algorithmically defined procedure for
generating heuristics to solve a given
problem
ACO useful in a wide range of problems
○
○
Scheduling
Routing
Biological Inspiration
●
●
●
●
●
●
Ants travelling between nest and food source
Pheromone Trails
Following higher concentrations
Stigmergic Information
○ Indirect, local communication
Gather food effectively
Double Bridge Experiment
The Algorithm
●
●
●
●
●
●
●
●
●
General Overview, Ant System
Artificial ants, traverse search space (Graph)
Graph traversal
Edge Selection
Builds incremental solution
Update
Depositing Pheromone
○ Corresponds to solution component
○ Solution Quality
○ Evaporation
Probabilistic
Exploration vs Exploitation
The Algorithm
ACO Metaheuristic
Set parameters, initialize pheromone trails
while termination condition not met do
ConstructAntSolutions
ApplyLocalSearch (optional)
UpdatePheromones
end while
Ant System
●
●
First proposed in 1991 by Marco Dorigo
Given a graph G = (V, E):
○
○
○
○
○
○
Choose a source vs and a destination vd
Each edge ei, j has an associated length li, j and a
pheromone value τi, j
Ants traverse the graph by choosing edges based on the
amount of pheromone that they have
The pheromone is evaporated over time
Ants deposit pheromone based on the objective value of
the current solution (e.g. minimising the length of the path)
The system is iterated until a termination condition is
reached (e.g. a time limit)
Edge Selection
●
●
●
Let na be the number of ants in the system
Initially all of the ants start out at vs
At each iteration:
○
○
Each ant chooses an edge ei, j with a certain probability to
reach the destination dependent on the pheromone value
for each edge
The system can exclude previously visited nodes by
keeping a set of visited nodes T
Pheromone Update
○
The previously laid pheromone is evaporated according to a
constant ρ
○
Upon returning to the source via its chosen path, each ant will
lay a certain amount of pheromone based on the objective value
of our current solution (e.g. if f(s) = li, j then we are minimising
the length of the path)
Advantages
●
●
Graph Problems
Dynamic Adaptability
[Dorigo M, Maniezzo V, Colorni A]
Variants
●
Elitist Ant System
○
●
Global best is reinforced
[Dorigo M, Maniezzo V, Colorni A]
Rank-Based Ant System
○ Rank all solutions - Shortest to longest
[Bullnheimer B, Hartl R, Strauss C]
Applications
●
Travelling Salesman
○
ACO was initially designed for this
problem
○
Shortest cyclical path between cities
○
Produces near optimal solutions
Applications
●
Quadratic assignment problem
○ Central problem of combinatorial
optimization
○
n facilities and n locations
○
Facility pairs have a distance and a ‘flow’
○
Optimal solutions minimise:
(distance * flow) for the system
Applications
●
Job scheduling problem
○
N jobs, m machines
○
Jobs added dynamically
○
Variants:
■ Job interdependencies
■ Probabilistic processing times
■ Machine to job dependencies
Thanks!
Any questions?
References
https://www.ics.uci.edu/~welling/teaching/271fall09/antcolonyopt.pdf
http://mat.uab.cat/~alseda/MasterOpt/ACO_Intro.pdf
http://iridia.ulb.ac.be/IridiaTrSeries/rev/IridiaTr2006-023r001.pdf
http://www.cs.nott.ac.uk/~pszrq/files/IntroANT.pdf
http://epub.wu.ac.at/616/1/document.pdf
https://svn-d1.mpi-inf.mpg.de/AG1/MultiCoreLab/papers/StuetzleHoos00%20-%20
MMAS.pdf
https://www.youtube.com/watch?v=eVKAIufSrHs#t=348.251293
CREDITS
Special thanks to all the people who made and
released these awesome resources for free:
➜Presentation template by SlidesCarnival
➜Photographs by Death to the Stock Photo (license)
➜Stock photos for background images:
www.freeimages.com