You are on page 1of 7

Universidad Técnica Federico Santa María

Departamento de Informática

ACO algorithm
applied to TSP
A practical experience

Benjamín Arenas
Alejandro Pavez
Rodrígo Vidal

Saltar a la primera
página

Contents
n Traveling Salesman Problem
n Ants Colony
n Artificial Ants
u Procedures and models
u Proposal Modification
u Aftereffect and Behavior
u Conclusions

Saltar a la primera
página

1
Traveling Salesman Problem
n The TSP problem
u n citys
u cycle
n Complexity
u NP-Complete
u (n-1)! asymmetrical
u (n-1)!/2 symmetrical

Saltar a la primera
página

Traveling Salesman Problem


n Lineal programming model
min ∑∑ d
i i≠ j
x
i, j i, j

s.t. ∑xi
i, j = 1 ∀j

∑x
j
i, j = 1 ∀i

∑∑ x
i∈S j∉S
i, j ≥ 1 ∀ proper point subsets S , S ≥ 2

1 if the tour passes from i to j


xi , j = 
0 if not
and d i , j is the distance from i to j
Saltar a la primera
página

2
Ants Colony
n Real ants behavior

Saltar a la primera
página

Artificial Ants
procedure ACO()
set_initial_pheromone();
while (the stop’s criterion is not satisfied)
create_ants_colony();
for (any ant)
{move_ant ();}
unil (tour is complete);
end for
update_pheromone();
kill_ants_colony();
end while
end procedure

procedure move_ant()
for (all feasible neighborhood)
calculate_movement’s_probabilities();
end for
selected_city:=selecting_next_movement();
fetch_ant_to_city(selected_city);
end procedure

Saltar a la primera
página

3
Artificial Ants
n Model

p (t ) =
k
[τ (t )] · [η ]
ij
α
ij
β

if j ∈ N ik
ij
∑ l∈N ik
[τ il (t )] · [ηil ]β
α

τ ij (t + 1) = (1 − ρ ) · τ ij (t ) + ρ · ∆τ ijgb (t )

gb 1 / L (t) if edge(i , j ) is used by gb ant


gb
∆τ ij (t ) = 
 0 in other case

Saltar a la primera
página

Artificial Ants
n Proposal Modification
u Movement probabilities initially low. Practically
similar.
u Early exploration and belated exploitation.

Rand ≥ p ijk (t ) ⇒ j ≡ Rand ( N ik )

Saltar a la primera
página

4
Artificial Ants
n Algorithm modified

procedure new_move_ant()
for (all feasible_neighborhood)
calculate_movement’s_probabilities();
end for
selected_city:=selecting_next_movement();
if (RAND ≥ probability(selected_city))
selected_city:=RAND(feasible_neighborhood);
end if
fetch_ant_to_city(selected_city);
end procedure

Saltar a la primera
página

Artificial Ants
n Exected test
u α: [0.5, 1, 1.5, 2, 2.5, 3, 3.5]
u β: 2
u ρ: [0.3, 0.5, 0.7]
u TSP: Ulisses16 y Ulisses22 (Ulisses 51)
u Iterations: 100

Saltar a la primera
página

5
Artificial Ants
n Aftereffect
TSP Current value New value New tour
ulisses16 74.108735958153 74.0964506569666 1-8-4-2-3-16-13-12-6-7-10-9-11-5-15-14
74.0013360991673 1-8-4-2-3-16-12-13-14-6-7-10-9-11-5-15
73.9998263127488 1-8-4-2-3-16-13-12-7-6-10-9-11-5-15-14
73.9876180451750 1-3-2-4-8-15-5-11-9-10-7-6-14-13-12-16
ulisses22 75.6651494713561 75.5431916856301 1-14-13-12-7-6-15-5-11-9-10-19-21-20-16-3-2-17-18-4-22-8
75.4544852957371 1-14-13-12-7-6-15-5-11-9-10-19-21-20-16-3-2-17-4-18-22-8

Saltar a la primera
página

Artificial Ants
n Behavior

Saltar a la primera
página

6
Conclusions
n An open tecnic to other meta heuristics
n The modification utilize in good stuff the colective
onformation
n Future work:
u Paralelization
u Parameter’s control
u 2-Opt operator

Saltar a la primera
página

You might also like