Está en la página 1de 7

PROBLEMA DEL AGENTE

VIAJERO(TSP)
El problema del agente viajero o en forma corta
TSP(Traveling Salesman Problem) es facil de anunciar:
dado un numero finito de ciudades y el costo de viajar
entre cada par de ellas, el problema consiste en
encontrar la manera mas economica de visitar todas
las ciudades y volver al punto de partida, visitando
cada ciudad una sola vez(a excepcion de la primera).
Este problema se remonta a los aos 20 del siglo
pasado.
Aun no se conoce una solucion optima para un
numero alto de ciudades.

Programacin Dinmica
Ejemplo:
Se tiene que organizar un programa de
visitas a 6 ciudades partiendo de la ciudad
0, no se deben visitar las ciudades 1, 2, 3,
4 y 5 ms de una vez. Al final del recorrido
se debe regresar a la ciudad 0.
Los costos de ciudad a ciudad estan
dados en la tabla de costos. Determine el
programa de minimo costo.

Programacin Dinmica
0
1
2

10

15

20

15

16

14

12

3
4
Ri= visitar ciudades i, i=0,1,2,3,4,5
1. Elegimos el costo menor del nodo
0, en este caso la posee la ciudad
2, por lo que es la primera ciudad
incluida en la ruta i.
i={0,2,0}
Ri={1,3,4,5}
K=C02+C20=6+6=12

Programacin Dinmica
0
1

10

15

20

15

16

14

12

2
3
4

2. Ahora elegimos la cuidad mas cerca a la ruta


anterior, con la tabla nos damos cuenta que la
distancia mnima la posee la cuidad 2con una
distancia de 5 kilmetros hacia la cuidad 1 , y
como solo hay dos ciudades ms solo la
agregamos a la ruta.

i={0,1,2,0}
Ri={3,4,5}
Calculamos distancia marginal
C02=C01+C12-C02=10+5-6=9
K=12+9=21

Programacin Dinmica
0
1

10

15

20

15

16

14

12

2
3
4

3. Ahora elegimos la cuidad mas cerca a la ruta anterior,


con la tabla nos damos cuenta que la distancia mnima la
posee la cuidad 4con una distancia de 7 kilmetros hacia la
cuidad 2 . Necesitamos saber entre que ciudad se insertar
la ciudad 4.
Calculamos la distancia marginal
C01 = C04+C41-C01=7+15-10=12
C12 = C14+C42-C12=15+7-5=17
C20 = C04+C42-C20=7+7-6=8
K=21+8=29
i={0,1,2,4,0}
Ri={3,5}

Programacin Dinmica
0
1

10

15

20

15

16

14

12

2
3
4

4. Ahora elegimos la cuidad mas cerca a la ruta anterior, con


la tabla nos damos cuenta que la distancia mnima la posee la
cuidad 3con una distancia de 4 kilmetros hacia la cuidad 4 .
Necesitamos saber entre que ciudad de insertar la ciudad 3.

Calculamos distancia marginal


C01 = C03+C31-C01=8+20-10=18
C12 = C23+C31-C12=14+20-5=29
C24 = C23+C34-C24=14+4-7=11
C40 = C03+C34-C40=8+4-7=5
K=29+5=34
i={0,1,2,4,3,0}
Ri={5}

Programacin Dinmica
0
1

10

15

20

15

16

14

12

2
3
4

5. Finalmente la ultima ciudad que se agregar a la ruta


es la ciudad 5. Necesitamos saber entre que ciudad se
insertar la ciudad 5.
Calculamos distancia marginal
C01 = C05+C51-C01=15+16-10=21
C12 = C52+C15-C12=8+16-5=19
C24 = C25+C54-C24=8+6-7=7
C43 = C35+C54-C43=12+6-4=14
C30 = C05+C53-C30=15+12-8=19
K=34+7=41
i={0,1,2,5,4,3,0}
Ri={}

También podría gustarte