Problema del viajante de comercio como un programa lineal entero

Entonces, el problema del vendedor ambulante es un problema en el que un vendedor tiene que viajar por todas las ciudades de manera que la distancia total de viaje sea mínima. Puedes reescribir esto como un problema lineal entero:

Etiqueta las ciudades con los números 0 , . . . , norte y definir:

X i j = { 1 el camino va desde la ciudad  i  a la ciudad  j 0 de lo contrario

Para i = 0 , . . . , norte , dejar tu i ser una variable artificial, y finalmente tomar C i j ser la distancia de la ciudad i a la ciudad j . Entonces TSP se puede escribir como el siguiente problema de programación lineal entera:

min i = 0 norte j i , j = 0 norte C i j X i j 0 X i j 1 i , j = 0 , , norte tu i Z i = 0 , , norte i = 0 , i j norte X i j = 1 j = 0 , , norte j = 0 , j i norte X i j = 1 i = 0 , , norte tu i tu j + norte X i j norte 1 1 i j norte

No entiendo la restricción final, tu i tu j + norte X i j norte 1 , 1 i j norte . Hay una sección en wikipedia que explica que esta restricción impone que solo haya un único recorrido que cubra todas las ciudades, en lugar de múltiples recorridos inconexos que cubran todas las ciudades. También explica por qué ( ver explicación aquí ) pero no entiendo esa explicación.

¿Alguien puede explicar cómo esta restricción impone que solo haya un solo recorrido que cubra todas las ciudades?

No creo que el rango de la última restricción sea correcto. Porque eso le impide volver al nodo de origen. Creo que debería ser 2 i j norte

Respuestas (1)

Considere el caso de 4 ciudades: Albany, Boston, Charlotte y Detroit.

Por lo tanto, uno podría hacer una gira que vaya desde Albany a Boston y viceversa, así como de Charlotte a Detroit y viceversa. En este caso, cada ciudad es una llegada exactamente una vez y una salida exactamente una vez, lo que satisface las restricciones pero no es una solución real ya que no es un ciclo en el gráfico. (Por lo tanto, digamos que Albany a Boston es el paso 1, Boston a Albany es el paso 2, Charlotte a Detroit el paso 3 y Detroit a Charlotte el paso 4).

En la elección tu i = t cuando ciudad i se visita en el paso t esto haría tu 1 = 1 , tu 2 = 2 , tu 3 = 3 y tu 4 = 4 .

los 4 X i j que son uno son X 12 , X 21 , X 34 , X 43 . Ahora, considere cómo esta línea:

tu i tu j + norte X i j = ( t ) ( t + 1 ) + norte = norte 1

Si intercambiamos el i y j aquí, entonces la expresión sería t + 1 t + norte = norte + 1 lo que viola la restricción para la solución mencionada anteriormente y evita el retroceso, que es una forma de ver esta restricción en el problema.

Si bien esta puede no ser una respuesta exhaustiva, es de esperar que brinde una idea de por qué funcionaría.