Según wikipedia, el problema del viajante de comercio (TSP) es:
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?
De acuerdo, ese es un problema genial, pero la parte de "visitar cada ciudad exactamente una vez" tiene poco sentido para mí. Si fuera un viajante de comercio, solo querría minimizar la duración (tiempo, costo, lo que sea) de mi ruta, y si visitara la misma ciudad veces lo logra (digamos, porque esa ciudad tiene una posición especialmente "central" en el gráfico), entonces que así sea. Parece tener poco sentido restringir la atención a los ciclos hamiltonianos (es decir, ciclos en los que cada vértice aparece exactamente una vez); en particular, me imagino que esta restricción simultáneamente hace que el problema sea más difícil (computacionalmente) y también menos aplicable (por ejemplo, a problemas "del mundo real").
Wikipedia continúa diciendo que:
El problema se formuló por primera vez en 1930 y es uno de los problemas de optimización más intensamente estudiados.
A la luz de mis comentarios anteriores, encuentro esto sorprendente.
Pregunta. ¿Por qué se ha estudiado tan intensamente el TSP, mientras que la variante (que me parece más natural) aparentemente ha recibido mucha menos atención?
En términos simples: ¿por qué visitar cada ciudad solo una vez?
Permítanme agregar que, según wikipedia, el problema general no incluye la suposición de que se cumple la desigualdad del triángulo; ese caso especial se llama la métrica TSP . En este caso, la restricción a los ciclos hamiltonianos es, por supuesto, inocua.
Veamos un ejemplo. Suponga que tiene cuatro ciudades, A, X, Y y Z, y A está a una distancia de cada uno de los otros, mientras que la distancia entre dos cualesquiera de X, Y, Z es . Entonces, por supuesto, una solución para TSP que comienza en A está dada por A a X a A a Y a A a Z a A; escribamos esto como AXAYAZA, que tiene una longitud y visita A varias veces.
Ahora realicemos la construcción en el comentario de Rahul. Formamos un nuevo problema con las mismas ciudades pero con la distancia entre ciudades reemplazada por la longitud del camino más corto entre las dos ciudades. Entonces, en el nuevo problema, A todavía está a distancia. de cada uno de los otros, pero la distancia entre dos cualesquiera de X, Y, Z es . Ahora se satisface la desigualdad del tirangle (aunque la configuración sigue siendo irrealizable en cualquier espacio euclidiano), y AXYZA da una solución, longitud , ninguna ciudad visitada dos veces (excepto por empezar y terminar en A).
Así que hemos tomado un problema donde la solución tiene múltiples visitas a una ciudad y lo hemos reemplazado con un problema equivalente que no las tiene. Espero que quede claro que puedes realizar esta construcción para cualquier conjunto (finito) de ciudades y distancias. Por lo tanto, siempre puede reemplazar un problema con un problema equivalente donde se cumple la desigualdad del triángulo y ninguna ciudad se visita más de una vez. Por lo tanto, no hay pérdida de generalidad al suponer que se cumple la desigualdad del triángulo y que ninguna ciudad se visita más de una vez. Es por eso que podemos restringir nuestra atención a lo que parece, pero en realidad no lo es, un caso especial.
Supongamos que hay caminos que van directamente de cada ciudad a cualquier otra ciudad. Eso hace que el problema sea lo suficientemente simple y general como para elaborar alguna teoría a su alrededor.
El camino AC es más corto que AB+BC, (piensa en el triángulo ABC), a menos que estén en línea recta. Entonces, si ya visitó B anteriormente, visitar B nuevamente es un desvío que alarga el camino total.
Tenía la misma pregunta porque estaba considerando esto como un problema gráfico donde la distancia entre dos nodos puede ser cualquier número arbitrario. Pero creo que TSP realmente significa un problema físico geométrico. Por eso, si eliges dos nodos al azar, la distancia máxima entre ellos está limitada por la desigualdad del triángulo. Pero incluso entonces esto es asumir un plano perfecto. ¿Qué pasa si tengo esta ciudad rodeada de montañas y no puedes ir a ninguna otra ciudad directamente a menos que pases días subiendo y bajando la montaña, pero tienes un pasaje que llega a otra ciudad y estás conectado con el resto del gráfico? al respecto? Dado que debe detenerse donde comenzó, tendría que visitar una ciudad dos veces para obtener la mejor solución.
En otras palabras, si no he entendido nada mal, cada ciudad se visitaría naturalmente una vez si el mapa es plano y las distancias se determinan geométricamente. Pero si las distancias no están limitadas por tales reglas, en mi opinión, cualquier cosa puede suceder en la solución óptima.
El TSP (y los problemas relacionados, como la programación de vehículos capacitados) generalmente asume que se proporciona un gráfico completo como entrada. Es posible que este no sea el caso en la vida real, pero puede convertir el gráfico inicial en un gráfico completo con algoritmos de cálculo de distancia mínima (Floyd-Warshall, etc.).
En ese caso, no hay necesidad de visitar la misma ciudad una vez. Y la función objetivo obviamente lo desalienta a visitar la misma ciudad más veces, por lo que creo que es una restricción de "pista" en lugar de estricta.
cristian blatter
Will Jagy
usuario856
Chiray
tarit goswami
duende se fue