0% encontró este documento útil (0 votos)
172 vistas35 páginas

Problema Del Agente Viajero (TSP) : Juan Sebastian Chacón Correa

Este documento describe el problema del agente viajero (TSP por sus siglas en inglés), el cual consiste en encontrar la ruta más corta para visitar un número de ciudades y regresar al punto de partida. Explica que el TSP involucra minimizar la distancia total recorrida al visitar cada ciudad exactamente una vez. También presenta algunas aplicaciones del TSP y su formulación matemática, incluyendo restricciones para evitar subtours. Finalmente, menciona algunos algoritmos heurísticos utilizados para resolver problemas de TSP.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
172 vistas35 páginas

Problema Del Agente Viajero (TSP) : Juan Sebastian Chacón Correa

Este documento describe el problema del agente viajero (TSP por sus siglas en inglés), el cual consiste en encontrar la ruta más corta para visitar un número de ciudades y regresar al punto de partida. Explica que el TSP involucra minimizar la distancia total recorrida al visitar cada ciudad exactamente una vez. También presenta algunas aplicaciones del TSP y su formulación matemática, incluyendo restricciones para evitar subtours. Finalmente, menciona algunos algoritmos heurísticos utilizados para resolver problemas de TSP.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 35

Problema del agente viajero (TSP)

Juan Sebastian Chacón Correa


Problema del agente viajero
El Traveling Salesman Problem TSP (problema del agente viajero por su nombre en
inglés): Puede describirse en términos de un agente de ventas que debe visitar cierta
cantidad de ciudades en un solo viaje.
Problema del agente viajero
El problema de TSP trata de hallar el recorrido más corto (cerrado) en una situación de n
ciudades, donde cada ciudad es visitada exactamente una vez antes de regresar al punto de
partida. El modelo TSP asociado se define por medio de dos datos:

1. El número de ciudades, n.
2. Las distancias dij entre las ciudades i y j (dij= ∞ si las ciudades i y j no están
comunicadas).

De manera que se minimice la distancia total recorrida.


Aplicaciones del TSP
• Logística de transporte.
• Bus escolar.
• Atención de llamadas de emergencia.
• Servicio de correo expreso.
• En robótica.
• Programación de producción.
• Recolección de órdenes en una bodega.
Conceptualización del TSP
El TSP se encuentra enmarcado dentro de la Teoría de Redes en donde:

Representa a un nodo, que corresponde a un cliente que debe ser visitado

Representa a un arco, que corresponde a la decisión de establecer si desde una


ciudad en particular se va a otra ciudad o no.

Un modelo TSP es simétrico si dij = dji para todas las i y j. De lo contrario, el modelo TSP
es asimétrico.
Complejidad computacional
En un problema de TSP, si solo hay dos ciudades el problema es trivial, ya que solo un tour
es posible. Para el caso de 3 ciudades es también trivial.

3
2

¿Cuántas posibles soluciones tiene el problema con cuatro nodos?


Complejidad computacional
• Si todas las conexiones están presentes entonces hay (n-1)! tours diferentes para un
TSP asimétrico con n ciudades.
• Si se toma cualquier ciudad como la primera, entonces hay n-1 opciones para elegir la
segunda ciudad visitada, n-2 para la tercera, etc.
• Para el caso simétrico tenemos solo la mitad de las distintas soluciones (n-1)!/2 para un
TSP de n ciudades
Formulación Matemática del TSP
Formulación del problema: Establecer la secuencia en que se deben visitar n ciudades de
tal forma que la distancia recorrida sea la mínima.
Variables:
Xij: Variable de decisión binaria que establece si la ciudad j es visitada después de la
ciudad i.
Parámetro:
dij: Costo en que se incurre si se decide visitar la ciudad j después de estar en la ciudad i.
Función objeitvo:
Minimizar la distancia total recorrida.
Restricciones:
Todas las ciudades deben ser visitadas exactamente una sola vez.
Formulación Matemática del TSP
 

Sujeto a:
Rompimiento de subtours
Veamos la siguiente situación:
Va r 1 2 3 4 5 6 7 8 9 Flujo
1 0 0 0 0 0 0 0 1 1
2 0 1 0 0 0 0 0 0 1
3 0 0 1 0 0 0 0 0 1
4 0 1 0 0 0 0 0 0 1
5 0 0 0 0 1 0 0 0 1
6 0 0 0 0 1 0 0 0 1
7 0 0 0 0 0 0 1 0 1
8 0 0 0 0 0 0 1 0 1
9 1 0 0 0 0 0 0 0 1
Flujo 1 1 1 1 1 1 1 1 1

