70
Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

Embed Size (px)

Citation preview

Page 1: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

Ant Colony Optimization: an introduction

Daniel Chivilikhin

03.04.2013

Page 2: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

2

Outline

1. Biological inspiration of ACO

2. Solving NP-hard combinatorial problems

3. The ACO metaheuristic

4. ACO for the Traveling Salesman Problem

Page 3: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

3

Outline

1. Biological inspiration of ACO

2. Solving NP-hard combinatorial problems

3. The ACO metaheuristic

4. ACO for the Traveling Salesman Problem

Page 4: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

4

Biological inspiration:

from real to artificial ants

Page 5: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

5

Ant colonies

• Distributed systems of social insects

• Consist of simple individuals

• Colony intelligence >> Individual intelligence

Page 6: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

6

Ant Cooperation

• Stigmergy – indirect communication between individuals (ants)

• Driven by environment modifications

Page 7: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

7

Denebourg’s double bridge experiments

• Studied Argentine ants I. humilis

• Double bridge from ants to food source

Page 8: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

8

Double bridge experiments: equal lengths (1)

Page 9: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

9

Double bridge experiments: equal lengths (2)

• Run for a number of trials

• Ants choose each branch ~ same number of trials

Page 10: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

10

Double bridge experiments: different lengths (2)

Page 11: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

11

Double bridge experiments: different lengths (2)

• The majority of ants follow the short path

Page 12: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

12

Outline

1. Biological inspiration of ACO

2. Solving NP-hard combinatorial problems

3. The ACO metaheuristic

4. ACO for the Traveling Salesman Problem

Page 13: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

13

Solving NP-hard combinatorialproblems

Page 14: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

14

Combinatorial optimization

• Find values of discrete variables

• Optimizing a given objective function

Page 15: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

15

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*

SS ~

Page 16: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

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 = heuristics

Page 17: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

17

Approximate methods

• Constructive algorithms

• Local search

Page 18: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

18

Constructive algorithms

• Add components to solution incrementally

• Example – greedy heuristics:

add solution component with best heuristic estimate

Page 19: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

19

Local search

• Explore neighborhoods of complete solutions

• Improve current solution by local changes– first improvement– best improvement

Page 20: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

20

What is a metaheuristic?

• A set of algorithmic concepts

• Can be used to define heuristic methods

• Applicable to a wide set of problems

Page 21: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

21

Examples of metaheuristics

• Simulated annealing

• Tabu search

• Iterated local search

• Evolutionary computation

• Ant colony optimization

• Particle swarm optimization

• etc.

Page 22: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

22

Outline

1. Biological inspiration of ACO

2. Solving NP-hard combinatorial problems

3. The ACO metaheuristic

4. ACO for the Traveling Salesman Problem

Page 23: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

23

The ACO metaheuristic

Page 24: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

24

ACO metaheuristic

• A colony of artificial ants cooperate in finding good solutions

• Each ant – simple agent

• Ants communicate indirectly using stigmergy

Page 25: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

25

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…

Page 26: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

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: XS

Page 27: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

27

Combinatorial optimization problem mapping (3)

• Set of feasible states:

• We can complete into a solution satisfying Ω(t)

• Non-empty set of optimal solutions:

XX ~

Xx~

SXS ~*

Page 28: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

28

Combinatorial optimization problem mapping (4)

S* X~S

X• X – states

• S – candidate solutions

• – feasible states

• S* – optimal solutions

X~

Page 29: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

29

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)

• GC – construction graph

SsSs~

Page 30: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

30

Combinatorial optimization problem mapping (last )

• Artificial ants build solutions by performing randomized walks on GC(C, L)

Page 31: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

31

Construction graph

• Each component ci or connection lij have associated: heuristic information pheromone trail

Page 32: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

32

Heuristic information

• A priori information about the problem

• Does not depend on the ants

• On components ci – ηi

• On connections lij – ηij

• Meaning: cost of adding a component to the current

solution

Page 33: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

33

Pheromone trail

• Long-term memory about the entire search process

• On components ci – τi

• On connections lij – τij

• Updated by the ants

Page 34: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

34

Artificial ant (1)

• Stochastic constructive procedure

• Builds solutions by moving on GC

• Has finite memory for:– Implementing constraints Ω(t)– Evaluating solutions– Memorizing its path

Page 35: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

35

Artificial ant (2)

• Has a start state x

• Has termination conditions ek

• From state xr moves to a node from the neighborhood – Nk(xr)

• Stops if some ek are satisfied

