En la teoría de la complejidad computacional , el problema del viajante de comercio ( TSP ) plantea la siguiente pregunta: "Dada una lista de ciudades y las distancias entre cada par de ciudades, ¿cuál es la ruta más corta posible que visita cada ciudad exactamente una vez y regresa a la ciudad de origen?" Es un problema NP-hard en optimización combinatoria , importante en informática teórica e investigación de operaciones .
El problema del comprador viajero , el problema de enrutamiento del vehículo y el problema de la estrella en anillo [1] son tres generalizaciones del TSP.
La versión de decisión del TSP (donde dada una longitud L , la tarea es decidir si el grafo tiene un recorrido cuya longitud sea como máximo L ) pertenece a la clase de problemas NP-completos . Por lo tanto, es posible que el tiempo de ejecución en el peor de los casos para cualquier algoritmo del TSP aumente de manera superpolinómica (pero no más que exponencial ) con el número de ciudades.
El problema se formuló por primera vez en 1930 y es uno de los problemas de optimización que se han estudiado más intensamente. Se utiliza como punto de referencia para muchos métodos de optimización. Aunque el problema es computacionalmente difícil, se conocen muchas heurísticas y algoritmos exactos , de modo que algunos casos con decenas de miles de ciudades se pueden resolver por completo, e incluso los problemas con millones de ciudades se pueden aproximar con una pequeña fracción del 1%. [2]
El TSP tiene varias aplicaciones incluso en su formulación más pura, como la planificación , la logística y la fabricación de microchips . Ligeramente modificado, aparece como un subproblema en muchas áreas, como la secuenciación de ADN . En estas aplicaciones, el concepto de ciudad representa, por ejemplo, clientes, puntos de soldadura o fragmentos de ADN, y el concepto de distancia representa tiempos de viaje o costos, o una medida de similitud entre fragmentos de ADN. El TSP también aparece en astronomía, ya que los astrónomos que observan muchas fuentes quieren minimizar el tiempo empleado en mover el telescopio entre las fuentes; en tales problemas, el TSP puede integrarse dentro de un problema de control óptimo . En muchas aplicaciones, se pueden imponer restricciones adicionales, como recursos limitados o ventanas de tiempo.
Los orígenes del problema del viajante de comercio no están claros. Un manual para viajantes de comercio de 1832 menciona el problema e incluye ejemplos de viajes por Alemania y Suiza , pero no contiene ningún tratamiento matemático. [3]
El TSP fue formulado matemáticamente en el siglo XIX por el matemático irlandés William Rowan Hamilton y por el matemático británico Thomas Kirkman . El juego icosiano de Hamilton era un rompecabezas recreativo basado en encontrar un ciclo hamiltoniano . [4] La forma general del TSP parece haber sido estudiada por primera vez por matemáticos durante la década de 1930 en Viena y en Harvard , en particular por Karl Menger , quien define el problema, considera el obvio algoritmo de fuerza bruta y observa la no optimalidad de la heurística del vecino más cercano:
Llamamos problema del mensajero (ya que en la práctica esta cuestión debería ser resuelta por cada cartero, y en todo caso también por muchos viajeros) a la tarea de encontrar, para un número finito de puntos cuyas distancias por pares son conocidas, la ruta más corta que los une. Por supuesto, este problema se puede resolver mediante un número finito de ensayos. No se conocen reglas que hagan que el número de ensayos sea inferior al número de permutaciones de los puntos dados. La regla según la cual primero hay que ir desde el punto de partida al punto más cercano, luego al punto más cercano a éste, etc., en general no da la ruta más corta. [5]
Merrill M. Flood lo consideró matemáticamente por primera vez en la década de 1930 cuando buscaba resolver un problema de rutas de autobuses escolares. [6] Hassler Whitney, de la Universidad de Princeton, generó interés en el problema, al que llamó el "problema de los 48 estados". La primera publicación que utilizó la frase "problema del viajante" fue el informe de la Corporación RAND de 1949 de Julia Robinson , "Sobre el juego hamiltoniano (un problema del viajante de comercio)". [7] [8]
En los años 1950 y 1960, el problema se hizo cada vez más popular en los círculos científicos de Europa y Estados Unidos después de que la Corporación RAND en Santa Mónica ofreciera premios por los pasos para resolver el problema. [6] George Dantzig , Delbert Ray Fulkerson y Selmer M. Johnson de la Corporación RAND hicieron contribuciones notables , quienes expresaron el problema como un programa lineal entero y desarrollaron el método del plano de corte para su solución. Escribieron lo que se considera el artículo seminal sobre el tema en el que, con estos nuevos métodos, resolvieron un caso con 49 ciudades hasta la optimalidad construyendo un recorrido y demostrando que ningún otro recorrido podría ser más corto. Sin embargo, Dantzig, Fulkerson y Johnson especularon que, dada una solución casi óptima, uno podría ser capaz de encontrar la optimalidad o probar la optimalidad agregando un pequeño número de desigualdades adicionales (cortes). Utilizaron esta idea para resolver su problema inicial de 49 ciudades utilizando un modelo de cuerdas. Descubrieron que sólo necesitaban 26 cortes para llegar a una solución para su problema de 49 ciudades. Si bien este artículo no proporcionó un enfoque algorítmico para los problemas de TSP, las ideas que se encontraban en él fueron indispensables para crear posteriormente métodos de solución exacta para el TSP, aunque se necesitarían 15 años para encontrar un enfoque algorítmico para crear estos cortes. [6] Además de los métodos de plano de corte, Dantzig, Fulkerson y Johnson utilizaron algoritmos de ramificación y acotación quizás por primera vez. [6]
En 1959, Jillian Beardwood , JH Halton y John Hammersley publicaron un artículo titulado "El camino más corto a través de muchos puntos" en la revista de la Cambridge Philosophical Society . [9] El teorema de Beardwood-Halton-Hammersley proporciona una solución práctica al problema del viajante de comercio. Los autores derivaron una fórmula asintótica para determinar la longitud de la ruta más corta para un viajante de comercio que comienza en una casa u oficina y visita un número fijo de lugares antes de regresar al punto de partida.
En las décadas siguientes, el problema fue estudiado por muchos investigadores de las matemáticas , la informática , la química , la física y otras ciencias. Sin embargo, en la década de 1960 se creó un nuevo enfoque que, en lugar de buscar soluciones óptimas, produciría una solución cuya longitud está demostrablemente limitada por un múltiplo de la longitud óptima y, al hacerlo, crearía límites inferiores para el problema; estos límites inferiores se utilizarían luego con enfoques de ramificación y límite. Un método para hacer esto era crear un árbol de expansión mínimo del grafo y luego duplicar todos sus bordes, lo que produce el límite de que la longitud de un recorrido óptimo es como máximo el doble del peso de un árbol de expansión mínimo. [6]
En 1976, Christofides y Serdyukov (de forma independiente) hicieron un gran avance en esta dirección: [10] el algoritmo de Christofides-Serdyukov produce una solución que, en el peor de los casos, es como máximo 1,5 veces más larga que la solución óptima. Como el algoritmo era simple y rápido, muchos esperaban que diera paso a un método de solución casi óptima. Sin embargo, esta esperanza de mejora no se materializó de inmediato, y Christofides-Serdyukov siguió siendo el método con el mejor escenario en el peor de los casos hasta 2011, cuando se desarrolló un algoritmo de aproximación (muy) ligeramente mejorado para el subconjunto de TSP "gráficos". [11] En 2020, esta pequeña mejora se extendió al TSP completo (métrico). [12] [13]
Richard M. Karp demostró en 1972 que el problema del ciclo hamiltoniano era NP-completo , lo que implica la NP-dureza del TSP. Esto proporcionó una explicación matemática para la aparente dificultad computacional de encontrar recorridos óptimos.
Se lograron grandes avances a finales de la década de 1970 y en 1980, cuando Grötschel, Padberg, Rinaldi y otros lograron resolver con exactitud instancias con hasta 2.392 ciudades, utilizando planos de corte y ramificación y acotación .
En la década de 1990, Applegate , Bixby , Chvátal y Cook desarrollaron el programa Concorde que se ha utilizado en muchas soluciones de registros recientes. Gerhard Reinelt publicó el TSPLIB en 1991, una colección de instancias de referencia de diversa dificultad, que ha sido utilizada por muchos grupos de investigación para comparar resultados. En 2006, Cook y otros calcularon un recorrido óptimo a través de una instancia de 85.900 ciudades dada por un problema de diseño de microchip, actualmente la instancia TSPLIB resuelta más grande. Para muchas otras instancias con millones de ciudades, se pueden encontrar soluciones que están garantizadas en un 2-3% de un recorrido óptimo. [14]
El TSP se puede modelar como un gráfico ponderado no dirigido , de modo que las ciudades son los vértices del gráfico, las rutas son las aristas del gráfico y la distancia de una ruta es el peso de la arista. Es un problema de minimización que comienza y termina en un vértice especificado después de haber visitado cada uno de los otros vértices exactamente una vez. A menudo, el modelo es un gráfico completo (es decir, cada par de vértices está conectado por una arista). Si no existe una ruta entre dos ciudades, entonces agregar una arista lo suficientemente larga completará el gráfico sin afectar el recorrido óptimo.
En el TSP simétrico , la distancia entre dos ciudades es la misma en cada dirección opuesta, formando un grafo no dirigido . Esta simetría reduce a la mitad el número de posibles soluciones. En el TSP asimétrico , es posible que no existan caminos en ambas direcciones o que las distancias sean diferentes, formando un grafo dirigido . La congestión del tráfico, las calles de un solo sentido y las tarifas aéreas para ciudades con diferentes tarifas de salida y llegada son consideraciones del mundo real que podrían generar un problema de TSP en forma asimétrica.
El TSP se puede formular como un programa lineal entero . [17] [18] [19] Se conocen varias formulaciones. Dos formulaciones notables son la formulación de Miller–Tucker–Zemlin (MTZ) y la formulación de Dantzig–Fulkerson–Johnson (DFJ). La formulación DFJ es más fuerte, aunque la formulación MTZ sigue siendo útil en ciertos entornos. [20] [21]
Ambas formulaciones tienen en común que se etiquetan las ciudades con números y se toma como costo (distancia) de ciudad a ciudad . Las variables principales en las formulaciones son:
Debido a que se trata de variables 0/1, las formulaciones se convierten en programas enteros; todas las demás restricciones son puramente lineales. En particular, el objetivo del programa es minimizar la longitud del recorrido.
Sin más restricciones, la voluntad efectivamente abarcará todos los subconjuntos del conjunto de aristas, lo que está muy lejos de los conjuntos de aristas en un recorrido, y permite un mínimo trivial donde todos . Por lo tanto, ambas formulaciones también tienen las restricciones de que, en cada vértice, hay exactamente una arista entrante y una arista saliente, que pueden expresarse como las ecuaciones lineales
Estos garantizan que el conjunto de aristas elegido se parezca localmente al de un recorrido, pero aún así permiten soluciones que violan el requisito global de que exista un recorrido que visite todos los vértices, ya que las aristas elegidas podrían formar varios recorridos, cada uno de los cuales visitaría solo un subconjunto de los vértices; se podría decir que es este requisito global lo que hace que TSP sea un problema difícil. Las formulaciones MTZ y DFJ difieren en cómo expresan este requisito final como restricciones lineales.
Además de las variables mencionadas anteriormente, hay para cada una una variable ficticia que lleva un registro del orden en el que se visitan las ciudades, contando desde la ciudad ; la interpretación es que implica que se visita la ciudad antes que la ciudad. Para un recorrido determinado (codificado en valores de las variables), uno puede encontrar valores satisfactorios para las variables haciendo que sea igual al número de aristas a lo largo de ese recorrido, al ir de ciudad en ciudad [22]
Debido a que la programación lineal favorece las desigualdades no estrictas ( ) sobre las estrictas ( ), nos gustaría imponer restricciones en el sentido de que
Simplemente exigir no lograría eso, porque también exige cuándo, lo cual no es correcto. En su lugar, MTZ utiliza las restricciones lineales
donde el término constante proporciona suficiente holgura que no impone una relación entre y
La forma en que las variables luego imponen que un solo tour visite todas las ciudades es que aumentan al menos en cada paso a lo largo del tour, con una disminución permitida solo cuando el tour pasa por la ciudad. Esa restricción sería violada por cada tour que no pase por la ciudad, por lo que la única forma de satisfacerla es que el tour que pasa por la ciudad también pase por todas las demás ciudades.
La formulación MTZ de TSP es entonces el siguiente problema de programación lineal entera:
El primer conjunto de igualdades exige que se llegue a cada ciudad desde exactamente otra ciudad, y el segundo conjunto de igualdades exige que desde cada ciudad haya una salida hacia exactamente otra ciudad. La última restricción exige que haya un solo recorrido que cubra todas las ciudades, y no dos o más recorridos inconexos que solo cubran colectivamente todas las ciudades.
Etiqueta las ciudades con los números 1, ..., n y define:
Considere la distancia entre la ciudad i y la ciudad j . Entonces, TSP puede escribirse como el siguiente problema de programación lineal entera:
La última restricción de la formulación DFJ, llamada restricción de eliminación de subrecorrido , garantiza que ningún subconjunto propio Q pueda formar un subrecorrido, por lo que la solución devuelta es un único recorrido y no la unión de recorridos más pequeños. Debido a que esto conduce a un número exponencial de posibles restricciones, en la práctica se resuelve con la generación de filas . [23]
Las líneas de ataque tradicionales para los problemas NP-hard son las siguientes:
La solución más directa sería probar todas las permutaciones (combinaciones ordenadas) y ver cuál es la más barata (utilizando una búsqueda de fuerza bruta ). El tiempo de ejecución de este enfoque se encuentra dentro de un factor polinómico de , el factorial del número de ciudades, por lo que esta solución se vuelve impráctica incluso para solo 20 ciudades.
Una de las primeras aplicaciones de la programación dinámica es el algoritmo Held-Karp , que resuelve el problema en el tiempo . [24] Este límite también se alcanzó mediante Exclusión-Inclusión en un intento anterior al enfoque de programación dinámica.
Mejorar estos límites temporales parece ser difícil. Por ejemplo, no se ha determinado si existe un algoritmo exacto clásico para TSP que se ejecute en el tiempo . [25] El mejor algoritmo exacto cuántico actual para TSP, creado por Ambainis et al., se ejecuta en el tiempo . [26]
Otros enfoques incluyen:
En 2001 se encontró una solución exacta para 15.112 ciudades alemanas a partir de TSPLIB utilizando el método del plano de corte propuesto por George Dantzig , Ray Fulkerson y Selmer M. Johnson en 1954, basado en programación lineal . Los cálculos se realizaron en una red de 110 procesadores ubicados en la Universidad Rice y la Universidad de Princeton . El tiempo total de cálculo fue equivalente a 22,6 años en un solo procesador Alpha de 500 MHz . En mayo de 2004, se resolvió el problema del viajante de comercio de visitar las 24.978 ciudades de Suecia: se encontró un recorrido de aproximadamente 72.500 kilómetros de longitud y se demostró que no existe un recorrido más corto. [29] En marzo de 2005, se resolvió el problema del viajante de comercio que debía visitar los 33.810 puntos de una placa de circuitos utilizando el solucionador Concorde TSP : se encontró un recorrido de 66.048.945 unidades de longitud y se demostró que no existe un recorrido más corto. El cálculo tomó aproximadamente 15,7 años-CPU (Cook et al. 2006). En abril de 2006 se resolvió una instancia con 85.900 puntos utilizando el solucionador Concorde TSP , que tomó más de 136 años-CPU; véase Applegate et al. (2006).
Se han ideado diversos algoritmos heurísticos y de aproximación que rápidamente producen buenas soluciones, entre ellos el algoritmo de fragmentos múltiples . Los métodos modernos pueden encontrar soluciones para problemas extremadamente grandes (millones de ciudades) en un tiempo razonable que, con una alta probabilidad, están a solo un 2-3% de la solución óptima. [14]
Se reconocen varias categorías de heurísticas.
El algoritmo del vecino más cercano (NN) (un algoritmo codicioso ) permite al vendedor elegir la ciudad no visitada más cercana como su próximo movimiento. Este algoritmo produce rápidamente una ruta efectivamente corta. Para N ciudades distribuidas aleatoriamente en un plano, el algoritmo produce en promedio una ruta 25% más larga que la ruta más corta posible; [30] sin embargo, existen muchas distribuciones de ciudades especialmente organizadas que hacen que el algoritmo NN proporcione la peor ruta. [31] Esto es cierto tanto para TSP asimétricos como simétricos. [32] Rosenkrantz et al. [33] demostraron que el algoritmo NN tiene el factor de aproximación para instancias que satisfacen la desigualdad triangular. Una variación del algoritmo NN, llamada operador de fragmento más cercano (NF), que conecta un grupo (fragmento) de ciudades no visitadas más cercanas, puede encontrar rutas más cortas con iteraciones sucesivas. [34] El operador NF también se puede aplicar en una solución inicial obtenida por el algoritmo NN para una mejora adicional en un modelo elitista, donde solo se aceptan mejores soluciones.
El recorrido bitónico de un conjunto de puntos es el polígono monótono de perímetro mínimo que tiene como vértices los puntos; se puede calcular eficientemente con programación dinámica .
Otra heurística constructiva , Match Twice and Stitch (MTS), realiza dos emparejamientos secuenciales , donde el segundo emparejamiento se ejecuta después de eliminar todos los bordes del primer emparejamiento, para producir un conjunto de ciclos. Luego, los ciclos se unen para producir el recorrido final. [35]
El algoritmo de Christofides y Serdyukov sigue un esquema similar pero combina el árbol de expansión mínima con una solución de otro problema, el emparejamiento perfecto de peso mínimo . Esto da un recorrido TSP que es como máximo 1,5 veces el óptimo. Fue uno de los primeros algoritmos de aproximación y en parte responsable de llamar la atención sobre los algoritmos de aproximación como un enfoque práctico para problemas intratables . De hecho, el término "algoritmo" no se extendió comúnmente a los algoritmos de aproximación hasta más tarde; el algoritmo de Christofides inicialmente se denominó heurística de Christofides. [10]
Este algoritmo ve las cosas de manera diferente al usar un resultado de la teoría de grafos que ayuda a mejorar el límite inferior del TSP que se originó al duplicar el costo del árbol de expansión mínimo. Dado un grafo euleriano , podemos encontrar un recorrido euleriano en tiempo, [6] así que si tuviéramos un grafo euleriano con ciudades de un TSP como vértices, entonces podemos ver fácilmente que podríamos usar dicho método para encontrar un recorrido euleriano para encontrar una solución TSP. Por la desigualdad triangular , sabemos que el recorrido TSP no puede ser más largo que el recorrido euleriano, y por lo tanto tenemos un límite inferior para el TSP. Tal método se describe a continuación.
Para mejorar el límite inferior, se necesita una mejor manera de crear un grafo euleriano. Por la desigualdad triangular, el mejor grafo euleriano debe tener el mismo costo que el mejor viaje del viajante de comercio; por lo tanto, encontrar grafos eulerianos óptimos es al menos tan difícil como TSP. Una manera de hacer esto es mediante la correspondencia de peso mínimo utilizando algoritmos con una complejidad de . [6]
Para convertir un grafo en un grafo euleriano, se comienza con el árbol de expansión mínimo; todos los vértices de orden impar deben hacerse pares, por lo que se debe agregar una correspondencia para los vértices de grado impar, lo que aumenta el orden de cada vértice de grado impar en 1. [6] Esto nos deja con un grafo donde cada vértice es de orden par, que es, por lo tanto, euleriano. Adaptando el método anterior obtenemos el algoritmo de Christofides y Serdyukov:
La técnica de intercambio por pares o 2-opt implica la eliminación iterativa de dos aristas y su reemplazo por dos aristas diferentes que reconectan los fragmentos creados por la eliminación de aristas en un recorrido nuevo y más corto. De manera similar, la técnica 3-opt elimina 3 aristas y las reconecta para formar un recorrido más corto. Estos son casos especiales del método k -opt. La etiqueta Lin-Kernighan es un nombre inapropiado que se escucha a menudo para 2-opt; Lin-Kernighan es en realidad el método k -opt más general .
Para los casos euclidianos, las heurísticas 2-opt dan en promedio soluciones que son aproximadamente un 5% mejores que las producidas por el algoritmo de Christofides. Si comenzamos con una solución inicial hecha con un algoritmo voraz , entonces el número promedio de movimientos disminuye considerablemente nuevamente y es ; sin embargo, para inicios aleatorios, el número promedio de movimientos es . Si bien este es un pequeño aumento en tamaño, el número inicial de movimientos para problemas pequeños es 10 veces mayor para un inicio aleatorio en comparación con uno hecho a partir de una heurística voraz. Esto se debe a que tales heurísticas 2-opt explotan partes "malas" de una solución, como los cruces. Estos tipos de heurísticas se utilizan a menudo dentro de las heurísticas de problemas de enrutamiento de vehículos para volver a optimizar las soluciones de ruta. [30]
La heurística de Lin-Kernighan es un caso especial de la técnica V -opt o variable-opt. Implica los siguientes pasos:
El método k -opt más popular es el 3-opt, introducido por Shen Lin de Bell Labs en 1965. Un caso especial de 3-opt es aquel en el que las aristas no están disjuntas (dos de las aristas son adyacentes entre sí). En la práctica, a menudo es posible lograr una mejora sustancial con respecto al método 2-opt sin el costo combinatorio del método 3-opt general, restringiendo los 3 cambios a este subconjunto especial en el que dos de las aristas eliminadas son adyacentes. Este método, denominado dos y medio-opt, suele estar aproximadamente a medio camino entre el método 2-opt y el método 3-opt, tanto en términos de la calidad de los recorridos logrados como del tiempo necesario para lograrlos.
El método variable-opt está relacionado con el método k -opt y es una generalización del mismo. Mientras que los métodos k -opt eliminan un número fijo ( k ) de aristas del recorrido original, los métodos variable-opt no fijan el tamaño del conjunto de aristas que se eliminarán. En cambio, hacen crecer el conjunto a medida que continúa el proceso de búsqueda. El método más conocido de esta familia es el método Lin-Kernighan (mencionado anteriormente como un nombre inapropiado para 2-opt). Shen Lin y Brian Kernighan publicaron por primera vez su método en 1972, y fue la heurística más confiable para resolver problemas de vendedores ambulantes durante casi dos décadas. A fines de la década de 1980, David Johnson y su equipo de investigación desarrollaron métodos variable-opt más avanzados en Bell Labs. Estos métodos (a veces llamados Lin-Kernighan-Johnson) se basan en el método Lin-Kernighan, agregando ideas de la búsqueda tabú y la computación evolutiva . La técnica básica Lin-Kernighan brinda resultados que se garantiza que son al menos 3-opt. Los métodos Lin–Kernighan–Johnson calculan un recorrido Lin–Kernighan y luego perturban el recorrido mediante lo que se ha descrito como una mutación que elimina al menos cuatro aristas y reconecta el recorrido de una manera diferente, para luego aplicar la opción V al nuevo recorrido. La mutación suele ser suficiente para mover el recorrido desde el mínimo local identificado por Lin–Kernighan. Los métodos V -opt se consideran ampliamente las heurísticas más poderosas para el problema y pueden abordar casos especiales, como el problema del ciclo de Hamilton y otros TSP no métricos en los que otras heurísticas fallan. Durante muchos años, Lin–Kernighan–Johnson había identificado soluciones óptimas para todos los TSP en los que se conocía una solución óptima y había identificado las soluciones más conocidas para todos los demás TSP en los que se había probado el método.
Los algoritmos de cadena de Markov optimizados que utilizan subalgoritmos heurísticos de búsqueda local pueden encontrar una ruta extremadamente cercana a la ruta óptima para 700 a 800 ciudades.
TSP es una piedra de toque para muchas heurísticas generales diseñadas para la optimización combinatoria, como algoritmos genéticos , recocido simulado , búsqueda tabú , optimización de colonias de hormigas , dinámica de formación de ríos (ver inteligencia de enjambre ) y el método de entropía cruzada .
Esto comienza con un subrecorrido como la envoltura convexa y luego inserta otros vértices. [36]
El investigador de inteligencia artificial Marco Dorigo describió en 1993 un método de generación heurística de "buenas soluciones" al TSP utilizando una simulación de una colonia de hormigas llamada ACS ( ant colony system ). [37] Modela el comportamiento observado en hormigas reales para encontrar caminos cortos entre las fuentes de alimento y su nido, un comportamiento emergente resultante de la preferencia de cada hormiga de seguir feromonas de rastro depositadas por otras hormigas.
ACS envía una gran cantidad de agentes hormigas virtuales para explorar muchas rutas posibles en el mapa. Cada hormiga elige de manera probabilística la siguiente ciudad que visitará basándose en una heurística que combina la distancia a la ciudad y la cantidad de feromona virtual depositada en el borde de la ciudad. Las hormigas exploran, depositando feromona en cada borde que cruzan, hasta que todas han completado un recorrido. En este punto, la hormiga que completó el recorrido más corto deposita feromona virtual a lo largo de su ruta de recorrido completa ( actualización global del recorrido ). La cantidad de feromona depositada es inversamente proporcional a la duración del recorrido: cuanto más corto es el recorrido, más deposita.
En el sistema métrico TSP , también conocido como delta-TSP o Δ-TSP, las distancias entre ciudades satisfacen la desigualdad triangular .
Una restricción muy natural del TSP es exigir que las distancias entre ciudades formen una métrica para satisfacer la desigualdad triangular ; es decir, la conexión directa de A a B nunca es más lejana que la ruta a través del punto intermedio C :
Los bordes construyen entonces una métrica en el conjunto de vértices. Cuando las ciudades se consideran puntos en el plano, muchas funciones de distancia naturales son métricas, y muchas instancias naturales de TSP satisfacen esta restricción.
Los siguientes son algunos ejemplos de TSP métricos para diversas métricas.
Las dos últimas métricas aparecen, por ejemplo, en el enrutamiento de una máquina que perfora un conjunto determinado de agujeros en una placa de circuito impreso . La métrica Manhattan corresponde a una máquina que ajusta primero una coordenada, y luego la otra, por lo que el tiempo para moverse a un nuevo punto es la suma de ambos movimientos. La métrica máxima corresponde a una máquina que ajusta ambas coordenadas simultáneamente, por lo que el tiempo para moverse a un nuevo punto es el más lento de los dos movimientos.
En su definición, el TSP no permite que las ciudades se visiten dos veces, pero muchas aplicaciones no necesitan esta restricción. En tales casos, una instancia simétrica y no métrica se puede reducir a una métrica. Esto reemplaza el gráfico original con un gráfico completo en el que la distancia entre ciudades se reemplaza por la longitud de la ruta más corta entre A y B en el gráfico original.
Para los puntos en el plano euclidiano , la solución óptima al problema del viajante forma un polígono simple a través de todos los puntos, una poligonalización de los puntos. [38] Cualquier solución no óptima con cruces se puede convertir en una solución más corta sin cruces mediante optimizaciones locales. La distancia euclidiana obedece a la desigualdad triangular, por lo que el TSP euclidiano forma un caso especial de TSP métrico. Sin embargo, incluso cuando los puntos de entrada tienen coordenadas enteras, sus distancias generalmente toman la forma de raíces cuadradas , y la longitud de un recorrido es una suma de radicales , lo que dificulta la realización del cálculo simbólico necesario para realizar comparaciones exactas de las longitudes de diferentes recorridos.
Al igual que el TSP general, el TSP euclidiano exacto es NP-hard, pero el problema con las sumas de radicales es un obstáculo para demostrar que su versión de decisión está en NP y, por lo tanto, es NP-completa. Una versión discretizada del problema con distancias redondeadas a números enteros es NP-completa. [39] Con coordenadas racionales y la métrica euclidiana real, se sabe que el TSP euclidiano está en la Jerarquía de conteo, [40] una subclase de PSPACE. Con coordenadas reales arbitrarias, el TSP euclidiano no puede estar en tales clases, ya que hay una cantidad incontable de posibles entradas. A pesar de estas complicaciones, el TSP euclidiano es mucho más fácil que el caso de la métrica general para la aproximación. [41] Por ejemplo, el árbol de expansión mínimo del gráfico asociado con una instancia del TSP euclidiano es un árbol de expansión mínimo euclidiano y, por lo tanto, se puede calcular en un tiempo esperado de O ( n log n ) para n puntos (considerablemente menor que el número de aristas). Esto permite que el algoritmo simple de 2 aproximaciones para TSP con desigualdad triangular anterior funcione más rápidamente.
En general, para cualquier c > 0, donde d es el número de dimensiones en el espacio euclidiano, hay un algoritmo de tiempo polinomial que encuentra un recorrido de longitud como máximo (1 + 1/ c ) veces la óptima para instancias geométricas de TSP en
tiempo; esto se llama esquema de aproximación de tiempo polinomial (PTAS). [42] Sanjeev Arora y Joseph SB Mitchell fueron galardonados con el Premio Gödel en 2010 por su descubrimiento simultáneo de un PTAS para el TSP euclidiano.
En la práctica se siguen utilizando heurísticas más simples con garantías más débiles.
En la mayoría de los casos, la distancia entre dos nodos de la red TSP es la misma en ambas direcciones. El caso en el que la distancia de A a B no es igual a la distancia de B a A se denomina TSP asimétrico. Una aplicación práctica de un TSP asimétrico es la optimización de rutas mediante el uso de rutas a nivel de calle (que se vuelven asimétricas mediante calles de un solo sentido, ramales, autopistas, etc.).
Resolver un gráfico TSP asimétrico puede ser algo complejo. La siguiente es una matriz 3×3 que contiene todos los posibles pesos de ruta entre los nodos A , B y C. Una opción es convertir una matriz asimétrica de tamaño N en una matriz simétrica de tamaño 2 N. [43 ]
Para duplicar el tamaño, se duplica cada uno de los nodos del gráfico, lo que crea un segundo nodo fantasma , vinculado al nodo original con un borde "fantasma" de peso muy bajo (posiblemente negativo), aquí denotado como − w . (Alternativamente, los bordes fantasma tienen un peso de 0 y se agrega el peso w a todos los demás bordes). La matriz 3×3 original que se muestra arriba es visible en la parte inferior izquierda y la transposición del original en la parte superior derecha. Ambas copias de la matriz han tenido sus diagonales reemplazadas por las rutas de salto de bajo costo, representadas por − w . En el nuevo gráfico, ningún borde vincula directamente a los nodos originales y ningún borde vincula directamente a los nodos fantasma.
El peso − w de los bordes "fantasma" que unen los nodos fantasma con los nodos originales correspondientes debe ser lo suficientemente bajo para garantizar que todos los bordes fantasma deben pertenecer a cualquier solución TSP simétrica óptima en el nuevo gráfico ( w = 0 no siempre es lo suficientemente bajo). Como consecuencia, en el recorrido simétrico óptimo, cada nodo original aparece junto a su nodo fantasma (por ejemplo, una ruta posible es ), y al fusionar nuevamente los nodos originales y fantasma obtenemos una solución (óptima) del problema asimétrico original (en nuestro ejemplo, ).
Existe un problema análogo en la teoría de la medida geométrica que plantea la siguiente pregunta: ¿en qué condiciones puede un subconjunto E del espacio euclidiano estar contenido en una curva rectificable (es decir, cuándo existe una curva con longitud finita que visita cada punto de E )? Este problema se conoce como el problema del viajante de comercio del analista .
Supóngase que son variables aleatorias independientes con distribución uniforme en el cuadrado , y sea la longitud del camino más corto (es decir, la solución TSP) para este conjunto de puntos, de acuerdo con la distancia euclidiana habitual . Se sabe [9] que, casi con seguridad,
donde es una constante positiva que no se conoce explícitamente. Puesto que (ver más abajo), se deduce del teorema de convergencia acotada que , por lo tanto, los límites inferior y superior de se derivan de los límites de .
El límite casi seguro puede no existir si las ubicaciones independientes se reemplazan con observaciones de un proceso ergódico estacionario con marginales uniformes. [44]
donde 0,522 proviene de los puntos cercanos al límite cuadrado que tienen menos vecinos, y Christine L. Valenzuela y Antonia J. Jones obtuvieron el siguiente otro límite inferior numérico: [51]
Se ha demostrado que el problema es NP-duro (más precisamente, es completo para la clase de complejidad FP NP ; ver problema de función ), y la versión del problema de decisión ("dados los costos y un número x , decidir si hay una ruta de ida y vuelta más barata que x ") es NP-completo . El problema del viajante de comercio con cuello de botella también es NP-duro. El problema sigue siendo NP-duro incluso para el caso en que las ciudades están en el plano con distancias euclidianas , así como en varios otros casos restrictivos. Eliminar la condición de visitar cada ciudad "solo una vez" no elimina la NP-duro, ya que en el caso planar hay un recorrido óptimo que visita cada ciudad solo una vez (de lo contrario, por la desigualdad triangular , un atajo que saltea una visita repetida no aumentaría la duración del recorrido).
En el caso general, encontrar el recorrido más corto de un viajante de comercio es NPO -completo. [52] Si la medida de distancia es una métrica (y por lo tanto simétrica), el problema se vuelve APX -completo, [53] y el algoritmo de Christofides y Serdyukov lo aproxima dentro de 1,5. [54] [55] [10]
Si las distancias se limitan a 1 y 2 (pero siguen siendo una métrica), entonces la relación de aproximación se convierte en 8/7. [56] En el caso asimétrico con desigualdad triangular , en 2018, Svensson, Tarnawski y Végh desarrollaron una aproximación de factor constante. [57] Un algoritmo de Vera Traub y Jens Vygen logra una relación de rendimiento de . [58] El límite de inaproximabilidad más conocido es 75/74. [59]
El problema de maximización correspondiente de encontrar el recorrido más largo del viajante de comercio es aproximable dentro de 63/38. [60] Si la función de distancia es simétrica, entonces el recorrido más largo se puede aproximar dentro de 4/3 mediante un algoritmo determinista [61] y dentro de 4/3 mediante un algoritmo aleatorio. [62]
El TSP, en particular la variante euclidiana del problema, ha atraído la atención de los investigadores en psicología cognitiva . Se ha observado que los humanos son capaces de producir soluciones casi óptimas rápidamente, de una manera casi lineal, con un rendimiento que varía desde un 1% menos eficiente, para grafos con 10-20 nodos, hasta un 11% menos eficiente para grafos con 120 nodos. [63] [64] La aparente facilidad con la que los humanos generan con precisión soluciones casi óptimas al problema ha llevado a los investigadores a plantear la hipótesis de que los humanos utilizan una o más heurísticas, siendo las dos teorías más populares posiblemente la hipótesis de la envoltura convexa y la heurística de evitación de cruces. [65] [66] [67] Sin embargo, evidencia adicional sugiere que el rendimiento humano es bastante variado, y las diferencias individuales, así como la geometría del grafo, parecen afectar el rendimiento en la tarea. [68] [69] [70] Sin embargo, los resultados sugieren que el rendimiento de la computadora en el TSP se puede mejorar al comprender y emular los métodos utilizados por los humanos para estos problemas, [71] y también han llevado a nuevos conocimientos sobre los mecanismos del pensamiento humano. [72] El primer número del Journal of Problem Solving se dedicó al tema del rendimiento humano en el TSP, [73] y una revisión de 2011 enumeró docenas de artículos sobre el tema. [72]
Un estudio de 2011 sobre cognición animal titulado "Deja que la paloma conduzca el autobús", llamado así por el libro infantil ¡No dejes que la paloma conduzca el autobús!, examinó la cognición espacial en palomas estudiando sus patrones de vuelo entre múltiples comederos en un laboratorio en relación con el problema del viajante de comercio. En el primer experimento, se colocaron palomas en la esquina de una sala de laboratorio y se les permitió volar hasta comederos cercanos que contenían guisantes. Los investigadores descubrieron que las palomas usaban en gran medida la proximidad para determinar qué comedero elegirían a continuación. En el segundo experimento, los comederos se organizaron de tal manera que volar al comedero más cercano en cada oportunidad sería en gran medida ineficiente si las palomas necesitaran visitar todos los comederos. Los resultados del segundo experimento indican que las palomas, aunque siguen favoreciendo las soluciones basadas en la proximidad, "pueden planificar varios pasos por adelantado a lo largo de la ruta cuando las diferencias en los costos de viaje entre rutas eficientes y menos eficientes basadas en la proximidad se vuelven mayores". [74] Estos resultados son consistentes con otros experimentos realizados con no primates, que han demostrado que algunos no primates eran capaces de planificar rutas de viaje complejas. Esto sugiere que los no primates pueden poseer una capacidad cognitiva espacial relativamente sofisticada.
Cuando se le presenta una configuración espacial de fuentes de alimento, el ameboide Physarum polycephalum adapta su morfología para crear un camino eficiente entre las fuentes de alimento, lo que también puede verse como una solución aproximada al TSP. [75]
Para la evaluación comparativa de los algoritmos TSP, se mantiene TSPLIB [76] , una biblioteca de ejemplos de TSP y problemas relacionados; consulte la referencia externa de TSPLIB. Muchos de ellos son listas de ciudades reales y diseños de circuitos impresos reales .