Ant colony optimization

19
Ant Colony Optimization By: Sachin Agarwalla Regd. No-0911012065 C.S.E(A) 1 Under Guidance Of: Mr. Swadhin Ku. Barisal B.E., M.Tech., CSE (IIT, Kharagpur) Assistant Professor I.T.E.R

description

this slide is about the algorithm which is design using ant colony optimization

Transcript of Ant colony optimization

Page 1: Ant colony optimization

Ant Colony Optimization

By:Sachin AgarwallaRegd. No-0911012065C.S.E(A)

1

Under Guidance Of:Mr. Swadhin Ku. BarisalB.E., M.Tech., CSE (IIT, Kharagpur)Assistant ProfessorI.T.E.R

Page 2: Ant colony optimization

Optimization

• Given a graph with two specified vertices A and B, find a shortest path from A to B.

2

General optimization problem:

given f:X ,ℝfind xεX such that f(x) is minimum

shortest path problem, polynomial

Page 3: Ant colony optimization

Ant colony

3

food

nest

Page 4: Ant colony optimization

Ant Colony Optimization (ACO):a heuristic optimization method for shortest path

and other optimization problems which borrows ideas from biological ants

4

Page 5: Ant colony optimization

Ant Colony Optimization

Outline

• History: ACO for shortest paths• ACO for shortest paths I: directed• ACO for shortest paths II: general• Advantages and Disadvantages• Summary• References

5

Page 6: Ant colony optimization

History: ACO for shortest paths …

6

Page 7: Ant colony optimization

History: ACO for shortest paths

Goss et al. 1989, Deneuborg et al. 1990experiments with Argentine ants:• ants go from the nest to the food source and

backwards • after a while, the ants prefer the shortest path

from the nest to the food source

• stigmercy: • the ants communicate indirectly laying

pheromone trails and following trails with higher pheromone

• length gradient pheromone will accumulate on the shortest path

7

nest

food

Page 8: Ant colony optimization

ACO for shortest paths I:directed

A first ACO for a simple shortest path problem:

directed acyclic graph (V={0,...,N}, E={ij}), ant hill: 0, food source: N

8

for all i: pi:=0; /*ant position init*/

si:=hungry; /*ant state init*/

for all i j: τij:=const; /*pheromone init*/

repeat for all i: ant_step(i); /*ant step*/

for all i j: τij := (1-ρ) τij ; /*evaporate pheromone*/

Page 9: Ant colony optimization

ACO for shortest paths I:directed

9

ant_step(i):

if pi=N: si:=satisfied; if pi=0: si:=hungry; /*collect food/deliver food*/

if si=hungry: choose j with pij with probability τpi j/Σpij’τpij’ /*choose next step*/

update Δτpi j := ε; pi:=j; /*update pheromone*/

if si=satisfied: choose j with jpi with probability τjpi/Σj’piτj’pi

update Δτjpi:= ε; pj:=i; /* reversed directions*/

Page 10: Ant colony optimization

ACO for shortest paths II:general

...a more complex undirected cyclic graph ...

10

WC4 WC5 Barbara Marc

449a Anja Dagmar Espresso

322 339 WC3 Friedhelm

Fachschaft WC2 Rechner Astrid

Zeitschriften WC Bibo RZ-Sekretariat

ToilettenCafete RZGetraenke-automat

Mensa

Page 11: Ant colony optimization

ACO for shortest paths II:general

11449a

449a

... Marc was not so happy with the result ...

Page 12: Ant colony optimization

ACO for shortest paths II:general

12

for all i: pi:=0; /*ant position init*/

si:=( ); /*ant brain is empty*/

for all i-j: τi-j:=const; /*pheromone init*/

repeat for all i: construct_solution(i);

for all i: global_pheromone_update(i);

for all i-j: τi-j := (1-ρ) τi-j; /*evaporate*/

construct_solution(i):

while pi≠N /*no solution*/

choose j with pi-j with probability τpi-j / Σpi-j’τpi-j’;

pi:=j;

append j to si; /*remember the trail*/

global_pheromone_update(i):

for all j-j’ in si: Δτj-j’:= 1/length of the path stored in si;

minibrain

update according

to the quality

minibrain

si:=hungry

repeat for all i: ant_step(i);

Page 13: Ant colony optimization

ACO for shortest paths II:general

13

WC4 WC5 Barbara Marc

449a Anja Dagmar Espresso

322 339 WC3 Friedhelm

Fachschaft WC2 Rechner Astrid

Zeitschriften WC Bibo RZ-Sekretariat

ToilettenCafete RZGetraenkeMensa

Page 14: Ant colony optimization

14

ACO for shortest paths

init pheromone ti-j ;

repeat for all ants i: construct_solution(i);

for all ants i: global_pheromone_update(i);

for all edges: evaporate pheromone;

construct_solution(i):

init ant;

while not yet a solution:

expand the solution by one edge probabilistically according to the pheromone;

global_pheromone_update(i):

for all edges in the solution:

increase the pheromone according to the quality;

Page 15: Ant colony optimization

15

Advantages and Disadvantages

Advantages :

1) Positive feedback accounts for rapid discovery of good solution.

2) Efficient for Travels salesman problem and other similar problem.

3) Can be use in dynamic application.

Disadvantages :

1) Theoretical analysis is difficult.

2) Probability distribution changes by iteration.

3) Time to convergence is uncertian.

Page 16: Ant colony optimization

16

Summary • Artificial Intelligence technique used to develop a new method to solve problems

unsolvable since last many years

• ACO is a recently proposed metaheuristic approach for solving hard combinatorial optimization problems.

• Artificial ants implement a randomized construction heuristic which makes probabilistic decisions

• ACO shows great performance with the “ill-structured” problems like network routing

Page 17: Ant colony optimization

17

References • M. Dorigo, M. Birattari, T. Stützle, “Ant Colony Optimization – Artificial Ants as a

Computational Intelligence Technique”, IEEE Computational Intelligence Magazine, 2006

• C. Blum, Theoretical and Practical Aspects of Ant Colony Optimization, Dissertations in Artificial Intelligence, Vol. 282, Akademische Verlagsgesellschaft Aka GmbH, Berlin, Germany, 2004.

• Wikipedia.com

Page 18: Ant colony optimization

18

Questions ?

Page 19: Ant colony optimization

19

Thank You !