Page 36: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

36

Artificial ant (3)

• Selects a move with a probabilistic rule depending on: Pheromone trails and heuristic information of

neighbor components and connections Memory Constraints Ω

Page 37: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

37

Artificial ant (4)

• Can update pheromone on visited components (nodes)

• and connections (edges)

• Ants act: Concurrently Independently

Page 38: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

38

The ACO metaheuristic

While not doStop():

ConstructAntSolutions()

UpdatePheromones()

DaemonActions()

Page 39: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

39

ConstructAntSolutions

• A colony of ants build a set of solutions

• Solutions are evaluated using the objective function

Page 40: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

40

UpdatePheromones

• Two opposite mechanisms: Pheromone deposit Pheromone evaporation

Page 41: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

41

UpdatePheromones: pheromone deposit

• Ants increase pheromone values on visited components and/or connections

• Increases probability to select visited components later

Page 42: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

42

UpdatePheromones: pheromone evaporation

• Decrease pheromone trails on all components/connections by a same value

• Forgetting – avoid rapid convergence to suboptimal solutions

Page 43: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

43

DaemonActions

• Optional centralized actions, e.g.: Local optimization Ant elitism (details later)

Page 44: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

44

ACO applications

• Traveling salesman• Quadratic assignment• Graph coloring• Multiple knapsack• Set covering• Maximum clique• Bin packing• …

Page 45: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

45

Outline

1. Biological inspiration of ACO

2. Solving NP-hard combinatorial problems

3. The ACO metaheuristic

4. ACO for the Traveling Salesman Problem

Page 46: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

46

ACO for the Traveling Salesman Problem

Page 47: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

47

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:

Find minimum length Hamiltonian circuit

Page 48: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

48

TSP: construction graph

• Identical to the problem graph

• C = N

• L = A

• states = set of all possible partial tours

Page 49: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

49

TSP: constraints

• All cities have to be visited• Each city – only once• Enforcing – allow ants only to go to new

nodes

Page 50: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

50

TSP: pheromone trails

• Desirability of visiting city j directly after i

Page 51: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

51

TSP: heuristic information

• ηij = 1 / dij

• Used in most ACO for TSP

Page 52: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

52

TSP: solution construction

• Select random start city

• Add unvisited cities iteratively

• Until a complete tour is built

Page 53: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

53

ACO algorithms for TSP

• Ant System

• Elitist Ant System

• Rank-based Ant System

• Ant Colony System

• MAX-MIN Ant System

Page 54: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

54

Ant System: Pheromone initialization

• Pheromone initialization

Τij = m / Cnn,

where: m – number of ants Cnn – path length of nearest-neighbor

algorithm

Page 55: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

55

Ant System: Tour construction

• Ant k is located in city i

• is the neighborhood of city i

• Probability to go to city :

kiNl

ilil

ijijkijp

kiN

kiNj

Page 56: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

56

Tour construction: comprehension

• α = 0 – greedy algorithm

• β = 0 – only pheromone is at work quickly leads to stagnation

kiNl

ilil

ijijkijp

Page 57: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

57

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

Page 58: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

58

Ant System: update pheromone trails – deposit

• Tk – path of ant k• Ck – length of path Tk

• Ants deposit pheromone on visited arcs:

Ljim

k

kijijij

,,1

otherwise

TjiC kkkij

,0

,,/1

Page 59: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

59

Elitist Ant System

• Best-so-far ant deposits pheromone on each iteration:

bestij

m

k

kijijij e

1

otherwise

TjiC bestbestbestij

,0

,,/1

Page 60: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

60

Rank-based Ant System

• Rank all ants

• Each ant deposits amounts of pheromone proportional to its rank

Page 61: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

61

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]

Page 62: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

62

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

Page 63: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

63

Ant Colony System

otherwiseSystemAntlike

qqifj

ililNl ki

,

,maxarg 0

1.Tour Construction

2. Local pheromone update:

τij ← (1 – ξ)τij + ξτ0,

Page 64: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

64

Comparing Ant System variants

Page 65: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

65

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!

Page 66: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

66

Current ACO research activity

• New applications

• Theoretical proofs

Page 68: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

68

Next time…

• Some proofs of ACO convergence

Page 69: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

69

Thank you!

Any questions?

This presentation is available at:http://rain.ifmo.ru/~chivdan/presentations/

Daniel Chivilikhin [mailto: [email protected]]

Page 70: Ant Colony Optimization: an introduction Daniel Chivilikhin 03.04.2013

70

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