Ant Colony Optimization:
an introduction
2
Outline
1. Biological inspiration of ACO
2. Solving NP-hard combinatorial problems 3. The ACO metaheuristic
Outline
1. Biological inspiration of ACO
2. Solving NP-hard combinatorial problems 3. The ACO metaheuristic
4
Ant colonies
• Distributed systems of social insects • Consist of simple individuals
6
Ant Cooperation
• Stigmergy – indirect communication
between individuals (ants)
Denebourg’s double bridge
experiments
• Studied Argentine ants I. humilis
8
Double bridge experiments:
equal lengths (2)
• Run for a number of trials
10
Double bridge experiments:
different lengths (2)
12
Outline
1. Biological inspiration of ACO
2. Solving NP-hard combinatorial problems
3. The ACO metaheuristic
14
Combinatorial optimization
• Find values of discrete variables
Combinatorial optimization
Π = (S, f, Ω) – problem instance • S – set of candidate solutions • f – objective function
• Ω – set of constraints
• – set of feasible solutions (with respect to Ω)
• Find globally optimal feasible solution s*
16
NP-hard combinatorial problems
• Cannot be exactly solved in polynomial time
• Approximate methods – generate
near-optimal solutions in reasonable time • No formal theoretical guarantees
Approximate methods
18
Constructive algorithms
• Add components to solution incrementally • Example – greedy heuristics:
Local search
• Explore neighborhoods of complete solutions
• Improve current solution by local changes
20
What is a metaheuristic?
• A set of algorithmic concepts
Examples of metaheuristics
• Simulated annealing • Tabu search
• Iterated local search
• Evolutionary computation
• Ant colony optimization
22
Outline
1. Biological inspiration of ACO
2. Solving NP-hard combinatorial problems
3. The ACO metaheuristic
24
ACO metaheuristic
• A colony of artificial ants cooperate in finding good solutions
• Each ant – simple agent
• Ants communicate indirectly using
Combinatorial optimization
problem mapping (1)
• Combinatorial problem (S, f, Ω(t)) • Ω(t) – time-dependent constraints
Example – dynamic problems
• Goal – find globally optimal feasible solution s*
• Minimization problem
26
Combinatorial optimization
problem mapping (2)
• C = {c1, c2, …, cNc} – finite set of
components
• States of the problem:
X = {x = <ci, cj, …, ch, …>, |x| < n < +∞} • Set of candidate solutions:
Combinatorial optimization
problem mapping (3)
• Set of feasible states:
• We can complete into a solution satisfying Ω(t)
• Non-empty set of optimal solutions:
X
X
~
X x ~
S
X
28
Combinatorial optimization
problem mapping (4)
S*
X
~
S
X
• X – states
• S – candidate solutions • – feasible states
• S* – optimal solutions
Combinatorial optimization
problem mapping (5)
• Cost g(s, t) for each
• In most cases – g(s, t) ≡ f(s, t)
• GC = (C, L) – completely connected graph • C – set of components
• L – edges fully connecting the components (connections)
• G – construction graph
S
s
S
s
~
30
Combinatorial optimization
problem mapping (last
)
Construction graph
• Each component ci or connection lij have associated:
heuristic information
32
Heuristic information
• A priori information about the problem • Does not depend on the ants
• On components ci – ηi
• On connections lij – ηij
• Meaning:
Pheromone trail
• Long-term memory about the entire search process
• On components ci – τi
• On connections lij – τij
34
Artificial ant (1)
• Stochastic constructive procedure • Builds solutions by moving on GC
• Has finite memory for:
– Implementing constraints Ω(t) – Evaluating solutions
Artificial ant (2)
• Has a start state x
• Has termination conditions ek
• From state xr moves to a node from the neighborhood – Nk(x
r)
36
Artificial ant (3)
• Selects a move with a probabilistic rule depending on:
Pheromone trails and heuristic information of neighbor components and connections
Memory
Artificial ant (4)
• Can update pheromone on visited components (nodes)
• and connections (edges) • Ants act:
Concurrently
38
The ACO metaheuristic
While not doStop():
ConstructAntSolutions
• A colony of ants build a set of solutions • Solutions are evaluated using the
40
UpdatePheromones
• Two opposite mechanisms:
Pheromone deposit
UpdatePheromones: pheromone
deposit
• Ants increase pheromone values on
visited components and/or connections • Increases probability to select visited
42
UpdatePheromones: pheromone
evaporation
• Decrease pheromone trails on all
components/connections by a same value • Forgetting – avoid rapid convergence to
DaemonActions
• Optional centralized actions, e.g.:
Local optimization
44
ACO applications
• Traveling salesman
• Quadratic assignment • Graph coloring
• Multiple knapsack • Set covering
• Maximum clique • Bin packing
Outline
1. Biological inspiration of ACO
2. Solving NP-hard combinatorial problems 3. The ACO metaheuristic
46
Traveling salesman problem
• N – set of nodes (cities), |N| = n
• A – set of arcs, fully connecting N
• Weighted graph G = (N, A)
• Each arc has a weight dij – distance • Problem:
48
TSP: construction graph
• Identical to the problem graph • C = N
• L = A
TSP: constraints
• All cities have to be visited
• Each city – only once
50
TSP: pheromone trails
TSP: heuristic information
• ηij = 1 / dij
52
TSP: solution construction
• Select random start city
ACO algorithms for TSP
• Ant System
• Elitist Ant System
• Rank-based Ant System • Ant Colony System
54
Ant System: Pheromone
initialization
• Pheromone initialization
Τij = m / Cnn,
where:
m – number of ants
Cnn – path length of nearest-neighbor
Ant System: Tour construction
• Ant k is located in city i
• is the neighborhood of city i
• Probability to go to city :
il il ij ij k ijp
56
Tour construction:
comprehension
• α = 0 – greedy algorithm
• β = 0 – only pheromone is at work
quickly leads to stagnation
k i N l il il ij ij k ijp
Ant System: update pheromone
trails – evaporation
Evaporation for all connections∀(i, j) ∈ L:
τij ← (1 – ρ) τij,
ρ ∈[0, 1] – evaporation rate
58
Ant System: update pheromone
trails – deposit
• Tk – path of ant k
• Ck – length of path Tk
• Ants deposit pheromone on visited arcs:
i
j
L
m
k
k ij ij
ij
,
,
1
otherwise T j iCk k
Elitist Ant System
• Best-so-far ant deposits pheromone on each iteration: best ij m k k ij ij
ij
e
1
otherwise
T
j
i
60
Rank-based Ant System
• Rank all ants
MAX-MIN Ant System
1. Only iteration-best or best-so-far ant deposits pheromone
62
Ant Colony System
• Differs from Ant System in three points:
More aggressive tour construction rule
Only best ant evaporates and deposits pheromone
Ant Colony System
otherwise
System
Ant
like
q
q
if
j
l Nik il il,
,
max
arg
01.Tour Construction
64
State of the art in TSP
• CONCORDE
http://www.tsp.gatech.edu/concorde.html • Solved an instance of 85900 cities
66
Current ACO research activity
Further reading
• M. Dorigo, T. Stützle. Ant Colony Optimization. MIT Press, 2004.
68
Next time…
Thank you!
Any questions?