Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
EL Problema del Agente Viajero (TSP por sus siglas en ingls) o problema del viajante,
responde a la siguiente pregunta: Dada una lista de ciudades y las distancias entre cada par
de ellas, cul es la ruta ms corta posible que visita cada ciudad exactamente una vez y
regresa a la ciudad origen? Este es un problema NP-duro dentro en laoptimizacin
combinatoria, muy importante en la investigacin de operaciones y en la ciencia de la
computacin.
El problema fue formulado por primera vez en 1930 y es uno de los problemas de optimizacin
ms estudiados. Es usado como prueba para muchos mtodos de optimizacin. Aunque el
problema es computacionalmente complejo, una gran cantidad de heursticas y mtodos
exactos son conocidos, de manera que, algunas instancias desde cien hasta miles de
ciudades pueden ser resueltas.
El TSP tiene diversas aplicaciones an en su formulacin ms simple, tales como:
la planificacin, la logstica y en la fabricacin de microchips. Un poco modificado, aparece
como: un sub-problema en muchas reas, como en la secuencia de ADN. En esta aplicacin,
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 lmite de recurso o las ventanas de tiempo hacen el problema considerablemente
difcil. El TSP es un caso especial de los Problemas del Comprador Viajante (travelling
purchaser problem).
En la teora de la complejidad computacional, la versin de decisin del TSP (donde, dado un
largo L, la tarea es decidir cul grafo tiene un camino menor que L) pertenece a la clase de
los problemas NP-completos. Por tanto, es probable que en el caso peor el tiempo de
ejecucin para cualquier algoritmo que resuelva el TSP aumente de formaexponencial con
respecto al nmero de ciudades.
Historia
El origen de los problemas del agente viajero no est claro. Una gua para
agentes viajeros de 1832 menciona el problema e incluye ejemplos de viajes a
travs de Alemania y Suiza, pero no contiene un tratamiento matemtico del
mismo.
El problema del agente viajero fue definido en los aos 1800s por el
matemtico irlands W. R. Hamilton y por el matemtico britnicoThomas Kirkman.
El Juego Icosian de Hamilton fue un puzzle recreativo basado en encontrar
un ciclo de Hamilton.2 Todo parece indicar que la forma general del TSP fue
estudiada, por primera vez por matemticos en Viena y Harvard, durante los
aos 1930s. Destacndose Karl Menger, quien defini los problemas,
considerando el obvio algoritmo de fuerza bruta, y observando la no
optimalidad de la heurstica de vecinos ms cercanos:
Denotamos por Problema del Mensajero (dado que en la prctica 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 ms 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
Descripcin
Caso prctico
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 nmero de rutas a examinar en un factor
N quedando (N-1)!. Como no importa la direccin en que se desplace el viajante, el nmero de
rutas a examinar se reduce nuevamente en un factor 2. Por lo tanto, hay que considerar (N1)!/2 rutas posibles.
En la prctica, para un problema del viajante con 5 ciudades hay 12 rutas diferentes y no
necesitamos un ordenador para encontrar la mejor ruta, pero apenas aumentamos el nmero
de ciudades las posibilidades crece exponencialmente (en realidad, factorialmente):
Puede comprobarse que por cada ciudad nueva que incorporemos, el nmero de rutas se
multiplica por el factor N y crece exponencialmente (factorialmente). Por ello el problema
pertenece a la clase de problemas NP-completos.
igual 1, si
ciudad j. Entonces el modelo de programacin 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 tambin
implican que exista exactamente una salida desde la ciudad 0.) La ltima restriccin obliga
a que un solo camino cubra todas las ciudades y no dos o ms caminos disjuntos cubran
conjuntamente todas las ciudades. Para probar esto se muestra en (1) que toda solucin
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
Para probar que cada solucin factible contiene solamente una secuencia cerrada de
ciudades, es suficiente mostrar que cada sub-ruta en una solucin factible pasa a travs
de la ciudad 0 (note que las igualdades aseguran que solamente pude 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 travs de la ciudad 0,
obtenemos
Ahora, mostramos que para cada recorrido que cubre todas las ciudades, hay valores de
las variables
si
la
ciudad i es
Entonces
dado
visitada
en
el
paso t (i, t =
1,
2,...,
n).
no puede ser
se
satisfacen
las restricciones.
Encontrar los casos especiales para el problema (subproblemas) para los cuales
heursticas mejores o algoritmos exactos son posibles.