Ant Colony Optimization
S2 MKOM
Kecerdasan Komputasional
Ant Colony Optimization
Prepared by:
Ahmad Elshamli, Daniel Asmar, Fadi Elmasri
Section 1
• Introduction (Swarm intelligence)
• Natural behavior of ants
• First Algorithm: Ant System
• Improvements to Ant System
• Applications
Swarm intelligence
• Collective system capable of accomplishing difficult
tasks in dynamic and varied environments without any
external guidance or control and with no central
coordination
• Achieving a collective performance which could not
normally be achieved by an individual acting alone
• Constituting a natural model particularly suited to
distributed problem solving
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
Inherent features
• Inherent parallelism
• Stochastic nature
• Adaptivity
• Use of positive feedback
• Autocatalytic in nature
Natural behavior of an ant
Foraging modes
• Wander mode
• Search mode
• Return mode
• Attracted mode
• Trace mode
• Carry mode
Natural behavior of ant
Ant Algorithms – ([Link] – based on notes L. Gamberdella ([Link])
Natural behavior of ant
Travelling Salesman Problem (TSP)
TSP PROBLEM : Given N cities, and a distance function d between
cities, find a tour that:
1. Goes through every city once and only once
2. Minimizes the total distance.
• Problem is NP-hard
• Classical combinatorial
optimization problem to
test.
ACO for the Traveling Salesman Problem
The TSP is a very important problem in the context of
Ant Colony Optimization because it is the problem to
which the original AS was first applied, and it has later
often been used as a benchmark to test a new idea
and algorithmic variants.
The TSP was chosen for many reasons:
• It is a problem to which the ant colony metaphor
• It is one of the most studied NP-hard problems in the combinatorial optimization
• it is very easily to explain. So that the algorithm behavior is not obscured by
too many technicalities.
Search Space
Discrete Graph
To each edge is associated a static value
returned by an heuristic function (r,s)
based on the edge-cost
Each edge of the graph is augmented with a
pheromone trail (r,s) deposited by ants.
Pheromone is dynamic and it is learned at run-ime
Ant Systems (AS)
Ant Systems for TSP
Graph (N,E): where N = cities/nodes, E = edges
d ij = the tour cost from city i to city j (edge weight)
Ant move from one city i to the next j with some transition probability.
B
A
C
Ant Systems Algorithm for TSP
Initialize
Place each ant in a randomly chosen city
For Each Ant
Choose NextCity(For Each Ant)
yes more cities
to visit
No
Return to the initial cities
Update pheromone level using the tour cost for each ant
No
Stopping
criteria
yes
Print Best tour
Rules for Transition Probability
1. Whether or not a city has been visited
Use of a memory(tabu list): J ik : set of all cities that are to be visited
2. N ij = 1 d ijvisibility:Heuristic desirability of choosing city j when in city i.
[Link] trail: Tij (t ) This is a global type of information
Transition probability for ant k to go from city i to city j while building its route.
a = 0: closest cities are selected
Trail pheromone in AS
After the completion of a tour, each ant lays some pheromone
K ij (t )
for each edge that it has used. depends on how well the ant
has performed.
Trail pheromone decay =
How to implement in a program
•Ants: Simple computer agents
•Move ant: Pick next component in the const. solution
•Pheromone:
k
i,j
•Memory: MK or TabuK
•Next move: Use probability to move ant
A simple TSP example []
[]
A
B
2
[]
C
3
[]
4
D
E []
dAB =100;dBC = 60…;dDE =150
5
Iteration 1
[A] [B]
2
1
A
B
[C]
3
C
[D] [E]
4
D 5
E
How to build next sub-solution?
[A]
1
A
[A]
B
[A]
[ ij ( t )] [ ijC ]
if j allowed k
pijk ( t ) 1 [A,D] [ ik ( t )] [ ik ]
kallowed
[A]k
0 1 otherwise
1
D
E
Iteration 2
[E,A] [C,B]
5
3
A
B
[B,C]
2
C
[A,D]
[D,E]
1
D 4
E
Iteration 3
[D,E,A] [E,A,B]
4
5
A
B
[A,D,C]
1
C
[B,C,D]
[C,B,E]
2
D 3
E
Iteration 4
[B,C,D,A] [D,E,A,B]
2 4
A
B
[E,A,B,C]
5
C
[C,B,E,D]
[A,DCE]
D 3
1
E
Iteration 5
[C,B,E,D,A] [A,D,C,E,B]
1
3
A
B
[D,E,A,B,C]
4
C
[E,A,B,C,D]
[B,C,D,A,E]
D 5
E 2
Path and Pheromone Evaluation
[A,D,C,E,B]
Q
if ( i , j ) tour
L1 =300 ik, j Lk
1 0 otherwise
[B,C,D,A,E]
L2 =450
2
[C,B,E,D,A]
total
3 A ,B
1
A ,B
L3 =2602
A ,B 3
A ,B 4
A ,B 5
A ,B
[D,E,A,B,C]
L4 =280
4
[E,A,B,C,D]
L5 =420
5
End of First Run
Save Best Tour (Sequence and length)
All ants die
New ants are born
Ant System (Ant Cycle) Dorigo [1] 1991
t = 0; NC = 0; τij(t)=c for ∆τij=0
Initialize
Place the m ants on the n nodes
[ ij (Update t )]tabu
[(s)ij ]
if j allowed k
k
Tabu list management
pijk ( t ) [[ ( tik
)] ([t
)]
]
ij
[ ik ]
ij
Choose the city j to move
kallowed
if j allowed to. Use probability
p ( t ) [ k ( t )] [ ]
k
k
ij ik ik
kallowed k
0
Move k-th ant to town j.
0 otherwise otherwise
Insert town j in tabu (s) k
Compute the length Lk of every ant
Update the shortest tour found
ij ( t n ) ij ( t ) ij
For every =edge (i,j)
Compute ij ( t n ) ij ( t ) ij
For k:=1 to m do
Q
if ( i , j ) tour described by tabu k
k
i, j Lk
0
Q otherwise
if ( i , j ) tour described by tabu k
ij : ij k
ij
k
i,j Lk
Yes
0
Set t = t + n; NC=NC+1; ∆τij=0 NC<NCmax
otherwise && not stagn.
No
End
Stopping Criteria
• Stagnation
• Max Iterations
General ACO
• A stochastic construction procedure
• Probabilistically build a solution
• Iteratively adding solution components to partial
solutions
- Heuristic information
- Pheromone trail
• Reinforcement Learning reminiscence
• Modify the problem representation at each
iteration
General ACO
• Ants work concurrently and independently
• Collective interaction via indirect
communication leads to good solutions
Variations of Ant System
• Ant Cycle (O(NC.n3)
• Ant Density (Quantity Q)
• Ant Quantity (Quantity Q/dij)
Taken from Dorigo [1]
Basic Analysis
Taken from Dorigo [1]
Basic Analysis
Taken from Dorigo [1]
Optimal number of ants for AS
Taken from Dorigo [1]
Some inherent advantages
• Positive Feedback accounts for rapid discovery
of good solutions
• Distributed computation avoids premature
convergence
• The greedy heuristic helps find acceptable
solution in the early solution in the early stages
of the search process.
• The collective interaction of a population of
agents.
Disadvantages in Ant Systems
• Slower convergence than other Heuristics
• Performed poorly for TSP problems larger
than 75 cities.
• No centralized processor to guide the AS
towards good solutions
Applications
• Traveling Salesman Problem
• Quadratic Assignment Problem
• Network Model Problem
• Vehicle routing
Work to date
Problem name Authors Algorithm name Year
Traveling salesman Dorigo, Maniezzo & Colorni AS 1991
Gamberdella & Dorigo Ant-Q 1995
Dorigo & Gamberdella ACS &ACS 3 opt 1996
Stutzle & Hoos MMAS 1997
Bullnheimer, Hartl & Strauss ASrank 1997
Cordon, et al. BWAS 2000
Quadratic assignment Maniezzo, Colorni & Dorigo AS-QAP 1994
Gamberdella, Taillard & Dorigo HAS-QAP 1997
Stutzle & Hoos MMAS-QAP 1998
Maniezzo ANTS-QAP 1999
Maniezzo & Colorni AS-QAP 1994
Scheduling problems Colorni, Dorigo & Maniezzo AS-JSP 1997
Stutzle AS-SMTTP 1999
Barker et al ACS-SMTTP 1999
den Besten, Stutzle & Dorigo ACS-SMTWTP 2000
Merkle, Middenderf & Schmeck ACO-RCPS 1997
Vehicle routing Bullnheimer, Hartl & Strauss AS-VRP 1999
Gamberdella, Taillard & Agazzi HAS-VRP 1999
Work to date
Problem name Authors Algorithm name Year
Connection-oriented Schoonderwood et al. ABC 1996
network routing White, Pagurek & Oppacher ASGA 1998
Di Caro & Dorigo AntNet-FS 1998
Bonabeau et al. ABC-smart ants 1998
Connection-less Di Caro & Dorigo AntNet & AntNet-FA 1997
network routing Subramanian, Druschel & Chen Regular ants 1997
Heusse et al. CAF 1998
van der Put & Rethkrantz ABC-backward 1998
Sequential ordering Gamberdella& Dorigo HAS-SOP 1997
Graph coloring Costa & Hertz ANTCOL 1997
Shortest common supersequence Michel & Middendorf AS_SCS 1998
Frequency assignment Maniezzo & Carbonaro ANTS-FAP 1998
Generalized assignment Ramalhinho Lourenco & Serra MMAS-GAP 1998
Multiple knapsack Leguizamon & Michalewicz AS-MKP 1999
Optical networks routing Navarro Varela & Sinclair ACO-VWP 1999
Redundancy allocation Liang & Smith ACO-RAP 1999
Constraint satisfaction Solnon Ant-P-solver 2000