FO 254,4
Rompimiento de subtours

¿Cómo se hace para restringir los


subtours en un modelo matemático?
Rompiendo subtours: 2n subtour
constraints
 
Para el subtour anterior, se adicional la siguiente restricción:

Dado que aparecen nuevas restricciones, para un problema grande de TSP, se requieren
adicionar muchas restricciones de quiebre de subtour. En el peor de los casos, se requieren
2n restricciones de quiebre de subtour.
6
Minimizar d
i 1, i  j
ij X ij

sujeto a :
n

X
i 1
ij  1; j  1,2,....n
n

X
j1
ij  1; i  1,2,....n

X
i, jS
ij  S  1; S  n; 2  S  n  2

X ij   0,1 ; i, j  1,2,..., n; i  j
Rompiendo subtours : MTZ model*
n
Minimizar d
i 1, i  j
ij X ij

sujeto a :
n

X
i 1
ij  1; j  1,2,....n
n

X
j 1
ij  1; i  1,2,....n

ui  1  u j  n(1 – xij ), para i  2, , n, i  j, j  2, , n,


X ij  0,1 ; i, j  1,2,..., n; i  j, ui  0  i.

Pocas restricciones, pero difícil de resolver. La relajación del problema no es la adecuada.


Esta bien para pequeños problemas, pero no es adecuada para grandes (debido al tiempo
computacional).
* C. E. Miller, A. W. Tucker, and R. A. Zemlin, “Integer programming formulations and traveling salesman problems,” J. ACM, 7 (1960),
pp. 326–329.
Ejemplo
El programa de producción diaria en la compañía Rainbow incluye lotes de pintura blanca
(W), amarilla (Y), roja (R), y negra (B). Las instalaciones de producción se deben limpiar
entre uno y otro lotes. La tabla 11.1 resume en minutos los tiempos de limpieza. El
objetivo es determinar la secuencia de los colores que minimice el tiempo de limpieza
total.
Ejemplo
En el modelo TSP, cada color representa una “ciudad”, y el tiempo de limpieza entre dos
colores sucesivos representa “distancia”. Sea M una penalización suficientemente grande y
defina:
 
0 de lo contrario
Algoritmos de solución
Heurísticas para el TSP
Como la complejidad computacional para resolver problemas de esta magnitud es muy
grande, se aplican técnicas heurísticas para resolverlos:
• Intercambio de arcos 2 – OPT, 3 – OPT.
• Algoritmo de inserción del vecino más cercano.
• Algoritmo de inserción del cliente más lejano.
• Algoritmo de inserción del cliente más cercano.
Aplicación de la heurística del intercambio
de arcos
Considere el caso de un agente vendedor de una empresa que desde su oficina debe visitar
5 clientes en la jornada de la mañana y regresar para reportar los pedidos. La información
acerca de las distancias que debe recorrer entre todas las localidades del sistema se
muestran el tabla siguiente:

Cliente
Depósito 1 2 3 4 5
Depósito - 40 55 45 60 65
1 - 60 55 60 20
2 - 59 30 90
3 - 50 70
4 - 70
5 -
Modelo de red para el ejemplo

1 2

D 5

3 4
Solución mediante 2 – OPT
Una solución factible
60
1 2
90
40
Distancia recorrida:
A 5
345
45 70
3 4
1 2
50
90
40
Primer paso: A 5
Romper la red en
dos puntos 45
3 4
50
Solución mediante 2 – OPT
1 2
Segundo paso: Invierta el 40
90
sentido de todos los arcos
desconectados y añada A 5
dos arcos para reconectar
45
3 4
50

1 2
90
40 50
La nueva solución es:
A 5
30 305
45
3 4
50
Secuenciación de clientes en cada ruta
Inserción del más lejano: Como su nombre lo sugiere, una solución TSP puede hallarse
comenzando con una ciudad (nodo) y luego conectándola con la ciudad no conectada más
cercana (los empates se rompen arbitrariamente). La ciudad que se acaba de agregar se
conecta entonces con su ciudad no conectada más cercana. El proceso continúa hasta que
se forma un recorrido.
Secuenciación de clientes en cada ruta
Inserción del vecino más cercano: este procedimiento adiciona al cliente más cercano
para extender el viaje. En cada paso, la ruta se construye por la adición del cliente mas
cercano al último punto visitado por el vehículo hasta que todos los clientes hayan sido
visitados.
Técnicas de mejoramiento
Otras técnicas de mejoramiento: 3-OPT y r-OPT*. En el primero se rompe la ruta en tres
arcos diferentes y en el último se puede hacer en un número variable, r, de arcos, de
acuerdo con el progreso del algoritmo.

