Me parece extraño que el TSP niegue la posibilidad de ciudades repetidas. El objetivo de este vendedor ambulante es ir lo más rápido posible y visitar todas las ciudades, ¿verdad? Entonces, ¿qué pasa si es más rápido viajar por una ciudad en la que ya has estado?
terminology
traveling-salesman
danmcardle
fuente
fuente
Respuestas:
No importa exactamente cómo lo defina porque es solo una forma de modelar un problema del mundo real. En TSP, solo tiene un conjunto de ciudades y el costo de viajar entre cada par de ellas. Eso no excluye la posibilidad de que, en la situación del mundo real que está modelando, la mejor ruta entre B y C podría pasar por A. Si ese fuera el caso, entonces, sí, la ruta que se modela como ABCA en TSP puede muy bien realmente implica conducir a través de A un tiempo extra en el camino de B a C, pero tales detalles se abstraen en el modelo TSP.
fuente
Estoy de acuerdo en que la restricción parece extraña, y para muchas situaciones prácticas, no es relevante. Como señaló David en su respuesta, si puede modificar el modelado usted mismo, entonces realmente no importa. Pero dada una instancia no modificable, hará una diferencia, porque el TSP general con esta restricción no es aproximable dentro de ningún factor constante, mientras que relajar la restricción de una sola visita parece hacerlo aproximable dentro del factor 2 (aunque no sea métrico ) A menos que me pierda algo, según los argumentos estándar, primero puede construir un árbol de expansión mínimo (de costo, digamos ), luego visitar este árbol con la técnica del recorrido euler. Claramente, el costo total de su recorrido es entonces (dos veces cada borde). Por contradicción, si existiera un recorrido de costo menor que2 c c cc 2c c , entonces este recorrido podría usarse para inferir un MST de costo menor que , lo cual es una contradicción.c
fuente
Dado cualquier recorrido con repeticiones, puede llegar a un recorrido más corto que no repita ninguna ciudad. Por ejemplo, considere un recorrido por la forma que visita dos veces. Puede tomar un atajo en su segunda visita a , yendo directamente de a : A A X Y ⋯ → A → ⋯ → X → Y → ⋯ .
Podría ser que el camino más corto desde a pasa a través de , pero que ya está encapsulada en el borde . Se puede pensar en una mención de no como "de paso" sino más bien "con parada en" . Solo necesita detenerse en una vez, aunque puede pasar por varias veces.Y A X → Y A A A A AX Y A X→Y A A A A A
Los algoritmos reales para TSP podrían tener este paso de "tomar atajos", por ejemplo, el algoritmo de Christofides. Vea, por ejemplo, esta descripción o esa cuenta más corta .
fuente
No hay una respuesta general a esto, excepto que "las personas no son estúpidas". Aplicarán la solución adecuada a su situación. Raramente las personas se preocupan por el problema del vendedor ambulante. Eveb en la instancia clásica, un vendedor del mundo real estaría más preocupado con el problema de maximizar sus ingresos durante un período de tiempo dado dentro de un conjunto específico de restricciones. En este caso del problema, la distancia total recorrida es solo uno de los diferentes factores que intervienen en la búsqueda de la respuesta óptima.
fuente
Si se permiten repeticiones, entonces simplemente examine todas las conexiones X -> A -> Y, y si eso es más corto que X -> Y, entonces reemplaza la longitud de X -> Y con la longitud de X -> A -> Y, y resuelve el problema resultante con el algoritmo estándar. Creo que debe repetir el proceso de reemplazo hasta que no haya cambios, porque si encuentra una conexión más corta X -> Y esto podría significar que ahora X -> Y -> Z es más corto que X -> Y.
Mantenga un registro de las conexiones que cambió, revise las conexiones en la solución, y si la solución contiene X -> Y, entonces reemplace esto con X -> A -> Y.
PD. Creo que mi idea es genial, pero por el momento no estoy muy seguro de que sea correcta. Debido a que X -> A -> Y en lugar de X -> Y no es solo un atajo, también cubre la ciudad A.
fuente