El presente artículo tiene como objetivo presentar un ensayo referente al problema del agente viajero – Travel Salesman Problem (TSP por sus siglas en inglés) cuya representación ha resuelto múltiples problemas que pueden ser modelados con base en las características del algoritmo base de TSP o de sus múltiples variables.
Se presenta una introducción donde se describe el origen de TSP; en la sección de desarrollo se muestra el algoritmo base y una descripción de TSP con base en las características que han propuesto diferentes autores, y la aplicación de TSP como simulación a problemas reales con. Por último, en la conclusión se aborda el tema de TSP como un paradigma que se puede emplear en situaciones donde se involucran puntos de control (nodos) y costo entre los nodos.
Palabras clave: Problema del Agente Viajero, Problema de Optimización Combinatoria, Optimización basada en Colonia de Hormigas, Inteligencia de Enjambre, Inteligencia Artificial
The main target is to introduce an essay of the traveling salesman problem (TSP) whose structure has solved many problems that can be modeled based on base- algorithm or its multiple variables.
An introduction describes the origin of TSP, in the development section the basic algorithm and the TSP description are presented based on different viewpoints of some authors, and the TSP implementation on real problems based on simulation. Finally, in the conclusion the issue of TSP as a paradigm that can be used in situations which involve control points (nodes) and cost between nodes.
Keywords: Travel Salesman Problem (TSP), Combinatorial Optimization Problem (COP), Ant Colony Optimization (ACO), Swarm Intelligence, Artificial Intelligence.
La primera solución reportada para resolver el problema del Agente Viajero fue en 1954, cuando George Dantzig, Ray Fulkerson, y Selmer Johnson publicaron la descripción de un método de solución del PAV (Problema del Agente Viaje o sus siglas en inglés TSP – Travel Sailsman Problem) titulado “Solutions of a large scale traveling salesman problem“ (Soluciones de gran escala para el problema del agente viajero) para resolver una instancia de 49 ciudades donde un agente viajero desea visitar un conjunto de ciudades, asignándoles un costo por visitar ciudades contiguas (distancia de traslado entre dos ciudades). Para esta solución se propusieron 2 condiciones: regresar a la misma ciudad de la cual partió y no repetir ciudades con el objetivo de encontrar una ruta o un camino con el menor costo posible.
Se tiene un número de nodos (ciudades, localidades, tiendas, empresas, etc.) que deben ser visitados por una entidad (persona, agente viajero, automotor, avión, autobús, etc.), sin visitar 2 veces el mismo nodo. Si tenemos 3 nodos (a, b y c) por visitar, entonces tendríamos una función de combinaciones sin repetición c(3,2), es decir, tendríamos 6 posibles soluciones: abc, acb, bac, bca, cab, cba, para el caso de 4 nodos tendríamos 12 combinaciones, para 10 nodos tendríamos 90 combinaciones, para 100 ciudades tendríamos 9,900 combinaciones y así sucesivamente. Como ejemplo en el problema del Ulises de Homero que intenta visitar las ciudades descritas en la Odisea exactamente una vez (16 ciudades) donde existen múltiples conexiones entre las diferentes ciudades, Grötschel y Padberg (1993) llegó a la conclusión de que existen 653,837’184,000 rutas distintas para la solución de este problema.
El Problema del Agente Viajero (TSP), es considerado como un conjunto de grafos cuyas aristas son los posibles caminos que puede seguir la entidad para visitar todos los nodos (Öncan et al., 2009), y cuyo algoritmo se puede representar de la siguiente manera:
Definir el número de nodos, su posición y el costo por cada arista (i, j) donde i = ciudad 1 y j = ciudad 2
Elegir el nodo inicial i
Hacer
Si el nodo más cercano no se ha visitado
Visitar nodo j
Actualizar lista de nodos visitados
Costo_total = costo_total + costoij
Nodo i = nodo j
Hasta haber visitado todos los nodos
TSP se encuentra clasificado como Problema de optimización Combinatoria, es decir, es un problema donde intervienen cierto número de variables donde cada variable puede tener N diferentes valores y cuyo número de combinaciones es de carácter exponencial, lo que da lugar a múltiples soluciones óptimas (soluciones que se calculan en un tiempo finito) para una instancia.
TSP es un problema considerado difícil de resolver, denominándose en lenguaje computacional NP-Completo, es decir, es un problema para el que no podemos garantizar que se encontrará la mejor solución en un tiempo de cómputo razonable. Para dar solución se emplean diferentes métodos, entre los cuales, los principales se denominan heurísticas cuyo objetivo es generar soluciones de buena calidad en tiempos de cómputo mucho más pequeños (soluciones óptimas tiempo – respuesta).
Las variables que han sido empleadas por la mayoría de los investigadores que dan solución a TSP son:
Las variables que se pueden adoptar dependen de cada problema, por ejemplo:
TSP se puede emplear en cualquier situación que requiere seleccionar nodos en cierto orden que reduzca los costos:
Figura 1. Mapa de la región de Tlahuelilpan, Hidalgo
Fuente: Google maps
El Problema del Agente Viajero puede resolverse de diferentes maneras:
En la actualidad investigadores han propuesto diferentes estrategias para dar solución a TSP, de las cuales se pueden mencionar algunas técnicas empleadas:
En Fuentes-Penna and González-Ramírez (2013) se presenta una simulación del Problema del Agente Viajero (TSP por sus siglas en inglés), donde se tienen 100 ciudades que deberán ser visitadas en el menor tiempo y con el menor costo de traslado. Se asigna de manera aleatoria la distancia y el costo entre los nodos con un máximo de 10 nodos colindantes. El Algoritmo propuesto se denomina Scheduling Project Ant Colony Optimization (SPANCO) y se comparan los resultados con una solución aleatoria y con el algoritmo basado en Optimización de Colonia de Hormigas (ACO por sus siglas en inglés). En este artículo se muestra que el algoritmo SPANCO reduce el costo total y la distancia total del recorrido en un rango del 3% al 8%. La simulación se relación con el software AIMMS para modelado matemático y de optimización (AIMMS, 2013). Las áreas de aplicación de AIMMS son:
Figura 2. Simulación de TSP
Fuente: Fuentes-Penna y González-Ramírez (2013)
El problema del Agente Viajero (TSP) es un problema cuya solución ha sido estudiada desde los inicios de la Inteligencia Artificial considerando que su aplicación puede ser en cualquier área de estudio cuyos problemas reflejen una situación donde se tienen diferentes puntos a visitar con un costo considerado en el enlace entre dichos puntos (costo: recursos empleados como distancia, tiempo, monto económico, etc.). Cada autor ha propuesto soluciones para ciertas instancias de TSP, cada uno con una perspectiva diferente empleando técnicas que no son repetibles pero que, en determinado momento, se pueden emplear para dar lugar a nuevas soluciones; de las técnicas empleadas la más común es el uso de redes neuronales dada su similitud, donde cada neurona es un nodo a visitar y las relaciones entre neuronas es el vector que representa el costo.
Applegate, D., Bixby,R., Chvatal V., Cook,W. “On the solution of the Traveling Salesman Problem”. DocumentaMathematica-Extra Volume ICM III. 1998. 645-656.
Brest,J., Zerovnik,J. “A heuristic for the Asymmetric Traveling Salesman Problem”. The 6th Metaheuristics International Conference. 2005. 145-150.
Cirasella,J., Lyle,D.., McGeoch,L., Zhang,W. “The Asymmetric Traveling Salesman Problem: Algorithms, Instance Generators, and Tests”. Springer Lecture Notes in Computer Science 2153. 2000. 32-59.
Glover,F., Gutin,G., Yeo,A., Zverovich,A. “Construction Heuristics for the asymmetric TSP”. European Journal of Operational Research 129 III. 2001. 555- 568.
Öncan,T., Kuban A., Laporte, G. “A comparative analysis of several asymmetric traveling salesman problem formulations”. Computers and Operational Research. 36 Issue III. 2009. 637-654
M. Grötschel and M. Padberg, (1993). "Ulysses 2000: In Search of Optimal Solutions to Hard Combinatorial Problems," Technical Report, New York University Stern School of Business.
Fuentes-Penna Alejandro and González-Ramírez Marcos S. (2013). Meta-Heuristic Algorithm based on Ant Colony Optimization Algorithm and Project Scheduling Problem (PSP) for the Traveling Salesman Problem. Journal of Network and Innovative Computing ISSN 2160-2174 Volume 1 (2013) pp. XXX-XXX © MIR Labs, www.mirlabs.net/jnic/index.html.
Optimization Software for Mathematical Programming (2013). http://business.aimms.com/. Last visited: 15/06/2013.
Ruiz-Vanoye J.A., Díaz-Parra O. (2011). An Overview of the Theory of Instances Computational Complexity. International Journal of Combinatorial Optimization Problems and Informatics, Vol. 2, No. 2. pp. 21-27, May-Aug. ISSN: 2007-1558.
[a] Área académica: Lic. en Sistemas Computacionales