fbpx
Wikipedia

Problema del viajante

El problema del vendedor viajero (problema del vendedor ambulante, problema del agente viajero o problema del viajante, TSP por sus siglas en inglés (Travelling Salesman Problem)) responde a la siguiente pregunta: dada una lista de ciudades y las distancias entre cada par de ellas, ¿cuál es la ruta más corta posible que visita cada ciudad exactamente una vez y al finalizar regresa a la ciudad origen? Este es un problema NP-Hard dentro en la optimización combinatoria, muy importante en investigación operativa y en ciencias de la computación.

El problema fue formulado por primera vez en 1930 y es uno de los problemas de optimización más estudiados. Es usado como prueba para muchos métodos de optimización. Aunque el problema es computacionalmente complejo, se conoce gran cantidad de heurísticas y métodos exactos, así que es posible resolver planteamientos concretos del problema desde cien hasta miles de ciudades.

El TSP tiene diversas aplicaciones aún en su formulación más simple, tales como: la planificación, la logística y la fabricación de circuitos electrónicos. Un poco modificado, aparece como subproblema en muchos campos como la secuenciación de ADN. En esta aplicación, el concepto de “ciudad” representa, por ejemplo: clientes, puntos de soldadura o fragmentos de ADN y el concepto de “distancia” representa el tiempo de viaje o costo, o una medida de similitud entre los fragmentos de ADN. En muchas aplicaciones, restricciones adicionales como el límite de recurso o las ventanas de tiempo hacen el problema considerablemente difícil. El TSP es un caso especial de los Problemas del Comprador Viajante (travelling purchaser problem).

En la teoría de la complejidad computacional, la versión de decisión del TSP (donde, dada una longitud “L”, el objetivo es decidir si el grafo tiene un camino menor o igual que L) pertenece a la clase de los problemas NP-completos. Por tanto, es probable que en el caso peor el tiempo de ejecución para cualquier algoritmo que resuelva el TSP aumente de forma exponencial con respecto al número de ciudades.

Historia

El origen de los problemas del viajante no está claro. Una guía para viajantes de 1832 menciona el problema e incluye ejemplos de viajes a través de Alemania y Suiza, pero no contiene un tratamiento matemático del mismo.[1]

 
William Rowan Hamilton

El problema del viajante fue definido en los años 1800s por el matemático irlandés W. R. Hamilton y por el matemático británico Thomas Kirkman. El Juego Icosian de Hamilton fue un puzle recreativo basado en encontrar un ciclo de Hamilton.[2]​ Todo parece indicar que la forma general del TSP fue estudiada, por primera vez por matemáticos en Viena y Harvard, durante los años 1930s. Destacándose Karl Menger, quien definió los problemas, considerando el obvio algoritmo de fuerza bruta, y observando la no optimalidad de la heurística de vecinos más cercanos:

Denotamos por “Problema del Mensajero” (dado que en la práctica esta pregunta puede resolverse por cada cartero, aunque puede ser resuelta por varios viajeros) la pregunta es encontrar, para un conjunto finito de puntos de los cuales se conocen las distancias entre cada par, el camino más corto entre estos puntos. Por supuesto, el problema es resuelto por un conjunto finito de intentos. La regla que se debe seguir es que desde el punto inicial se va al punto más cercano a este, de ahí a su más cercano y así sucesivamente, en general este algoritmo no retorna la ruta más corta.[3]

Hassler Whitney de la Universidad de Princeton introdujo el nombre “travelling salesman problem” poco después.[4]

Durante los años 1950 a 1960, el problema fue incrementando su popularidad entre el círculo de científicos de Europa y Estados Unidos. Una notable contribución fue la de George Dantzig, Delbert Ray Fulkerson y Selmer M. Johnson de la Corporación RAND en Santa Mónica, quienes expresaron el problema como Programación Lineal en Enteros y desarrollaron para solucionarlo el método de Planos Cortantes. Con este nuevo método, resolvieron una instancia con 49 ciudades, óptimamente, mediante la construcción de un recorrido y probando que no había un recorrido que pudiera ser más corto. En las siguientes décadas, el problema fue estudiado por muchos investigadores, matemáticos, científicos de la computación, químicos, físicos, etc.

Richard M. Karp mostró en 1972 que el Problema del Ciclo de Hamilton era un problema NP-completo, lo cual implica que el TSP sea un problema NP-duro. Esto tiene su explicación matemática por la evidente dificultad computacional para encontrar recorridos óptimos.

Gran progreso tuvo a finales de los 70s y principios de los 80s, donde Grötschel, Padberg, Rinaldi y otros, manejaron soluciones exactas para instancias con 2392 ciudades, usando Planos Cortantes y Ramificación y Acotación.

En los 90s, Applegate, Bixby, Chvátal, y Cook desarrollaron el programa Concorde, el cual es usado en muchos de los registros de soluciones recientes. Gerhard Reinelt publicó el TSPLIB en 1991, una colección de instancias de pruebas de dificultad variable, la cual es usada por muchos grupos investigativos para comparar resultados. En 2006, Cook y otros, obtuvieron un recorrido óptimo para 85,900 ciudades dado por un problema de diseño de microchip, actualmente TSPLIB es la instancia más larga resuelta. Para otras muchas instancias con millones de ciudades, la solución puede ser encontrada garantizando que la solución contiene un 2-3% del recorrido óptimo.[5]

Descripción

Caso práctico

En el problema se presentan N! rutas posibles, aunque se puede simplificar ya que dada una ruta nos da igual el punto de partida y esto reduce el número de rutas a examinar en un factor N quedando (N-1)!. Como no importa la dirección en que se desplace el viajante, el número de rutas a examinar se reduce nuevamente en un factor 2. Por lo tanto, hay que considerar (N-1)!/2 rutas posibles.

En la práctica, para un problema del viajante con 5 ciudades hay (5-1)!/2=12 rutas diferentes y no necesitamos un ordenador para encontrar la mejor ruta, pero apenas aumentamos el número de ciudades las posibilidades crece factorialmente:

  • Para 10 ciudades hay (10-1)!/2=181.440 rutas diferentes
  • Para 30 ciudades hay más de 4·10^30 rutas posibles. Un ordenador que calcule un millón de rutas por segundo necesitaría 10^17 años para resolverlo. Dicho de otra forma, si se hubiera comenzado a calcular al comienzo de la creación del universo (hace unos 13.400 millones de años) todavía no se habría terminado.

Puede comprobarse que por cada ciudad nueva que incorporemos, el número de rutas se multiplica por el factor N y crece factorialmente. Por ello el problema pertenece a la clase de problemas NP-completos.

Como un problema de grafos

 
TSP simétrico con 4 ciudades

El TSP puede ser modelado como un grafo ponderado no dirigido, de manera que las ciudades sean los vértices del grafo, los caminos son las aristas y las distancias de los caminos son los pesos de las aristas. Esto es un problema de minimización que comienza y termina en un vértice específico y se visita el resto de los vértices exactamente una vez. Con frecuencia, el modelo es un grafo completo (cada par de vértices es conectado por una arista). Si no existe camino entre un par de ciudades, se añade arbitrariamente una arista larga para completar el grafo sin afectar el recorrido óptimo.

Asimétrico y simétrico

En el ‘’’TSP simétrico’’’, la distancia entre un par de ciudades es la misma en cada dirección opuesta, formando un grafo no dirigido. Este problema reduce a la mitad el número de soluciones posibles. En el ‘’’TSP asimétrico’’’, pueden no existir caminos en ambas direcciones o las distancias pueden ser diferentes, formando un grafo dirigido. Los accidentes de tráfico, las calles de un solo sentido y las tarifas aéreas para ciudades con diferentes costos de partida y arribo, son ejemplos de cómo esta simetría puede ser quebrada.

Problemas relacionados

  • Otro problema relacionado es el Problema del viajante con cuello de botella (bottleneck TSP): Encontrar un ciclo de Hamilton en un grafo ponderado con el mínimo peso de las aristas más pesadas. El problema es de una considerable importancia en la práctica, en las áreas de la transportación y la logística. Un ejemplo clásico es en la fabricación de circuitos impresos: planificando una ruta de la máquina perforadora para perforar los huecos en un PCB. Otras son, las aplicaciones de perforado o maquinado en la robótica: las “ciudades” son los huecos de diferentes tamaños a perforar y el “costo de viaje” incluye el tiempo para reequipar el robot (problema del secuenciado del trabajo de una máquina simple).[6]
  • La generalización del TSP trata con “estados” que tienen (una o más) “ciudades” y el viajante tiene que visitar exactamente una ciudad de cada “estado”. También se conoce como el Problema del Político Viajero. Como una aplicación se considera, el perforado en la fabricación de semiconductores, vea e.g., Patente USPTO n.º 7054798. Sorprendentemente, Behzad y Modarres demostraron que el problema generalizado del viajante puede ser transformado en el problema del viajante estándar con el mismo número de ciudades, pero modificando la Matriz de distancias
  • El problema de ordenamiento secuencial trata con el problema de visitar un conjunto de ciudades donde se tiene en cuenta las relaciones de precedencias entre las ciudades.
  • El problema del viajante comprador trata con un comprador que está cargado con un conjunto de productos. Él puede comprar estos productos en varias ciudades, pero tienen diferentes precios y no todas las ciudades ofrecen los mismos productos. El objetivo es encontrar una ruta entre un subconjunto de ciudades, los cuales minimicen el costo total (costo de viaje + costo de la compra) y habilite la compra de todos los productos requeridos.

Formulación de la programación lineal en enteros

El TSP puede ser formulado por la programación lineal en enteros.[7][8][9]​ Sea   igual 1, si existe el camino de ir de la i a la ciudad j, y 0 en otro caso, para el conjunto de ciudades 0,..., n. Sean   para i = 1,..., n variables artificiales y sea   la distancia desde la ciudad i a la ciudad j. Entonces el modelo de programación lineal en enteros puede ser escrito como:

 

El primer conjunto de igualdades asegura que cada ciudad 0,..., n de salida llegue exactamente a una ciudad, y el segundo conjunto de igualdades aseguran que desde cada ciudad 1,..., n se salga exactamente hacia una ciudad (ambas restricciones también implican que exista exactamente una salida desde la ciudad 0.) La última restricción obliga a que un solo camino cubra todas las ciudades y no dos o más caminos disjuntos cubran conjuntamente todas las ciudades. Para probar esto se muestra en (1) que toda solución factible contiene solamente una secuencia cerrada de ciudades, y en (2) que para cada uno de los recorridos que cubren todas las ciudades, hay valores para todas las variables   que satisfacen las restricciones.

Para probar que cada solución factible contiene solamente una secuencia cerrada de ciudades, es suficiente mostrar que cada sub-ruta en una solución factible pasa a través de la ciudad 0 (note que las igualdades aseguran que solamente puede haber un recorrido de ese tipo). Por tanto, si sumamos todas las desigualdades correspondiente a   para cada sub-ruta de k pasos que no pasan a través de la ciudad 0, obtenemos   lo cual es una contradicción.

Ahora, mostramos que para cada recorrido que cubre todas las ciudades, hay valores de las variables   que satisfacen las restricciones.

Sin pérdida de generalidad, se define el recorrido con origen y fin en la ciudad 0. Escoger   si la ciudad i es visitada en el paso t (i, t = 1, 2,..., n). Entonces   dado   no puede ser mayor que n y   no puede ser menor que 1; por lo tanto las restricciones se satisfacen siempre que   Para    se satisfacen las restricciones.

Calculando una solución

Las líneas tradicionales para atacar un problema NP-duro son las siguientes:

  • Formular algoritmos para encontrar soluciones exactas (estos trabajan más rápidos en problemas con dimensiones pequeñas).
  • Formular algoritmos heurísticos o “subóptimos” (por ejemplo: algoritmos que den aparentemente o probablemente buenas soluciones, pero no devuelven el óptimo).
  • Encontrar los casos especiales para el problema (“subproblemas”) para los cuales heurísticas mejores o algoritmos exactos son posibles.

Complejidad Computacional

