Análisis comparativo de las aproximaciones heurísticas Ant-Q, recocido simulado y búsqueda tabú en la solución del problema del agente viajero Jair J. de la Cruz H.*, Adriana Mendoza B.* Astrid del Castillo Ch.**, Carlos D. Patemina A.*** Grupo de Investigación en Sistemas Inteligentes Resumen En los últimos años, una de las áreas de investigaci6n que ha adquirido mayor importancia ha sido la de las heurísticas basadas en varios fen6menos fisicos, biológicos y sociales de la vida diaria. En este artículo se evalúan y comparan las características de desempeño de las heurísti'cas Ant - Q (una aproximación que se deriva del comportamiento de una comunidad de hormigas), Búsqueda Tabú (fundamentada en un fen6meno social de memoria dinámica) y Recocido Simulado (una metodologÚlanáloga al proceso metalúrgico de recocido) en la solución del problema estándar del agente viajero, objetivo para el cual se implt'mentaron principios básicos y algoritmos computacionales de cada técnica y se n~solvieron algunas instancias conocidas. Palabras clave: Agentes, lista tabú, temperatura, control, optimización, parámetros. Abstrae! During the Yt~ars, one of the most important research areas has been that of heuristics based upon various physical, biological and social daily life phenomena.ln this article, the performance characteristics of some heuristics are assessed and compared to solve the standard problem of the traveler agent. These heuristícs are as follows: Ant-O heuristics (an approach derived from the behavior of an ant community), Taboo Searching (based on a social phenomenon 01dynamic memory) and SimuIated AnneaIing (a methodology similar to the metallurgic process of anneaIing). To achieve the objective, basic principIes and computer aIgorithmic for each technique were impIemented and some known instances were solved. Key words: Agents, taboo list, temperature, control, optimization, parameters ""IngenieroIndustrial, Magister en Ingeniería Industrial, Universidad del Norte **Ingeniero Industrial, Candidato a Magister en Ingeniería Industrial, Universidad del Norte """""IngenieroIndustrial, Universidad del Norte. Master of Industrial Engineering y Ph. D. en Industrial Engineering;, University of South Florida (USA). [email protected] 1. INTRODUCCIÓN Desde hace varias décadas se ha venido intensificado la formulación de una gran variedad de problemas de optimización combinatoria que requieren ser abordados con metodologías generales sin dejar de considerar explícitamente el universo de variables de decisión que cada situación involucra. Estos problemas no resultan ser tan difíciles de entender, pero sus esquemas de solución, a través de técnicas exactas, son apenas aplicables cuando el número de variables de decisión es relativamente pequeño, y en general gran parte de los problemas cotidianos no cumplen esta condición. Ante dicha realidad, muchos esfuerzos en investigación se han concentrado en desarrollar nuevas técnicas y procedimientos heurísticos, los cuales han tenido un gran auge, sin duda debido a la necesidad de disponer de herramientas que permitan resolver problemas tales como los de optimización en la clasificación NP - duros. Cabe anotar que estas técnicas no necesariamente conducen a hallar la solución óptima de un problema en tiempo polinomial, es decir, con estas metodologías pueden obtenerse muy buenas soluciones, diferentes pero cercanas a la óptima, que contribuyan a satisfacer los requerimientos del problema. Para resolver un problema de optimización es necesario tener conocimiento acerca de la formulación matemática del mismo, además de su aspecto conceptual, con el fin de estudiar la existencia de métodos (y sus procedimientos, incluso algorítmicos) que permitan encontrar buenas soluciones en tiempo polinomial y cómo han de ser implementados, si es posible. Un área de interés mediante el cual pueden analizarse la estructura y propiedades que encierran las formulaciones matemáticas de algunos problemas es la teoría de grafos, ya que ofrece un marco de referencia acertado para iniciar la construcción de un algoritmo conveniente a la situación específica que se va a abordar. Entre los problemas «intratables» que pueden ser estudiados mediante la teoría de grafos se encuentra el problema del agente viajero, cuya finalidad es determinar la trayectoria más corta que debe seguir un agente que debe visitar todas las ciudades o clientes de una red, exactamente una vez cada uno, y regresar al final de la travesía a la ciudad o cliente inicial. Como bien es conocido, el problema del agente viajero pertenece a la clase NP- duro, por lo que ampliamente se considera irresoluble en tiempo polinomial. Este artículo tiene como propósito aplicar las metodologías heurísticas Ant-Q, Búsqueda Tabú y Recocido Simulado en la solución de instancias pequeñas del problema del agente viajero, y además implementar algoritmos computacionales de estas técnicas para resolver instancias con muchas variables de decisión, lo cual permitirá encontrar soluciones que puedan ser consideradas buenas, sino las óptimas, en comparación con las conocidas en bibliografía. Finalmente, analiza 142 Ingeniería & Desarrollo. Universidad del Norte. 14: 141·157,2003 comparativamente las características de desempeño implementados, con base en los resultados obtenidos. de los algoritmos 2. EL PROBLEMA DEL AGENTE VIAJERO El problema del agente viajero es un problema estándar NP - duro, en el cual un vendedor tiene que visitar cada ciudad o cliente de un conjunto dado, exactamente una vez, partiendo de una ciudad o cliente origen y regresar a éste luego de haberlos visitado a todos. El agente vendedor debe escoger una trayectoria que minimice el costo total, que en general se define en función de la distancia recorrida.Matemáticamente, una instancia 1 ~ (G, del problema del agente viajero se define como sigue: Dado un grafo dirigido G ~ (V, E), donde IVI ~ N Y V ~ {l, 2, ..., N), Y una matriz de costos lc ij} de tamaño N x N, donde cada arco (i, j ) tiene asociado un costo c i j' encuentre una trayectoria tal que todos los arcos del grafo sean visitados exactamente una vez y el costo total sea mínimo; es decir, hallar una permutación F ( i ): V lE V de todos los vértices, existentes en exactamente un ciclo, tal que la función e) e~ N :2> ij<I>(i) i=l sea minimizada. En general, el grafo G se considera completamente conexo, pero si no lo es, la formulación matemática puede asignar valores = (o un número muy grande) a los c ij para todos los arcos (i, j) que no existan en el problema que se está modelizando. 3. ANT-Q, UNA APROXIMACIÓN DE APRENDIZAJE REFORZADO La técnica Ant-Q es un aproximación inspirada en la observación real de cómo una colonia de hormigas puede hallar la ruta más corta entre una fuente alimenticia y su nido mediante un sistema de comunicación común. Mientras van desde el alimento a su nido y viceversa, las hormigas depositan en el suelo una feromona y forma en su recorrido una pista con la sustancia. Las hormigas pueden sentirla y, cuando toman su camino, tienden a escoger las rutas marcadas con fuertes concentraciones de la pista. La feromona ayuda a las hormigas a localizar su alimento (o el nido), y también puede ser utilizada por otras para localizar sus compañeras. Análogamente, una colonia de hormigas artificiales que cooperan entre sí puede ser utilizada para encontrar una buena solución en problemas de optimización como el del agente viajero. La cooperación es la clave de la técnica Ant-Q: un conjunto de hormigas que se comunican indirectamente por estigmergia. Estigmergia es el estímulo que recibe cada hormiga por sus logros, lo que en Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157, 2003 143 Aprendizaje Reforzado se conoce como refuerzo en el aprendizaje. De allí que Ant-Q sea una aproximación basada en esta meta - heurística. En lo que respecta al problema del agente viajero, las hormigas artificiales o agentes van de una ciudad o cliente a otro según un parámetro probabilístico, y conforme se retiran de cada uno de ellos, depositan en cada arco del recorrido una feromona o señal numérica que puede ser identificada por el resto de agentes. Algunos de los autores que han estudiado las analogías algorítmicas de las hormigas son M. Dorigo, L. Gambardella y A. Colorni. 3.1. ALGORITMO COMPUTACIONAL A partir de esta sección se hará referencia a las ciudades o clientes como nodos, y a costos como distancias entre pares de nodos (ciudades o clientes), con la notación cij" Sea AQ (r, s) un valor real positivo asociado con el arco (r, s) que indica qué tan favorable sería visitar el nodo s si el agente se encuentra en este momento en el nodo r. Sea HE (r, s) un valor heurístico asociado con el arco (r, s) que provee una evaluación heurística de qué arcos son mejores (usualmente HE (r, s) = 1 / c ,,). Sea k un agente cuya tarea es completar una trayectoria que visita todos los nodos y regresa a su punto de partida, y J k (r )una lista que contiene los nodos aún no visitados por el agente k. Sea q, OOS; q OS; 1 un valor escogido aleatoriamente con probabilidad uniforme, y q o' OOS; q o OS; 1 un parámetro de selección.Un agente k situado en el nodo r irá al nodo s utilizando la siguiente regla de escogencia: s = arg máx {I AQ (r, u) I '. I HE (r, u) I ,}, si q OS; q o. U E Jk(r) de otra manera, s se selecciona aleatoriamente en función de los valores AQ (r, u) y HE (r,u), con u E J k (r ). ¡¡y ~indican la importancia relativa de los valores AQ (r,u) y HE (r, u ) en la regla respectivamente. Por otro lado, m agentes a los valores de aprendizaje, regla de escogencia que se valores se actualizan según (hormigas artificiales) son utilizadas para dar forma AQ (r, s), de modo que éstos puedan favorecer en la debe hallar buenas soluciones del problema. Estos la siguiente regla: AQ (r, s) ~ (l-a)· AQ (r, s) + a· [MQ (r, s) +"(. máxAQ (s, z)] z E Jk (s ) Donde a Y"(sonlos parámetros de aprendizaje y ~AQ (r, s) = O,excepto después de que cada agente ha completado su trayectoria, en cuyo caso MQ (r, s ) = W / L', 144 Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157, 2003 siendo W un parámetro constante y L' la longitud de la trayectoria más corta, encontrada por alguno de los agentes. El término MQ (r, s ) se conoce como refuerzo descontado. Con base en estas reglas básicas, el algoritmo Ant-Q implementado viene dado así: Paso 1. Seinicializan los valores AQ (r,s) para cada arco, AQ (r,s) = AQo;se ubican los agentes en los nadas puntos de partida y se inicializan las listas de nadas aún por visitar para cada uno de los magentes. Seutilizó AQo= 1 / (N ·longitud media de los arcos en la instancia). Paso 2. En este paso cada agente construye una trayectoria utilizando la regla de escogencia presentada arriba. A medida que cada agente k agrega un nuevo nodo a S11 trayecto actualiza también la lista Jk(r ) y un vector donde almacena elnodo visitado, Ruta k.Dado que eltérmino MQ (r,s) = O,laregla de actualización de los valores AQ (r, s ) se reduce a AQ (r, s ) ~ (1 - a) . AQ (r, s ) + a . y. máx AQ (s, z ) ] zeJk(s) Paso 3. Una vez los agentes han completado su trayectoria y regresado al nodo de partida, se calculan las distancias recorridas y se encuentra la mínima, L'. Con base en L' se computa el refuerzo descontado MQ (r, s). Los valores AQ (r, s) de los arcos (r, s) que pertenecen a la secuencia de distancia L' se actualizan con t>AQ (r, s ). En la primera iteración, la distancia mínima encontrada L' es igual a L' (como una solución inicial) y la secuencia de visita a los nadas se almacena en Ruta'. A partir de la segunda iteración, L' Y Ruta' se actualizan sólo si L' < L'. Paso 4. Si se satisface la condición de terminación, usualmente en función de un número de iteraciones, el algoritmo se detiene y L' es la menor distancia hallada, donde Ruta' es la secuencia de nadas que recorre esa mínima distancia. De cualquier otro modo, regrese al paso 2. Para ilustrar el funcionamiento del algoritmo se propone el siguiente problema pequeño de alistamiento de máquinas, para el cual debe encontrarse la secuencia de costo mínimo. Cada costo indica el tiempo requerido para alistar una máquina que va a procesar el trabajo r dado que inmediatamente antes se procesó el trabajo s. Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157,2003 145 Tabla 1 de máquina por cambio del trabajo r al trabajo s Costo de alistamiento r/s 1 2 3 1 - 19 2 24 - 25 23 3 4 21 20 25 23 4 21 - 20 22 21 - Paso 1. Se inicializan los valores AQ (r, s), AQ (r, s) = 0.000946. Se utilizarán 4 agentes ubicados inicialmente en los nadas 1, 2, 3 Y4 respectivamente. Se inicializan las listas de nadas aún por visitar para cada uno de los 4 agentes. Se escoge un número de iteraciones ( por ejemplo, 50 ) como condición de terminación. Paso 2. En este paso cada agente construye una trayectoria utilizando la regla de escogencia. Al inicio del algoritmo se asignan li = 1, ~ = 2 Y qo = 0.9. Por ejemplo, para el agente 1 al elegir el segundo nodo que debe visitar, genera q = 0.392, luego la regla de escogencia permite determinar que el nodo 2 debe ser visitado ahora, por ser el arco (1, 2 ) el de mayor valor en la función s. En cuanto a la actualización de valores AQ (r, s), por ejemplo, para el arco recorrido por el agente 1,AQ(1,2)f- [(1-0.1)·0.000946+0.1· 0.3 ·0.000946], donde los valores a = 0.1 YY= 0.3 fueron asignados al inicio del algoritmo. Los siguientes agentes a escoger nuevos nadas a visitar tendrán en cuenta que el valor de AQ (1, 2 ) ha sido actualizado. Para el agente 2, q = 0.971, luego escoge aleatoriamente el siguiente nodo que vaya a visitar, por ejemplo, el 3. Para el agente 3, q = 0.487, luego la regla de escogencia permite determinar que el nodo 1 debe ser visitado ahora. Actualiza el valor AQ (3.1). Este procedimiento es similar para los agentes restantes y se repite hasta que cada lista de nadas aún no visitados es agotada, es decir, h (r ) = 0 para todas las k. En este momento los agentes regresan a su punto de partida. Paso 3. Se calcula la distancia recorrida por cada agente. En la siguiente tabla aparecen las trayectorias seguidas por cada agente y la distancia respectiva de cada secuencia. 146 Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157, 2003 Tabla 2 Agente 1 2 3 4 Secuencia 1,2,4,3, 1 2,4, 1, 3, 2 3,1,4,2,3 4,1,2,3,4 Costo 81' 90 86 84 Note que L' = 81. Como el algoritmo se encuentra en la primera iteración, L'= 81 Y Ruta' = {l, 2, 4, 3, 1). Se computa el refuerzo descontado con W = 10 como parámetro asignado al inicio del algoritmo, MQ (r, s) = 10/ 81, Y se actualizan los valores AQ (r, s) de los arcos que pertenecen a la secuencia {l, 2, 4, 3, 1). Paso 4. Si se satisface la condición de terminación, el algoritmo se detiene. Como sólo se ha ejecutado una primera iteración, el algoritmo vuelve al paso 2. Note que al regresar al paso 2 cada agente recibe ahora la información que entre todos han reunido; en otros términos, en cada oportunidad que los agentes artificiales tienen de volver a encontrar una trayectoria mínima, ya cada uno de ellos habrá aprendido de la experiencia en el pasado, lo que en la analogía de las hormigas no es más que el rastro de feromona en el camino. Por otro lado, el parámetro q permite a las hormigas aventurarse a explorar nuevas rutas con poco o ningún conocimiento acerca de las soluciones que puedan construirse. 4. RECOCIDO SIl\.1ULADO, BASADO EN UN PROCESO METALÚRGICO La heurística Recocido Simulado se basa en el proceso metalúrgico de recocido: Cuando un metal es calentado hasta una temperatura muy elevada, sus átomos pueden moverse a altas velocidades, y si éste es enfriado muy lentamente, los átomos se arreglan en estructuras o patrones de mínima entropía, suministrando al metal mucha más resistencia que antes. En la técnica, las soluciones construidas en las primeras iteraciones de los algoritmos describen grandes perturbaciones en las variables de decisión y en la función que se va a optimizar, y a medida que un parámetro de control va ajustándose lentamente (equivalente a la disminución de temperatura), las nuevas soluciones van siendo más selectivas, íncluso admitiendo algunos empeoramientos, pero finalmente conformando una solución que puede considerarse como buena, teniendo en cuenta toda la información generada en los pasos anteriores y admitiendo sólo mejoramientos en las soluciones iniciales. Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157,2003 147 Cabe anotar que el Recocido Simulado ha sido probado con éxito en numerosos problemas de optimización, y ha demostrado gran habilidad para evitar quedar atrapado en óptimos locales. Esta metodología experimentó un gran auge en la década de los ochenta, desde 1983, año en que Kirlpatrick, Gelatt y Vecchi lo proponen como un procedimiento para obtener soluciones aproximadas a problemas de optimización como el del agente viajero. 4.1. ALGORITMO COMPUTACIONAL El algoritmo de F~ecocido Simulado implementado tiene básicamente la configuración de un procedimiento de inserción. El parámetro de control es el número de nadas incluidos en las soluciones, iniciando con un conjunto reducido en que se van insertando estratégicamente y de modo muy lento los demás nadas hasta obtener soluciones completas de la instancia. La variable objetivo en este caso no es exactamente la distancia total recorrida por el agente, ya que en soluciones intermedias, donde no se han incluido todos los nadas, no es posible calcularla. Para este inconveniente seimplementa el valor esperado de la distancia total recorrida como medida de desempeño que se va a optimizar, con la ventaja de que al poder generar soluciones completas, este valor esperado será igual al de la función objetivo. Formalmente, sea Tila temperatura inicial o número inicial de nadas, donde Ti = I [kN ] I ,con O< k < 1. Entre mayor sea la temperatura inicial o menor sea el conjunto inicial de nadas, mayor será la calidad de la solución final. Sea TI la temperatura final, T, = N. Sea f (x) el valor de la función objetivo para una solución específica x, y x*la mejor secuencia hallada, con valor objetivo f *(x). Nótese que x* es equivalente al vedar Ruta* del algoritmo Ant-Q, y similar para f *(x) YL*. Sea E (x ) el valor esperado de la función objetivo para una solución específica x. El conjunto inicial de nadas, de tamaño Ti' se selecciona mediante un procedimiento miope: Se escogen los Ti primeros nadas distintos en un vedar ordenado de todos los arcos de mayor a menor distancia. De este modo, los nadas de la solución inicial tienden a generar un valor esperado de distancia muy alto (de poca calidad) y que puede ser mejorado de manera significativa con las inserciones posteriores, similar a lo que sucede en las metodologías de búsqueda local mediante descenso máximo. En cuanto a las inserciones, existe una lista J de nadas aún no incluidos en la solución (como la lista implementada para cada agente en Ant- Q ) de la que se extrae una lista 1de candidatos que van a ser insertados. Para que un nodo de la lista J sea incluido en la lista 1 debe cumplirse que para los nadas extremos de algún arco en la secllencia de la solución corriente la suma de las distancias de los 148 Ingeniería & Desarrollo. Universidad del Norte. 14: 141~157,2003 dos arcos que se forman al insertar tal nodo en medio de los extremos sea mínima. Usualmente, los arcos que se tornan de la secuencia actual para llevar a cabo este procedimiento son aquellos que se consideran de mayor distancia dentro de la solución, y en este caso se tienen en cuenta los arcos cuya distancia se encuentra sobre el promedio de los arcos de la secuencia. Finalmente, se selecciona un nodo aleatoriamente de la lista, a partir de una distribución discreta basada en las distancias tentativas de inserción. Con base en estos procedimientos, el algoritmo de Recocido Simulado viene dado así, con la notaciÓn especificada: Paso 1. Se asigna un número determinado de nodos a la temperatura inicial, Ti' Se ordenan los arcos de mayor a menor distancia y se escogen los Ti primeros nodos de la lista. Se construye una solución inicial, x o, con los nodos seleccionados. Esta solución inicial se asigna a x, x f- Xo, yel valor esperado de la distancia total recorrida se asigna a f (x), f (x) f- E (xo)' Además, se inicializan x' f- Xo Y f' (x) f- E (xo)' Paso 2. Seasigna T i f- Ti + 1y se selecciona nuevo nodo para insertar con la política que se implementó. El nodo escogido se inserta para obtener la nueva solución x. Ahora se aplica un procedimiento de intercambios, 2-0pt, con la finalidad de reorganizar la secuencia y de tal modo que el valor esperado de la distancia total sea mínimo. Se actualiza x con la secuencia resultante y además f (x), f (x )f-E(x). Paso 3. Si se satisface la condición de terminación, T, = N, el algoritmo se detiene y se calcula la distancia de la secuencia, que viene siendo el mismo valor esperado. Esta secuencia será la mejor encontrada, x', y así mismo la distancia recorrida, f·(x). De cualquíer otro modo, regrese al paso 2. Para ilustrar el funcionamiento del algoritmo, se aplica para el mismo problema de la tabla 1. Paso 1. Se asigna Ti = 2. Los Ti primeros nodos en la lista de arcos ordenados son los extremos del mayor arco (3, 2), de longitud 25. La solución inícial Xo viene dada por la secuencia /3,2,3), cuya distancia total es 25 + 23 = 48. El valor esperado de esta secuencia viene dado por E (xo) = 48·4/2 = 96. Se inícializan x'y f ·(x). Paso 2. Seasigna Ti f- 3 Yse selecciona nuevo nodo a insertar, así: el promedio de los arcos de la secuencia actual es 24, luego el único arco base es el (3, 2) de longitud 25.LalistaJ tiene cornonodosaún por visitar el 1yel4.Siseinsertara el nodo 1 en medio de los extremos del arco base, 3 y 2, la distancia total Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157, 2003 149 tentativa del par de arcos que se forman es 21 + 19 = 40; si se insertara el nodo 4, esta distancia sería 22 + 23 = 45. La lista de candidatos contiene sólo al nodo 1, por lo tanto se escoge el nodo 1, y la nueva secuencia es (3, 1, 2, 3). Esta solución tiene distancia igual a 40 + 23 = 63 Y su valor esperado viene dado por E (x )=63·4/3=84. La siguiente tabla muestra los intercambios distancia minima en la solución intermedia: Secuencia intercambiada 1,3,2,1 Tabla 3 Distancia 3,2,1,3 2,1,3,2 posteriores total en busca de una Valor esnerado 74 74 98.67 98.67 74 98.67 Nótese que las distancias totales y esperadas son iguales en todos los casos, ya que las secuencias generadas con los intercambios corresponden a una misma secuencia. En efecto, esto sucede porque la solución sólo tiene 3 nodos, pero en problemas de mayor tamaño se podrían generar soluciones con distintos valores. Finalmente, se actualiza x con la secuencia resultante, (3, 1, 2, 3}, Y además f (x), f (x ) f- 84. * Paso 3. Como Ti Ti' el algoritmo regresa al paso 2 para insertar el último nodo en la lista], e14. Paso 2. Se asigna Ti f- 4. El promedio de los arcos de la secuencia actual es 21, luego existe un sólo arco base, el (2, 3), cuya longitud es 23. Se inserta el nodo 4 para generar la solución {3,1, 2, 4, 3). Esta solución tiene distancia igual a 40 + 20 + 21 = 81 Y su valor esperado viene dado por E (x ) = 81 . 4 / 4 = 81. La siguiente tabla muestra los intercambios Tabla 4 Distancia 90 Valor esperado 90 3,4,2,1,3 2,1,3,4,2 91 94 91 94 94 94 3, 1, 4, 2, 3 4, 1, 2, 3, 4 88 84 88 84 Secuencia intercambiada 1,3,2,4,1 3,2,1,4,3 Se actualiza x con la secuencia resultante 150 posteriores: total {3, 1, 2, 4, 3}, Y f (x) f- 81. Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157,2003 Paso 3. Como T, = TI = 4, el algoritmo termina, y la mejor solución encontrada x' es la secuencia 13,1, 2, 4, 3], de distancia f' (x) = 81. Note que quizá la mayor contribución del algoritmo a la solución final es que a medida que la temperatura disminuye lentamente, en la secuencia van quedando fijos los mejores elementos, aunque sólo sea una solución parcial, lo cual coincide con el proceso metalúrgico, ya que la secuencia última va adquiriendo la mejor estructura posible hasta solidificar, y en cada transición aumenta la oportunidad de encontrar mejores ordenamientos gracias a que las etapas de intercambio son cada vez más extensas. 5. BÚSQUEDA TABÚ ANALOGÍA CON UN FENÓMENO SOCIAL En la actualidad, la palabra "tabú» se utiliza para denotar prohibiciones sociales concebidas a partir de costumbres y que son a la vez una especie de medidas protectoras contra algo que constituye un riesgo. Por esta razón, la Búsqueda Tabú es una metodología que involucra medidas o estrategias que conducen un proceso de búsqueda de tal manera que el espacio de soluciones a un problema sea explorado evitando la optimalidad local, lo cual precisa un riesgo. No obstante, la relación más importante entre Búsqueda Tabú y el sentido original de la palabra es que, como realmente sucede, los tabúes son transmitidos de una generación a otra a través de las costumbres, y éstas no son más que un tipo de memoria social dinámica o memoria adaptativa. En la metodología, esta memoria permite a la búsqueda abordar el espacio de soluciones efectivamente, apoyada en la premisa de que una mala escogencia estratégica puede contener más información que una buena selección al azar. Este último aspecto se conoce como exploración sensitiva. En adición, aparte de algunas otras propiedades de memoria, la Búsqueda Tabú intensifica la búsqueda en aquellas regiones del espacio de soluciones que halla atractivas, en términos de calidad, explorando detenidamente las vecindades de las mejores soluciones encontradas; y en contraste, induce al procedimiento de búsqueda a explorar regiones no visitadas, como una estrategia de diversificación. Los autores que han desarrollado ampliamente la teoría y práctica de la Búsqueda Tabú son F. Glover y M. Laguna. Para el problema del agente viajero, como para otros que pueden abordarse con esta técnica, es necesario obtener primero una solución inicial con algún procedimiento convencional, y es éste el punto de partida para crear algunas vecindades en busca de mejores soluciones y con objeto de conocer el espacio de soluciones. Una vecindad puede generarse a partir de una solución mediante un intercambio, como en el algoritmo que se presenta a continuación. En lo que se refiere a la memoria adaptativa, la metodología requiere además implementar Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157,2003 151 una lista que almacene información acerca de las soluciones evaluadas y cuya longitud venga dada por un parámetro. 5.1. ALGORIlMO COMPUTAOONAL Sea f (x) la función que se va a minimizar sujeta a x E X, donde X es el conjunto de soluciones que satisfacen las restricciones formuladas para el problema del agente viajero y cada vector x contiene las variables de decisión. Cada x E X tiene asociada una vecindad N (x) e X, y cada solución x ' E N (x) se construye a partir de x mediante un movimiento. Sea m (x) una función generadora de vecindades N (x).Considere una secuencia finita {x,},1 ::;tSk, x,.! EN (x,), luego un conjunto ordenado cp = (j" jk)' (jk-I' jk-l)' ... , (jk-I.!' jk-I.')} es una lista tabú (de longitud 1) si los vectores X.y X'.I difieren en las coordenadas (~, j,).Finalmente, sea N (x. ,cp) el conjunto de soluciones x ' E N (x ,) que no pertenecen a la lista cp, donde N (x" cp) puede ser vacío dado un conjunto N (x,)no vacío. Con base en esta notación se implementa el siguiente algoritmo de Búsqueda Tabú: Paso 1. Se construye una solución inicial x o E X, mediante un algoritmo de inserción. Asigna a la lista tabú cp r 0. Un contador t r 0, y x r x o' f * (x)r f(x,,). Paso 2. Genera una vecindad N (x., cp) a partir de x, con m (x,). m (x,) consiste en hacer intercambios entre pares de nodos de la secuencia x, similar a como se mostró en Recocido Simulado. Paso 3. Se encuentra unaX.., E N (x., cp) de tal modo que f(X.., ) sea igual al menor de los f (x.. 1)' x',.! E N (x" cp). Si existe un X.., E N (x,), x '.1 E cp, tal que f (x ,.,) es menor que f * (x), x EX, entonces haga x rX.." f* (x) r f (X'.I)' Esta regla se conoce como criterio de aspiración. Paso 4.Actualice la lista tabú cp y haga t r t + 1. Si la condición de terminación se satisface, detenga el algoritmo; de cualquier otro modo, regrese al paso 2. Los movimientos que ingresan 'a la lista tabú son los inversos de los generados, es decir, m -1 (X..I)' Para ilustrar el funcionamiento del algoritmo, se aplica para el mismo problema de la tabla 1. Paso 1. Se construye una solución inicial x o E X, mediante un algoritmo de inserción, por ejemplo {l, 2, 3, 4, 1}.La lista tabú <p r 0 tiene longitud /. El contador trO, y x r Xo, f *(x ) r f (xo) = 85. Se escoge como criterio de terminación un número de iteraciones, ti' 152 Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157, 2003 Paso 2. Genera una vecindad N (x " cp) a partir de X, con m (x,), así: Tabla 5 Vecindad 2, 1, 3, 4, 3, 2, 1, 4, 4, 2, 3, 1, 1, 3, 2, 4, 1, 4, 3, 2, 2 3 4 1 1 1, 2, 4, 3, 1 Costo 94 91 88 90 91 81 Paso 3. El menorf(x,+! ),X,+! E N (x" cp ),es 81,dondex,+! = (1,2,4,3, l}. Como se satisface el criterio de aspiración, se actualiza x ~ (1,2, 4, 3, 11Yf * (x) ~81. Paso 4. Se actualiza la lista tabú, cp ~ cp + (3, 4 ) Y t ~ 1. Como la condición de terminaciÓn no se satisface, el algoritmo regresa al paso 2. Nótese que el movimiento ingresado a la lista tabú es el inverso a (4,3), que caracteriza la solución que pasa a la siguiente iteración. Paso 2. Genera una nueva vecindad N (x" cp ) a partir de x, con m (x,), El movimiento (3,4) se encuentra bloqueado actualmente por la lista tabú. Paso 3. El menor f (x,+!),x,+! E N (x,, cp) es 88, donde x,+! = (1,4,2,3,11. En el paso 41asecuencia (1,4, 2,3, 1Iregresa al paso 2, y así sucesivamente hasta que se cumple el criterio de termínación. En este mOmento, X es la mejor secuencia encontrada y tiene valor objetivo f * ( X ). Nótese que al bloquear algunos movimientos por ser clasificados como tabú, la exploración se r,educeaun más que en un procedimiento corriente de búsqueda local, además de admitir soluciones estratégicamente no tan buenas. No obstante, una manera de garantizar que en la corrida del algoritmo se encontrarán soluciones muy buenas depende en parte de la calidad de la función generadora de las vecindades, ya que ésta debe poder mejorar los atributos de desempeño de las soluciones que van siendo aceptadas por la estrategia sensitiva. En lo que respecta a la lista tabú, un parámetro de interés es su longitud. La permanencia de cierto movimiento dentro de la lista está expresada en términos de un determinado número de iteraciones /. Si la longitud l ha sido alcanzada, el último elemento de la lista, que es el más antiguo, se remueve. Si este movimiento retirado aparece de nuevo exactamente en la misma solución por la cual fue incluido en la lista, es casi seguro que el algoritmo empiece a ciclar. Por Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157, 2003 153 esta razón, la memoria adaptativa debe tener en cuenta también los aspectos de frecuencia de ingreso de un movimiento a la lista, así corno qué tan reciente sucedió dicho ingreso, así corno su remoción. 6. RESULTADOS COMPUTACIONALES EN INSTANCIAS CONOCIDAS En la siguiente tabla se presentan los resultados obtenidos con cada una de las metodologías heurísticas analizadas, resolviendo tres instancias distintas y conocidas del problema, ftv33, ry48p y kro124p, cuyas soluciones óptimas han sido previamente obtenidas mediante la técnicas de Ramificación y Acotamiento (Branch and Bound) o con búsqueda exhaustiva, y aparecen regístradas en fuentes bibliográficas. Las meta- heurísticas aparecen identificadas corno AQ, para Ant-Q, SA, para Recocido Simulado y TSpara Búsqueda Tabú. El tamaño de muestra, o número de veces que fue ejecutado cada algoritmo con cada instancia, es 10.Para cada metodología aplicada se especifican también las mejores soluciones obtenidas, la media muestral, desviación estándar y la duración media de cada algoritmo computacional (en segundos), con un procesador de 800MHz Y128 MB de memoria RAM. Tabla 6 ftv33 Nombre del problema MEl'ooou:x:;fA APUCADA Número de dientes ry48p kro124p AQ SA 1$ AQ SA 1$ AQ SA 1$ 34 34 34 48 48 48 100 100 100 Mejor conocida 1286 1286 1286 14422 14422 14422 36230 36230 36230 Mejor encontrada 1296 1318 1298 14511 14709 14608 37296 38437 37415 Error relativo 0,78% 2,49% 1,99% 1,29% 2,94% 6,09% 3,27% Media de la muestra 1312.1 1344.7 Desviación estándar 10.92 algoritmo 88,3 Duración 0.93% 0,62% 1310 14710,5 15272,3 14708,2 38967.4 39974.2 38791,8 26,09 9,94 193,73 331,83 103,13 1163.53 765,44 909,91 15,8 26,3 195,1 21,7 46,2 1134,6 263,1 243,6 Para el algoritmo implementado con Ant-Q se emplearon en cada caso N agentes, y a=O.l, p = 2, y= 0.3, qo = 90, con 350 iteraciones; para el algoritmo de Recocido Simulado se escogió corno temperatura inicial ti = 3 clientes y 350 iteraciones en el procedimiento de intercambios interno a cada nivel de temperatura; en el algoritmo de Búsqueda Tabú se tornó corno solución inícial una construida mediante inserciones, la longítud de la lista tabú 1 = 75 movírnientos y se ejecutaron 350iteraciones. Todas las técnícas fueron mejoradas adicionalmente con 75 iteraciones de intercambios 2 - OptoLos parámetros que han sido escogídos para cada una de las metodologías son los sugeridos en la bibliografía. De los resultados obtenidos puede observarse que la solución encontrada por los algoritmos implementados no coincide en ninguno de los casos con la óptima conocida, a pesar de que algunos autores sí han logrado tales valores. Esto se 154 Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157,2003 justifica porque estas aproximaciones computacionales, aunque son completas, es decir, contienen todas las pautas sugeridas en la bibliografía, no tienen en cuenta algunas características especiales corno las de memoria en el caso de Búsqueda Tabú, y que podrían ser objeto de posteriores esfuerzos investigativos y de desarrollo. Sin embargo, las mejores soluciones halladas se encuentran todas por debajo o muy cercanas del 5% del valor óptimo conocido. En el caso de AntQ, se obtuvo una diferencia relativa tan solo del 0.62% en el mejor de los casos (instancia ry48p) J' de 2.94%en el peor (instancia kro124p), aunque en el promedio la Búsqueda Tabú encontró mejores soluciones. La técnica de Recocido Simulado, tal corno se implementó, encontró algunas buenas soluciones, pero en general podría ser mejorada, por ejemplo, aplicando una estrategia de múltiples agentes cuyos puntos de partida sean distintos conjuntos de nodos ala misma temperatura. En lo referente a dispersión delas soluciones, el algoritmo Ant-Q y de Recocido Simulado son los que entregan soluciones con mayor desviación estándar, sobre todo en los problemas más grandes. Acerca del tiempo computacional, note que la Búsqueda Tabú en general es bastante rápida para la calidad de soluciones que encuentra; en cambio, Recocido Simulado suele ser rápido pero con soluciones no tan buenas corno las encontradas por las otras dos técnicas. El algoritmo Ant-Q es relativamente lento, quizá porque la estrategia de múltiples agentes tiene tamaño N. M. Dorigo YL. Gambardella sugieren utilizar 10 agentes, pero el algoritmo se ejecuta a 5.000 o más iteraciones. Al respecto, en pruebas preliminares con un número mayor deiteraciones para cada uno de los tres algoritmos implementados, se hizo notable q¡ue después de 600 iteraciones no ocurre un mejoramiento significativo en el valor objetivo. Finalmente, y <:amoventaja para las tres aproximaciones presentadas, cabe mencionar que existe un amplio número de problemas sobre los cuales pueden aplicarse y adaptarse de modo relativamente sencillo; y en estas implementaciones que fueron puestas en marcha, con muy poca experiencia, se pudo observar que pueden obtenerse en general soluciones muy buenas sin requerir grandes esfuerzos computacionales ni algorítmicos: sólo con tener en cuenta los principios generales e ideas básicas de cada teoría, y corno pudo verse además en el ejemplo resuelto con las tres técnicas, el funcionamiento de los algoritmos resulta poco complicado de entender. CONCLUSlONES Corno conclusión puede afirmarse que las estrategias implementadas de acuerdo con cada filosofía descrita permiten determinar muy buenas soluciones a las distintas instancias en que se utilizó. Para la primera, Ant-Q, la mayor desventaja es quizás el tiempo que requiere para converger a una solución de alta calidad, Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157,2003 lS5 pero en contraste con las otras dos técnicas, que son más rápidas, ofrece mejores soluciones. La ventaja de Recocido Simulado obedece más a la facilidad para implementado, aunque puede llegar a ser tan complejo como se desee con el fin de obtener soluciones más convincentes. La Búsqueda Tabú, por su parte, produce excelentes resultados en promedio y en un tiempo menor, sin embargo, implantar en los algoritmos todas las características de memoria que implica esta metodología puede no ser tan sencillo. Como pudo observarse también en los resultados obtenidos, las tres técrúcas implementadas permiten encontrar una buena solución a los problemas propuestos, pero ninguna garantizó optimalidad. No obstante, enla cotidianidad, poseer herramientas de este tipo es de enorme utilidad ante la necesidad de poder resolver un problema tan pronto como éste se presente, es decir, como los requerinúentos de soluciones son prácticamente inmediatos, es preferible sacrificar una mejor solución que pueda encontrarse en un tiempo muy extenso si puede obtenerse en este instante una muy buena alternativa. Lo mismo se puede aplicar desde el punto de vista del costo de evaluar todas las posibles soluciones. En este sentido, las técnicas aquí estudiadas pueden ser utilizadas para agilizar muchas de las decisiones del día a día. El tercer aspecto que cabe anotar es que la tecnología moderna, especialmente en el área informática, ha permitido mejoras considerables en la planeación, diseño y control de la producción, ya que son herramientas de apoyo a las técnicas heurísticas y metaheurísticas que ayudan a solucionar problemas tan complejos como la programación de las operaciones en una línea de producción o el enrutamiento de una flota de vehículos cuya capacidad es restringida, y proporcionan soluciones muy buenas y garantizan a los usuarios tomar decisiones acertadas sobre tales situaciones, así como cierta flexibilidad para adaptadas a distintos escenarios o sistemas sometidos a entornos altamente cambiantes. Referencias ASKIN,R. & SrANRIDGE, Ch., Modeling and Analysis of Manufacturing Systems. Estados Unidos: John Wiley & Sons, 1993. COLORNI, A., TRUBlAN M., RIGHINI, G. & MAffiOLI,V., Heuristics FromNature For Hard Combinatorial Optimization Problems. International Transactions in Operational Research,3, 1, 1993. DÍAZ,A., GLOVER, F. GHAZIRI, A. M., GONZÁLEZ, J. L., LAGUNA, M. MOSCATO P. & TSENG, F. T., Optimización heurística y redes neuronales en dirección de operaciones e ingeniería. España: Paraninfo, 1996. D6RIGo,M., DICARO, G. & GAMBARDELLA, L., Ant Algorithms for Discrete Optimization. Artificial Life, 5, 3, 1999. lS6 Ingeniería & Desarrollo. Universidad del Norte. 14:141-157, 2003 of Ant-Q. Proceedings of4th. International Conference on Paral/el Problem solving from Nature. Berlín, 1996. DóRIGO,M.& GAMBARDELLA, L., A study of some properties GAMBARDELLA, L. & DÓRIGOM., Ant Colonies for the Traveling Salesman Problem. BioSystems, 1997. -Ant Colony System: A Cooperative Leaming Approach to the Traveling Salesman Problem. IEEE Transactions on Evolutionary Computation, 1, 1, 1997. GAMBARDELLA, L. & DóRIGo, M., Ant-Q: A Reinforcement Leaming Approach to the Traveling Salesman Problem. Proceedings of ML - 95, 20th. International Conference on Machine Learning. Morgan Kaufrnann, 1995. GLOVER,F. & LAGUNAM., Tabú Search. Boston: KIuwer Academic Publishers, 1997. GUTIÉRREZ,M. et al., Optimización con Recocido Simulado para el problema de conjunto Independiente. URL:http://www.azc.uam.rnx/publicaciones/ enlinea2/ 3-2.htm HERTZ,A,TAILLARD,E. & DE WERRA,D., A Tutorial On Tabu Search. Département de Mathématiques, Université de MontreaI. Canada, 1997. JHONSON,D. & MCGEOCH,L., Experimental analysis of the heuristics for the Symmetric Traveling Salesman Problem, 2002. --The Traveling Salesman Problem: A case study in Local OptimiZlltion, 1995. J(¡RKPATRICK, S. GELATT,S. & VECCHI,M., Optirnization by Simulated Annealing. Science 220,4598,1983. MARTI,R, Templado Simulado. URL:http://www.uv.es/-rrnarti/templar.htrnI NILSSON,C. Heurislics for the Traveling Salesman Problem. Linkaping University, 2003. PINEDO,M. & CHAO, X., Operalions Scheduling with Applications in Manufacturing and Services. Estados Unidos: Irwin / McGraw-Hill, 1999. Ríos, D., RIos, S. & MARTÍN,J., Simulaci6n: Métodos y aplicaciones. Madrid: AIfaomega, 2000. Ríos, R & GONZÁLEZ,J., Investigación de operaciones en acción: Heurísticas para la solución del Problema del Agente Viajero. Ingenierías, 3,9,2000. SINGH,A,RANGASWAMY,B. & MEERAN,S., Job - Shop Neighborhoods and Move Evalualion Strategies, 1998. SIPPER,D. & BULFIN,R, Planeaci6n y Control de la Producci6n. Estados Unidos: McGrawHill, 1998. SUTTON,R & BARTO,A, Reinforcement Learning: An Introduction. John Wiley & Sons, 1998. Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157,2003 157