Transcript aco-03-04-2013
Ant Colony Optimization: an introduction
Daniel Chivilikhin 03.04.2013
Outline
1. Biological inspiration of ACO 2. Solving NP-hard combinatorial problems 3. The ACO metaheuristic 4. ACO for the Traveling Salesman Problem 2
Outline
1. Biological inspiration of ACO
2. Solving NP-hard combinatorial problems 3. The ACO metaheuristic 4. ACO for the Traveling Salesman Problem 3
Biological inspiration: from real to artificial ants
4
Ant colonies
• Distributed systems of social insects • Consist of
simple
individuals • Colony intelligence >> Individual intelligence 5
Ant Cooperation
•
Stigmergy
– indirect communication between individuals (ants) • Driven by environment modifications 6
Denebourg’s double bridge experiments
• Studied Argentine ants
I. humilis
• Double bridge from ants to food source 7
Double bridge experiments: equal lengths (1)
8
Double bridge experiments: equal lengths (2)
• Run for a number of trials • Ants choose each branch ~ same number of trials 9
Double bridge experiments: different lengths (2)
10
Double bridge experiments: different lengths (2)
• The majority of ants follow the short path 11
Outline
1. Biological inspiration of ACO
2. Solving NP-hard combinatorial problems
3. The ACO metaheuristic 4. ACO for the Traveling Salesman Problem 12
Solving NP-hard combinatorial problems
13
Combinatorial optimization
• Find values of discrete variables • Optimizing a given
objective function
14
Combinatorial optimization
• • Π = (
S
,
f
, Ω) – problem instance
S
– set of candidate solutions
f –
objective function • • Ω – set of constraints ~
S
S
– set of feasible solutions (with respect to Ω) • Find globally optimal feasible solution
s*
15
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 =
heuristics
16
Approximate methods
• Constructive algorithms • Local search 17
Constructive algorithms
• Add components to solution incrementally • Example – greedy heuristics:
add solution component with best heuristic estimate
18
Local search
• Explore neighborhoods of complete solutions • Improve current solution by local changes – first improvement – best improvement 19
What is a metaheuristic?
• A set of algorithmic concepts • Can be used to define heuristic methods • Applicable to a wide set of problems 20
Examples of metaheuristics
• Simulated annealing • Tabu search • Iterated local search • Evolutionary computation •
Ant colony optimization
• Particle swarm optimization • etc.
21
Outline
1. Biological inspiration of ACO 2. Solving NP-hard combinatorial problems
3. The ACO metaheuristic
4. ACO for the Traveling Salesman Problem 22
The ACO metaheuristic
23
ACO metaheuristic
• A colony of artificial ants cooperate in finding good solutions • Each ant – simple agent • Ants communicate indirectly using
stigmergy
24
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 • Mapped on another problem… 25
Combinatorial optimization problem mapping (2)
• •
C
= {
c
1 ,
c
2 , …,
c Nc
} – finite set of
components States
of the problem:
X
= {
x
= <
c i
,
c j
, …,
c h
, …>, |
x
| <
n
< + ∞} • Set of
candidate
solutions:
S
X
26
Combinatorial optimization problem mapping (3)
• Set of feasible states: ~
X
X
satisfying Ω(t) • Non-empty set of optimal solutions:
S
* ~
X
S
27
Combinatorial optimization problem mapping (4)
• X – states • S – candidate solutions • ~
X
– feasible states •
S
* – optimal solutions
S X S*
~
X
28
Combinatorial optimization problem mapping (5)
• Cost
g
(
s
,
t
) for each • In most cases –
s
S g
(
s
,
t
) ≡
f
(
s
,
t
)
s
~
S
•
G C =
(
C
,
L
) – completely connected graph • C – set of
components
• • L – edges fully connecting the components (
connections
)
G C
–
construction graph
29
Combinatorial optimization problem mapping (last
)
• Artificial ants build solutions by performing randomized walks on
G C
(
C
,
L
) 30
Construction graph
• Each component
c i
associated: heuristic information pheromone trail or connection
l ij
have 31
Heuristic information
•
A priori
information about the problem • Does not depend on the ants • On components
c i
• On connections
l ij
–
η – η ij i
• Meaning: cost of adding a component to the current solution 32
Pheromone trail
• Long-term memory about the entire search process • On components
c i
• On connections
l ij
–
τ – τ ij i
• Updated by the ants 33
Artificial ant (1)
• Stochastic constructive procedure • Builds solutions by moving on
G C
• Has finite memory for: – Implementing constraints Ω(
t
) – Evaluating solutions – Memorizing its path 34
Artificial ant (2)
• Has a start state x • Has termination conditions
e k
• From state
x r
moves to a node from the neighborhood –
N k
(
x r
) • Stops if some
e k
are satisfied 35
Artificial ant (3)
• Selects a move with a probabilistic rule depending on: Pheromone trails and heuristic information of neighbor components and connections Memory Constraints Ω 36
Artificial ant (4)
• Can update pheromone on visited components (nodes) • and connections (edges) • Ants act: Concurrently Independently 37
The ACO metaheuristic
While not doStop(): ConstructAntSolutions() UpdatePheromones() DaemonActions() 38
ConstructAntSolutions
• A colony of ants build a set of solutions • Solutions are evaluated using the objective function 39
UpdatePheromones
• Two opposite mechanisms: Pheromone deposit Pheromone evaporation 40
UpdatePheromones: pheromone deposit
• Ants increase pheromone values on visited components and/or connections • Increases probability to select visited components later 41
UpdatePheromones: pheromone evaporation
• Decrease pheromone trails on all components/connections by a same value • Forgetting – avoid rapid convergence to suboptimal solutions 42
DaemonActions
• Optional centralized actions, e.g.: Local optimization Ant elitism (details later) 43
ACO applications
• Traveling salesman • Quadratic assignment • Graph coloring • Multiple knapsack • Set covering • Maximum clique • Bin packing • … 44
Outline
1. Biological inspiration of ACO 2. Solving NP-hard combinatorial problems 3. The ACO metaheuristic
4. ACO for the Traveling Salesman Problem
45
ACO for the Traveling Salesman Problem
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
d ij
• Problem:
–
distance
Find minimum length Hamiltonian circuit
47
TSP: construction graph
• • Identical to the problem graph
C
=
N
•
L
=
A
• states = set of all possible partial tours 48
TSP: constraints
• All cities have to be visited • Each city – only once • Enforcing – allow ants only to go to new nodes 49
TSP: pheromone trails
• Desirability of visiting city
j
directly after
i
50
TSP: heuristic information
•
η ij =
1 /
d ij
• Used in most ACO for TSP 51
TSP: solution construction
• Select random start city • Add unvisited cities iteratively • Until a complete tour is built 52
ACO algorithms for TSP
• Ant System • Elitist Ant System • Rank-based Ant System • Ant Colony System • MAX-MIN Ant System 53
Ant System: Pheromone initialization
• Pheromone initialization
Τ ij = m
/
C nn , where:
m – number of ants C nn – path length of nearest-neighbor algorithm
54
Ant System: Tour construction
• Ant
k
is located in city
i
•
N i k
is the neighborhood of city
i
• Probability to go to city
j
N i k
:
p ij k
k l
N ij
i
il
ij
il
55
Tour construction: comprehension
p ij k
l
N k ij
il ij
il i
•
α
= 0 – greedy algorithm • β = 0 – only pheromone is at work quickly leads to stagnation 56
Ant System: update pheromone trails – evaporation
Evaporation for all connections ∀ (
i
,
j
) ∈
L
:
τ ij
← (1 –
ρ
)
τ ij , ρ
∈ [0, 1] – evaporation rate
Prevents convergence to suboptimal solutions
57
• • •
Ant System: update pheromone trails – deposit
T k
– path of ant
k C k – length of path T k
Ants deposit pheromone on visited arcs:
ij
ij
k m
1
ij k
,
L
ij k
1 0 , /
C k
,
otherwise T k
58
Elitist Ant System
• Best-so-far ant deposits pheromone on each iteration:
ij
ij
k m
1
ij k
e
ij best
ij best
1 0 , /
C best
,
otherwise
T best
59
Rank-based Ant System
• Rank all ants • Each ant deposits amounts of pheromone proportional to its rank 60
MAX-MIN Ant System
1. Only iteration-best or best-so-far ant deposits pheromone 2. Pheromone trails are limited to the interval [
τ
min,
τ
max ] 61
Ant Colony System
• Differs from Ant System in three points: More aggressive tour construction rule Only best ant evaporates and deposits pheromone Local pheromone update 62
Ant Colony System
1.Tour Construction
j
arg
like
max
Ant l
N i k
il System
,
il
,
if q
otherwise q
0 2. Local pheromone update:
τ ij
← (1 –
ξ
)
τ ij + ξτ 0 ,
63
Comparing Ant System variants
64
State of the art in TSP
• CONCORDE http://www.tsp.gatech.edu/concorde.html
• Solved an instance of 85900 cities • Computation took 286-2719 CPU days!
65
Current ACO research activity
• New applications • Theoretical proofs 66
Further reading
• • M. Dorigo, T. Stützle. Ant Colony Optimization. MIT Press, 2004.
http://iridia.ulb.ac.be/~mdorigo/ACO/ 67
Next time…
• Some proofs of ACO convergence 68
Thank you!
Any questions?
This presentation is available at: http://rain.ifmo.ru/~chivdan/presentations/ Daniel Chivilikhin [mailto: [email protected]] 69
Used resources
• • • • • • • • http://teamaltman.com/wp-content/uploads/2011/06/Uncertainty-Ant-Apple 1024x1024.jpg
http://myrealestatecoach.files.wordpress.com/2012/04/ant.jpg
http://ars.els-cdn.com/content/image/1-s2.0-S1568494613000264-gr3.jpg
http://www.theorie.physik.uni-goettingen.de/forschung/ha/talks/stuetzle.pdf
http://www.buyingandsellingwebsites.com/wp-content/uploads/2011/12/Ant-150.jpg
http://moodle2.gilbertschools.net/moodle/file.php/1040/Event 100_Days/Ant_Hormiga.gif
http://4.bp.blogspot.com/_SPAe2p8Y-kg/TK3hQ8BUMtI/AAAAAAAAAHA/p75K GcT_oo/s1600/ant+vision.GIF
http://1.bp.blogspot.com/ tXKJQ4nSqOY/UQZ3vabiy_I/AAAAAAAAAjA/IK8jtlhElqk/s1600/16590492-illustration of-an-ant-on-a-white-background.jpg
70