El problema es NP-duro, y la versión del Problema de decisión (“dado el costo y un número x, decidir cuál es la ruta de viaje más barata que x”) es NP-completo. El problema del viajante con cuello de botella es también NP-duro. El problema sigue siendo NP-duro aún para los casos donde las ciudades están en el plano con distancias Euclidianas, al igual que en otros casos restrictivos. Eliminando la condición de visitar cada ciudad exactamente una vez no se elimina la condición de problema NP-duro, ya que se ve fácilmente que en el caso planal hay un recorrido óptimo que visita cada ciudad una sola vez (de otra manera, por desigualdades triangulares, un atajo que se salta una visita repetida no incrementa la longitud del camino).

Complejidad de una aproximación

En el caso general, encontrar el camino más corto del viajante es NP-completo. Si la medida de distancia es una métrica y es simétrica, el problema se convierte en APX-completo[10]​ y el Algoritmo de Christofides lo aproximan a 1.5.[11]

Si las distancias son restringidas a 1 y 2 (pero aun es una métrica) la proporción aproximada es de 8/7.[12]​ En el caso que sea asimétrico, es conocido solamente un rendimiento logarítmico, el mejor algoritmo actual logra una proporción de 0.814 log n;[13]​ esta es una pregunta abierta, si existe un factor constante de aproximación.

El correspondiente problema de aproximación, de encontrar el recorrido más largo del viajante es aproximable a 63/38.[14]​ Si la función de distancia es simétrica, el camino más largo puede aproximarse a 4/3 por una algoritmo determinista[15]​ y a   por un algoritmo aleatorio.[16]

Algoritmos Exactos

La solución más directa puede ser, intentar todas las permutaciones (combinaciones ordenadas) y ver cuál de estas es la menor (usando una Búsqueda de fuerza bruta). El tiempo de ejecución es un factor polinómico de orden  , el Factorial del número de ciudades, esta solución es impracticable para dado solamente 20 ciudades. Una de las mejores aplicaciones de la Programación dinámica es el algoritmo Held–Karp que resuelve el problema en  .[17]

 

La mejora de estos límites de tiempos es difícil. Por ejemplo, no ha sido determinado si existe un algoritmo para el TSP que corra en un tiempo de orden  [18]

Otras aproximaciones incluyen:

 
  • Algoritmos de mejoras progresivas (iterativas) los cuales utilizan técnicas de Programación lineal. Trabajan bien para más de 200 ciudades.

Una solución exacta para 15,112 pueblos alemanes desde TSPLIB fue encontrada en 2001 usando el método de planos cortantes propuesto por George Dantzig, Ray Fulkerson, y Selmer M. Johnson en 1954, basados en la programación lineal. Los cálculos fueron realizados por una red de 110 procesadores ubicados en la Universidad Rice y en la Universidad de Princeton (vea el enlace externo Princeton). El tiempo total de cálculo fue equivalente a 22.6  años en un Procesador alpha de 500 MHz. En mayo de 2004, el problema del viajante de visitar todos los 24,978 poblados en Suecia fue resuelto: un recorrido de tamaño aproximado de 72,500 kilómetros fue encontrado y se probó que no existía un camino menor.[19]

En marzo de 2005, el problema del viajante de visitar todos los 33,810 puntos en una tabla de circuitos fue resuelto usando Concorde TSP Solver: un recorrido de 66,048,945 unidades fue encontrado y se probó que no existía un recorrido menor. El cálculo tomo aproximadamente 15.7 años - CPU (Cook et al. 2006). En abril de 2006, una instancia con 85,900 puntos fue resuelta usando ´´Concorde TSP Solver´´, tomando 136 años- CPU, vea Applegate et al. (2006).

Algoritmos Heurísticos y aproximados

Varios algoritmos heurísticos y aproximados que retornan rápidamente buenas soluciones han sido creados. Métodos modernos pueden encontrar soluciones para problema extremadamente largos (millones de ciudades) en un tiempo razonable.[5]

Varias categorías de heurísticas son reconocidas:

Heurísticas Constructivas

 
Algoritmo del vecino más próximo para un TSP con 7 ciudades. La solución cambia cuando el punto de inicio es cambiado

El Algoritmo del vecino más próximo (NN por sus siglas en inglés) o también llamado algoritmo voraz (greedy) permite al viajante elegir la ciudad no visitada más cercana como próximo movimiento. Este algoritmo retorna rápidamente una ruta corta. Para N ciudades aleatoriamente distribuidas en un plano, el algoritmo en promedio, retorna un camino de un 25% más largo que el menor camino posible.[20]​ Sin embargo, existen muchos casos donde la distribución de las ciudades dada hace que el algoritmo NN devuelva el peor camino (Gutin, Yeo, and Zverovich, 2002). Esto es verdad lo mismo para TSP simétricos que asimétricos (Gutin and Yeo, 2007). Rosenkrantz et al. [1977] mostró que el algoritmo NN tiene un factor de aproximación de orden   para instancias que satisfacen la desigualdad triangular. Una variación del algoritmo NN, llamada operador de Fragmento más cercano (NF por sus siglas en inglés) la cual conecta un grupo (fragmento) de ciudades no visitadas más cercanas, puede encontrar la ruta más corta con iteraciones sucesivas.[21]​ El operador NF puede ser aplicado también, en la obtención de soluciones iniciales para el algoritmo NN para además ser mejorado en un modelo elitista, donde solamente son aceptadas las mejores soluciones.

Las construcciones basadas en un árbol de expansión mínima (minimum spanning tree) tienen una proporción de aproximación de 2. El Algoritmo de Christofides logra una proporción de 1.5.

Match Twice and Stitch (MTS) (Kahng, Reda 2004[22]​), es otra heurística constructiva, que realiza dos comparaciones secuenciales (matchings), donde el segundo macheo es ejecutado después de eliminar todas las aristas del primer macheo, retornando un conjunto de ciclos. Los ciclos son unidos para producir el camino final.

Mejora Iterativa

Intercambio par a par
El intercambio par a par o técnica 2-opt involucra en cada iteración la eliminación de dos aristas y el reemplazo de estas con dos aristas diferentes que reconecten los fragmentos creados por la eliminación de las aristas produciendo un camino nuevo más corto. Esto es un caso especial del método k-opt. Note que, la etiqueta Lin–Kernighan es un nombre erróneo para el 2-opt muchas veces utilizado. Lin–Kernighan es realmente el método más general de k-opt.
Heurística k-opt o heurística Lin-Kernighan
Toma un recorrido dado y elimina k aristas mutuamente disjuntas. Reconecta los fragmentos conformando el recorrido, sin dejar ningún subcamino disjunto (es decir, no conectar los dos extremos de un mismo fragmento). Esto, en efecto, simplifica las consideraciones del TSP convirtiéndolo en un problema más simple. Cada extremo de un fragmento tiene 2k − 2 posibilidades de ser conectado: del total de 2k extremos de fragmentos disponibles, los dos extremos del fragmento que se está considerando son descartados. Tal restricción de 2k- ciudades puede ser resulta con un método de fuerza bruta para encontrar el menor costo de reconectar los fragmentos originales. La técnica k-opt es un caso especial del V-opt o técnica Variable-opt. El método más popular del k-opt es 3-opt, y fue introducido por Shen Lin de Laboratorios Bell en 1965. Este es un caso especial de 3-opt donde las aristas son no disjuntas (dos de las aristas son adyacentes a la otra). En la práctica, es a menudo posible alcanzar mejoras sustanciales sobre el 2-opt sin el costo combinatorio del 3-opt general, restringiendo el 3-changes a este subconjunto especial en el cual dos de las aristas eliminadas son adyacentes. Este es llamado el dos y medio – opt (two-and-a-half-opt), típicamente cae a mitad entre el 2-opt y el 3-opt en términos de calidad del recorrido encontrado y el tiempo para encontrarlo.
Heurística V-opt
El método variable-opt está relacionado y es una generalización del método k-opt. Mientras el método k-opt elimina un número fijo k de aristas del recorrido original, el método variable-opt no fija el tamaño del conjunto de aristas eliminadas. En cambio, este método aumenta el conjunto a medida que el proceso de búsqueda continúa. El mejor método conocido en esta familia es el método Lin-Kernighan. Shen Lin y Brian Kernighan publicaron por primera vez este método en 1972, y fue la heurística más confiable para resolver el problema del viajante por aproximadamente dos décadas. Otros avances de los métodos variable-opt fueron desarrollados en Laboratorios Bell a finales de los 80s por David Johnson y su equipo de investigación. Estos métodos (a veces llamados Lin-Kernighan-Johnson) basados en el método Lin-Kernighan añaden ideas de la Búsqueda tabú y la Computación evolutiva. La técnica básica Lin-Kernighan da resultados que garantizan al menos el 3-opt. Los métodos Lin-Kernighan-Johnson calculan un camino de Lin-Kernighan y entonces perturban el camino por lo que ha sido descrito como una mutación que elimina las últimas cuatro aristas y reconecta el camino de una forma diferente y luego se aplica v-opt al nuevo camino. La mutación es a menudo suficiente para mover el camino desde el mínimo local identificado por Lin-Kernighan. Los métodos V-opt son considerados como la heurística más ponderosa para el problema y es capaz de enfrentar casos especiales, como el Problema del Ciclo de Hamilton y otros TSP no métricos para las cuales otras heurísticas fallan. Por muchos años Lin-Kernighan-Johnson ha identificado soluciones óptimas para todos los TSP donde una solución óptima era conocida y ha identificado la mejor solución para otros TSP sobre los cuales el método ha sido aplicado.

Mejoras Aleatorias

Los algoritmos optimizados de cadenas de Márkov que usan heurísticas de búsquedas locales como sub-algoritmos pueden encontrar una ruta extremadamente cerca de la ruta óptima para instancias de 700 a 800 ciudades. EL TSP es la base para muchas heurísticas diseñadas para la optimización combinatoria como: los algoritmos genéticos, el recocido simulado, la Búsqueda tabú, la optimización por colonias de hormigas, la Inteligencia de enjambre, entre otras.

Optimización por Colonia de Hormigas

El investigador de Inteligencia artificial, Marco Dorigo describió en 1997 un método que genera heurísticamente “buenas soluciones” para el TSP usando una simulación de una colonia de hormigas llamada ACS (Ant Colony System).[23]​ El cual modela el comportamiento observado en las hormigas reales de encontrar caminos cortos entre las fuentes de comida y su nido, emergió como un comportamiento la preferencia de cada hormiga de seguir el sendero de feromonas depositado por las otras hormigas.

ACS envía un gran número de hormigas (agentes virtuales) para explorar las posibles rutas en el mapa. Cada hormiga elige probabilísticamente la próxima ciudad a visitar basada en una heurística, combinando la distancia a la ciudad y la cantidad de feromonas depositadas en la arista hacia la ciudad. La hormiga exploradora, deposita feromonas en cada arista que ella cruce, hasta que complete todo el camino. En este punto la hormiga que completó el camino más corto deposita feromonas virtuales a lo largo de toda la ruta recorrida (actualización del camino global). La cantidad de feromonas depositadas es inversamente proporcional a la longitud del camino: el camino más corto, tiene más cantidad de feromonas.

 
 

Casos Especiales

TSP métrico

En el “TSP métrico”, también conocido como delta-TSP o Δ-TSP, las distancias entre las ciudades satisfacen la Desigualdad triangular.

Una restricción muy natural para el TSP es que las distancias entre las ciudades formen una Métrica que satisfagan las desigualdades triangulares; que significa que la conexión desde A hasta B no sea mayor que la ruta de “A” a “B” pasando por C:

 .

Las aristas se expanden y construyen una Métrica para el conjunto de vértices. Cuando las ciudades son vistas como puntos en el plano aparecen varias funciones de distancia y muchas instancias del TSP satisfacen los requerimientos de las mismas.

Los siguientes son ejemplos de TSP métricos para varias definiciones de las funciones de distancias:

  • En el TSP Euclidiano la distancia entre dos ciudades es la Distancia euclidiana entre los puntos correspondientes.
  • En el TSP rectilíneo la distancia entre dos ciudades es la suma de las diferencias de las coordenadas “x” e “y” respectivamente. Esta métrica es generalmente llamada Distancia de Manhattan.
  • En la métrica máxima, la distancia entre dos puntos es el máximo de los valores absolutos de las diferencias de las coordenadas “x” e “y”.