*Lin, S. y B. W. Kernigham, “An effective heuristic algorithm for the traveling salesman problem”
Metaheurísticas
Metaheurísticas
Las técnicas vistas anteriormente tienen la desventaja de que se puede quedar en un óptimo
local. Por lo tanto, las metaheurísticas son diseñadas para poder solucionar esa desventaja.
Algunas metaheurísticas utilizadas son:
• Búsqueda tabú.
• Recocido simulado.
• Algoritmo genético.
Algoritmo de búsqueda tabú (TS)
Cuando la búsqueda se queda atrapada en un óptimo local, la búsqueda tabú (TS)
selecciona el siguiente movimiento de búsqueda (posiblemente inferior) de una manera
que prohíbe temporalmente, volver a examinar las soluciones anteriores. El instrumento
principal para alcanzar este resultado es la lista tabú que “recuerda” los movimientos de la
búsqueda anterior y los deshabilita durante un periodo de tenencia especificada. Cuando
un movimiento tabú completa su tenencia, se elimina de la lista tabú y se hace disponible
para futuros movimientos.
Algoritmo de búsqueda tabú (TS)
 
Paso 0. Seleccione una solución de inicio . Inicie la lista tabú , y seleccione un esquema
para especificar el tamaño de la lista tabú. Establezca k = 0.
Paso 1. Determine la vecindad factible N() que excluya miembros (inferiores) de la
lista tabú .
Paso 2. Seleccione el siguiente movimiento a partir de N() (o de , si proporciona una mejor
solución), y actualice la lista tabú .
Paso 3. Si se llega a una condición de terminación, deténgase. Si no, establezca k = k+1 y
vaya al paso 1.

https://www.youtube.com/watch?v=NGo9P33aEV8
Ejemplo
Recocido simulado
 
El recocido simulado (RS) escapa del atrapamiento en un óptimo local utilizando una
condición de probabilidad que acepta o rechaza un movimiento inferior (siempre se acepta un
mejor movimiento).
Paso 0. Aplique un heurístico para hallar una solución factible inicial a problema.
Paso 1. Programe Tmin, Tmax, y coeficiente de enfriamiento r (entre 0 y 1). Haga k = 0, ,
Paso k. Si , termine el proceso. De lo contrario, realice un proceso heurístico a la solución del
paso k-1. Si el costo de la nueva solución es menor a la solución actual, actualice la solución
actual = . De lo contrario, genere un número aleatorio R entre 0 y 1 y verifique que si:

Actualice la solución actual = . De lo contrario, no actualice. Haga r* , k = k+1


Ejemplo
Algoritmo genético
El algoritmo genético (AG) imita el proceso de evolución biológica de “sobrevivencia
del más apto”. Cada solución factible de un problema se considera como un cromosoma
codificado por un conjunto de genes.

Un conjunto de N soluciones factibles se conoce como población con N cromosomas. La


aptitud de un cromosoma se mide en términos de una función objetivo apropiada. Un
cromosoma más apto da un mejor valor a la función objetivo.

La idea general del AG es seleccionar dos padres a partir de una población. Los genes de los
dos padres se cruzan entonces y (posiblemente) mutan para producir dos hijos. La
descendencia reemplaza a los dos cromosomas más débiles (menos aptos) en la población, y el
proceso de seleccionar nuevos padres se repite.
Algoritmo genético en TSP
1. Inicializar la población.
2. Evaluar cada individuo de la población.
3. Repetir hasta Condición de Terminación:
1. Seleccionar padres.
2. Cruzar pares de padres.
3. Mutar los hijos resultantes.
4. Evaluar los nuevos individuos
5. Seleccionar los individuos para formar la siguiente generación.
4. Devolver el mejor individuo de la última generación.

https://es.coursera.org/lecture/resolucion-busqueda/algoritmo-genetico-aplicado-a-tsp-ZH
A0h

También podría gustarte