VC TSP
Cmaras de vigilancia
Recubrir todas las aristas desde los vrtices
Heurstica voraz
1. Elegir v de grado mximo. Aadir v a C
Borrar el vrtice v en el grafo G
2. Repetir el paso anterior hasta que no queden vrtices
Heurstica voraz
Heurstica voraz
n+2
...
n+2
...
Algoritmo |C| = 2n+2
Algoritmo |C|=8
ptimo |C*|=5
ptimo
|C*| = n+2
Segunda Heurstica
cs
bs
as
Algoritmo
t (n ) =
as + bs
t(n)+n
C*
n
n n
+ +L =
2 3
j
j= 2
t (n ) + n
log n
n
Segunda Heurstica
Algoritmo
1. Hallar todos los ciclos de longitud n
2. Elegir el de menor peso
10
El n de ciclos es (n-1)!/2
La complejidad es O(n!)
11
http://www.tsp.gatech.edu/index.html
Algoritmos aproximados
- Vecino ms prximo
- Doble intercambio
- Duplicando MST
- Algoritmo de Christofides
http://www.dma.fi.upm.es/gregorio/grafos/enlacesgrafos.html
12
MST(G)
Grafo euleriano H
9
1
2
5
6
3
4
13
Recorrido euleriano
en H
Ciclo
hamiltoniano
Solucin ptima
14
Algoritmo de Christofides
w(C) 2w (C*)
Dem.:
Si T es un rbol generador mnimo, w(T) w(C*)
El recorrido euleriano en H tiene un peso
w(H)=2w(T)
El ciclo C tiene un peso menor que H, luego
w(C) w(H) = 2w(T) 2w(C*)
Los vrtices de G
MST(G)
15
8
7
G* grafo
euleriano
2
5
4
8
16
Algoritmo de Christofides
Algoritmo de Christofides
Emparejamiento de peso
mnimo entre los vrtices
impares de MST(G)
Recorrido
euleriano en G*
6
7
Ciclo hamiltoniano
obtenido por el algoritmo
17
18
Algoritmo de Christofides
w(C)
3
w (C*)
2
3
w (C*)
2
i2
w(C)
Algoritmo de Christofides
bn
b1
.....
C*
i2m
i3
an
a1
M1
M2
i4
b1
2w(M) w(C*)
MST
bn
.....
3
1
w (C*) = w (C*)
2
2
w(C)
Algoritmo de Christofides
an+1
a1
19
an
an+1
20
3
w (C*)
2
bn
b1
.....
a1
an+1
an
w(C)= 3n
bn
b1
a1
C* ptimo
an
an+1
w(C*) = 2n +1
21