Las dos últimas métricas aparecen, por ejemplo, enrutando una máquina que perfora un conjunto dado de huecos en circuitos impresos (PCB por sus siglas en inglés). La métrica Manhattan corresponde a la máquina que ajusta a una máquina que ajusta en primer lugar, la primera coordenada y luego la otra, así el tiempo de movimiento al nuevo punto es la suma de ambos movimientos. La métrica máxima corresponde a una máquina que ajusta ambas coordenadas simultáneamente, así el tiempo de moverse al nuevo punto es más despacio que los otros dos movimientos. En esta definición, el TSP no permite visitar ciudades dos veces, pero muchas aplicaciones no necesitan esta restricción. En tales casos, una instancia simétrica, no métrica puede ser reducida a una instancia con métrica. Este remplaza el grafo original con un grafo completo en el cual las distancias entre ciudades   es reemplazada por el camino más corto entre   y   en el grafo original.

La expansión del árbol de expansión mínima de la red   is a natural es un límite inferior natural para expandir la ruta óptima, porque eliminando cualquier arista de la ruta óptima, devuelve un Camino de Hamilton, el cual es un árbol de expansión en  . En el TSP con desigualdades triangulares es posible probar en términos de límites superiores del árbol de expansión mínima y diseñar un algoritmo que haga una verificación de los límites superiores en la expansión de la ruta. El primer ejemplo publicado (y el más simple) es el siguiente:

  1. Construir un árbol de expansión mínima   para  .
  2. Duplicar todas las aristas de  . De manera que, dondequiera que haya una arista de u a v, adicionar una segunda arista de v a u. Devolviendo un Grafo Euleriano .
  3. Encontrar un Circuito Euleriano   en  . Claramente, esta expansión es dos veces la expansión del árbol.
  1. Convertir el circuito euleriano   de   en un ciclo hamiltoniano de   de la siguiente manera: caminar a lo largo de  , y cada vez que caiga en un vértice ya visitado, salte de él y trate de ir al próximo (a lo largo de  ).

Es fácil probar que el último paso funciona. Además, gracias a la desigualdad triangular, cada salto del paso 4 es en efecto un camino corto, por ejemplo, la longitud del ciclo no se incrementa. Por lo cual, para un recorrido del TSP este no es más largo que el doble del recorrido óptimo.

El Algoritmo de Christofides sigue un diseño similar pero combina el árbol de expansión mínima con una solución de otro problema, mínimo pero del macheo perfecto. Esto retorna un camino del TSP que es a lo sumo 1.5 veces el óptimo. El algoritmo de Christofides fue una de los primeros algoritmos de aproximación, y fue en parte responsable por la imagen que se le dio a los algoritmos de aproximación como un acercamiento práctico a los problemas intratables. Como un hecho importante se tiene que, el término "algorithm" no fue comúnmente extendido a algoritmos de aproximación hasta más adelante el algoritmo Christofides fue inicialmente referido como la Heurística Christofides.

TSP Euclidiano

El TSP Euclidiano, o TSP planal, es el TSP que utiliza la Distancia euclidiana.

El TSP euclidiano es en particular un caso del TSP métrico, dado que las distancias en un plano cumplen la desigualdad triangular.

Como el TSP general, el TSP Euclidiano es NP-duro. El problema con métrica discretizada (distancia redondeada por exceso a un entero), es NP-completo. Sin embargo, con respecto a esto es más fácil que el TSP métrico general. Por ejemplo, el árbol de expansión mínima del grafo asociado con una instancia del TSP Euclidiano es un árbol de expansión mínima euclidiano, y puede calcularse en un tiempo de O(n log n) para n Sin embargo, con respecto a esto es más fácil que el TSP métrico general. Por ejemplo, el árbol de expansión mínima del grafo asociado con una instancia del TSP Euclidiano es un árbol de expansión mínima euclidiano, y puede calcularse en un tiempo de 2- aproximación simple para el TSP con desigualad triangular anterior, operar más rápidamente. En general, para cualquier c > 0, donde d es el número de dimensiones en el espacio Euclidiano, existe un algoritmo polinomial que encuentra un camino de longitud a lo sumo (1 + 1/c), el óptimo para instancia geométricas del TSP se da en tiempo  ; este es llamado un esquema de aproximación a tiempo polinomial (PTAS por sus siglas en inglés). Sanjeev Arora y Joseph S. B. Mitchell se adjudicaron el Premio Gödel en 2010 por el descubrimiento de un PTAS para el TSP Euclidiano. En la práctica, heurísticas con pocas garantías continúan siendo usadas.

TSP Asimétrico

En la mayoría de los casos, la distancia entre dos nodos en red del TSP es la misma en ambas direcciones. El caso donde la distancia de A a B no es igual que la distancia de B a A es llamado asimétrico. Una aplicación práctica de un TSP asimétrico es la optimización de rutas usando un enrutamiento calle-nivel (el cual es asimétrico por calles de un solo nivel, carreteras deslizantes, caminos de motos, etc.).

Resolver por conversión al TSP simétrico

Resolver un grafo del TSP asimétrico puede ser algo complicado. La siguiente es una matriz de 3×3 que contiene todos los caminos ponderados entre los nodos A, B y C. Una opción es cambiar una matriz asimétrica de tamaño N por una matriz simétrica de tamaño 2N.[24]

Camino ponderado asimétrico
A B C
A 1 2
B 6 3
C 5 4

Doblar el tamaño, cada nodo en el grafo es duplicado, creando un segundo nodo fantasma. Usando los nodos duplicados con pesos muy bajos, como −∞, proporciona rutas baratas con enlaces hacia atrás, al nodo real y permiten continuar la evaluación simétrica. La matriz original de 3×3 mostrada anteriormente es visible en la parte inferior izquierda y el inverso de la original en la parte superior derecha. Ambas copias de la matriz tienen sus diagonales reemplazadas por el menor costo de los caminos saltados, representados por −∞.

Camino ponderado simétrico
A B C A′ B′ C′
A −∞ 6 5
B 1 −∞ 4
C 2 3 −∞
A′ −∞ 1 2
B′ 6 −∞ 3
C′ 5 4 −∞

La matriz original de 3×3 produce dos ciclos hamiltonianos (un camino que visita todos los nodos una vez), particularmente A-B-C-A [costo 9] y A-C-B-A [costo 12]. Evaluando la versión simétrica de 6×6, el mismo problema ahora produce más caminos, incluyendo A-A′-B-B′-C-C′-A, A-B′-C-A′-A, A-A′-B-C′-A [todos los costos 9 – ∞].

Un tema importante sobre cada nueva secuencia se forma alternando los nodos (A, B, C) y sus simétricos (A′,B′,C′) y el enlace para ¨saltar¨ entre cualquier par relacionado (A-A′) es efectivamente libre. Una versión para el algoritmo puede usar cualquier peso para el camino A-A′, mientras que el peso sea menor que todos los otros pesos presentes en el grafo. Como el peso del camino A-A′ es libre, el valor cero puede ser usado para representar su costo, si cero no está siendo usado para otro propósito (como el de designar caminos inválidos). En los dos ejemplos anteriores, no existen caminos entre los nodos, estos son mostrados con el espacio en blanco.

Evaluación Comparativa

Para evaluar los algoritmos del TSP, TSPLIB es una librería de instancias de ejemplos del TSP y de problemas relacionados, véase la referencia externa TSPLIB. Muchos de estas instancias son listas de ciudades actuales y diseños de circiutos impresos actuales.

Rendimiento humano en el TSP

El RSP, en particular la variante Euclidiana del problema, atrae la atención de los investigadores en Psicología cognitiva. Estos observan que los humanos son capaces de producir rápidamente buenas soluciones. El primer ejemplar del Journal of Problem Solving es dedicado al tema del rendimiento de los humanos en el TSP.

Longitud del camino en el TSP para conjuntos de puntos aleatorios en un cuadrado

Suponiendo N puntos aleatoriamente distribuidos en un cuadrado de 1×1 con N>>1. Considerar muchos de estos cuadrados. Suponer que conocemos el promedio del camino más corto (por ejemplo, en la solución del TSP) de cada cuadrado.

Límites Inferiores

  Es un límite inferior obtenido por asumir iun punto en la secuencia e i tiene como próximo vecino el último en el camino.

  Es un mejor límite inferior obtenido asumiendo que el último de i's es el próximo de i's, y el antiguo i's es el que le sigue al próximo i's.

  Es un aún mejor límite inferior obtenido dividiendo el camino en dos partes como antes_de_i y después_de_i cada parte contiene N/2 puntos, y luego eliminamos antes_de_i formando un conjunto de puntos relajado.

  • David S. Johnson[25]​ obtuvo un límite inferior por el cálculo del siguiente experimento:

 , donde 0.522 proviene de los puntos del límite del cuadrado que contiene menos vecinos.

  • Christine L. Valenzuela and Antonia J. Jones[26]​ obtuvieron otro límite inferior con el siguiente experimento

 

TSP de Analyst

Este es un problema análogo en la teoría de las medidas geométricas la cual presenta la siguiente interrogante: ¿Bajo qué condiciones puede un subconjunto E del espacio Euclidiano contener en una curva rectificable (esto es, cuando una curva con longitud finita visita todos los puntos en “E”)? Este problema es conocido como TSP de analyst (analyst's travelling salesman problem) o TSP geométrico.

Software libres para resolver el TSP

Nombre
Licencia Lenguaje API Breve información
Concorde Libre (académico) solamente ejecutable Require instalar un solucionador lineal para el subproblemas MILP.
? C Una solución aproximada de la implementación en ANSI C de un algoritmo basado en la programación dinámica desarrollado por Balas y Simonetti.
LKH solamente investigativa C Una efectiva implementación de la heurística Lin-Kernighan para TSP Euclidianos.
OpenOpt BSD Python Soluciones exactas y aproximadas, STSP / ATSP, pueden manejar multigrafos, restricciones, problemas multiobjetivos.
R TSP package GPL R Infraestructura y soluciones para STSP / ATSP, interface de Concorde
TSP Solver and Generator GPL C++ Algoritmo de ramificación y acotación
? C Solución aproximada del STSP usando el paquete "pgapack"

Cultura popular

Travelling Salesman, película del 2012 dirigida por Timothy Lanzone, es una historia de 4 matemáticos contratados por el gobierno estadounidense para resolver el más difícil problema en la historia de la ciencia de la computación: P versus NP.[27]

Véase también

Referencias

  1. "Der Handlungsreisende – wie er sein soll und was er zu tun hat, um Aufträge zu erhalten und eines glücklichen Erfolgs in seinen Geschäften gewiß zu sein – von einem alten Commis-Voyageur" (El viajante — cómo debe ser y lo que debería hacer para obtener comisiones y asegurar el feliz éxito en sus negocios — por una antigua ruta comercial)
  2. Una discusión del temprano trabajo de Hamilton y Kirkman puede ser encontrado en Graph Theory 1736-1936
  3. Citado y traducido al Inglés en Schrijver (2005). Original en Alemán: "Wir bezeichnen als Botenproblem (weil diese Frage in der Praxis von jedem Postboten, übrigens auch von vielen Reisenden zu lösen ist) die Aufgabe, für endlich viele Punkte, deren paarweise Abstände bekannt sind, den kürzesten die Punkte verbindenden Weg zu finden. Dieses Problem ist natürlich stets durch endlich viele Versuche lösbar. Regeln, welche die Anzahl der Versuche unter die Anzahl der Permutationen der gegebenen Punkte herunterdrücken würden, sind nicht bekannt. Die Regel, man solle vom Ausgangspunkt erst zum nächstgelegenen Punkt, dann zu dem diesem nächstgelegenen Punkt gehen usw., liefert im allgemeinen nicht den kürzesten Weg."
  4. Un tratamiento detallado de la conexión entre Menger y Whitney así como también el crecimiento en el estudio de TSP puede ser encontrado en Alexander Schrijver's 2005 artículo "On the history of combinatorial optimization (till 1960). Handbook of Discrete Optimization (K. Aardal, G.L. Nemhauser, R. Weismantel, eds.), Elsevier, Amsterdam, 2005, pp. 1–68.PS,PDF
  5. Rego, César; Gamboa, Dorabela; Glover, Fred; Osterman, Colin (2011), «Traveling salesman problem heuristics: leading methods, implementations and latest advances», European Journal of Operational Research 211 (3): 427-441, MR 2774420, doi:10.1016/j.ejor.2010.09.010 ..
  6. Behzad, Arash; Modarres, Mohammad (2002), «New Efficient Transformation of the Generalized Traveling Salesman Problem into Traveling Salesman Problem», Proceedings of the 15th International Conference of Systems Engineering (Las Vegas) .
  7. Papadimitriou, C.H.; Steiglitz, K. (1998), Combinatorial optimization: algorithms and complexity, Mineola, NY: Dover ., pp.308-309.
  8. Tucker, A. W. (1960), "On Directed Graphs and Integer Programs", IBM Mathematical research Project (Princeton University)
  9. Dantzig, George B. (1963), Linear Programming and Extensions, Princeton, NJ: PrincetonUP, pp. 545–7, ISBN 0-691-08000-3, sixth printing, 1974.
  10. Papadimitriou (1983)
  11. Christofides (1976)
  12. Berman y Karpinski (2006)
  13. Kaplan (2004)
  14. Kosaraju (1994)
  15. Serdyukov (1984)
  16. Hassin (2000)
  17. Bellman (1960), Bellman (1962), Held y Karp (1962)
  18. Woeginger (2003)
  19. Work by David Applegate, AT&T Labs – Research, Robert Bixby, ILOG and Rice University, Vašek Chvátal, Concordia University, William Cook, University of Waterloo, and Keld Helsgaun, Roskilde University is discussed on their project web page hosted by the University of Waterloo and last updated in June 2004, here [1]
  20. Johnson, D.S. and McGeoch, L.A.. "The traveling salesman problem: A case study in local optimization", Local search in combinatorial optimization, 1997, 215-310
  21. S. S. Ray, S. Bandyopadhyay and S. K. Pal, "Genetic Operators for Combinatorial Optimization in TSP and Microarray Gene Ordering," Applied Intelligence, 2007, 26(3). pp. 183-195.
  22. A. B. Kahng and S. Reda, "Match Twice and Stitch: A New TSP Tour Construction Heuristic," Operations Research Letters, 2004, 32(6). pp. 499–509. http://dx.doi.org/10.1016/j.orl.2004.04.001
  23. Marco Dorigo. Ant Colonies for the Traveling Salesman Problem. IRIDIA, Université Libre de Bruxelles. IEEE Transactions on Evolutionary Computation, 1(1):53–66. 1997. http://citeseer.ist.psu.edu/86357.html
  24. Roy Jonker and Ton Volgenant. "Transforming asymmetric into symmetric traveling salesman problems". Operations Research Letters 2:161–163, 1983. doi 10.1016/0167-6377(83)90048-2
  25. Christine L. Valenzuela and Antonia J. Jones el 25 de octubre de 2007 en Wayback Machine.
  26. Geere, Duncan. «'Travelling Salesman' movie considers the repercussions if P equals NP». Wired. Consultado el 26 de abril de 2012. 

Notas

  • Applegate, D. L.; Bixby, R. M.; Chvátal, V.; Cook, W. J. (2006), The Traveling Salesman Problem, ISBN 0-691-12993-2 ..
  • Arora, Sanjeev (1998), «Polynomial time approximation schemes for Euclidean traveling salesman and other geometric problems», Journal of the ACM 45 (5): 753-782, MR 1668147, doi:10.1145/290179.290180 ..
  • Bellman, R. (1960), «Combinatorial Processes and Dynamic Programming», en Bellman, R., Hall, M., Jr. (eds.), ed., Combinatorial Analysis, Proceedings of Symposia in Applied Mathematics 10, American Mathematical Society, pp. 217-249 ..
  • Bellman, R. (1962), «Dynamic Programming Treatment of the Travelling Salesman Problem», J. Assoc. Comput. Mach. 9: 61-63, doi:10.1145/321105.321111 ..
  • Berman, Piotr; Karpinski, Marek (2006), «8/7-approximation algorithm for (1,2)-TSP», Proc. 17th ACM-SIAM Symposium on Discrete Algorithms (SODA '06), pp. 641-648, ISBN 0898716055, doi:10.1145/1109557.1109627, Plantilla:ECCC ..
  • Christofides, N. (1976), Worst-case analysis of a new heuristic for the travelling salesman problem, Technical Report 388, Graduate School of Industrial Administration, Carnegie-Mellon University, Pittsburgh ..
  • Hassin, R.; Rubinstein, S. (2000), «Better approximations for max TSP», Information Processing Letters 75 (4): 181-186, doi:10.1016/S0020-0190(00)00097-1 ..
  • Held, M.; Karp, R. M. (1962), «A Dynamic Programming Approach to Sequencing Problems», Journal of the Society for Industrial and Applied Mathematics 10 (1): 196-210, doi:10.1137/0110015 ..
  • Kaplan, H.; Lewenstein, L.; Shafrir, N.; Sviridenko, M. (2004), «Approximation Algorithms for Asymmetric TSP by Decomposing Directed Regular Multigraphs», In Proc. 44th IEEE Symp. on Foundations of Comput. Sci, pp. 56-65 ..
  • Kosaraju, S. R.; Park, J. K.; Stein, C. (1994), «Long tours and short superstrings'», Proc. 35th Ann. IEEE Symp. on Foundations of Comput. Sci, IEEE Computer Society, pp. 166-177 ..
  • Orponen, P.; Mannila, H. (1987), «On approximation preserving reductions: Complete problems and robust measures'», Technical Report C-1987–28, Department of Computer Science, University of Helsinki ..
  • Papadimitriou, Christos H. (1977), «The Euclidean traveling salesman problem is NP-complete», Theoretical Computer Science 4 (3): 237-244, MR 0455550, doi:10.1016/0304-3975(77)90012-3 ..
  • Papadimitriou, C. H.; Yannakakis, M. (1993), «The traveling salesman problem with distances one and two», Math. Oper. Res. 18: 1-11, doi:10.1287/moor.18.1.1 ..
  • Serdyukov, A. I. (1984), «An algorithm with an estimate for the traveling salesman problem of the maximum'», Upravlyaemye Sistemy 25: 80-86 ..
  • Woeginger, G.J. (2003), «Exact Algorithms for NP-Hard Problems: A Survey», Combinatorial Optimization – Eureka, You Shrink! Lecture notes in computer science, vol. 2570, Springer, pp. 185-207 ..

Bibliografía

  • Adleman, Leonard (1994), , Science 266 (5187): 1021-4, Bibcode:1994Sci...266.1021A, PMID 7973651, doi:10.1126/science.7973651, archivado desde el original el 6 de febrero de 2005, consultado el 17 de diciembre de 2013 .
  • Arora, S. (1998), «Polynomial time approximation schemes for Euclidean traveling salesman and other geometric problems», Journal of the ACM 45 (5): 753-782, doi:10.1145/290179.290180 ..
  • Babin, Gilbert; Deneault, Stéphanie; Laportey, Gilbert (2005), Improvements to the Or-opt Heuristic for the Symmetric Traveling Salesman Problem, Cahiers du GERAD, G-2005-02, Montreal: Group for Research in Decision Analysis ..
  • Cook, William (2011), In Pursuit of the Travelling Salesman: Mathematics at the Limits of Computation, Princeton University Press, ISBN 978-0-691-15270-7 ..
  • Cook, William; Espinoza, Daniel; Goycoolea, Marcos (2007), «Computing with domino-parity inequalities for the TSP», INFORMS Journal on Computing 19 (3): 356-365, doi:10.1287/ijoc.1060.0204 ..
  • Cormen, T. H.; Leiserson, C. E.; Rivest, R. L.; Stein, C. (2001), «35.2: The traveling-salesman problem», Introduction to Algorithms (2nd edición), MIT Press and McGraw-Hill, pp. 1027-1033, ISBN 0-262-03293-7 ..
  • Dantzig, G. B.; Fulkerson, R.; Johnson, S. M. (1954), «Solution of a large-scale traveling salesman problem», Operations Research 2 (4): 393-410, JSTOR 166695, doi:10.1287/opre.2.4.393 ..
  • Garey, M. R.; Johnson, D. S. (1979), «A2.3: ND22–24», Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman, pp. 211–212, ISBN 0-7167-1045-5 ..
  • Goldberg, D. E. (1989), «Genetic Algorithms in Search, Optimization & Machine Learning», Reading: Addison-Wesley (New York: Addison-Wesley), Bibcode:1989gaso.book.....G, ISBN 0-201-15767-5 ..
  • Gutin, G.; Yeo, A.; Zverovich, A. (2002), «Traveling salesman should not be greedy: domination analysis of greedy-type heuristics for the TSP», Discrete Applied Mathematics 117 (1–3): 81-86, doi:10.1016/S0166-218X(01)00195-0 ..
  • Gutin, G.; Punnen, A. P. (2006), The Traveling Salesman Problem and Its Variations, Springer, ISBN 0-387-44459-9 ..
  • Johnson, D. S.; McGeoch, L. A. (1997), «The Traveling Salesman Problem: A Case Study in Local Optimization», en Aarts, E. H. L.; Lenstra, J. K., eds., Local Search in Combinatorial Optimisation, John Wiley and Sons Ltd, pp. 215-310 ..
  • Lawler, E. L.; Lenstra, J. K.; Rinnooy Kan, A. H. G.; Shmoys, D. B. (1985), The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization, John Wiley & Sons, ISBN 0-471-90413-9 ..
  • MacGregor, J. N.; Ormerod, T. (1996), , Perception & Psychophysics 58 (4): 527-539, doi:10.3758/BF03213088, archivado desde el original el 29 de diciembre de 2009, consultado el 17 de diciembre de 2013 ..
  • Mitchell, J. S. B. (1999), «Guillotine subdivisions approximate polygonal subdivisions: A simple polynomial-time approximation scheme for geometric TSP, k-MST, and related problems», SIAM Journal on Computing 28 (4): 1298-1309, doi:10.1137/S0097539796309764 ..
  • Rao, S.; Smith, W. (1998), «Approximating geometrical graphs via 'spanners' and 'banyans'», Proc. 30th Annual ACM Symposium on Theory of Computing, pp. 540-550 ..
  • Rosenkrantz, Daniel J.; Stearns, Richard E.; Lewis, Philip M., II (1977), «An Analysis of Several Heuristics for the Traveling Salesman Problem», SIAM Journal on Computing 6 (5): 563-581, doi:10.1137/0206041 ..
  • Vickers, D.; Butavicius, M.; Lee, M.; Medvedev, A. (2001), «Human performance on visually presented traveling salesman problems», Psychological Research 65 (1): 34-45, PMID 11505612, doi:10.1007/s004260000031 ..
  • Walshaw, Chris (2000), A Multilevel Approach to the Travelling Salesman Problem, CMS Press ..
  • Walshaw, Chris (2001), A Multilevel Lin-Kernighan-Helsgaun Algorithm for the Travelling Salesman Problem, CMS Press ..

Enlaces externos

  •   Wikimedia Commons alberga una categoría multimedia sobre Problema del viajante.
  • Solución al Problema del Vendedor Viajero

En inglés

  • Traveling Salesman Problem en la Universidad de Waterloo
  • Approximation Taxonomy of Metric TSP en la Universidad de Bonn
  • en la Universidad de Heidelberg
  • Traveling Salesman Problem by Jon McLoone at the Wolfram Demonstrations Project
  • Source code library for the travelling salesman problem
  • TSP solvers in R for symmetric and asymmetric TSPs. Implements various insertion, nearest neighbor and 2-opt heuristics and an interface to Concorde and Chained Lin-Kernighan heuristics.
  • Problema del viajante en Internet Movie Database (en inglés).
  • "Traveling Salesman in Python and Linear Optimization, IBM Developerworks with Source Code" by Noah Gift


  •   Datos: Q322212
  •   Multimedia: Traveling salesman problem

problema, viajante, problema, vendedor, viajero, problema, vendedor, ambulante, problema, agente, viajero, problema, viajante, siglas, inglés, travelling, salesman, problem, responde, siguiente, pregunta, dada, lista, ciudades, distancias, entre, cada, ellas, . El problema del vendedor viajero problema del vendedor ambulante problema del agente viajero o problema del viajante TSP por sus siglas en ingles Travelling Salesman Problem responde a la siguiente pregunta dada una lista de ciudades y las distancias entre cada par de ellas cual es la ruta mas corta posible que visita cada ciudad exactamente una vez y al finalizar regresa a la ciudad origen Este es un problema NP Hard dentro en la optimizacion combinatoria muy importante en investigacion operativa y en ciencias de la computacion El problema fue formulado por primera vez en 1930 y es uno de los problemas de optimizacion mas estudiados Es usado como prueba para muchos metodos de optimizacion Aunque el problema es computacionalmente complejo se conoce gran cantidad de heuristicas y metodos exactos asi que es posible resolver planteamientos concretos del problema desde cien hasta miles de ciudades El TSP tiene diversas aplicaciones aun en su formulacion mas simple tales como la planificacion la logistica y la fabricacion de circuitos electronicos Un poco modificado aparece como subproblema en muchos campos como la secuenciacion de ADN En esta aplicacion el concepto de ciudad representa por ejemplo clientes puntos de soldadura o fragmentos de ADN y el concepto de distancia representa el tiempo de viaje o costo o una medida de similitud entre los fragmentos de ADN En muchas aplicaciones restricciones adicionales como el limite de recurso o las ventanas de tiempo hacen el problema considerablemente dificil El TSP es un caso especial de los Problemas del Comprador Viajante travelling purchaser problem En la teoria de la complejidad computacional la version de decision del TSP donde dada una longitud L el objetivo es decidir si el grafo tiene un camino menor o igual que L pertenece a la clase de los problemas NP completos Por tanto es probable que en el caso peor el tiempo de ejecucion para cualquier algoritmo que resuelva el TSP aumente de forma exponencial con respecto al numero de ciudades Indice 1 Historia 2 Descripcion 2 1 Caso practico 2 2 Como un problema de grafos 2 3 Asimetrico y simetrico 2 4 Problemas relacionados 3 Formulacion de la programacion lineal en enteros 4 Calculando una solucion 4 1 Complejidad Computacional 4 1 1 Complejidad de una aproximacion 4 2 Algoritmos Exactos 4 3 Algoritmos Heuristicos y aproximados 4 3 1 Heuristicas Constructivas 4 3 2 Mejora Iterativa 4 3 3 Mejoras Aleatorias 4 3 3 1 Optimizacion por Colonia de Hormigas 4 4 Casos Especiales 4 4 1 TSP metrico 4 4 2 TSP Euclidiano 4 4 3 TSP Asimetrico 4 4 3 1 Resolver por conversion al TSP simetrico 4 5 Evaluacion Comparativa 5 Rendimiento humano en el TSP 6 Longitud del camino en el TSP para conjuntos de puntos aleatorios en un cuadrado 6 1 Limites Inferiores 7 TSP de Analyst 8 Software libres para resolver el TSP 9 Cultura popular 10 Vease tambien 11 Referencias 12 Notas 13 Bibliografia 14 Enlaces externos 14 1 En inglesHistoria EditarEl origen de los problemas del viajante no esta claro Una guia para viajantes de 1832 menciona el problema e incluye ejemplos de viajes a traves de Alemania y Suiza pero no contiene un tratamiento matematico del mismo 1 William Rowan Hamilton El problema del viajante fue definido en los anos 1800s por el matematico irlandes W R Hamilton y por el matematico britanico Thomas Kirkman El Juego Icosian de Hamilton fue un puzle recreativo basado en encontrar un ciclo de Hamilton 2 Todo parece indicar que la forma general del TSP fue estudiada por primera vez por matematicos en Viena y Harvard durante los anos 1930s Destacandose Karl Menger quien definio los problemas considerando el obvio algoritmo de fuerza bruta y observando la no optimalidad de la heuristica de vecinos mas cercanos Denotamos por Problema del Mensajero dado que en la practica esta pregunta puede resolverse por cada cartero aunque puede ser resuelta por varios viajeros la pregunta es encontrar para un conjunto finito de puntos de los cuales se conocen las distancias entre cada par el camino mas corto entre estos puntos Por supuesto el problema es resuelto por un conjunto finito de intentos La regla que se debe seguir es que desde el punto inicial se va al punto mas cercano a este de ahi a su mas cercano y asi sucesivamente en general este algoritmo no retorna la ruta mas corta 3 Hassler Whitney de la Universidad de Princeton introdujo el nombre travelling salesman problem poco despues 4 Durante los anos 1950 a 1960 el problema fue incrementando su popularidad entre el circulo de cientificos de Europa y Estados Unidos Una notable contribucion fue la de George Dantzig Delbert Ray Fulkerson y Selmer M Johnson de la Corporacion RAND en Santa Monica quienes expresaron el problema como Programacion Lineal en Enteros y desarrollaron para solucionarlo el metodo de Planos Cortantes Con este nuevo metodo resolvieron una instancia con 49 ciudades optimamente mediante la construccion de un recorrido y probando que no habia un recorrido que pudiera ser mas corto En las siguientes decadas el problema fue estudiado por muchos investigadores matematicos cientificos de la computacion quimicos fisicos etc Richard M Karp mostro en 1972 que el Problema del Ciclo de Hamilton era un problema NP completo lo cual implica que el TSP sea un problema NP duro Esto tiene su explicacion matematica por la evidente dificultad computacional para encontrar recorridos optimos Gran progreso tuvo a finales de los 70s y principios de los 80s donde Grotschel Padberg Rinaldi y otros manejaron soluciones exactas para instancias con 2392 ciudades usando Planos Cortantes y Ramificacion y Acotacion En los 90s Applegate Bixby Chvatal y Cook desarrollaron el programa Concorde el cual es usado en muchos de los registros de soluciones recientes Gerhard Reinelt publico el TSPLIB en 1991 una coleccion de instancias de pruebas de dificultad variable la cual es usada por muchos grupos investigativos para comparar resultados En 2006 Cook y otros obtuvieron un recorrido optimo para 85 900 ciudades dado por un problema de diseno de microchip actualmente TSPLIB es la instancia mas larga resuelta Para otras muchas instancias con millones de ciudades la solucion puede ser encontrada garantizando que la solucion contiene un 2 3 del recorrido optimo 5 Descripcion EditarCaso practico Editar En el problema se presentan N rutas posibles aunque se puede simplificar ya que dada una ruta nos da igual el punto de partida y esto reduce el numero de rutas a examinar en un factor N quedando N 1 Como no importa la direccion en que se desplace el viajante el numero de rutas a examinar se reduce nuevamente en un factor 2 Por lo tanto hay que considerar N 1 2 rutas posibles En la practica para un problema del viajante con 5 ciudades hay 5 1 2 12 rutas diferentes y no necesitamos un ordenador para encontrar la mejor ruta pero apenas aumentamos el numero de ciudades las posibilidades crece factorialmente Para 10 ciudades hay 10 1 2 181 440 rutas diferentes Para 30 ciudades hay mas de 4 10 30 rutas posibles Un ordenador que calcule un millon de rutas por segundo necesitaria 10 17 anos para resolverlo Dicho de otra forma si se hubiera comenzado a calcular al comienzo de la creacion del universo hace unos 13 400 millones de anos todavia no se habria terminado Puede comprobarse que por cada ciudad nueva que incorporemos el numero de rutas se multiplica por el factor N y crece factorialmente Por ello el problema pertenece a la clase de problemas NP completos Como un problema de grafos Editar TSP simetrico con 4 ciudades El TSP puede ser modelado como un grafo ponderado no dirigido de manera que las ciudades sean los vertices del grafo los caminos son las aristas y las distancias de los caminos son los pesos de las aristas Esto es un problema de minimizacion que comienza y termina en un vertice especifico y se visita el resto de los vertices exactamente una vez Con frecuencia el modelo es un grafo completo cada par de vertices es conectado por una arista Si no existe camino entre un par de ciudades se anade arbitrariamente una arista larga para completar el grafo sin afectar el recorrido optimo Asimetrico y simetrico Editar En el TSP simetrico la distancia entre un par de ciudades es la misma en cada direccion opuesta formando un grafo no dirigido Este problema reduce a la mitad el numero de soluciones posibles En el TSP asimetrico pueden no existir caminos en ambas direcciones o las distancias pueden ser diferentes formando un grafo dirigido Los accidentes de trafico las calles de un solo sentido y las tarifas aereas para ciudades con diferentes costos de partida y arribo son ejemplos de como esta simetria puede ser quebrada Problemas relacionados Editar Una formulacion equivalente en terminos de Teoria de grafos es dado una grafo ponderado completo donde los vertices representan las ciudades las aristas representan los caminos y los pesos son el costo o las distancias de estos caminos encontrar un ciclo de Hamilton con menor peso Las restricciones de retorno a la ciudad de comienzo no cambia la complejidad computacional del problema vea Problema del camino Hamiltoniano Otro problema relacionado es el Problema del viajante con cuello de botella bottleneck TSP Encontrar un ciclo de Hamilton en un grafo ponderado con el minimo peso de las aristas mas pesadas El problema es de una considerable importancia en la practica en las areas de la transportacion y la logistica Un ejemplo clasico es en la fabricacion de circuitos impresos planificando una ruta de la maquina perforadora para perforar los huecos en un PCB Otras son las aplicaciones de perforado o maquinado en la robotica las ciudades son los huecos de diferentes tamanos a perforar y el costo de viaje incluye el tiempo para reequipar el robot problema del secuenciado del trabajo de una maquina simple 6 La generalizacion del TSP trata con estados que tienen una o mas ciudades y el viajante tiene que visitar exactamente una ciudad de cada estado Tambien se conoce como el Problema del Politico Viajero Como una aplicacion se considera el perforado en la fabricacion de semiconductores vea e g Patente USPTO n º 7054798 Sorprendentemente Behzad y Modarres demostraron que el problema generalizado del viajante puede ser transformado en el problema del viajante estandar con el mismo numero de ciudades pero modificando la Matriz de distanciasEl problema de ordenamiento secuencial trata con el problema de visitar un conjunto de ciudades donde se tiene en cuenta las relaciones de precedencias entre las ciudades El problema del viajante comprador trata con un comprador que esta cargado con un conjunto de productos El puede comprar estos productos en varias ciudades pero tienen diferentes precios y no todas las ciudades ofrecen los mismos productos El objetivo es encontrar una ruta entre un subconjunto de ciudades los cuales minimicen el costo total costo de viaje costo de la compra y habilite la compra de todos los productos requeridos Formulacion de la programacion lineal en enteros EditarEl TSP puede ser formulado por la programacion lineal en enteros 7 8 9 Sea x i j displaystyle x ij igual 1 si existe el camino de ir de la i a la ciudad j y 0 en otro caso para el conjunto de ciudades 0 n Sean u i displaystyle u i para i 1 n variables artificiales y sea c i j displaystyle c ij la distancia desde la ciudad i a la ciudad j Entonces el modelo de programacion lineal en enteros puede ser escrito como min i 0 n j i j 0 n c i j x i j 0 x i j 1 i j 0 n x i j integer i j 0 n i 0 i j n x i j 1 j 0 n j 0 j i n x i j 1 i 0 n u i u j n x i j n 1 1 i j n displaystyle begin aligned min amp sum i 0 n sum j neq i j 0 n c ij x ij amp 0 leq amp x ij leq 1 amp i j 0 dots n amp x ij text integer amp i j 0 dots n amp sum i 0 i neq j n x ij 1 amp j 0 ldots n amp sum j 0 j neq i n x ij 1 amp i 0 ldots n u i u j amp nx ij leq n 1 amp 1 leq i neq j leq n end aligned El primer conjunto de igualdades asegura que cada ciudad 0 n de salida llegue exactamente a una ciudad y el segundo conjunto de igualdades aseguran que desde cada ciudad 1 n se salga exactamente hacia una ciudad ambas restricciones tambien implican que exista exactamente una salida desde la ciudad 0 La ultima restriccion obliga a que un solo camino cubra todas las ciudades y no dos o mas caminos disjuntos cubran conjuntamente todas las ciudades Para probar esto se muestra en 1 que toda solucion factible contiene solamente una secuencia cerrada de ciudades y en 2 que para cada uno de los recorridos que cubren todas las ciudades hay valores para todas las variables u i displaystyle u i que satisfacen las restricciones Para probar que cada solucion factible contiene solamente una secuencia cerrada de ciudades es suficiente mostrar que cada sub ruta en una solucion factible pasa a traves de la ciudad 0 note que las igualdades aseguran que solamente puede haber un recorrido de ese tipo Por tanto si sumamos todas las desigualdades correspondiente a x i j 1 displaystyle x ij 1 para cada sub ruta de k pasos que no pasan a traves de la ciudad 0 obtenemos n k n 1 k displaystyle nk leq n 1 k lo cual es una contradiccion Ahora mostramos que para cada recorrido que cubre todas las ciudades hay valores de las variables u i displaystyle u i que satisfacen las restricciones Sin perdida de generalidad se define el recorrido con origen y fin en la ciudad 0 Escoger u i t displaystyle u i t si la ciudad i es visitada en el paso t i t 1 2 n Entonces u i u j n 1 displaystyle u i u j leq n 1 dado u i displaystyle u i no puede ser mayor que n y u j displaystyle u j no puede ser menor que 1 por lo tanto las restricciones se satisfacen siempre que x i j 0 displaystyle x ij 0 Para x i j 1 displaystyle x ij 1 u i u j n x i j t t 1 n n 1 displaystyle u i u j nx ij t t 1 n n 1 se satisfacen las restricciones Calculando una solucion EditarLas lineas tradicionales para atacar un problema NP duro son las siguientes Formular algoritmos para encontrar soluciones exactas estos trabajan mas rapidos en problemas con dimensiones pequenas Formular algoritmos heuristicos o suboptimos por ejemplo algoritmos que den aparentemente o probablemente buenas soluciones pero no devuelven el optimo Encontrar los casos especiales para el problema subproblemas para los cuales heuristicas mejores o algoritmos exactos son posibles Complejidad Computacional Editar El problema es NP duro y la version del Problema de decision dado el costo y un numero x decidir cual es la ruta de viaje mas barata que x es NP completo El problema del viajante con cuello de botella es tambien NP duro El problema sigue siendo NP duro aun para los casos donde las ciudades estan en el plano con distancias Euclidianas al igual que en otros casos restrictivos Eliminando la condicion de visitar cada ciudad exactamente una vez no se elimina la condicion de problema NP duro ya que se ve facilmente que en el caso planal hay un recorrido optimo que visita cada ciudad una sola vez de otra manera por desigualdades triangulares un atajo que se salta una visita repetida no incrementa la longitud del camino Complejidad de una aproximacion Editar En el caso general encontrar el camino mas corto del viajante es NP completo Si la medida de distancia es una metrica y es simetrica el problema se convierte en APX completo 10 y el Algoritmo de Christofides lo aproximan a 1 5 11 Si las distancias son restringidas a 1 y 2 pero aun es una metrica la proporcion aproximada es de 8 7 12 En el caso que sea asimetrico es conocido solamente un rendimiento logaritmico el mejor algoritmo actual logra una proporcion de 0 814 log n 13 esta es una pregunta abierta si existe un factor constante de aproximacion El correspondiente problema de aproximacion de encontrar el recorrido mas largo del viajante es aproximable a 63 38 14 Si la funcion de distancia es simetrica el camino mas largo puede aproximarse a 4 3 por una algoritmo determinista 15 y a 33 ϵ 25 displaystyle 33 epsilon 25 por un algoritmo aleatorio 16 Algoritmos Exactos Editar La solucion mas directa puede ser intentar todas las permutaciones combinaciones ordenadas y ver cual de estas es la menor usando una Busqueda de fuerza bruta El tiempo de ejecucion es un factor polinomico de orden O n displaystyle O n el Factorial del numero de ciudades esta solucion es impracticable para dado solamente 20 ciudades Una de las mejores aplicaciones de la Programacion dinamica es el algoritmo Held Karp que resuelve el problema en O n 2 2 n displaystyle O n 2 2 n 17 La mejora de estos limites de tiempos es dificil Por ejemplo no ha sido determinado si existe un algoritmo para el TSP que corra en un tiempo de orden O 1 9999 n displaystyle O 1 9999 n 18 Otras aproximaciones incluyen Varios algoritmos de ramificacion y acotacion los cuales pueden ser usados para procesar TSP que contienen entre 40 y 60 ciudades Algoritmos de mejoras progresivas iterativas los cuales utilizan tecnicas de Programacion lineal Trabajan bien para mas de 200 ciudades Implementaciones de ramificacion y acotacion y un problema especifico de generacion de cortes Ramificacion y poda este es el metodo elegido para resolver grandes instancias Esta aproximacion retiene el record vigente resolviendo una instancia con 85 900 ciudades vea Applegate et al 2006 Una solucion exacta para 15 112 pueblos alemanes desde TSPLIB fue encontrada en 2001 usando el metodo de planos cortantes propuesto por George Dantzig Ray Fulkerson y Selmer M Johnson en 1954 basados en la programacion lineal Los calculos fueron realizados por una red de 110 procesadores ubicados en la Universidad Rice y en la Universidad de Princeton vea el enlace externo Princeton El tiempo total de calculo fue equivalente a 22 6 anos en un Procesador alpha de 500 MHz En mayo de 2004 el problema del viajante de visitar todos los 24 978 poblados en Suecia fue resuelto un recorrido de tamano aproximado de 72 500 kilometros fue encontrado y se probo que no existia un camino menor 19 En marzo de 2005 el problema del viajante de visitar todos los 33 810 puntos en una tabla de circuitos fue resuelto usando Concorde TSP Solver un recorrido de 66 048 945 unidades fue encontrado y se probo que no existia un recorrido menor El calculo tomo aproximadamente 15 7 anos CPU Cook et al 2006 En abril de 2006 una instancia con 85 900 puntos fue resuelta usando Concorde TSP Solver tomando 136 anos CPU vea Applegate et al 2006 Algoritmos Heuristicos y aproximados Editar Varios algoritmos heuristicos y aproximados que retornan rapidamente buenas soluciones han sido creados Metodos modernos pueden encontrar soluciones para problema extremadamente largos millones de ciudades en un tiempo razonable 5 Varias categorias de heuristicas son reconocidas Heuristicas Constructivas Editar Algoritmo del vecino mas proximo para un TSP con 7 ciudades La solucion cambia cuando el punto de inicio es cambiado El Algoritmo del vecino mas proximo NN por sus siglas en ingles o tambien llamado algoritmo voraz greedy permite al viajante elegir la ciudad no visitada mas cercana como proximo movimiento Este algoritmo retorna rapidamente una ruta corta Para N ciudades aleatoriamente distribuidas en un plano el algoritmo en promedio retorna un camino de un 25 mas largo que el menor camino posible 20 Sin embargo existen muchos casos donde la distribucion de las ciudades dada hace que el algoritmo NN devuelva el peor camino Gutin Yeo and Zverovich 2002 Esto es verdad lo mismo para TSP simetricos que asimetricos Gutin and Yeo 2007 Rosenkrantz et al 1977 mostro que el algoritmo NN tiene un factor de aproximacion de orden 8 log V displaystyle Theta log V para instancias que satisfacen la desigualdad triangular Una variacion del algoritmo NN llamada operador de Fragmento mas cercano NF por sus siglas en ingles la cual conecta un grupo fragmento de ciudades no visitadas mas cercanas puede encontrar la ruta mas corta con iteraciones sucesivas 21 El operador NF puede ser aplicado tambien en la obtencion de soluciones iniciales para el algoritmo NN para ademas ser mejorado en un modelo elitista donde solamente son aceptadas las mejores soluciones Las construcciones basadas en un arbol de expansion minima minimum spanning tree tienen una proporcion de aproximacion de 2 El Algoritmo de Christofides logra una proporcion de 1 5 Match Twice and Stitch MTS Kahng Reda 2004 22 es otra heuristica constructiva que realiza dos comparaciones secuenciales matchings donde el segundo macheo es ejecutado despues de eliminar todas las aristas del primer macheo retornando un conjunto de ciclos Los ciclos son unidos para producir el camino final Mejora Iterativa Editar Intercambio par a par El intercambio par a par o tecnica 2 opt involucra en cada iteracion la eliminacion de dos aristas y el reemplazo de estas con dos aristas diferentes que reconecten los fragmentos creados por la eliminacion de las aristas produciendo un camino nuevo mas corto Esto es un caso especial del metodo k opt Note que la etiqueta Lin Kernighan es un nombre erroneo para el 2 opt muchas veces utilizado Lin Kernighan es realmente el metodo mas general de k opt Heuristica k opt o heuristica Lin Kernighan Toma un recorrido dado y elimina k aristas mutuamente disjuntas Reconecta los fragmentos conformando el recorrido sin dejar ningun subcamino disjunto es decir no conectar los dos extremos de un mismo fragmento Esto en efecto simplifica las consideraciones del TSP convirtiendolo en un problema mas simple Cada extremo de un fragmento tiene 2k 2 posibilidades de ser conectado del total de 2k extremos de fragmentos disponibles los dos extremos del fragmento que se esta considerando son descartados Tal restriccion de 2k ciudades puede ser resulta con un metodo de fuerza bruta para encontrar el menor costo de reconectar los fragmentos originales La tecnica k opt es un caso especial del V opt o tecnica Variable opt El metodo mas popular del k opt es 3 opt y fue introducido por Shen Lin de Laboratorios Bell en 1965 Este es un caso especial de 3 opt donde las aristas son no disjuntas dos de las aristas son adyacentes a la otra En la practica es a menudo posible alcanzar mejoras sustanciales sobre el 2 opt sin el costo combinatorio del 3 opt general restringiendo el 3 changes a este subconjunto especial en el cual dos de las aristas eliminadas son adyacentes Este es llamado el dos y medio opt two and a half opt tipicamente cae a mitad entre el 2 opt y el 3 opt en terminos de calidad del recorrido encontrado y el tiempo para encontrarlo Heuristica V opt El metodo variable opt esta relacionado y es una generalizacion del metodo k opt Mientras el metodo k opt elimina un numero fijo k de aristas del recorrido original el metodo variable opt no fija el tamano del conjunto de aristas eliminadas En cambio este metodo aumenta el conjunto a medida que el proceso de busqueda continua El mejor metodo conocido en esta familia es el metodo Lin Kernighan Shen Lin y Brian Kernighan publicaron por primera vez este metodo en 1972 y fue la heuristica mas confiable para resolver el problema del viajante por aproximadamente dos decadas Otros avances de los metodos variable opt fueron desarrollados en Laboratorios Bell a finales de los 80s por David Johnson y su equipo de investigacion Estos metodos a veces llamados Lin Kernighan Johnson basados en el metodo Lin Kernighan anaden ideas de la Busqueda tabu y la Computacion evolutiva La tecnica basica Lin Kernighan da resultados que garantizan al menos el 3 opt Los metodos Lin Kernighan Johnson calculan un camino de Lin Kernighan y entonces perturban el camino por lo que ha sido descrito como una mutacion que elimina las ultimas cuatro aristas y reconecta el camino de una forma diferente y luego se aplica v opt al nuevo camino La mutacion es a menudo suficiente para mover el camino desde el minimo local identificado por Lin Kernighan Los metodos V opt son considerados como la heuristica mas ponderosa para el problema y es capaz de enfrentar casos especiales como el Problema del Ciclo de Hamilton y otros TSP no metricos para las cuales otras heuristicas fallan Por muchos anos Lin Kernighan Johnson ha identificado soluciones optimas para todos los TSP donde una solucion optima era conocida y ha identificado la mejor solucion para otros TSP sobre los cuales el metodo ha sido aplicado Mejoras Aleatorias Editar Los algoritmos optimizados de cadenas de Markov que usan heuristicas de busquedas locales como sub algoritmos pueden encontrar una ruta extremadamente cerca de la ruta optima para instancias de 700 a 800 ciudades EL TSP es la base para muchas heuristicas disenadas para la optimizacion combinatoria como los algoritmos geneticos el recocido simulado la Busqueda tabu la optimizacion por colonias de hormigas la Inteligencia de enjambre entre otras Optimizacion por Colonia de Hormigas Editar Articulo principal Algoritmo de la colonia de hormigas El investigador de Inteligencia artificial Marco Dorigo describio en 1997 un metodo que genera heuristicamente buenas soluciones para el TSP usando una simulacion de una colonia de hormigas llamada ACS Ant Colony System 23 El cual modela el comportamiento observado en las hormigas reales de encontrar caminos cortos entre las fuentes de comida y su nido emergio como un comportamiento la preferencia de cada hormiga de seguir el sendero de feromonas depositado por las otras hormigas ACS envia un gran numero de hormigas agentes virtuales para explorar las posibles rutas en el mapa Cada hormiga elige probabilisticamente la proxima ciudad a visitar basada en una heuristica combinando la distancia a la ciudad y la cantidad de feromonas depositadas en la arista hacia la ciudad La hormiga exploradora deposita feromonas en cada arista que ella cruce hasta que complete todo el camino En este punto la hormiga que completo el camino mas corto deposita feromonas virtuales a lo largo de toda la ruta recorrida actualizacion del camino global La cantidad de feromonas depositadas es inversamente proporcional a la longitud del camino el camino mas corto tiene mas cantidad de feromonas Casos Especiales Editar TSP metrico Editar En el TSP metrico tambien conocido como delta TSP o D TSP las distancias entre las ciudades satisfacen la Desigualdad triangular Una restriccion muy natural para el TSP es que las distancias entre las ciudades formen una Metrica que satisfagan las desigualdades triangulares que significa que la conexion desde A hasta B no sea mayor que la ruta de A a B pasando por C d A B d A C d C B displaystyle d AB leq d AC d CB Las aristas se expanden y construyen una Metrica para el conjunto de vertices Cuando las ciudades son vistas como puntos en el plano aparecen varias funciones de distancia y muchas instancias del TSP satisfacen los requerimientos de las mismas Los siguientes son ejemplos de TSP metricos para varias definiciones de las funciones de distancias En el TSP Euclidiano la distancia entre dos ciudades es la Distancia euclidiana entre los puntos correspondientes En el TSP rectilineo la distancia entre dos ciudades es la suma de las diferencias de las coordenadas x e y respectivamente Esta metrica es generalmente llamada Distancia de Manhattan En la metrica maxima la distancia entre dos puntos es el maximo de los valores absolutos de las diferencias de las coordenadas x e y Las dos ultimas metricas aparecen por ejemplo enrutando una maquina que perfora un conjunto dado de huecos en circuitos impresos PCB por sus siglas en ingles La metrica Manhattan corresponde a la maquina que ajusta a una maquina que ajusta en primer lugar la primera coordenada y luego la otra asi el tiempo de movimiento al nuevo punto es la suma de ambos movimientos La metrica maxima corresponde a una maquina que ajusta ambas coordenadas simultaneamente asi el tiempo de moverse al nuevo punto es mas despacio que los otros dos movimientos En esta definicion el TSP no permite visitar ciudades dos veces pero muchas aplicaciones no necesitan esta restriccion En tales casos una instancia simetrica no metrica puede ser reducida a una instancia con metrica Este remplaza el grafo original con un grafo completo en el cual las distancias entre ciudades d A B displaystyle d AB es reemplazada por el camino mas corto entre A displaystyle A y B displaystyle B en el grafo original La expansion del arbol de expansion minima de la red G displaystyle G is a natural es un limite inferior natural para expandir la ruta optima porque eliminando cualquier arista de la ruta optima devuelve un Camino de Hamilton el cual es un arbol de expansion en G displaystyle G En el TSP con desigualdades triangulares es posible probar en terminos de limites superiores del arbol de expansion minima y disenar un algoritmo que haga una verificacion de los limites superiores en la expansion de la ruta El primer ejemplo publicado y el mas simple es el siguiente Construir un arbol de expansion minima T displaystyle T para G displaystyle G Duplicar todas las aristas de T displaystyle T De manera que dondequiera que haya una arista de u a v adicionar una segunda arista de v a u Devolviendo un Grafo EulerianoH displaystyle H Encontrar un Circuito Euleriano C displaystyle C en H displaystyle H Claramente esta expansion es dos veces la expansion del arbol Convertir el circuito euleriano C displaystyle C de H displaystyle H en un ciclo hamiltoniano de G displaystyle G de la siguiente manera caminar a lo largo de C displaystyle C y cada vez que caiga en un vertice ya visitado salte de el y trate de ir al proximo a lo largo de C displaystyle C Es facil probar que el ultimo paso funciona Ademas gracias a la desigualdad triangular cada salto del paso 4 es en efecto un camino corto por ejemplo la longitud del ciclo no se incrementa Por lo cual para un recorrido del TSP este no es mas largo que el doble del recorrido optimo El Algoritmo de Christofides sigue un diseno similar pero combina el arbol de expansion minima con una solucion de otro problema minimo pero del macheo perfecto Esto retorna un camino del TSP que es a lo sumo 1 5 veces el optimo El algoritmo de Christofides fue una de los primeros algoritmos de aproximacion y fue en parte responsable por la imagen que se le dio a los algoritmos de aproximacion como un acercamiento practico a los problemas intratables Como un hecho importante se tiene que el termino algorithm no fue comunmente extendido a algoritmos de aproximacion hasta mas adelante el algoritmo Christofides fue inicialmente referido como la Heuristica Christofides TSP Euclidiano Editar El TSP Euclidiano o TSP planal es el TSP que utiliza la Distancia euclidiana El TSP euclidiano es en particular un caso del TSP metrico dado que las distancias en un plano cumplen la desigualdad triangular Como el TSP general el TSP Euclidiano es NP duro El problema con metrica discretizada distancia redondeada por exceso a un entero es NP completo Sin embargo con respecto a esto es mas facil que el TSP metrico general Por ejemplo el arbol de expansion minima del grafo asociado con una instancia del TSP Euclidiano es un arbol de expansion minima euclidiano y puede calcularse en un tiempo de O n log n para n Sin embargo con respecto a esto es mas facil que el TSP metrico general Por ejemplo el arbol de expansion minima del grafo asociado con una instancia del TSP Euclidiano es un arbol de expansion minima euclidiano y puede calcularse en un tiempo de 2 aproximacion simple para el TSP con desigualad triangular anterior operar mas rapidamente En general para cualquier c gt 0 donde d es el numero de dimensiones en el espacio Euclidiano existe un algoritmo polinomial que encuentra un camino de longitud a lo sumo 1 1 c el optimo para instancia geometricas del TSP se da en tiempo O n log n O c d d 1 displaystyle O left n log n O c sqrt d d 1 right este es llamado un esquema de aproximacion a tiempo polinomial PTAS por sus siglas en ingles Sanjeev Arora y Joseph S B Mitchell se adjudicaron el Premio Godel en 2010 por el descubrimiento de un PTAS para el TSP Euclidiano En la practica heuristicas con pocas garantias continuan siendo usadas TSP Asimetrico Editar En la mayoria de los casos la distancia entre dos nodos en red del TSP es la misma en ambas direcciones El caso donde la distancia de A a B no es igual que la distancia de B a A es llamado asimetrico Una aplicacion practica de un TSP asimetrico es la optimizacion de rutas usando un enrutamiento calle nivel el cual es asimetrico por calles de un solo nivel carreteras deslizantes caminos de motos etc Resolver por conversion al TSP simetrico Editar Resolver un grafo del TSP asimetrico puede ser algo complicado La siguiente es una matriz de 3 3 que contiene todos los caminos ponderados entre los nodos A B y C Una opcion es cambiar una matriz asimetrica de tamano N por una matriz simetrica de tamano 2N 24 Camino ponderado asimetrico A B CA 1 2B 6 3C 5 4Doblar el tamano cada nodo en el grafo es duplicado creando un segundo nodo fantasma Usando los nodos duplicados con pesos muy bajos como proporciona rutas baratas con enlaces hacia atras al nodo real y permiten continuar la evaluacion simetrica La matriz original de 3 3 mostrada anteriormente es visible en la parte inferior izquierda y el inverso de la original en la parte superior derecha Ambas copias de la matriz tienen sus diagonales reemplazadas por el menor costo de los caminos saltados representados por Camino ponderado simetrico A B C A B C A 6 5B 1 4C 2 3 A 1 2B 6 3C 5 4 La matriz original de 3 3 produce dos ciclos hamiltonianos un camino que visita todos los nodos una vez particularmente A B C A costo 9 y A C B A costo 12 Evaluando la version simetrica de 6 6 el mismo problema ahora produce mas caminos incluyendo A A B B C C A A B C A A A A B C A todos los costos 9 Un tema importante sobre cada nueva secuencia se forma alternando los nodos A B C y sus simetricos A B C y el enlace para saltar entre cualquier par relacionado A A es efectivamente libre Una version para el algoritmo puede usar cualquier peso para el camino A A mientras que el peso sea menor que todos los otros pesos presentes en el grafo Como el peso del camino A A es libre el valor cero puede ser usado para representar su costo si cero no esta siendo usado para otro proposito como el de designar caminos invalidos En los dos ejemplos anteriores no existen caminos entre los nodos estos son mostrados con el espacio en blanco Evaluacion Comparativa Editar Para evaluar los algoritmos del TSP TSPLIB es una libreria de instancias de ejemplos del TSP y de problemas relacionados vease la referencia externa TSPLIB Muchos de estas instancias son listas de ciudades actuales y disenos de circiutos impresos actuales Rendimiento humano en el TSP EditarEl RSP en particular la variante Euclidiana del problema atrae la atencion de los investigadores en Psicologia cognitiva Estos observan que los humanos son capaces de producir rapidamente buenas soluciones El primer ejemplar del Journal of Problem Solving es dedicado al tema del rendimiento de los humanos en el TSP Longitud del camino en el TSP para conjuntos de puntos aleatorios en un cuadrado EditarSuponiendo N puntos aleatoriamente distribuidos en un cuadrado de 1 1 con N gt gt 1 Considerar muchos de estos cuadrados Suponer que conocemos el promedio del camino mas corto por ejemplo en la solucion del TSP de cada cuadrado Limites Inferiores Editar 1 2 N displaystyle frac 1 2 sqrt N Es un limite inferior obtenido por asumir iun punto en la secuencia e i tiene como proximo vecino el ultimo en el camino 1 4 3 8 N displaystyle left frac 1 4 frac 3 8 right sqrt N Es un mejor limite inferior obtenido asumiendo que el ultimo de i s es el proximo de i s y el antiguo i s es el que le sigue al proximo i s N 2 displaystyle sqrt frac N 2 Es un aun mejor limite inferior obtenido dividiendo el camino en dos partes como antes de i y despues de i cada parte contiene N 2 puntos y luego eliminamos antes de i formando un conjunto de puntos relajado David S Johnson 25 obtuvo un limite inferior por el calculo del siguiente experimento 0 7080 N 0 522 displaystyle 0 7080 sqrt N 0 522 donde 0 522 proviene de los puntos del limite del cuadrado que contiene menos vecinos Christine L Valenzuela and Antonia J Jones 26 obtuvieron otro limite inferior con el siguiente experimento0 7078 N 0 551 displaystyle 0 7078 sqrt N 0 551 TSP de Analyst EditarEste es un problema analogo en la teoria de las medidas geometricas la cual presenta la siguiente interrogante Bajo que condiciones puede un subconjunto E del espacio Euclidiano contener en una curva rectificable esto es cuando una curva con longitud finita visita todos los puntos en E Este problema es conocido como TSP de analyst analyst s travelling salesman problem o TSP geometrico Software libres para resolver el TSP EditarNombre Licencia Lenguaje API Breve informacionConcorde Libre academico solamente ejecutable Require instalar un solucionador lineal para el subproblemas MILP DynOpt C Una solucion aproximada de la implementacion en ANSI C de un algoritmo basado en la programacion dinamica desarrollado por Balas y Simonetti LKH solamente investigativa C Una efectiva implementacion de la heuristica Lin Kernighan para TSP Euclidianos OpenOpt BSD Python Soluciones exactas y aproximadas STSP ATSP pueden manejar multigrafos restricciones problemas multiobjetivos R TSP package GPL R Infraestructura y soluciones para STSP ATSP interface de ConcordeTSP Solver and Generator GPL C Algoritmo de ramificacion y acotacionTSPGA C Solucion aproximada del STSP usando el paquete pgapack Cultura popular EditarTravelling Salesman pelicula del 2012 dirigida por Timothy Lanzone es una historia de 4 matematicos contratados por el gobierno estadounidense para resolver el mas dificil problema en la historia de la ciencia de la computacion P versus NP 27 Vease tambien EditarProblema del cartero chino Problema de los puentes de Konigsberg Problema de transporteReferencias Editar Der Handlungsreisende wie er sein soll und was er zu tun hat um Auftrage zu erhalten und eines glucklichen Erfolgs in seinen Geschaften gewiss zu sein von einem alten Commis Voyageur El viajante como debe ser y lo que deberia hacer para obtener comisiones y asegurar el feliz exito en sus negocios por una antigua ruta comercial Una discusion del temprano trabajo de Hamilton y Kirkman puede ser encontrado en Graph Theory 1736 1936 Citado y traducido al Ingles en Schrijver 2005 Original en Aleman Wir bezeichnen als Botenproblem weil diese Frage in der Praxis von jedem Postboten ubrigens auch von vielen Reisenden zu losen ist die Aufgabe fur endlich viele Punkte deren paarweise Abstande bekannt sind den kurzesten die Punkte verbindenden Weg zu finden Dieses Problem ist naturlich stets durch endlich viele Versuche losbar Regeln welche die Anzahl der Versuche unter die Anzahl der Permutationen der gegebenen Punkte herunterdrucken wurden sind nicht bekannt Die Regel man solle vom Ausgangspunkt erst zum nachstgelegenen Punkt dann zu dem diesem nachstgelegenen Punkt gehen usw liefert im allgemeinen nicht den kurzesten Weg Un tratamiento detallado de la conexion entre Menger y Whitney asi como tambien el crecimiento en el estudio de TSP puede ser encontrado en Alexander Schrijver s 2005 articulo On the history of combinatorial optimization till 1960 Handbook of Discrete Optimization K Aardal G L Nemhauser R Weismantel eds Elsevier Amsterdam 2005 pp 1 68 PS PDF a b Rego Cesar Gamboa Dorabela Glover Fred Osterman Colin 2011 Traveling salesman problem heuristics leading methods implementations and latest advances European Journal of Operational Research 211 3 427 441 MR 2774420 doi 10 1016 j ejor 2010 09 010 Behzad Arash Modarres Mohammad 2002 New Efficient Transformation of the Generalized Traveling Salesman Problem into Traveling Salesman Problem Proceedings of the 15th International Conference of Systems Engineering Las Vegas Papadimitriou C H Steiglitz K 1998 Combinatorial optimization algorithms and complexity Mineola NY Dover pp 308 309 Tucker A W 1960 On Directed Graphs and Integer Programs IBM Mathematical research Project Princeton University Dantzig George B 1963 Linear Programming and Extensions Princeton NJ PrincetonUP pp 545 7 ISBN 0 691 08000 3 sixth printing 1974 Papadimitriou 1983 Christofides 1976 Berman y Karpinski 2006 Kaplan 2004 Kosaraju 1994 Serdyukov 1984 Hassin 2000 Bellman 1960 Bellman 1962 Held y Karp 1962 Woeginger 2003 Work by David Applegate AT amp T Labs Research Robert Bixby ILOG and Rice University Vasek Chvatal Concordia University William Cook University of Waterloo and Keld Helsgaun Roskilde University is discussed on their project web page hosted by the University of Waterloo and last updated in June 2004 here 1 Johnson D S and McGeoch L A The traveling salesman problem A case study in local optimization Local search in combinatorial optimization 1997 215 310 S S Ray S Bandyopadhyay and S K Pal Genetic Operators for Combinatorial Optimization in TSP and Microarray Gene Ordering Applied Intelligence 2007 26 3 pp 183 195 A B Kahng and S Reda Match Twice and Stitch A New TSP Tour Construction Heuristic Operations Research Letters 2004 32 6 pp 499 509 http dx doi org 10 1016 j orl 2004 04 001 Marco Dorigo Ant Colonies for the Traveling Salesman Problem IRIDIA Universite Libre de Bruxelles IEEE Transactions on Evolutionary Computation 1 1 53 66 1997 http citeseer ist psu edu 86357 html Roy Jonker and Ton Volgenant Transforming asymmetric into symmetric traveling salesman problems Operations Research Letters 2 161 163 1983 doi 10 1016 0167 6377 83 90048 2 David S Johnson Christine L Valenzuela and Antonia J Jones Archivado el 25 de octubre de 2007 en Wayback Machine Geere Duncan Travelling Salesman movie considers the repercussions if P equals NP Wired Consultado el 26 de abril de 2012 Notas EditarApplegate D L Bixby R M Chvatal V Cook W J 2006 The Traveling Salesman Problem ISBN 0 691 12993 2 Arora Sanjeev 1998 Polynomial time approximation schemes for Euclidean traveling salesman and other geometric problems Journal of the ACM 45 5 753 782 MR 1668147 doi 10 1145 290179 290180 Bellman R 1960 Combinatorial Processes and Dynamic Programming en Bellman R Hall M Jr eds ed Combinatorial Analysis Proceedings of Symposia in Applied Mathematics 10 American Mathematical Society pp 217 249 Bellman R 1962 Dynamic Programming Treatment of the Travelling Salesman Problem J Assoc Comput Mach 9 61 63 doi 10 1145 321105 321111 Berman Piotr Karpinski Marek 2006 8 7 approximation algorithm for 1 2 TSP Proc 17th ACM SIAM Symposium on Discrete Algorithms SODA 06 pp 641 648 ISBN 0898716055 doi 10 1145 1109557 1109627 Plantilla ECCC Christofides N 1976 Worst case analysis of a new heuristic for the travelling salesman problem Technical Report 388 Graduate School of Industrial Administration Carnegie Mellon University Pittsburgh Hassin R Rubinstein S 2000 Better approximations for max TSP Information Processing Letters 75 4 181 186 doi 10 1016 S0020 0190 00 00097 1 Held M Karp R M 1962 A Dynamic Programming Approach to Sequencing Problems Journal of the Society for Industrial and Applied Mathematics 10 1 196 210 doi 10 1137 0110015 Kaplan H Lewenstein L Shafrir N Sviridenko M 2004 Approximation Algorithms for Asymmetric TSP by Decomposing Directed Regular Multigraphs In Proc 44th IEEE Symp on Foundations of Comput Sci pp 56 65 Kosaraju S R Park J K Stein C 1994 Long tours and short superstrings Proc 35th Ann IEEE Symp on Foundations of Comput Sci IEEE Computer Society pp 166 177 Orponen P Mannila H 1987 On approximation preserving reductions Complete problems and robust measures Technical Report C 1987 28 Department of Computer Science University of Helsinki Papadimitriou Christos H 1977 The Euclidean traveling salesman problem is NP complete Theoretical Computer Science 4 3 237 244 MR 0455550 doi 10 1016 0304 3975 77 90012 3 Papadimitriou C H Yannakakis M 1993 The traveling salesman problem with distances one and two Math Oper Res 18 1 11 doi 10 1287 moor 18 1 1 Serdyukov A I 1984 An algorithm with an estimate for the traveling salesman problem of the maximum Upravlyaemye Sistemy 25 80 86 Woeginger G J 2003 Exact Algorithms for NP Hard Problems A Survey Combinatorial Optimization Eureka You Shrink Lecture notes in computer science vol 2570 Springer pp 185 207 Bibliografia EditarAdleman Leonard 1994 Molecular Computation of Solutions To Combinatorial Problems Science 266 5187 1021 4 Bibcode 1994Sci 266 1021A PMID 7973651 doi 10 1126 science 7973651 archivado desde el original el 6 de febrero de 2005 consultado el 17 de diciembre de 2013 Arora S 1998 Polynomial time approximation schemes for Euclidean traveling salesman and other geometric problems Journal of the ACM 45 5 753 782 doi 10 1145 290179 290180 Babin Gilbert Deneault Stephanie Laportey Gilbert 2005 Improvements to the Or opt Heuristic for the Symmetric Traveling Salesman Problem Cahiers du GERAD G 2005 02 Montreal Group for Research in Decision Analysis Cook William 2011 In Pursuit of the Travelling Salesman Mathematics at the Limits of Computation Princeton University Press ISBN 978 0 691 15270 7 Cook William Espinoza Daniel Goycoolea Marcos 2007 Computing with domino parity inequalities for the TSP INFORMS Journal on Computing 19 3 356 365 doi 10 1287 ijoc 1060 0204 Cormen T H Leiserson C E Rivest R L Stein C 2001 35 2 The traveling salesman problem Introduction to Algorithms 2nd edicion MIT Press and McGraw Hill pp 1027 1033 ISBN 0 262 03293 7 Dantzig G B Fulkerson R Johnson S M 1954 Solution of a large scale traveling salesman problem Operations Research 2 4 393 410 JSTOR 166695 doi 10 1287 opre 2 4 393 Garey M R Johnson D S 1979 A2 3 ND22 24 Computers and Intractability A Guide to the Theory of NP Completeness W H Freeman pp 211 212 ISBN 0 7167 1045 5 Goldberg D E 1989 Genetic Algorithms in Search Optimization amp Machine Learning Reading Addison Wesley New York Addison Wesley Bibcode 1989gaso book G ISBN 0 201 15767 5 Gutin G Yeo A Zverovich A 2002 Traveling salesman should not be greedy domination analysis of greedy type heuristics for the TSP Discrete Applied Mathematics 117 1 3 81 86 doi 10 1016 S0166 218X 01 00195 0 Gutin G Punnen A P 2006 The Traveling Salesman Problem and Its Variations Springer ISBN 0 387 44459 9 Johnson D S McGeoch L A 1997 The Traveling Salesman Problem A Case Study in Local Optimization en Aarts E H L Lenstra J K eds Local Search in Combinatorial Optimisation John Wiley and Sons Ltd pp 215 310 Lawler E L Lenstra J K Rinnooy Kan A H G Shmoys D B 1985 The Traveling Salesman Problem A Guided Tour of Combinatorial Optimization John Wiley amp Sons ISBN 0 471 90413 9 MacGregor J N Ormerod T 1996 Human performance on the traveling salesman problem Perception amp Psychophysics 58 4 527 539 doi 10 3758 BF03213088 archivado desde el original el 29 de diciembre de 2009 consultado el 17 de diciembre de 2013 Mitchell J S B 1999 Guillotine subdivisions approximate polygonal subdivisions A simple polynomial time approximation scheme for geometric TSP k MST and related problems SIAM Journal on Computing 28 4 1298 1309 doi 10 1137 S0097539796309764 Rao S Smith W 1998 Approximating geometrical graphs via spanners and banyans Proc 30th Annual ACM Symposium on Theory of Computing pp 540 550 Rosenkrantz Daniel J Stearns Richard E Lewis Philip M II 1977 An Analysis of Several Heuristics for the Traveling Salesman Problem SIAM Journal on Computing 6 5 563 581 doi 10 1137 0206041 Vickers D Butavicius M Lee M Medvedev A 2001 Human performance on visually presented traveling salesman problems Psychological Research 65 1 34 45 PMID 11505612 doi 10 1007 s004260000031 Walshaw Chris 2000 A Multilevel Approach to the Travelling Salesman Problem CMS Press Walshaw Chris 2001 A Multilevel Lin Kernighan Helsgaun Algorithm for the Travelling Salesman Problem CMS Press Enlaces externos Editar Wikimedia Commons alberga una categoria multimedia sobre Problema del viajante Solucion al Problema del Vendedor ViajeroEn ingles Editar Traveling Salesman Problem en la Universidad de Waterloo Approximation Taxonomy of Metric TSP en la Universidad de Bonn TSPLIB en la Universidad de Heidelberg Traveling Salesman Problem by Jon McLoone at the Wolfram Demonstrations Project Source code library for the travelling salesman problem TSP solvers in R for symmetric and asymmetric TSPs Implements various insertion nearest neighbor and 2 opt heuristics and an interface to Concorde and Chained Lin Kernighan heuristics Problema del viajante en Internet Movie Database en ingles Traveling Salesman in Python and Linear Optimization IBM Developerworks with Source Code by Noah Gift Datos Q322212 Multimedia Traveling salesman problemObtenido de https es wikipedia org w index php title Problema del viajante amp oldid 136371502, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos