Algoritmos de Optimización basados en Colonias de Hormigas ...

La metaheur´ıstica de Optimización basada en Colo- nias de Hormigas. Los algoritmos de Optimización basados en Colonias de Hormigas han sido formali-.
614KB Größe 53 Downloads 59 vistas
Universidad Nacional de San Luis Facultad de Ciencias F´ısico Matem´aticas y Naturales Departamento de Inform´atica Trabajo Final para alcanzar el grado de Licenciado en Ciencias de la Computaci´on

Algoritmos de Optimizaci´on basados en Colonias de Hormigas aplicados al Problema de Asignaci´on Cuadr´atica y otros problemas relacionados

Franco Luis Alejandro Arito Director: Dr. Guillermo Leguizam´on Co-Director: Dr. Marcelo Errecalde

San Luis - Argentina Abril de 2010

Agradecimientos En primer lugar quisiera agradecer profundamente a Guillermo Leguizam´on por todo lo que me ha brindado durante los ultimos 2 a˜ nos, por confiar en m´ı cuando ni siquiera yo creia en m´ı y por permitirme iniciarme en la docencia universitaria e incursionar en la investigaci´on. A mi familia por estar siempre conmigo en todo momento: a mi mam´a Silvia, mi pap´ a Jorge, mi hermana Guadalupe y mi hermano Federico. A Pamela por compartir todas mis alegrias. A la Universidad Nacional de San Luis por abrirme sus puertas, por haberme permitido cumplir el sue˜ no de estudiar Ciencias de la Computaci´ on y a la cual siento realmente mi segunda casa. A la Facultad de Ciencias F´ısico Matem´ aticas y Naturales por la Beca Est´ımulo concedida. Por u ´ltimo agradecer a los integrantes del LIDIC por tratarme como un colega m´ as cuando s´ olo era un estudiante.

i

Pr´ ologo La idea m´ as gen´erica del t´ermino heur´ıstico est´a relacionada con la tarea de resolver inteligentemente problemas reales usando el conocimiento disponible. El t´ermino heur´ıstica proviene de una palabra griega con un significado relacionado con el concepto de encontrar y se vincula a la supuesta exclamaci´ on eureka de Arqu´ımedes al descubrir su famoso principio. La concepci´ on m´ as com´ un en Inteligencia Artificial es interpretar que heur´ıstico es el calificativo apropiado para los procedimientos que, empleando conocimiento acerca de un problema y de las t´ecnicas aplicables, tratan de aportar soluciones (o acercarse a ellas) usando una cantidad de recursos razonable. En un problema de optimizaci´ on, aparte de las condiciones que deben cumplir las soluciones factibles del problema, se busca la que es ´ optima seg´ un alg´ un criterio de comparaci´ on entre ellas. A diferencia de las heur´ısticas, las metaheur´ısticas pueden ser vistas como un marco general algor´ıtmico, que puede ser aplicado a diferentes problemas de optimizaci´ on con m´ınimos cambios para ser adaptado a un problema espec´ıfico. Las metaheur´ısticas son ampliamente reconocidas como una de las mejores aproximaciones para atacar problemas de optimizaci´ on combinatoria. Entre las metaheur´ısticas se encuentra la Optimizaci´on basada en Colonias de Hormigas (ACO, del ingl´es, Ant Colony Optimization) que fue presentada por Marco Dorigo en su tesis doctoral en 1992 [18]. B´ asicamente, se trata de una t´ecnica probabil´ıstica para resolver problemas computacionalmente complejos que pueden ser reducidos a la b´ usqueda de buenos caminos en grafos. ACO se inspira directamente en el comportamiento de las colonias reales de hormigas para solucionar problemas de optimizaci´ on combinatoria. Se basan en una colonia de hormigas artificiales, esto es, agentes computacionales simples que trabajan de manera cooperativa y se comunican mediante rastros de feromona artificiales. En un experimento realizado en 1990, Deneubourg y su grupo demostr´ o que, cuando se les da la posibilidad de elegir entre dos caminos de diferente longitud que unan el nido a una fuente de alimento, una colonia de hormigas tiene una alta probabilidad de elegir colectivamente al camino m´ as corto. Deneubourg ha demostrado que este comportamiento puede explicarse a trav´es de un modelo probabil´ıstico simple en el que cada ii

hormiga decide a d´onde ir tomando decisiones aleatorias basadas en la intensidad de la feromona percibida en el suelo, la feromona es depositada por las hormigas mientras se desplazan desde el nido a la fuente de alimento y viceversa. En este trabajo se describen las bases de la metaheur´ıstica ACO, y en particular se estudia la aplicaci´on de un algoritmo perteneciente a la metaheur´ıstica ACO (MAX − MIN Ant System [69]) a un problema de optimizaci´ on combinatoria. Adem´ as, se propone una t´ecnica alternativa en la construcci´ on de soluciones en algoritmos ACO, inspirada principalmente en otra metaheur´ıstica llamada B´ usqueda Tab´ u. El problema a resolver se denomina Problema de Asignaci´ on Cuadr´ atica (QAP, por sus siglas en ingl´es, Quadratic Assignment Problem); el cual es uno de los problemas de optimizaci´ on combinatoria m´ as dif´ıciles de resolver en la pr´actica. Algunos de los motivos de la elecci´ on del mencionado problema se resumen en los siguientes puntos: El QAP es un problema de optimizaci´ on N P-duro. Es considerado uno de los problemas de optimizaci´ on m´ as dificiles ya que las instancias m´ as grandes que pueden ser resueltas hoy en d´ıa con algoritmos exactos est´an limitadas a tama˜ nos inferiores a 40. Si lo comparamos con el problema del viajante de comercio para el cual se resuelven instancias de tama˜ no 20000 o superiores. Muchos problemas pr´acticos como el cableado de tableros, disposici´on de campus y hospitales, dise˜ no de teclados, planificaci´on, procesamiento de imagenes (dise˜ no de patrones de grises), Dise˜ no Asistido por Computadora (CAD), entre otros pueden ser formulados como instancias de QAP. Distintos problemas de optimizaci´ on combinatoria N P-duros, tales como el Problema del Viajante de Comercio (TSP, del ingl´es, Traveling Salesman Problem), el problema Bin-Packing y el problema del M´ aximo Clique de un grafo, pueden ser modelados como problemas de asignaci´ on cuadr´atica. Se debe destacar, que la parte central de este trabajo son los algoritmos ACO, y no as´ı el problema a resolver. Se busc´o un problema suficientemente dif´ıcil para que tuviera sentido la aplicaci´on de los algoritmos ACO, as´ı como tambi´en que permitiera ser comparado con otros m´etodos existentes que lo resolvieran. Tambi´en ha sido de gran ayuda el hecho de que ya existieran implementaciones previas que aplicaban algoritmos ACO al mencionado problema, lo que permite incluso tener puntos de referencia en cuanto a su aplicaci´on.

Organizaci´ on del presente trabajo Cap´ıtulo 1 Introducci´ on: Presenta conceptos introductorios referentes a la tem´atica abordada que son necesarios para una mejor comprensi´ on del trabajo.

iii

Cap´ıtulo 2 El Problema de Asignaci´ on Cuadr´ atica: Se presenta el problema utilizado para evaluar la performance de los algoritmos propuestos. Cap´ıtulo 3 La metaheur´ıstica de Optimizaci´ on basada en Colonias de Hormigas : Introduce los conceptos principales de la metaheur´ıstica, tambi´en se presenta una breve rese˜ na de como surgieron estos algoritmos. Cap´ıtulo 4 Algoritmos ACO aplicados al QAP: Explica las distintas versiones de algoritmos ACO propuestos para QAP, incluyendo versiones que abordan uso de memoria externa, dentro de la cual se enmarcan los algoritmos propuestos en el presente trabajo. Cap´ıtulo 5 Experimentos y An´ alisis de Resultados: Se detalla la configuraci´ on de los experimentos a realizar y se muestra un an´ alisis estad´ıstico de los resultados obtenidos. Se comparan los distintos algoritmos propuestos y se determina cuales obtienen mejor rendimiento. Cap´ıtulo 6 Conclusiones: Se presentan las conclusiones obtenidas en base a los estudios realizados y los resultados obtenidos. Posteriormente, se presenta una posible l´ınea de investigaci´on a seguir en el futuro, como continuaci´ on de este trabajo.

iv

´Indice general 1. Introducci´ on 1.1. Optimizaci´on combinatoria . . 1.2. Metaheur´ısticas . . . . . . . . . 1.2.1. Optimizaci´on basada en 1.2.2. Algoritmos Evolutivos 1.2.3. B´ usqueda Tab´ u . . . . 1.2.4. Simulated Annealing . 1.2.5. B´ usqueda Local Iterada 1.3. Resumen . . . . . . . . . . . .

. . . . . . . . . . . . . . Colonias de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . Hormigas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. El Problema de Asignaci´ on Cuadr´ atica 2.1. Introducci´ on . . . . . . . . . . . . . . . . . . . . . . . 2.1.1. Ejemplos de problemas formulados como QAP 2.2. Complejidad del problema . . . . . . . . . . . . . . . 2.3. Estado del arte: M´etodos de resoluci´ on de QAP . . . 2.3.1. Metaheur´ısticas aplicadas al QAP . . . . . . . 2.3.2. Algoritmos exactos aplicados al QAP . . . . . 2.4. Descripci´ on de instancias de QAP a utilizar . . . . . 2.4.1. Instancias de QAPLIB . . . . . . . . . . . . . 2.4.2. Instancias de St¨ utzle y Fernandes . . . . . . . 2.5. Resumen . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . .

1 1 3 4 4 5 6 6 7

. . . . . . . . . .

8 8 9 10 12 12 13 14 14 15 16

3. La metaheur´ıstica de Optimizaci´ on basada en Colonias de Hormigas 18 3.1. De las colonias de hormigas a las hormigas artificiales . . . . . . . . . . 18 3.1.1. Las colonias de hormigas . . . . . . . . . . . . . . . . . . . . . . 18 3.1.2. Hormigas artificiales . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2. La metaheur´ıstica de Optimizaci´on basada en Colonias de Hormigas . . 23 3.2.1. Ejemplo: El Problema del Viajante de Comercio . . . . . . . . 26 3.3. Algoritmos basados en la metaheur´ıstica ACO . . . . . . . . . . . . . . 26 3.3.1. Ant System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3.2. MAX − MIN Ant System . . . . . . . . . . . . . . . . . . . . 28 3.3.3. Ant Colony System . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.4. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

v

4. Algoritmos ACO aplicados al QAP 4.1. Respecto de la aplicaci´on de ACO al QAP . . . . . . . . . . . . . . 4.2. Enfoques previos de algoritmos ACO para QAP . . . . . . . . . . 4.2.1. Ant System . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2. ANTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.3. MAX − MIN Ant System . . . . . . . . . . . . . . . . . 4.2.4. FANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3. Algoritmos ACO con uso de memoria expl´ıcita . . . . . . . . . . . 4.3.1. ACO con Memoria Externa . . . . . . . . . . . . . . . . . 4.3.2. Iterated Ants MAX − MIN Ant System . . . . . . . . . 4.3.3. Cunning Ant System . . . . . . . . . . . . . . . . . . . . . 4.4. Enfoque de memoria externa propuesto . . . . . . . . . . . . . . . 4.4.1. Uso de la memoria . . . . . . . . . . . . . . . . . . . . . . 4.4.2. Frecuencia de utilizaci´ on de la memoria . . . . . . . . . . . 4.4.3. Incorporaci´on de b´ usqueda local en el algoritmo propuesto 4.4.4. Algoritmo MAX − MIN Ant System basado en memoria 4.5. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

33 33 34 35 36 38 39 40 40 42 44 46 46 49 50 52 55

. . . . . .

56 56 57 57 57 61 66

6. Conclusiones 6.1. Resumen de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3. Trabajo Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

67 67 67 68

5. Experimentos y An´ alisis de Resultados 5.1. Instancias utilizadas . . . . . . . . . . 5.2. Descripci´ on de los experimentos . . . . 5.2.1. Entorno computacional . . . . . 5.3. Resultados . . . . . . . . . . . . . . . . 5.4. An´ alisis Estad´ıstico . . . . . . . . . . . 5.5. Resumen . . . . . . . . . . . . . . . . .

vi

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

´Indice de tablas 5.1. Comparaci´ on de valores para los par´ ametros p0 y r0 en MMAS-ff. Los mejores resultados para cada clase de instancia son indicados en negrita. 5.2. Comparaci´ on de valores para los par´ ametros p0 y r0 en MMAS-fr. Los mejores resultados para cada clase de instancia son indicados en negrita. 5.3. Comparaci´ on de valores para los par´ ametros p0 y r0 en MMAS-rf. Los mejores resultados para cada clase de instancia son indicados en negrita. 5.4. Comparaci´ on de valores para los par´ ametros p0 y r0 en MMAS-rr. Los mejores resultados para cada clase de instancia son indicados en negrita. 5.5. Resultados obtenidos de cada una de las variantes propuestas. . . . . . 5.6. Resultados obtenidos para el algoritmo MMAS tradicional . . . . . . . 5.7. Comparaci´ on de los mejores valores encontrados con los algoritmos MMASff, MMAS-fr, MMAS-rf, MMAS-rr y MMAS junto con los respectivos p-valores obtenidos de la prueba ANOVA de un factor. . . . . . . . . . .

vii

58 58 59 59 60 62

62

´Indice de figuras 3.1. Imagen del experimento real llevado a cabo por Deneubourg et al. . . . 3.2. Imagen del experimento real llevado a cabo por Goss et al. . . . . . . . 5.1. Boxplots del test de ANOVA aplicado a las seis clases de instancias. El eje y representa el porcentaje de error promedio respecto del mejor valor conocido. Sobre el eje de las x se muestran las respectivas variantes de los algoritmos incluidos el algoritmo MMAS-QAP tradicional. . . . . . 5.2. Representaci´ on gr´ afica de los resultados obtenidos con el m´etodo de Tukey. El punto medio de cada linea representa la media de los valores. . . . .

viii

19 20

64 65

Cap´ıtulo 1

Introducci´ on Este cap´ıtulo introduce conceptos y definiciones que son utilizados en el resto del trabajo final, los cuales son necesarios para una mejor comprensi´ on de los temas a tratar.

1.1.

Optimizaci´ on combinatoria

Informalmente, optimizar significa algo m´ as que mejorar; sin embargo, en el contexto cient´ıfico la optimizaci´ on es el proceso de tratar de encontrar la mejor soluci´on posible para un determinado problema. En un problema de optimizaci´ on existen diferentes soluciones, un criterio para diferenciar entre ellas y el objetivo es encontrar la mejor. Muchos problemas de optimizaci´ on de importancia te´ orica y/o pr´actica consisten en la b´ usqueda de una “mejor” configuraci´ on de un conjunto de variables para lograr ciertos objetivos. Los problemas se dividen naturalmente en dos categor´ıas: aquellos en los que las soluciones son codificadas con un valor real de las variables, y aquellos en los que las soluciones est´an codificadas con variables discretas. Entre estos u ´ltimos, encontramos una clase de problemas llamados Problemas de Optimizaci´on Combinatoria (POC). De acuerdo a [61], en los POC, se busca un objeto de un conjunto finito (o posiblemente de un conjunto infinitamente contable). Este objeto puede ser un n´ umero entero, un subconjunto de ellos, una permutaci´ on, o una estructura de grafo. Esto nos lleva a formular la definici´on de un problema de optimizaci´ on combinatoria. Definici´ on 1.1.1 Un problema de optimizaci´ on combinatoria P = (S, Ω, f ) puede ser definido por: un conjunto de variables X = {x1 , . . . , xn }; dominios de variables D1 , . . . , Dn ; un conjunto de restricciones Ω entre las variables; una funci´ on objetivo f : D1 × . . . × Dn → R+ 0 a ser minimizada (o maximizada). 1

El conjunto de todas las posibles asignaciones es: S = {s = {(x1 , v1 ), . . . , (xn , vn )}|vi ∈ Di , y s satisface Ω} Al conjunto S se lo llama espacio de b´ usqueda, ya que cada elemento del conjunto puede ser visto como una soluci´on candidata. Para resolver un POC se tiene que encontrar una soluci´on s∗ ∈ S que tenga un valor de funci´on objetivo m´ınimo, esto es, f (s∗ ) ≤ f (s) ∀s ∈ S. A una soluci´on s∗ se la llama ´optimo global de P , y al conjunto S ∗ ⊆ S se lo llama el conjunto de todas las soluciones que son ´optimos globales. Los problemas de optimizaci´ on combinatoria est´an presentes en diversos campos como la econom´ıa, el comercio, la ingenier´ıa, la industria o la medicina. Sin embargo, a menudo estos problemas son muy dif´ıciles de resolver en la pr´actica. El estudio de esta dificultad inherente para resolverlos, tiene lugar en el campo de la teor´ıa de las Ciencias de la Computaci´on, ya que muchos de ellos pertenecen a la clase de problemas N P-duros (problemas para los cuales no se conoce o tal vez no exista un algoritmo que los resuelva en tiempo polinomial [31]). En la actualidad, siguen apareciendo nuevos problemas de este tipo, lo que ha dado lugar a muchas propuestas de algoritmos para tratar de resolverlos. Las t´ecnicas existentes se pueden clasificar b´asicamente en dos, algoritmos exactos y algoritmos aproximados. Los algoritmos exactos intentan encontrar una soluci´on ´ optima y demostrar que la soluci´on obtenida es de hecho la ´optima global; estos algoritmos incluyen t´ecnicas como, por ejemplo: procesos de vuelta atr´ as (backtracking), Ramificaci´on y Acotaci´ on (branch and bound), programaci´ on din´ amica, etc. [61, 8]. Debido a que los algoritmos exactos muestran un rendimiento pobre para muchos problemas se han desarrollado m´ ultiples tipos de algoritmos aproximados que proporcionan soluciones de alta calidad (soluciones con valores de funci´on objetivo relativamente bajos, aunque no necesariamente sean ´optimas) para estos problemas combinatorios en un tiempo computacional razonable. Los algoritmos aproximados, se pueden clasificar a su vez en dos tipos principales: los algoritmos constructivos y los algoritmos de b´ usqueda local. Los primeros se basan en generar soluciones desde cero a˜ nadiendo componentes a cada soluci´on paso a paso. Un ejemplo bien conocido son las heur´ısticas de construcci´ on voraz o heur´ısticas voraces [8]. Su gran ventaja es la velocidad: normalmente son muy r´apidas y, adem´ as, a menudo devuelven soluciones razonablemente buenas. Sin embargo, no puede garantizarse que dichas soluciones sean ´ optimas con respecto a peque˜ nos cambios a nivel local. En consecuencia, una mejora t´ıpica es refinar la soluci´on obtenida por la heur´ıstica voraz utilizando b´ usqueda local. Los algoritmos de b´ usqueda local intentan repetidamente mejorar la soluci´on actual con movimientos a soluciones vecinas1 (con la esperanza de que sean mejores). El caso m´ as simple son los algoritmos de mejora iterativa: si en el vecindario de la soluci´on actual s se encuentra una soluci´on mejor s′ , ´esta, reemplaza a la soluci´on actual y se continua la b´ usqueda a partir de s′ ; si no se encuentra una 1

Estas soluciones pueden ser vistas como soluciones que est´ an “cercanas” a la soluci´ on actual, en base a alg´ un criterio.

2

soluci´on mejor en el vecindario, el algoritmo termina en un ´optimo local. La vecindad de una soluci´on se define a continuaci´ on. Definici´ on 1.1.2 Una estructura de vecindad es una funci´ on N : S → 2S que asigna a cada soluci´ on s ∈ S un conjunto de vecinos N (s) ⊆ S. Se dice que N (s) es la vecindad de la soluci´ on s. La introducci´ on de la estructura de vecindad permite definir el concepto de soluciones que son ´ optimos (m´ınimos) locales. Las soluciones que son ´optimos locales, pueden ser vistas como las “mejores” soluciones dentro de una regi´on acotada del espacio de b´ usqueda2 . Definici´ on 1.1.3 Una soluci´ on s+ es un o ´ptimo local con respecto a una estructura de + + vecindad N si ∀s ∈ N (s ) se cumple f (s ) ≤ f (s). Uno de los inconvenientes de los algoritmos de mejora iterativa es que pueden estancarse en soluciones de baja calidad (´optimos locales muy lejanos al ´optimo global). Para permitir una mejora adicional en la calidad de las soluciones, la investigaci´on en este campo en las u ´ltimas dos d´ecadas ha centrado su atenci´on en el dise˜ no de t´ecnicas de prop´ osito general para guiar a la construcci´ on de soluciones o a la b´ usqueda local en las distintas heur´ısticas. Estas t´ecnicas son conocidas como metaheur´ısticas, y se describen en la pr´oxima secci´ on.

1.2.

Metaheur´ısticas

El t´ermino metaheur´ıstica fue introducido por Glover [33], y deriva de la composici´on de dos palabras griegas. El sufijo meta significa “m´as all´ a de, en un nivel superior”, y heur´ıstica deriva del verbo heuriskein (ǫυρισκǫιν) que significa “encontrar, descubrir”. Existen muchas definiciones de metaheur´ıstica, pero en este trabajo se adopta la formulada en [60]: “Una metaheur´ıstica se define formalmente como un proceso de generaci´ on iterativo el cual gu´ıa a una heur´ıstica subordinada combinando inteligentemente diferentes conceptos para explorar y explotar el espacio de b´ usqueda, son utilizadas estrategias de aprendizaje para estructurar la informaci´ on con el objetivo de encontrar eficientemente soluciones casi o ´ptimas.” [60]. En resumen, se puede decir que las metaheur´ısticas son estrategias de alto nivel para explorar espacios de b´ usqueda usando diferentes m´etodos. Adem´ as es de gran importancia que exista un balance din´ amico entre diversificaci´ on e intensificaci´ on. El t´ermino diversificaci´on generalmente se refiere a la exploraci´ on del espacio de b´ usqueda (promover al proceso de b´ usqueda a examinar regiones no visitadas del espacio de b´ usqueda, 2

La noci´ on de “regi´ on” del espacio de b´ usqueda y de “localidad” s´ olo se puede expresar en forma difusa; y depender´ a de las caracter´ısticas del espacio de b´ usqueda, as´ı como tambi´en de la definici´ on de m´etricas en el espacio de b´ usqueda (las distancias entre soluciones).

3

para generar soluciones que difieran de manera significativa de las soluciones ya vistas), mientras que el t´ermino intensificaci´on se refiere a la explotaci´on de la experiencia de b´ usqueda acumulada (enfocar la b´ usqueda en examinar soluciones que pertenezcan a la vecindad de las mejores soluciones encontradas). Las metaheur´ısticas incorporan conceptos de muchos y diversos campos como la gen´etica, la biolog´ıa, la inteligencia artificial, las matem´ aticas, la f´ısica y la neurolog´ıa, entre otras. Algunos ejemplos de metaheur´ısticas son: Algoritmos Evolutivos [40, 5, 6], Simulated Annealing [43], B´ usqueda Tab´ u [34], B´ usqueda Local Iterativa [46], entre otras.

1.2.1.

Optimizaci´ on basada en Colonias de Hormigas

En el cap´ıtulo 3 del presente trabajo final se describe detalladamente a la metaheur´ıstica de Optimizaci´on basada en Colonias de Hormigas.

1.2.2.

Algoritmos Evolutivos

Los Algoritmos Gen´eticos son t´ecnicas que simulan la selecci´ on natural y la adaptaci´ on encontrada en la naturaleza. Trabajan con una poblaci´on de individuos, cada uno de los cuales representa una soluci´on factible a un problema dado. A cada individuo se le asigna un valor ´ o puntuaci´ on (llamado en la literatura fitness), relacionado con la bondad de dicha soluci´on. En la naturaleza esto equivaldr´ıa al grado de efectividad de un organismo para competir por determinados recursos. Cuanto mayor sea la adaptaci´ on de un individuo al problema, mayor ser´a la probabilidad de que el mismo sea seleccionado para reproducirse, combinando su material gen´etico con otro individuo seleccionado de igual forma. Esta combinaci´on producir´a nuevos individuos (descendientes de los anteriores) los cuales comparten algunas de las caracter´ısticas de sus padres. Cuanto menor sea la adaptaci´ on de un individuo, menor ser´a la probabilidad de que dicho individuo sea seleccionado para la reproducci´ on, y por tanto de que su material gen´etico se propague en sucesivas generaciones. De esta manera, a trav´es de los denominados operadores gen´eticos (selecci´ on, recom3 binaci´on y mutaci´ on ) se produce una nueva poblaci´on de posibles soluciones, la cual reemplaza a la anterior y verifica la propiedad de que contiene una mayor proporci´ on de buenas caracter´ısticas en comparaci´on con la poblaci´on anterior. As´ı, a lo largo de las generaciones las buenas caracter´ısticas se propagan a trav´es de la poblaci´on. Favoreciendo el cruce de los individuos mejor adaptados, se exploran las ´areas m´ as prometedoras del espacio de b´ usqueda. Este proceso contin´ ua hasta que se cumple alg´ un criterio de parada establecido. 3 El operador de mutaci´ on, permite modificar en forma aleatoria parte de la soluci´ on representada por un individuo.

4

1.2.3.

B´ usqueda Tab´ u

La B´ usqueda Tab´ u (BT) es una metaheur´ıstica cuya caracter´ıstica distintiva es el uso de memoria adaptativa y de estrategias especiales de resoluci´ on de problemas. Su filosof´ıa se basa en la explotaci´on de diversas estrategias inteligentes para la resoluci´ on de problemas, basadas en procedimientos de aprendizaje. El marco de memoria adaptativa de BT explota la historia del proceso de resoluci´ on del problema haciendo referencia a cuatro dimensiones principales, consistentes en la propiedad de ser reciente, en frecuencia, en calidad, y en influencia. El algoritmo de BT simple aplica b´ usqueda local con el criterio de “best-improvement” como componente b´asico y usa una memoria de corto plazo, para poder escapar de ´optimos locales y evitar ciclos en la b´ usqueda. La memoria de corto plazo est´a implementada como una lista tab´ u que mantiene registro de las soluciones visitadas m´ as recientemente y prohibe movimientos hacia ellas. La implementaci´ on de la memoria a corto plazo como una lista que contiene soluciones completas puede no ser efectiva, por lo que en lugar de almacenar soluciones, se almacenan atributos de soluciones como por ejemplo componentes de soluciones, movimientos o diferencias entre dos soluciones. De esta forma, se restringe la vecindad de la soluci´on actual a soluciones que no pertenecen a la lista tab´ u4 , previniendo de ciclos infinitos y forzando a la b´ usqueda a aceptar movimientos que incluso pueden generar soluciones peores. Ya que se puede considerar m´ as de un atributo, se introduce una lista tab´ u para cada uno de ellos. El conjunto de atributos y las listas tab´ u correspondientes definen la lista de condiciones tab´ u que se utilizan para filtrar la vecindad de una soluci´on y generar el conjunto permitido. Almacenar atributos en lugar de soluciones completas es mucho m´ as eficiente, pero introduce p´erdida de informaci´ on, ya que prohibir un atributo significa asignar la condici´ on de tab´ u a m´ as de una soluci´on probablemente. Por lo tanto, es posible que soluciones no visitadas de buena calidad sean excluidas del conjunto permitido. Para superar este problema, se definen criterios de aspiraci´ on, que permiten incluir una soluci´on en el conjunto permitido aunque est´e prohibida por las condiciones tab´ u. Los criterios de aspiraci´on definen las condiciones de aspiraci´ on que se utilizan para construir el conjunto permitido. La lista tab´ u, identificada usualmente con el uso de memoria a corto plazo, es s´ olo una de las maneras posibles de aprovechar la historia de la b´ usqueda. La informaci´ on recolectada durante todo el proceso de b´ usqueda tambi´en puede ser muy u ´til, especialmente para una gu´ıa estrat´egica del algoritmo. Este tipo de memoria a largo plazo generalmente se agrega a la BT de acuerdo a cuatro principios: lo reciente, frecuencia, calidad e influencia. La memoria basada en lo reciente registra para cada soluci´on (o atributo) la iteraci´ on m´ as reciente en la que estuvo involucrada. En contraposici´on, la memoria basada en frecuencia mantiene registro de cu´ antas veces cada soluci´on (o atributo) ha sido visitada (usado). Esta informaci´ on identifica las regiones del espacio de soluciones donde la b´ usqueda estuvo concentrada o donde permaneci´o por mayor n´ umero de iteraciones. Es decir, es informaci´ on que representa la memoria del proceso 4

A este conjunto de soluciones se lo denomina el conjunto permitido.

5

de b´ usqueda y que puede ser explotado para diversificar la b´ usqueda. Por su parte, el atributo calidad hace referencia a la habilidad para diferenciar la bondad de las soluciones visitadas a lo largo del proceso de b´ usqueda. De esta forma, la memoria puede ser utilizada para la identificaci´ on de elementos comunes a soluciones buenas o a ciertos caminos que conducen a ellas. La calidad constituye un fundamento para el aprendizaje basado en refuerzos, donde se premian las acciones que conducen a buenas soluciones y se penalizan aquellas que, por el contrario, conducen a soluciones pobres. Por u ´ltimo, la cuarta dimensi´on de memoria, referida a la influencia, considera el impacto de las decisiones tomadas durante la b´ usqueda, no s´ olo en lo referente a la calidad de las soluciones, sino tambi´en en lo referente a la estructura de las mismas.

1.2.4.

Simulated Annealing

Simulated Annealing es un algoritmo de b´ usqueda local que explota la analog´ıa entre los algoritmos de optimizaci´ on combinatoria y la mec´anica estad´ıstica5 [43]. Esta analog´ıa se hace asociando las soluciones factibles de los problemas de optimizaci´ on combinatoria a los estados de un sistema f´ısico, teniendo costos asociados a estos estados de energ´ıa. Sean Ei y Ei+1 dos estados de energ´ıa consecutivos, correspondientes a dos soluciones vecinas, y sea ∆E = Ei+1 − Ei . Pueden darse las siguientes situaciones: si ∆E < 0, hay una reducci´ on de energ´ıa y el proceso contin´ ua. En otras palabras, hay una reducci´on en la funci´on de costo del problema y la nueva asignaci´ on puede ser aceptada; si ∆E = 0, hay una situaci´on de estabilidad y no hay cambio en el estado de energ´ıa. Esto significa que no ha cambiado la funci´on de costo del problema; y si ∆E > 0, hay un aumento de energ´ıa y es u ´til para el proceso f´ısico permitir el movimiento de part´ıculas, es decir, la funci´on de costo del problema ha aumentado. En lugar de eliminar este cambio de las part´ıculas, su uso est´a sujeto a los valores de una funci´on de probabilidad6 , para evitar convergencia en m´ınimos locales de baja calidad.

1.2.5.

B´ usqueda Local Iterada

B´ usqueda Local Iterada (BLI) es una metaheur´ıstica simple y de aplicaci´on general que aplica b´ usqueda local iterativamente a modificaciones del punto de b´ usqueda actual, lo que permite una exploraci´ on aleatorizada en el espacio de ´optimos locales [46]. Al comienzo del algoritmo, se aplica b´ usqueda local a alguna soluci´on inicial. Luego, un loop principal se repite hasta que se satisface alg´ un criterio de parada. Consiste de un paso de modificaci´ on (kick-move) que devuelve una soluci´on intermedia s′ que corresponde a una mutaci´ on de una soluci´on ´ optima local encontrada previamente. A continuaci´ on, se aplica b´ usqueda local a s′ obteniendo una soluci´on s′′ . Luego un criterio de aceptaci´ on decide a partir de que soluci´on se contin´ ua la b´ usqueda aplicando el pr´oximo paso de 5

El nombre e inspiraci´ on viene del proceso de recocido del acero, una t´ecnica que consiste en calentar y luego enfriar controladamente un material para aumentar el tama˜ no de sus cristales y reducir sus defectos. El calor causa que los ´ atomos se salgan de sus posiciones iniciales (un m´ınimo local de energ´ıa) y se muevan aleatoriamente; el enfriamiento lento les da mayores probabilidades de encontrar configuraciones con menor energ´ıa que la inicial. 6 La probabilidad se computa generalmente siguiendo la distribuci´ on de Boltzman.

6

modificaci´ on. Tanto el paso de modificaci´ on como la prueba de aceptaci´ on pueden estar influenciados por el historial de b´ usqueda.

1.3.

Resumen

En este cap´ıtulo se presento una introducci´ on a los temas a tratar en el resto del presente trabajo final. Los mismos incluyen conceptos y definiciones que permiten un mejor entendimiento de la tem´atica abordada.

7

Cap´ıtulo 2

El Problema de Asignaci´ on Cuadr´ atica En este cap´ıtulo se presenta el Problema de Asignaci´ on Cuadr´ atica, el cual ser´a usado como problema de prueba para los algoritmos desarrollados. Se realiza una introducci´ on al problema, as´ı como tambi´en se muestra la dificultad inherente para resolverlo, lo cual motiv´o su elecci´ on para el estudio. Se presenta un breve estado del arte respecto de los m´etodos de resoluci´ on utilizados desde su formulaci´on. Al final del cap´ıtulo se presentan aplicaciones de metaheur´ısticas al problema.

2.1.

Introducci´ on

El Problemas de Asignaci´ on Cuadr´ atica (QAP, por sus siglas en ingl´es, Quadratic Assignment Problem) fue introducido por Koopmans y Beckmann en 1957 como un modelo matem´ atico para la ubicaci´ on de un conjunto de actividades econ´ omicas indivisibles [44]. El QAP puede ser descrito mejor como el problema de asignar un conjunto de elementos a un conjunto de ubicaciones, donde hay distancias entre las ubicaciones y flujos entre los elementos. El objetivo entonces es ubicar los elementos en las ubicaciones de forma tal que la suma del producto entre flujos y distancias sea m´ınima. M´ as formalmente, dados n elementos y n ubicaciones, dos matrices A = [air ] y B = [bjs ] de n × n, donde air es la distancia entre las ubicaciones i y r y bjs es el flujo entre los elementos j y s, el QAP puede ser formulado como: m´ın φ∈Φ

n X n X

aφi φr bir

(2.1)

i=1 r=1

donde Φ(n) es el conjunto de todas las permutaciones (correspondientes a las asignaciones) en el conjunto de enteros {1, . . . , n}, y φj da la ubicaci´ on del elemento j en la soluci´on actual φ ∈ Φ(n).

8

El t´ermino cuadr´ atico deriva de la formulaci´on del QAP como un problema de optimizaci´on entero con una funci´on objetivo cuadr´atica. Sea xij una variable binaria la cual toma el valor 1 si el elemento i es asignado a la ubicaci´ on j, y 0 en otro caso. Entonces, el problema puede ser formulado como: m´ın

n n X n X n X X

aij bkl xik xjl

(2.2)

i=1 j=1 k=1 l=1

Sujeto a las restricciones: n X

i=1 n X

xij = 1

1≤j≤n

xij = 1

1≤i≤n

j=1

xij ∈ {0, 1}

1 ≤ i, j ≤ n

Estas restricciones formalizan la idea de que cada elemento debe ser asignado s´ olo a una ubicaci´ on y que para cada ubicaci´ on exactamente un elemento debe ser asignado. El t´ermino aij bkl xik xjl contribuye a la funci´on objetivo con un valor igual a aij bkl si y s´ olo si xik = xjl = 1, esto es, si y s´ olo si el elemento i es asignado a la ubicaci´ on k y el elemento j es asignado a la ubicaci´ on l.

2.1.1.

Ejemplos de problemas formulados como QAP

A continuaci´ on se describen brevemente algunas de las aplicaciones del QAP. Adem´ as de los problemas de disposici´on de instalaciones [17], el QAP aparece en aplicaciones como el cableado de tableros [65], fabricaci´ on de computadoras, planificaci´on, comunicaci´on de procesos, balanceo de turbinas, entre otros [11]. Cableado de Tableros Una de las aplicaciones m´ as antiguas del QAP se describe en [65], e involucra el cableado de tableros. Diferentes dispositivos tales como controles y displays tienen que ser ubicados en un panel, donde tienen que ser conectados unos con otros por cables. El problema es encontrar un posicionamiento de los dispositivos de manera tal que minimice la longitud total de cable. Sea n el n´ umero de dispositivos a ser ubicados y donde dkl denota la longitud del cable desde la posici´on k a la posici´on l. La matriz de flujo F = (fij ) est´a dada por:  1 si el dispositivo i est´a conectado al dispositivo j fij = 0 en otro caso Luego la soluci´on al correspondiente QAP minimizar´a la longitud total de cable.

9

Otra aplicaci´on en el contexto de teor´ıa de ubicaci´ on es un problema de planificaci´on de campus propuesto en [17]. El problema consiste en planificar los lugares de n edificios en un campus, donde dkl es la distancia desde el lugar k hasta el lugar l, y fij es la intensidad del tr´afico entre el edificio i y el edificio j. El objetivo es minimizar la distancia total a caminar entre los edificios. Dise˜ no de teclados En [11] se muestra que el QAP pueden ser aplicado, en el campo de la ergonom´ıa, al dise˜ no de teclados. El problema es organizar las teclas en un teclado de manera tal de minimizar el tiempo necesario para escribir alg´ un texto. Sea el conjunto de enteros N = 1, 2, . . . , n que denota el conjunto de s´ımbolos a ser colocados. Luego fij denota la frecuencia de aparici´on del par de s´ımbolos i y j. Las entradas de la matriz de distancia D = dkl denota el tiempo que se necesita para presionar la tecla en la posici´on l despu´es de presionar la tecla en la posici´on k, para todas las teclas a ser asignadas. Entonces una permutaci´ on ϕ ∈ Sn describe una asignaci´ on de s´ımbolos a las teclas. Una soluci´on ´optima ϕ∗ para el QAP minimiza el tiempo promedio para escribir un texto.

2.2.

Complejidad del problema

En esta secci´ on se tratan los aspectos de complejidad computacional del QAP. Los cuales evidencian el hecho de que el QAP es un problema “muy dif´ıcil” desde el punto de vista te´ orico. Primero, se muestra que el QAP pertenece a la clase de problemas 1 N P-duros . Luego se considera la complejidad de encontrar una soluci´ on que sea un ´optimo local. Teorema 2.2.1 El Problema de Asignaci´ on Cuadr´ atica es fuertemente N P-duro. Demostraci´ on: Consiste en mostrar que la existencia de un algoritmo para resolver una instancia del problema de asignaci´ on cuadr´atica en tiempo polinomial con valores de las matrices A y B pertenecientes a {0, 1, 2}, implica la existencia de un algoritmo para resolver un problema de decisi´ on N P-completo en tiempo polinomial. Esto implicar´ıa entonces, por definici´on que el QAP es fuertemente N P-duro. El problema de decisi´ on N P-completo mencionado anteriormente es el problema del ciclo Hamiltoniano [31]. Dado un grafo G = (V, E) con conjunto de v´ertices V y conjunto de arcos E. ¿El grafo G contiene un ciclo Hamiltoniano?. Asumamos que existe un algoritmo para resolver el QAP en tiempo polinomial con valores en {0, 1, 2}. Consideremos una instancia arbitraria del problema del ciclo Hamiltoniano, es decir, buscamos un ciclo Hamiltoniano en un grafo arbitrario G = (V, E). 1 Problemas para los cuales no se conoce o tal vez no exista un algoritmo que los resuelva en tiempo polinomial [31].

10

Sea |V | = n, V = {v1 , v2 , . . . , vn }. Definimos dos matrices de n × n A = (aij ) y B = (bij ) de la siguiente forma:  1 si (vi , vj ) ∈ E aij = 2 en otro caso bij =



1 si j = i + 1, 1 ≤ i ≤ n − 1 ´o i = n, j = 1 0 en otro caso

y consideramos a las matrices A y B como las matrices de una instancia del problema de asignaci´ on cuadr´atica. Se puede ver que el valor o´pimo para la instancia del QAP es igual a n si y s´ olo si G contiene un ciclo Hamiltoniano. De esta manera, transformamos la instancia dada del problema del ciclo Hamiltoniano en una instancia de QAP y aplicamos el algoritmo de tiempo polinomial que se asume que existe. Luego, chequeamos si la soluci´on provista por este algoritmo es igual a n. Todo esto puede ser hecho en tiempo polinomial con respecto al tama˜ no de la instancia del problema del ciclo Hamiltoniano. Por lo tanto, tendr´ıamos un algoritmo para el problema del ciclo Hamiltoniano de tiempo polinomial. 2 En [42] se definen los llamados problemas de b´ usqueda local de tiempo polinomial (problemas PLS, del ingl´es, Polynomial-time Local Search). Un par (P, N ), donde P es un problema de optimizaci´ on (combinatorio) y N es una estructura de vecindad asociada, define un problema de b´ usqueda local que consiste en encontrar una soluci´on que sea ´ optima local para el problema P con respecto a la estructura de vecindad N . Sin entrar en detalles t´ecnicos, un problema PLS es un problema de b´ usqueda local para el cual la optimalidad local puede ser chequeada en tiempo polinomial (la clase de problemas PLS se denota PLS). En analog´ıa con los problemas de decisi´ on, aqu´ı tambi´en se puede mostrar la existencia de problemas completos dentro de la clase PLS. De aqu´ı tenemos que, los problemas PLS-completos, son los problemas m´ as dif´ıciles dentro de la clase PLS. Teorema 2.2.2 El problema de b´ usqueda local (QAP, N2 ), donde N2 es la vecindad de intercambio de pares, es PLS-completo. 2 El Teorema 2.2.2 implica que la complejidad temporal de un algoritmo de b´ usqueda local general para el QAP con la vecindad de intercambio de pares, es exponencial en el peor caso2 . 2

Esta estructura de vecindad es la que utiliza el algoritmo de b´ usqueda local utilizado por los algoritmos ACO propuestos.

11

2.3.

Estado del arte: M´ etodos de resoluci´ on de QAP

2.3.1.

Metaheur´ısticas aplicadas al QAP

En esta secci´ on se presenta un resumen de algunas metaheur´ısticas disponibles para resolver el QAP. Debido a que es inmensa la cantidad de metaheur´ısticas aplicadas a QAP, s´ olo se describe la aplicaci´on de las metaheur´ısticas m´ as representativas de la literatura [35]. Algoritmos Evolutivos Diferentes algoritmos evolutivos, la mayor´ıa basados en algoritmos gen´eticos, han sido implementados para el QAP. Uno de los m´ as prominentes fue el algoritmo gen´etico h´ıbrido propuesto en [29], en el cual adaptaron un algoritmo gen´etico para resolver el QAP usando un operador de recombinaci´on especial y donde la mutaci´on es reemplazada por ejecuciones cortas de un algoritmo B´ usqueda Tab´ u. Existen otros enfoques para resolver el QAP que est´an basados en algoritmos evolutivos. Estos incluyen algoritmos gen´eticos tradicionales [74], algoritmos gen´eticos paralelos [9, 57], estrategias evolutivas [58], y algoritmos gen´eticos de b´ usqueda local [50]. Los algoritmos gen´eticos h´ıbridos [3, 50, 25, 53, 26, 55] est´an entre los algoritmos metaheur´ısticos de mayor redimiento para resolver el QAP, y han probado ser m´ as prometedores que los tradicionales. B´ usqueda Tab´ u Probablemente el algoritmo de B´ usqueda Tab´ u m´ as conocido es el algoritmo de B´ usqueda Tab´ u Robusta [70]. Existen una gran variedad de otras implementaciones de B´ usqueda Tab´ u para el QAP. La primera de las implementaciones se desarroll´o en 1990 [63]. Algunas extensiones de estos primeros algoritmos fueron propuestos por el mismo autor en [64]; estas tambi´en incluyen una implementaci´ on de B´ usqueda Tab´ u masivamente paralela [14]. Una variante particular de B´ usqueda Tab´ u, llamada B´ usqueda Tab´ u Reactiva (BTR) fue propuesta en [7], la principal idea de la BTR es el uso de la historia de b´ usqueda para adaptar din´ amicamente la longitud de la lista tab´ u durante la ejecuci´ on del algoritmo. Otras adaptaciones de B´ usqueda Tab´ u m´ as recientes para resolver QAP incluyen [52, 54, 27]. Simulated Annealing Simulated Annealing fue una de las primeras metaheur´ısticas disponibles, por lo tanto no es sorprendente que tambi´en haya sido la primera que se aplic´o al QAP en 1984 [12]. Despu´es de esto, en [77] se present´o un nuevo equilibrio de componentes. En [15] se introdujo un concepto de temperatura o ´ptima que ha dado buenos resultados. Otros enfoques basados en Simulated Annealing m´ as recientes fueron propuestos en [51, 56].

12

B´ usqueda Local Iterada La primer aplicaci´on de B´ usqueda Local Iterada al QAP es reportada en [67].

2.3.2.

Algoritmos exactos aplicados al QAP

Mientras que se ha hecho gran progreso en generar “buenas soluciones” a instancias de QAP grandes y dif´ıciles, ´este no ha sido el caso para encontrar soluciones exactas. La historia de resolver instancias de QAP exactamente se centra en los conocidos problemas de Nugent. En 1968, Nugent, Vollmann y Ruml [59] propusieron un conjunto de instancias del problema de tama˜ no 5, 6, 7, 8, 12, 15, 20 y 30, de acuerdo a su dificultad. En el momento de publicaci´on de su art´ıculo, era un logro encontrar la soluci´on ´optima a la instancia de tama˜ no 8. Enumerar todas las 8! (ocho factorial) posibles asignaciones tomaba 3374 segundos en una computadora GE 265 (poco m´ as de ocho horas). No fue sino hasta 1975, cuando Burkard resolvi´ o la instancia Nugent 8 en 0.426 segundos en una m´ aquina CDC Cyber76, que se logr´o un progreso notable en los m´etodos de resoluci´ on exactos. Para esto, Burkard us´ o el l´ımite inferior de Gilmore-Lawler (GL) [32] en un algoritmo de ramificaci´ on y acotaci´ on. En los a˜ nos 70 y 80, s´ olo se pod´ıa esperar resolver instancias dif´ıciles para n < 16. En 1978, Burkard y Stratmann resolvieron en forma ´optima la instancias Nugent 12 en 29.32 segundos con una m´ aquina CDC Cyber76. Ellos usaron un algoritmo de ramificaci´on y acotaci´ on con perturbaci´on; de nuevo utilizando el l´ımite inferior GL. En 1980, Burkard y Derigs reportaron que eran los primeros en resolver la instancia Nugent 15 nuevamente con un algoritmo ramificaci´on y acotaci´ on, esto lo hicieron en 2947.32 segundos en una CDC Cyber76. Luego de 29 a˜ nos, desde su formulaci´on, Clausen y Perregaard pudieron resolver exactamente la dificil instancia de Nugent 20. Para esto, usaron un algoritmo de ramificaci´on y acotaci´ on paralelo en una m´ aquina MEIKO con 16 procesadores Intel i860. El tiempo de reloj para resolverla fue de 57963 segundos y requiri´o la evaluaci´on de 360148026 nodos. En un solo procesador, el tiempo habr´ıa sido de 811440 segundos (poco m´ as de 9 dias). De nuevo, contaron con el l´ımite de GL que hab´ıa sido desarrollado d´ecadas atr´ as. Se ha hecho mucho progreso desde entonces, aunque todav´ıa, la resoluci´ on exacta de la instancia m´ as dif´ıcil de Nugent (Nugent 30) requiere recursos computacionales que normalmente no se encuentran en las universidades de hoy. En los u ´ltimos a˜ nos se han desarrollado nuevos l´ımites inferiores los cuales han permitido avances considerables en la resoluci´ on exacta de instancias [28]. En la siguiente secci´ on se realiza una breve introducci´ on a la tem´atica de los l´ımites inferiores. L´ımites inferiores El estudio de los l´ımites inferiores es muy importante para el desarrollo de algoritmos para resolver problemas de programaci´ on matem´ atica y problemas de optimizaci´ on combinatoria. Generalmente, los m´etodos exactos emplean enumeraci´ on impl´ıcita, en un intento de garantizar la soluci´on ´ optima y, al mismo tiempo, evitar la enumeraci´ on total 13

de las soluciones factibles. El rendimiento de estos m´etodos depende de la calidad y la eficiencia computacional de los l´ımites inferiores. Los l´ımites inferiores son herramientas fundamentales para las t´ecnicas de ramificaci´ on y acotaci´ on y para la evaluaci´on de la calidad de las soluciones obtenidas a partir de algunos algoritmos heur´ısticos. Se puede medir la calidad de un l´ımite inferior por la diferencia entre su valor y la soluci´on ´optima. Los l´ımites inferiores buenos deber´ıan estar cerca del ´ optimo. L´ımites inferiores son u ´tiles en los m´etodos exactos, s´ olo cuando se puede calcular r´ apidamente. Cuando se utiliza en los m´etodos heur´ısticos, es m´ as importante su calidad que la velocidad de calcularlo.

2.4.

Descripci´ on de instancias de QAP a utilizar

En esta secci´ on se describen dos conjuntos de instancias ampliamente utilizadas en la literatura.

2.4.1.

Instancias de QAPLIB

QAPLIB3 es una librer´ıa para investigaci´on sobre el QAP [10], que contiene un gran n´ umero de instancias de benchmark. Actualmente tiene m´ as de 130 instancias que han sido utilizadas en investigaciones previas y una parte de estas deriva de aplicaciones reales como disposici´on de hospitales, dise˜ no de teclados, etc. Adem´ as, QAPLIB contiene una serie de otros recursos como enlaces a la literatura, algunos c´odigos fuente y enlaces para investigaci´on relacionada a QAP, incluyendo una lista de personas con intereses de investigaci´on en el QAP. Es conocido que el tipo particular de instancia de QAP tiene una influencia considerable en la performance de los m´etodos heur´ısticos. De acuerdo a [71] las instancias de QAPLIB pueden ser clasificadas en cuatro clases. Instancias no estructuradas, generadas aleatoriamente. Instancias con entradas de la matriz de distancia y flujo generadas aleatoriamente de acuerdo a una distribuci´ on uniforme. Estas instancias est´an entre las m´ as dif´ıciles de resolver exactamente. A pesar de esto, muchos m´etodos de b´ usqueda iterativa encuentran r´apidamente soluciones dentro de 1–2 % respecto de la mejor soluci´on conocida. Matriz de distancia basada en grilla. En esta clase de instancias la matriz de distancia viene de una grilla de n1 × n2 y las distancias son definidas como la distancia Manhattan entre puntos de la grilla. Estas instancias tienen m´ ultiples ´optimos globales (al menos 4 en el caso que n1 6= n2 y al menos 8 en el caso que n1 = n2 ) debido a la definici´on de las matrices de distancia. 3

Disponible on-line en: http://www.seas.upenn.edu/qaplib/

14

Instancias de la vida real. Instancias de esta clase son instancias de la “vida real” de aplicaciones pr´acticas del QAP. Los problemas de la vida real tienen en com´ un que las matrices de flujos tienen muchas entradas en cero y las entradas restantes son claramente distribuidas no uniformemente. Las entradas de la matriz exhiben una estructura clara y es principalmente en este aspecto que las instancias de la vida real difieren de las instancias generadas aleatoriamente descritas en el primer punto. Ya que las instancias en QAPLIB son principalmente de tama˜ no peque˜ no, un nuevo tipo de problema generados aleatoriamente ha sido propuesto. Estas instancias son generadas de tal manera que las entradas de la matriz representan una distribuci´on encontrada en problemas de la vida real. Se debe remarcar algunas observaciones adicionales acerca de las instancias de QAPLIB. Algunas de las instancias se han generado aleatoriamente (con soluciones ´optimas conocidas) con un generador propuesto en [45]. Esto permite evaluar la calidad de las soluciones de las metaheur´ısticas con respecto a ´optimos conocidos tambi´en en instancias grandes, que de otro modo no ser´ıa posible debido al pobre comportamiento de los algoritmos exactos. Sin embargo, estas instancias suelen ser m´ as f´aciles que otras instancias de QAPLIB. Para muchas instancias grandes se conocen soluciones “pseudo-´ optimas” [71]. Las soluciones “pseudo-´ optimas” son aquellas para las cuales muchos algoritmos han encontrado las mismas mejores soluciones conocidas y se puede asumir que estas son en realidad las ´ optimas. En segundo lugar, se tiene que mencionar que para muchos tipos de instancias de QAP, la diferencia 4 entre la peor soluci´on y la soluci´on ´optima se vuelve arbitrariamente peque˜ na con una probabilidad tendiente a uno cuando el tama˜ no del problema tiende a infinito [13].

2.4.2.

Instancias de St¨ utzle y Fernandes

Este conjunto de instancias fue propuesto en [68] y ha sido ampliamente utilizado por Metaheuristics Network 5 . El conjunto de instancias fue generado de manera que: las caracter´ısticas de las instancias varien de forma sistem´atica. sean lo suficientemente grande como para permitir estudios sistem´aticos sobre la dependencia del rendimiento de las metaheur´ısticas de acuerdo a las caracter´ısticas de las instancias. Generaci´ on de instancias La generaci´on de instancias se hace de manera tal que puedan ser generadas instancias con caracter´ısticas sint´acticas muy diferentes relativas a: 4

La diferencia generalmente est´ a expresada en t´ermino de la cantidad de componentes de soluciones que no tienen en com´ un dos soluciones 5 http://www.metaheuristics.net/

15

los valores de dominancia de flujo de las entradas de la matriz (el valor de dominancia es el coeficiente de variaci´on de las entradas de la matriz); y a la dispersi´ on de las entradas de la matriz (que mide el porcentaje de entradas de la matriz que son cero). Estas dos medidas influyen fuertemente en las caracter´ısticas de las instancias de QAP y se supone que tambi´en tienen una fuerte influencia en la performance de las metaheur´ısticas. Como segundo par´ ametro importante se consideran dos formas distintas de generar la matriz de distancias, lo que permite generar matrices de distancia con estructuras diferentes. En particular, para la matriz de distancia se aplican dos formas diferentes de generarla: Distancias Euclidianas: En un primer enfoque la matriz corresponde a la distancia Euclidiana entre n puntos en el plano. Estos puntos son generados de tal manera que se ubiquen en varios grupos de diferente tama˜ no. Distancias Manhattan: En un segundo enfoque, la matriz de distancia corresponde a la distancia de a pares entre todos los nodos en una grilla de A × B, donde la distancia se calcula como la distancia Manhattan entre los puntos de una grilla. Las razones de la elecci´ on de las diferentes matrices de distancia son las siguientes. Instancias basadas en las distancias euclidianas tendr´ an muy probablemente una u ´nica soluci´on ´ optima y por los distintos ajustes de par´ ametros para la generaci´on de matrices de distancia, puede ser imitada la agrupaci´on de ubicaciones encontrada a menudo en las instancias de QAP de la vida real. Instancias con una matriz de distancias basada en la distancia Manhattan de puntos en una grilla tendr´ an, debido a simetr´ıas en la matriz, al menos cuatro soluciones ´optimas que se encuentran a una m´ axima distancia posible unas de otras. Por otra parte, las matrices de distancia muestran una agrupaci´on mucho m´ as baja. Adicionalmente, algunas instancias de la vida real tienen distancias que derivan de puntos en una grilla. Tambi´en se consideran diferentes formas de generar la matriz de flujo. Para todas las instancias se tiene una matriz de flujo asim´etrica y con una diagonal nula. Las instancias generadas tienen dominancia de flujo y dispersi´ on bastante variada. Para la generaci´on de la matriz de flujo se consideran dos casos distintos: las entradas de flujo son generados aleatoriamente. las entradas de flujo son estructuradas en el sentido de que existan grupos de objetos que tengan una interacci´ on significativa.

2.5.

Resumen

En este cap´ıtulo se presentaron definiciones asociadas al problema a resolver (QAP), incluyendo dos formulaciones, un breve an´ alisis de la complejidad desde el punto de vista 16

computacional, asi como tambi´en algunos ejemplos de problemas formulados como QAP. Tambi´en se muestran aplicaciones de distintas metaheur´ısticas aplicadas al problema. Se finaliza el cap´ıtulo describiendo las principales librer´ıas de instancias del problema en cuesti´ on.

17

Cap´ıtulo 3

La metaheur´ıstica de Optimizaci´ on basada en Colonias de Hormigas En este cap´ıtulo se presenta la metaheur´ıstica de Optimizaci´on basada en Colonias de Hormigas (ACO, por sus siglas en ingl´es, Ant Colony Optimization). ACO fue propuesta por Dorigo y colegas [22, 18, 23] como un m´etodo para resolver problemas de optimizaci´ on combinatorios (POCs) duros. Los algoritmos de optimizaci´ on basados en colonias de hormigas son parte de la rama inteligencia colectiva, este es, el campo de investigaci´on que estudia algoritmos inspirados en la observaci´ on del comportamiento de enjambres (swarms). Los algoritmos de inteligencia colectiva est´an compuestos de individuos simples que cooperan a trav´es de la auto-organizaci´ on, es decir sin ninguna forma de control central sobre los miembros del enjambre.

3.1.

De las colonias de hormigas a las hormigas artificiales

La metaheur´ıstica ACO est´a inspirada en la observaci´ on del comportamiento de hormigas reales. En esta secci´ on, se presentan observaciones hechas en experimentos con hormigas, y luego se muestra como estos experimentos inspiraron el dise˜ no de la metaheur´ıstica.

3.1.1.

Las colonias de hormigas

Las hormigas son insectos sociales, los cuales viven en colonias y cuyo comportamiento est´a dirigido m´ as hacia la supervivencia de la colonia como un todo que al de una simple componente individual de la colonia. Los insectos sociales han capturado la atenci´ on de muchos cient´ıficos por el gran nivel de estructuraci´ on que alcanzan sus colonias, especialmente cuando se lo compara con la simplicidad relativa de los componentes de la colonia.

18

Figura 3.1: Imagen del experimento real llevado a cabo por Deneubourg et al. Uno de los primeros cient´ıficos en investigar el comportamiento social de insectos, fue el entom´ ologo franc´es Pierre-Paul Grass´e. Entre los a˜ nos 40 y 50, se dedic´ o a observar el comportamiento de termitas – en particular, las especies Bellicositermes natalensis y Cubitermes. Descubri´o (ver [37]) que estos insectos son capaces de reaccionar a lo que llam´o “est´ımulos significantes”, los cuales son se˜ nales que activan una reacci´ on codificada gen´eticamente. Observ´o (ver [38]) que los efectos de estas reacciones pueden actuar como nuevos est´ımulos significantes, tanto para el insecto que las produjo como para los otros insectos en la colonia. Grass´e us´ o el t´ermino estigmerg´ıa 1 (ver [38]) para describir este particular tipo de comunicaci´ on indirecta en la cual “los miembros de la colonia son estimulados por el desempe˜ no que han logrado”. Ejemplos de estigmerg´ıa, tambi´en pueden ser observados en colonias de hormigas. Muchas especies de hormigas, mientras caminan desde el nido hacia una fuente de comida y viceversa, depositan en el suelo una sustancia llamada feromona. Otras hormigas pueden oler esta sustancia, y su presencia influencia la elecci´ on de su camino 2 , esto es, tienden a seguir concentraciones de feromona fuertes. La feromona depositada en el suelo forma un rastro de feromona, el cual permite a las hormigas encontrar buenas fuentes de comida que han sido previamente identificadas por otras hormigas. Algunos cient´ıficos investigaron experimentalmente este comportamiento de depositar feromona y seguir rastros de feromona para entenderlo mejor y poder cuantificarlo. Deneubourg et al. [16] dise˜ naron un experimento llamado “experimento del puente binario”. Ellos usaron hormigas Linepithema humile (hormigas originarias de Argentina). El nido de las hormigas fue conectado a una fuente de comida por dos puentes de igual longitud, ver Figura 3.1. Las hormigas pod´ıan elegir libremente que brazo del puente usar cuando buscaban comida y la tra´ıan de vuelta al nido. Su comportamiento fue observado por un per´ıodo de tiempo. En este experimento, inicialmente no hay feromona en ninguno de los dos puentes. Las hormigas empiezan explorando los alrededores del nido y eventualmente cruzan uno de los puentes, alcanzando la fuente de comida. Al caminar hacia la fuente de comida y de vuelta, las hormigas depositan feromona en el puente que usaron. Inicialmente, cada 1

La palabra estigmerg´ıa deriva de las palabras griegas stigma (marca, sen˜ nal) y ergon (trabajo, acci´ on). 2 Cabe recordar que muchas especies de hormigas son ciegas.

19

Figura 3.2: Imagen del experimento real llevado a cabo por Goss et al. hormiga elige aleatoriamente uno de los puentes. Sin embargo, debido a cambios aleatorios, despu´es de alg´ un tiempo habr´ a m´ as feromona depositada en uno de los puentes que en el otro. Debido a que las hormigas tienden a preferir (en probabilidad) seguir un rastro de feromona m´ as fuerte, el puente que tiene m´ as feromona atraer´a m´ as hormigas. Esto a su vez hace que el rastro de feromona crezca m´ as, hasta que finalmente la colonia de hormigas converge hacia el uso del mismo puente3 . Este comportamiento a nivel de la colonia, basada en autocat´alisis (retroalimentaci´ on positiva), puede ser explotado por las hormigas para encontrar el camino m´ as corto entre una fuente de comida y su nido. Esto se demostr´ o en otro experimento dirigido por Goss et al. [36] en el que los dos puentes no eran de la misma longitud: uno era significantemente m´ as largo que el otro, ver Figura 3.2. En este caso, las fluctuaciones aleatorias sobre la opci´ on inicial de un puente eran m´ as reducidas: debido a que aquellas hormigas que eleg´ıan por casualidad el puente m´ as corto tambi´en eran las primeras en alcanzar el nido, y al volver al nido, escog´ıan el puente m´ as corto con mayor probabilidad cuando ten´ıa un rastro de feromona mas fuerte. Por consiguiente, las hormigas – gracias al mecanismo de seguir y depositar feromona – converg´ıan r´apidamente al uso del puente m´ as corto.

3.1.2.

Hormigas artificiales

Estimulado por los interesantes resultados, descritos en la secci´ on anterior, Goss et al. [36] desarrollaron un modelo para explicar el comportamiento observado en el 3 Deneubourg et al. [16] realizaron varios experimentos, y los resultados mostraron que cada uno de los dos puentes era usado en aproximadamente el 50 % de los casos.

20

experimento del puente de dos brazos. Asumiendo que despu´es de t unidades de tiempo desde el comienzo del experimento, m1 hormigas han usado el primer brazo del puente y m2 el segundo, la probabilidad p1 para la (m + 1)-´esima hormiga de elegir el primer brazo del puente puede estar dada por p1(m+1) =

(m1 + k)h (m1 + k)h + (m2 + k)h

(3.1)

donde los par´ ametros k y h son necesarios para ajustar el modelo a los datos experimentales. La probabilidad que la misma (m + 1)-´esima hormiga elija el segundo brazo es p2(m+1) = 1 − p1(m+1) . Simulaciones de Monte Carlo, ejecutadas para probar si el modelo corresponde a los datos reales (ver [62]), mostraron muy buen ajuste para valores de k ≈ 20 y h ≈ 2. Este modelo b´asico, el cual explica el comportamiento de las hormigas, puede ser usado como una inspiraci´ on para dise˜ nar hormigas artificiales que resuelvan problemas de optimizaci´ on definidos de una manera similar. En el ejemplo descrito anteriormente del comportamiento forrajero de las hormigas, la comunicaci´ on por estigmerg´ıa ocurre a trav´es de la feromona que las hormigas depositan en el suelo. An´ alogamente, las hormigas artificiales pueden simular la acci´on de depositar feromona modificando apropiadamente variables de feromona asociadas con estados del problema que visitan mientras construyen soluciones al problema de optimizaci´ on. Tambi´en, de acuerdo al modelo de comunicaci´ on por estigmerg´ıa, las hormigas artificiales s´ olo tendr´ıan acceso en forma local a estas variables de feromona. Por lo tanto, las caracter´ısticas principales de estigmerg´ıa mencionadas en la secci´ on anterior pueden ser extendidas a agentes artificiales: asociando variables de estado con diferentes estados de problema; y d´andole a los agentes s´ olo acceso local a estas variables. Otro aspecto importante de la conducta forrajera de las hormigas reales que puede ser explotado por hormigas artificiales es la relaci´ on entre el mecanismo autocatal´ıtico4 y la evaluaci´ on impl´ıcita de soluciones. Por evaluaci´on impl´ıcita de soluciones, se entiende al hecho de que caminos m´ as cortos (los cuales corresponden a soluciones de menor costo en el caso de las hormigas artificiales) son completados antes que los m´ as largos, y por lo tanto reciben refuerzos de feromona m´ as r´apido. La evaluaci´on impl´ıcita de soluciones junto con el autocat´alisis puede ser muy efectivo: mientras m´ as corto es el camino, m´ as pronto se deposita la feromona, y m´ as hormigas usan el camino m´ as corto. Si se usa apropiadamente, puede ser un mecanismo poderoso en algoritmos de optimizaci´ on basados en poblaci´on (por ejemplo, en los algoritmos evolutivos [40, 30] el autocat´alisis es implementado a trav´es del mecanismo de selecci´ on/reproducc´ıon). 4

El concepto de autocat´ alisis define al tipo de procesos propias de sistemas que son capaces de producir algunos de los elementos que son necesarios para su recurrencia continuada en el tiempo.

21

La estigmerg´ıa, junto con la evaluaci´on impl´ıcita de soluciones y el comportamiento autocatal´ıtico, ha dado lugar a los algoritomos ACO. La idea b´asica de los algoritmos ACO sigue muy estrechamente la inspiraci´ on biol´ ogica. Por lo tanto, hay muchas similitudes, entre las hormigas reales y las hormigas artificiales. Ambas colonias de hormigas (reales y artificiales) est´an compuestas de una poblaci´on de individuos que trabajan juntos para lograr un cierto objetivo. Una colonia es una poblaci´on de agentes simples, independientes y as´ıncronos que cooperan para encontrar una buena soluci´ on al problema a resolver. En el caso de las hormigas reales, el problema es encontrar la comida; mientras que en el caso de las hormigas artificiales, es el de encontrar una buena soluci´on a un problema de optimizaci´ on dado. Una sola hormiga (real o artificial) es capaz de encontrar una soluci´on a su problema, pero s´ olo la cooperaci´on entre muchos individuos a trav´es de estigmerg´ıa les permite encontrar buenas soluciones. En el caso de las hormigas reales, ellas depositan y reaccionan a una sustancia qu´ımica llamada feromona. Las hormigas reales simplemente la depositan en la tierra mientras caminan. Las hormigas artificiales viven en un mundo virtual, de aqu´ı que ellas s´ olo modifican valores num´ericos (llamados por analog´ıa, feromona artificial ) asociados con diferentes estados de problema. Una secuencia de valores de feromona asociados con estados del problema se llama rastro de feromona artificial. En los algoritmos ACO, los rastros de feromona artificial son los u ´nicos medios de comunicaci´ on entre las hormigas. Un mecanismo an´ alogo a la evaporaci´on f´ısica de feromona en colonias de hormigas reales permite a las hormigas artificiales olvidar la historia y enfocarse en nuevas direcciones de b´ usqueda prometedoras. As´ı como las hormigas reales, las hormigas artificiales crean sus soluciones secuencialmente movi´endose de un estado del problema a otro. Las hormigas reales simplemente caminan, escogiendo una direcci´on basada en las concentraciones de feromona local y en una pol´ıtica de decisi´ on aleatoria. Las hormigas artificiales tambi´en crean soluciones paso a paso, movi´endose a trav´es de estados del problema disponibles y tomando decisiones aleatorias a cada paso. Sin embargo hay algunos diferencias importantes entre las hormigas reales y artificiales: Las hormigas artificiales viven en un mundo discreto–se mueven secuencialmente a trav´es de un conjunto finito de estados del problema. La actualizaci´on de feromona (es decir, el dep´ osito y evaporaci´on de feromona) no se realiza exactamente de la misma manera por las hormigas artificiales como por las reales. A veces la actualizaci´on de feromona es hecha s´ olo por algunas de las hormigas artificiales, y a menudo s´ olo despu´es de que una soluci´on se ha construido. Algunas implementaciones de hormigas artificiales usan mecanismos adicionales que no existen en el caso de las hormigas reales. Los ejemplos incluyen mirar-hacia-adelante, b´ usqueda local y vuelta atr´ as, entre otros.

22

3.2.

La metaheur´ıstica de Optimizaci´ on basada en Colonias de Hormigas

Los algoritmos de Optimizaci´on basados en Colonias de Hormigas han sido formalizados en una metaheur´ıstica de optimizaci´ on de combinatoria por Dorigo et al. [19, 20] y desde entonces han sido usados para resolver muchos Problemas de Optimizaci´on Combinatoria (POC). Dado un POC, el primer paso para la aplicaci´on de un algoritmo ACO, para resolverlo consiste en definir un modelo adecuado. Luego este modelo es usado para definir el componente central de los algoritmos ACO: el modelo de feromona. El modelo de un POC es usado para derivar el modelo de feromona utilizado por los algoritmos ACO. Primero, una variable de decisi´ on instanciada Xi = vij (es decir, una variable Xi con un valor vij asignado de su dominio Di ) se llama componente de una soluci´ on y se denota por cij . El conjunto de todas las posibles componentes de soluciones es denotado por C. Un par´ ametro de rastro de feromona Tij es asociado con cada componente cij . El conjunto de todos los par´ ametros de rastros de feromona es denotado por T. El valor de un par´ ametro de rastro de feromona Tij es denotado por τij (y es llamado valor de feromona). Este valor de feromona es usado y actualizado por el algoritmo ACO durante la b´ usqueda, y permite modelar la distribuci´on de probabilidad de diferentes componentes de una soluci´on. En los algoritmos ACO, las hormigas artificiales construyen una soluci´on para un POC atravesando un grafo llamado grafo de construcci´ on, GC (V, E). El grafo de construcci´ on (totalmente conectado) consiste de un conjunto de v´ertices V y un conjunto de arcos E. El conjunto de componentes C puede ser asociado con el conjunto de v´ertices V, o con el conjunto de arcos E. Las hormigas se mueven de un v´ertice a otro v´ertice a lo largo de los arcos del grafo, construyendo incrementalmente una soluci´ on parcial. Adem´ as, las hormigas depositan una cierta cantidad de feromona sobre las componentes, es decir, en los v´ertices o en los arcos que atraviesan. La cantidad de feromona ∆τ depositada puede depender de la calidad de la soluci´on encontrada. Las hormigas siguientes utilizan la informaci´ on de la feromona como una gu´ıa hacia regiones m´ as prometedoras del espacio de b´ usqueda. La metaheur´ıstica ACO se muestra en el Algoritmo 1. El mismo consiste en una fase de inicializaci´on y una iteraci´ on sobre tres componentes. Esta iteraci´ on consiste de la construcci´ on de soluciones por todas las hormigas, la mejora de la soluci´on (fase optativa) con el uso de un algoritmo de b´ usqueda local, y la actualizaci´on de feromona. A continuaci´ on, se explican estos tres componentes en detalle. ConstruirSolucionesporHormigas Un conjunto de m hormigas artificiales construyen soluciones a partir de elementos de un conjunto finito de componentes de soluciones disponibles C = {cij }, i = 1, . . . , n, j = 1, . . . , |Di |. La construcci´ on de una soluci´on empieza con una soluci´on parcial vac´ıa sp = ∅. Luego, en cada paso de la 23

Algoritmo 1 Metaheur´ıstica ACO Establecer par´ ametros, inicializar rastros de feromona while (no se cumpla condici´ on de terminaci´ on) do ConstruirSolucionesporHormigas AplicarB´ usquedaLocal { Opcional } ActualizarFeromona end while construcci´ on, la soluci´on parcial actual sp es extendida agregando una componente de soluci´on factible del conjunto de vecinos factibles N(sp ) ⊆ C. El proceso de construcci´ on de soluciones puede ser considerado como un camino en el grafo de construcci´ on GC (V, E). Los caminos permitidos en GC est´an definidos impl´ıcitamente por el mecanismo de construcci´ on de soluciones que define el conjunto N(sp ) con respecto a una soluci´on parcial sp . La elecci´ on de una componente de soluci´on de N(sp ) se hace probabil´ısticamente en cada paso de la construcci´ on. Las reglas exactas para la elecci´on probabil´ıstica de componentes de soluciones var´ıan entre diferentes variantes de algoritmos ACO. La regla m´ as conocida es de Ant System [23]: τijα · η(cij )β , α β cil ∈N(sp ) τil · η(cil )

p(cij |sp ) = P

∀cij ∈ N(sp ),

(3.2)

donde τij es el valor de feromona asociado con la componente cij , y η(·) es una funci´ on que asigna a cada paso de la construcci´ on un valor heur´ıstico para cada componente de soluci´on factible cij ∈ N(sp ). Los valores que son retornados por esta funci´on son llamados normalmente informaci´ on heur´ıstica. Adem´ as, α y β son par´ ametros positivos cuyos valores determinan la importancia relativa de la feromona y de la informaci´ on heur´ıstica respectivamente. La ecuaci´ on 3.2 es una generalizaci´ on de la ecuaci´ on 3.1. Como se puede apreciar, la formalizaci´ on de los algoritmos ACO sigue estrechamente la inspiraci´ on biol´ ogica. AplicarB´ usquedaLocal Una vez que las soluciones han sido construidas, y antes de actualizar la feromona, a veces pueden ser necesarias algunas acciones opcionales. Estas acciones son llamadas acciones auxiliares 5 , y pueden ser usadas para implementar acciones centralizadas y/o espec´ıficas del problema, las cuales no pueden ser realizadas por simples hormigas. La acci´on auxiliar m´ as usada consiste en la aplicaci´on de b´ usqueda local a la soluci´on construida: las soluciones localmente ´optimas son usadas para decidir como actualizar feromona. ActualizarFeromona El objetivo de la actualizaci´on de feromona es incrementar los valores de feromona asociados con soluciones buenas o prometedoras, y decrementar 5

El t´ermino original en ingl´es es daemon actions, concepto que caracteriza a procesos que se ejecutan cuando se cumplen determinadas condiciones.

24

aqu´ellos valores que est´an asociados con malas soluciones. Normalmente, esto se logra: decrementando todos los valores de feromona a trav´es de la evaporaci´ on de feromona. aumentando los niveles de feromona asociados con un conjunto de buenas soluciones Supd elegido τij ← (1 − ρ) · τij + ρ ·

X

F (s)

(3.3)

s∈Supd |cij ∈s

donde Supd es el conjunto de soluciones que son usadas para la actualizaci´on, ρ ∈ (0, 1] es un par´ ametro llamada factor de evaporaci´ on, y F : S → R+ on tal que 0 es una funci´ ′ ′ ′ f (s) < f (s ) ⇒ F (s) ≥ F (s ), ∀s 6= s ∈ S. La funci´on F (·) es llamada funci´ on de fitness. La evaporaci´on de feromona es necesaria para evitar una convergencia demasiado r´apida del algoritmo. Implementa una forma u ´til de olvidarse y favorecer la exploraci´ on de nuevas ´ areas en el espacio de b´ usqueda. Diferentes algoritmos ACO, por ejemplo, MAX − MIN Ant System [69] o Ant Colony System [21] difieren en la forma en que actualizan feromona. Instanciaciones de la regla de actualizaci´on presentada en la ecuaci´ on 3.3 son obtenidas por diferentes especificaciones de Supd , la cual en muchos casos es un subconjunto de Siter ∪ {sbs } donde Siter es el conjunto de soluciones que fueron constru´ıdas en la iteraci´ on actual, y sbs es la soluci´on best-so-far (mejor hasta ahora), esto es, la mejor soluci´on encontrada desde la primer iteraci´ on del algoritmo. Un ejemplo muy conocido es la regla de actualizaci´on de Ant System, donde Supd ← Siter

(3.4)

Un ejemplo de regla de actualizaci´on de feromona que es muy utilizada en la pr´actica es la regla de actualizaci´on IB (donde IB significa la mejor de la iteraci´ on) Supd ← arg m´ ax F (s) s∈Siter

(3.5)

La regla de actualizaci´on IB introduce un sesgo mucho m´ as fuerte hacia las soluciones buenas encontradas respecto de la regla de Ant System. Aunque esto aumenta la velocidad con qu´e se encuentran buenas soluciones, tambi´en aumenta la probabilidad de convergencia prematura. Un sesgo aun m´ as fuerte es introducido por la regla de actualizaci´ on BS, donde BS se refiere al uso de la soluci´on mejor-hasta-ahora sbs . En este caso, Supd toma el valor de {sbs }. En la pr´actica, los algoritmos ACO que usan variantes de las reglas de actualizaci´on IB ´ o BS y que adicionalmente incluyen mecanismos para evitar convergencia prematura obtienen mejores resultados que aquellos que usan la regla de actualizaci´on de Ant System.

25

3.2.1.

Ejemplo: El Problema del Viajante de Comercio

El Problema del Viajante de Comercio (TSP, por sus siglas en ingl´es, Traveling Salesman Problem) juega un rol importante en los algoritmos de optimizaci´ on basados en colonias de hormigas porque fue el primer problema en ser atacado con estos m´etodos. El TSP fue elegido por varias razones: (i) es un problema para el cual la met´afora de las colonias de hormigas se adapta f´acilmente, (ii) es uno de los problemas N P-duro m´ as estudiados en el campo de optimizaci´ on combinatoria, y (iii) es muy f´acil de explicar. Una definici´on general del TSP es la siguiente. Considere un conjunto de nodos N , representando ciudades, y un conjunto de arcos E conectando completamente los nodos de N . Sea dij la longitud del arco (i, j) ∈ E, esto es la distancia entre las ciudades i y j, con i, j ∈ N . El TSP es el problema de encontrar un circuito Hamiltoniano de longitud m´ınima sobre el grafo G = (N, E), donde un circuito Hamiltoniano del grafo G es un tour cerrado que visita una y solo una vez todos los nodos n = |N | de G, y su longitud est´a dada por la suma de las longitudes de los arcos del cual est´a compuesto el tour. La aplicaci´on de ACO al TSP es simple. Los movimientos entre ciudades son las componentes de soluciones, esto es, el movimiento desde la ciudad i a la ciudad j es el componente de soluci´on cij ≡ cji . El grafo de construcci´ on GC (V, E) se define asociando el conjunto de ciudades con el conjunto de v´ertices V del grafo. Ya que, en principio, es posible moverse desde cualquier ciudad a cualquier ciudad, el grafo de construcci´ on es completamente conectado y el n´ umero de v´ertices es igual al n´ umero de ciudades definidas por la instancia del problema. Asimismo, las longitudes de los arcos entre los v´ertices son proporcionales a las distancias entre las ciudades representadas por esos v´ertices. La feromona se asocia con el conjunto de arcos E del grafo. Es importante recalcar que tambi´en es posible asociar el conjunto de componentes de soluci´on del TSP (o de cualquier otro problema de optimizaci´ on combinatoria, como se ver´a en el pr´oximo cap´ıtulo para el QAP) con el conjunto de v´ertices V en lugar del conjunto de arcos E del grafo de construcci´ on GC (V, E). Para el TSP, significar´ıa asociar los movimientos entre ciudades con el conjunto de v´ertices V, y las ciudades con el conjunto de arcos E. Cuando se usa este enfoque, el proceso de construcci´ on de soluciones de las hormigas tiene que ser modificado apropiadamente: las hormigas tienen que moverse de v´ertice a v´ertice del grafo de construcci´ on eligiendo de este modo las conexiones entre las ciudades.

3.3.

Algoritmos basados en la metaheur´ıstica ACO

En la literatura se han propuesto diversos algoritmos que siguen la metaheur´ıstica ACO. Entre los principales algoritmos ACO disponibles para problemas de optimizaci´ on combinatoria N P-duro, se encuentran: Ant System 26

MAX − MIN Ant System Ant Colony System En las secciones subsiguientes, se presenta una breve descripci´ on de cada uno de estos algoritmos aplicados al Problema del Viajante de Comercio, anteriormente descrito.

3.3.1.

Ant System

El Sistema de Hormigas (AS, por sus siglas en ingl´es, Ant System) [22, 23] fue el primer algoritmo ACO propuesto en la literatura. Inicialmente, se presentaron tres variantes distintas: ant-density, ant-quantity y ant-cycle, que se diferenciaban en la manera en que actualizaban los rastros de feromona. En los dos primeros, las hormigas depositaban feromona mientras que constru´ıan sus soluciones (esto es, aplicaban una actualizaci´on on-line paso a paso de feromona). Mientras, que en ant-cycle, la actualizaci´on de feromona se llevaba a cabo una vez que todas las hormigas hab´ıan construido una soluci´on y la cantidad de feromona depositada por cada hormiga era establecida en funci´on de la calidad de la soluci´on. Esta u ´ltima variante era la que obten´ıa mejores resultados y es por lo tanto la que se conoce como AS en la literatura (y en el resto de este trabajo).

Construcci´ on de la soluci´ on En AS, m hormigas concurrentemente construyen una soluci´on (en este caso un tour para el problema TSP). Inicialmente, las hormigas son ubicadas en ciudades elegidas aleatoriamente). En cada paso de la construcci´ on, la hormiga k aplica una regla de elecci´ on de acci´on probabil´ıstica (llamada regla proporcional aleatoria) para decidir que ciudad visitar a continuaci´ on. En particular, la probabilidad con la cual la hormiga k, estando en la ciudad i, elige una ciudad j para ir es:   P [τij ]α [ηij ]β si j ∈ Nik k [τil ]α [ηil ]β k l∈N (3.6) pij = i  0 en otro caso

donde ηij = 1/dij es un valor heur´ıstico disponible a priori, α, β son dos par´ ametros que establecen la importancia relativa de los rastros de feromona y de la informaci´ on heur´ıstica respectivamente, y Nik es el vecindario alcanzable por la hormiga k cuando se encuentra en el nodo i (esto es, el conjunto de ciudades que la hormiga k a´ un no ha visitado). Cada hormiga k mantiene una memoria Mk la cual contiene las ciudades visitadas, y en el orden en que fueron visitadas. Esta memoria se usa para determinar la vecindad factible Nik en cada paso de la construcci´ on. Respecto a los par´ ametros α y β, su funci´on es la siguiente: si α = 0, aquellos nodos con una preferencia heur´ıstica mejor tienen una mayor probabilidad de ser escogidos,

27

haciendo el algoritmo muy similar a un algoritmo voraz probabil´ıstico cl´asico (con m´ ultiples puntos de partida en caso de que las hormigas est´en situadas en nodos distintos al comienzo de cada iteraci´ on). Sin embargo, si β = 0, s´ olo se tienen en cuenta los rastros de feromona para guiar el proceso constructivo, lo que puede causar un r´apido estancamiento, esto es, una situaci´on en la que los rastros de feromona asociados a una soluci´on son ligeramente superiores que el resto, provocando por tanto que las hormigas siempre construyan las mismas soluciones, normalmente ´optimos locales. Por tanto es necesario establecer un balance adecuado entre la informaci´ on heur´ıstica y los rastros de feromona.

Actualizaci´ on de rastros de feromona Como se ha dicho, el dep´ osito de feromona se realiza una vez que todas las hormigas han acabado de construir sus soluciones. Primero, los rastros de feromona asociados a cada arco se evaporan reduciendo todos los rastros de feromona en un factor constante: τij ← (1 − ρ) · τij

(3.7)

donde 0 < ρ ≤ 1 es la tasa de evaporaci´on. El par´ ametro ρ es usado para evitar una acumulaci´on ilimitada de los rastros de feromona y permite al algoritmo “olvidar” malas decisiones tomadas previamente. De hecho, si un arco no es elegido por las hormigas su valor de feromona asociado decrece exponencialmente con el n´ umero de iteraciones. Despu´es de la evaporaci´on, todas las hormigas depositan feromona sobre los arcos que han elegido en su tour: τij ← τij + ∆τijk

m X

∆τijk

(3.8)

k=1

donde es la cantidad de feromona que la hormiga k deposita en los arcos que ha visitado. Se define como:  Q o el arco (i, j) en su tour  Lk si la hormiga k us´ ∆τijk = (3.9)  0 en otro caso

donde Q es una constante y Lk es la longitud del tour construido por la k-´esima hormiga. Esto significa, que cuanto mejor sea el tour construido por la hormiga, mayor es la cantidad de feromona que reciben los arcos de ese tour.

3.3.2.

MAX − MIN Ant System

El Sistema de Hormigas MAX − MIN (MMAS, por sus siglas en ingl´es, MAX − MIN Ant System) [69] es un algoritmo mejorado que toma como base las ideas de AS. MMAS fue propuesto por St¨ utzle y Hoos, ellos introdujeron un n´ umero de cambios de los cuales los m´ as importantes son: 28

solo la mejor hormiga puede actualizar los rastros de feromona (esta puede ser la hormiga que gener´ o el mejor tour de la iteraci´ on actual o la hormiga que gener´ o el mejor tour desde el inicio del algoritmo). limita el rango posible de los valores de rastros de feromona al intervalo [τmin , τmax ]. Este mecanismo fue ideado para contrarrestar el efecto que produce permitir que solo la mejor hormiga actualice la feromona. los rastros de feromona son inicializados con el valor del l´ımite superior de rastro de feromona, el cual, junto con un peque˜ no factor de evaporaci´on de feromona, incrementa la exploraci´ on de los tour al comienzo de la b´ usqueda. los rastros de feromona son reinicializados cada vez que el sistema conduce a la situaci´on de estancamiento o cuando no ha sido generado ning´ un tour mejor durante un cierto n´ umero de iteraciones. Actualizaci´ on de rastros de feromona Despu´es de que todas las hormigas han construido una soluci´on, se actualizan los rastros de feromona aplicando evaporaci´on de acuerdo a la ecuaci´ on 3.7 (la misma que es utilizada por el Sistema de Hormigas), seguida por el dep´ osito de nueva feromona de acuerdo a: τij ← τij + ∆τijbest

(3.10)

donde ∆τijbest es la cantidad de feromona que la mejor hormiga deposita en los arcos que ha visitado. Se define como:

∆τijbest

=

  

1 Lbest

si la mejor hormiga us´ o el arco (i, j) en su tour

0

en otro caso

(3.11)

donde Lbest es la longitud del tour de la mejor hormiga. La hormiga a la que se le permite a˜ nadir feromona puede ser la que gener´ o la mejor soluci´on de la iteraci´ on actual, en cuyo caso Lbest = Lib donde Lib es la longitud del mejor tour encontrado en la iteraci´ on actual; o la que gener´ o la mejor soluci´on desde el inicio del algoritmo, en cuyo caso Lbest = Lbs donde Lbs es la longitud del mejor tour encontrado desde el inicio del algoritmo. Los resultados experimentales demuestran que el mejor rendimiento se obtiene incrementando gradualmente la frecuencia de elegir la mejor global para la actualizaci´on de feromona respecto de la mejor de la iteraci´ on. L´ımites de rastros de feromona En MMAS, los l´ımites inferior y superior (τmin y τmax ) sobre los posibles valores de feromona en cualquier arco son impuestos para evitar estancamiento de la b´ usqueda, al darle a cada conexi´ on existente una probabilidad, aunque bastante peque˜ na, de ser 29

escogida. En particular, los l´ımites impuestos tienen el efecto de limitar indirectamente la probabilidad pij de seleccionar una ciudad j cuando una hormiga est´a en una ciudad i al intervalo [pmin , pmax ], con 0 < pmin ≤ pij ≤ pmax ≤ 1. S´olo si una hormiga tiene una sola opci´ on posible para la pr´oxima ciudad, entonces pmin = pmax = 1. Resultados experimentales sugieren que el l´ımite de rastro inferior usado en el algoritmo es m´ as importante que el l´ımite superior, ya que la cantidad m´ axima de rastro posible sobre los arcos est´a limitada en largas ejecuciones debido a la evaporaci´on de la feromona.

Inicializaci´ on y Reinicializaci´ on de rastros de feromona Al comienzo del algoritmo, los rastros de feromona son inicializados con un valor que es una estimaci´on del l´ımite superior del rastro de feromona. En combinaci´on con un valor peque˜ no para el factor de evaporaci´on, esto produce que las diferencias relativas entre los rastros de feromona no sean muy diferentes, de manera que al comienzo el algoritmo sea muy explorativo. MMAS introduce un medio de exploraci´ on adicional, para los caminos que tienen una baja probabilidad de ser elegidos, a trav´es de la reinicializaci´on de los rastros de feromona. Este mecanismo se activa cuando el algoritmo se acerca a una situaci´on de estancamiento (medido por estad´ısticas) o si no se han encontrado mejores tour por un cierto n´ umero de iteraciones.

3.3.3.

Ant Colony System

El Sistema de Colonia de Hormigas (ACS, por sus siglas en ingl´es, Ant Colony System) [21] es uno de los primeros sucesores de AS que introduce tres modificaciones importantes con respecto a dicho algoritmo: usa una regla de elecci´ on de acci´on m´ as agresiva que AS. la evaporaci´on de feromona y el dep´ osito de feromona se aplica s´ olo a los arcos del mejor tour global. cada vez que una hormiga usa un arco (i, j) para moverse de la ciudad i a la ciudad j, disminuye cierta cantidad de feromona de ese arco. Construcci´ on de la soluci´ on El ACS usa una regla de transici´on distinta, denominada regla proporcional pseudoaleatoria. Sea k una hormiga situada en el nodo i, el siguiente nodo j se elige aleatoriamente mediante la siguiente distribuci´on de probabilidad:  arg m´ axl∈N k {τil [ηil ]β } si q ≤ q0 i (3.12) j= J en otro caso 30

donde q es una variable aleatoria uniformemente distribuida en [0, 1], q0 ∈ [0, 1] es un par´ ametro, y J es una variable aleatoria seleccionada de acuerdo a la distribuci´on de probabilidad dada por la ecuaci´ on (3.6). Como puede observarse, la regla tiene una doble intenci´ on: cuando q ≤ q0 , explota el conocimiento disponible, eligiendo la mejor opci´ on con respecto a la informaci´ on heur´ıstica y los rastros de feromona. Sin embargo, si q > q0 se aplica una exploraci´ on controlada, tal como se hac´ıa en AS. En resumen, la regla establece un compromiso entre la exploraci´ on de nuevas conexiones y la explotaci´on de la informaci´ on disponible en ese momento. Actualizaci´ on de rastros de feromona global En ACS s´ olo se permite que una hormiga (la hormiga best-so-far) agregue feromona despu´es de cada iteraci´ on. Por lo tanto, la actualizaci´on se implementa mediante la siguiente ecuaci´ on: τij = (1 − ρ) · τij + ρ · ∆τijbs

(3.13)

donde ∆τijbs = C1bs . Es importante recalcar que, en ACS, la actualizaci´on de rastros de feromona (tanto la evaporaci´on como el hecho de depositar nueva feromona) s´ olo se aplica a los arcos de la mejor soluci´on, no a todos los arcos como en el AS. Actualizaci´ on de rastros de feromona local Adem´ as de la regla de actualizaci´on de feromona que se realiza al final de cada iteraci´ on, en el ACS, las hormigas usan una regla de actualizaci´on de feromona local (tambi´en referida como online) que aplican cada vez que atraviesan un arco (i, j) durante la construcci´ on de la soluci´on: τij = (1 − ϕ) · τij + ϕ · τ0

(3.14)

donde ϕ ∈ (0, 1) es el coeficiente de disminuci´on de feromona, y τ0 es el valor inicial de los rastros de feromona. Como puede verse, la regla de actualizaci´on online paso a paso incluye tanto la evaporaci´on de feromona como el dep´ osito de la misma. Ya que la cantidad de feromona depositada es muy peque˜ na, la aplicaci´on de esta regla hace que los rastros de feromona entre las conexiones recorridas por las hormigas disminuyan. As´ı, esto lleva a una t´ecnica de exploraci´ on adicional del algoritmo ACS ya que las conexiones atravesadas por un gran n´ umero de hormigas son cada vez menos atractivas para el resto de hormigas que las recorren en la iteraci´ on actual, lo que ayuda claramente a que no todas las hormigas sigan el mismo camino.

31

3.4.

Resumen

En este cap´ıtulo se present´o una introducci´ on a la metaheur´ıstica ACO, la cual est´a inspirada en el comportamiento de forrajero de las hormigas reales. El componente central de la metaheur´ıstica ACO es el modelo de feromona basado en el modelo subyacente del problema a ser resuelto. La idea b´asica de ACO deja muchas opciones y elecciones para el dise˜ nador del algoritmo. Se han propuesto muchos algoritmos basados en la metaheur´ısitca ACO, siendo los de mayor ´exito los algoritmos MMAS y ACS. La Optimizaci´on basada en Colonia de Hormigas es un metaheur´ıstica relativamente joven, en comparaci´on con otras, tales como computaci´ on evolutiva, b´ usqueda tab´ u, o simulated annealing. Sin embargo, ha demostrado ser muy eficiente y flexible. Los algoritmos de optimizaci´ on basados en colonia de hormigas son actualmente estado-del-arte para la resoluci´ on de muchos problemas de optimizaci´ on combinatoria. Para un panorama detallado de ACO, incluyendo la teor´ıa y las aplicaciones, el lector interesado deber´ıa referirse al libro Ant Colony Optimization escrito por el autor de la metaheur´ıstica [24].

32

Cap´ıtulo 4

Algoritmos ACO aplicados al QAP En este cap´ıtulo se presentan las principales variantes de algoritmos ACO que han sido aplicadas al QAP, desde que se invent´o la mencionada metaheur´ıstica. Tambi´en se presentan las principales aplicaciones de algoritmos ACO que utilizan el enfoque de memoria expl´ıcita. Por u ´ltimo se presenta detalladamente la variante de algoritmo ACO propuesta en este trabajo final.

4.1.

Respecto de la aplicaci´ on de ACO al QAP

Como se mencion´ o en el cap´ıtulo anterior, para aplicar la metaheur´ıstica ACO a un problema de optimizaci´ on combinatoria, es conveniente representar el problema mediante el grafo de construcci´ on GC (V, E), donde V es el conjunto de v´ertices y E es el conjunto de arcos. Para representar el QAP como este grafo, el conjunto de v´ertices V est´a compuesto por los elementos y las ubicaciones de la descripci´on del problema, y el conjunto de arcos E conecta a los v´ertices, es decir, hay arcos desde elementos a ubicaciones y arcos desde ubicaciones a elementos. La construcci´ on de una asignaci´ on de elementos a ubicaciones (o de ubicaciones a elementos) puede ser interpretada como un movimiento de la hormiga sobre la representaci´ on del grafo de construcci´ on del QAP, guiado por la informaci´ on del rastro de feromona (asociado a los arcos) y posiblemente por informaci´ on heur´ıstica disponible localmente. El movimiento de la hormiga adicionalmente tiene que obedecer ciertas restricciones para asegurar que se genere una soluci´on factible. En el caso del QAP, tal soluci´on factible asigna cada elemento a exactamente una ubicaci´ on y cada ubicaci´ on tiene asignada exactamente un elemento. Por lo tanto, una soluci´on factible φ para el QAP consiste de n duplas (i, j) de elementos y ubicaciones. Para la aplicaci´on pr´actica de la metaheur´ıstica ACO al QAP es conveniente usar una direcci´on de asignaci´ on fija, por ejemplo, asignar elementos a ubicaciones (o ubicaciones a elementos). Entonces, los elementos son asignados por las hormigas en alg´ un orden, 33

el cual se denomina orden de asignaci´ on, a las ubicaciones. Una hormiga iterativamente aplica los siguientes dos pasos hasta que ha construido una soluci´on completa. En un primer paso la hormiga elige un elemento, y en un segundo paso el elemento elegido es asignado a alguna ubicaci´ on. Los rastros de feromona y la informaci´ on heur´ıstica pueden ser asociados con ambos pasos. Con respecto al primer paso, los rastros de feromona y la informaci´ on heur´ıstica pueden ser usados para aprender un orden de asignaci´ on apropiado (obviamente, el orden de asignaci´ on puede influenciar el rendimiento del algoritmo). En cuanto al segundo paso, el rastro de feromona τij y la informaci´ on heur´ıstica ηij asociadas con la dupla entre el elemento i y la ubicaci´ on j determina la deseabilidad de poner el elemento i en la ubicaci´ on j. Despu´es de que todas las hormigas han generado una soluci´on factible y posiblemente la hayan mejorado aplicando b´ usqueda local, se les permite depositar feromona, teniendo en cuenta la calidad de la soluci´on.

4.2.

Enfoques previos de algoritmos ACO para QAP

Desde la primera aplicaci´on de Ant System al QAP, varios algoritmos ACO mejorados para este problema han sido propuestos por distintos autores. A pesar de las diferencias entre estos algoritmos, comparten al menos dos aspectos comunes importantes. Uno de los aspectos se refiere a la construcci´ on de soluciones. Todas los algoritmos propuestos para el QAP, asocian rastros de feromona τij u ´nicamente a asignaciones de la forma φi = j, por lo tanto, τij se puede interpretar como la deseabilidad de asignar el elemento i a la ubicaci´ on j. En cuanto al orden de asignaci´ on, todos los algoritmos propuestos suponen que es fijo durante la ejecuci´ on del algoritmo [49, 47, 48] o se selecciona aleatoriamente en base a una distribuci´on uniforme [66, 73, 69]. El segundo aspecto es que todos los algoritmos propuestos mejoran las soluciones construidas por las hormigas usando un algoritmo de b´ usqueda local. Por lo tanto, estos algoritmos son algoritmos h´ıbridos que combinan la construcci´ on de soluciones que realizan las hormigas (artificiales) con algoritmos de b´ usqueda local. Esta combinaci´on puede ser muy interesante. Los algoritmos constructivos a menudo resultan en una baja calidad de soluciones en comparaci´on con los algoritmos de b´ usqueda local. Por otro lado, se ha observado que repetir b´ usqueda local a partir de soluciones iniciales generadas aleatoriamente resulta (para la mayor´ıa de los problemas) en una diferencia considerable respecto de la soluci´on ´ optima [41] . Sin embargo, la experiencia ha demostrado que la combinaci´on de una heur´ıstica constructiva (probabil´ıstica y adaptable) con b´ usqueda local puede obtener soluciones significativamente mejores [21, 69]. Los algoritmos ACO son estos algoritmos heur´ısticos de construcci´ on adaptativa, en el sentido de que una colonia de hormigas modifica la representaci´ on de una soluci´on asignando mayor rastro de feromona a las conexiones (en este caso, a asignaciones de elementos a ubicaciones), que est´an en las mejores soluciones. Durante la construcci´ on de soluciones las hormigas seleccionan con mayor preferencia asignaciones que tienen mayor cantidad de feromona

34

y combinando estas asignaciones generan soluciones iniciales prometedoras para el algoritmo de b´ usqueda local. Una ventaja adicional de la utilizaci´ on de algoritmos ACO es que, mediante la generaci´on de buenas soluciones iniciales, el algoritmo de b´ usqueda local necesita un n´ umero mucho menor de iteraciones para alcanzar un ´optimo local. De esta manera, para un l´ımite de tiempo determinado se pueden ejecutar muchos m´ as “b´ usquedas locales” que si se comenzar´ a a partir de soluciones generadas aleatoriamente. En las siguientes secciones se presentan algunos algoritmos ACO para el QAP en mayor detalle.

4.2.1.

Ant System

Ant System es el primer algoritmo ACO que ha sido aplicado al QAP (AS-QAP) [49, 23]. En AS-QAP el orden de asignaci´ on es determinado por un pre-ordenamiento de los elementos, como se explica m´ as abajo. Luego, en cada paso un elemento i es asignado probabil´ısticamente a alguna ubicaci´ on j, prefiriendo ubicaciones con rastro de feromona τij alto e informaci´ on her´ıstica ηij prometedora. Informaci´ on heur´ıstica La informaci´ on heur´ıstica sobre la potencial bondad de una asignaci´ on es determinado en AS-QAP como sigue. Dos vectores d y f son calculados en los cuales la i -esima componente representa respectivamente la suma de las distancias desde la ubicaci´ on i a todas las otras ubicaciones y la suma de los flujos desde el elemento i a todos los otros elementos. Mientras m´ as bajo sea el valor de di , la distancia potencial de la ubicaci´ on i, m´ as central es la ubicaci´ on considerada; y mientras m´ as alto sea el valor de fi , el flujo potencial del elemento i, m´ as importante es el elemento. Luego se calcula una matriz de acoplamiento E = f · dT , donde el eij = fi · dj . Entonces, la deseabilidad heur´ıstica de asignar el elemento i a la ubicaci´ on j esta dada por ηij = 1/eij . La motivaci´ on por usar este tipo de informaci´ on heur´ıstica es que, intuitivamente, las soluciones buenas pondr´ an elementos con alto flujo potencial en las ubicaciones con baja distancia potencial. Construcci´ on de soluciones Una soluci´on se construye como sigue. En AS-QAP los elementos son ordenados en orden decreciente de flujo potencial. En cada paso de la construcci´ on una hormiga k asigna el siguiente elemento a´ un no asignado i a una ubicaci´ on libre j con una probabilidad dada por: [τij (t)]α · [ηij ]β α β l∈N k [τil (t)] · [ηil ]

pkij (t) = P

i

si j ∈ Nik

(4.1)

donde el τij (t) es el rastro de feromona en la iteraci´ on t, α y β son par´ ametros que determinan la influencia relativa de la cantidad de feromona y la informaci´ on heur´ıstica, y Nik es la vecindad factible del nodo i, es decir, s´ olo aquellas ubicaciones que estan toP dav´ıa libres (note que j∈N k pij (t) = 1). Estos pasos se repiten hasta que se construye i una asignaci´ on completa. 35

Actualizaci´ on de feromona La actualizaci´on del rastro de feromona aplicado a todas las duplas es realizado de acuerdo a la siguiente ecuaci´ on: τij (t + 1) = ρ · τij (t) +

m X

∆τijk

(4.2)

k=1

donde ρ, con 0 < ρ < 1, es la persistencia del rastro de feromona, de modo que (1 − ρ) representa la evaporaci´on. El par´ ametro ρ es usado para evitar acumulaci´on ilimitada de rastros de feromona y permitir al algoritmo olvidar malas decisiones tomadas previamente. ∆τijk es la cantidad de feromona que la hormiga k pone en la dupla (i, j); y esta dado por

∆τij =

  Q/Jψk si el elemento i es asignado a la ubicaci´on j en la soluci´on de la hormiga k 

0

en otro caso

(4.3) donde es la soluci´on de la hormiga k, es el valor de la funci´on objetivo, y Q es la cantidad de feromona depositada por una hormiga. ψk

Jψk

Una primer mejora de AS-QAP es presentada en [26] y nos referiremos a ella como AS2-QAP. AS2-QAP difiere principalmente en la forma en que la informaci´ on heur´ıstica es calculada y en una manera diferente de calcular la probabilidad de asignar elementos a ubicaciones. A´ un, desde una mejora adicional sobre AS2-QAP, llamada ANTS-QAP y presentada en la pr´oxima secci´ on, obtiene mejores resultados, no presentamos los detalles de AS2-QAP.

4.2.2.

ANTS

En [47] se presenta un algoritmo ACO, llamado ANTS1 , de aqu´ı en m´ as referido como ANTS-QAP. El algoritmo ANTS introduce varias modificaciones con respecto al AS. La modificaci´ on m´ as significativa es el uso de l´ımites inferiores sobre el costo de una soluci´on, en la finalizaci´on de una soluci´on parcial para computar din´ amicamente valores heur´ısticos ηij variables. Otras modificaciones adicionales son el uso de una regla de elecci´ on de acci´on diferente y una regla de actualizaci´on de rastros de feromona modificada. Uso de l´ımites inferiores En ANTS-QAP se usan l´ımites inferiores (ver secci´ on 2.3.2) respecto del costo de una soluci´on parcial para dar informaci´ on heur´ıstica sobre que tan atractiva es agregar la asignaci´ on (i, j) espec´ıfica. Esto se logra agregando tentativamente la asignaci´ on a la soluci´on parcial actual y estimando el costo de una soluci´on 1 De acuerdo a [47] el t´ermino ANTS deriva del hecho de que el algoritmo propuesto puede ser interpretado como un Approximate Nondeterministic Tree Search (Arbol de B´ usqueda No determin´ıstico Aproximado) ya que comparte varios elementos con un procedimiento aproximado de Ramificaci´ on y Acotaci´ on.

36

completa que contenga esa asignaci´ on por medio del l´ımite inferior. Esta estimaci´on luego es usada para influenciar las decisiones probabilisticas tomadas por la hormiga durante la construcci´ on de la soluci´on: mientras m´ as baja es la estimaci´on del l´ımite, m´ as atractiva es agregar la asignaci´ on espec´ıfica. El uso de l´ımites inferiores para la informaci´on heur´ıstica presenta varias ventajas, como la eliminaci´on de posibles movimientos si la estimaci´on del costo es mayor que la mejor soluci´on encontrada hasta ahora. Como el l´ımite inferior es calculado en cada paso de la construcci´ on de una hormiga, estos deber´ıan ser computados eficientemente. En ANTS-QAP se computa el l´ımite inferior de Gilmore-Lawler (GLB) [32] al comienzo del algoritmo. Junto con el computo del l´ımite inferior uno obtiene los valores de las variables duales correspondientes a las restricciones cuando se formula el QAP como un problema de programaci´ on entera. Una desventaja del l´ımite GLB es una complejidad computacional relativamente alta, la cual es O(n3 ). Para disminuir el esfuerzo computacional asociado con las computaciones del l´ımite inferior, en ANTS-QAP un l´ımite inferior m´ as d´ebil que GLB es propuesto, llamado LBD. Este l´ımite inferior tiene la ventaja de tener una complejidad computacional que es O(n). Los resultados computacionales presentados en [25] muestran que usando este l´ımite inferior d´ebil es suficiente para guiar la construcci´ on de soluciones de las hormigas. Construcci´ on de soluciones En ANTS-QAP es dado un pre-oredenamiento de las ubicaciones por los valores de las variables duales las cuales son obtenidas cuando se computa el l´ımite GLB para una instancia. Dada una ubicaci´ on j, la hormiga k decide asignar el elemento i a esta ubicaci´ on con la siguiente probabilidad 2 : α · τij (t) + (1 − α) · ηij l∈N k α · τlj (t) + (1 − α) · ηlj

pkij (t) = P

j

si i ∈ Njk

(4.4)

Una ventaja de la ecuaci´ on 4.4 comparada con la ecuaci´ on 4.1, es que se elimina un par´ ametro. Adicionalmente, son aplicadas operaciones m´ as simples las cuales son m´ as r´apidas de computar, como multiplicaciones en lugar de exponenciaci´on. Njk es la vecindad factible; Pes definida por los elementos que no han sido asginados a ninguna ubicaci´ on. Aqu´ı i∈N k pij (t) = 1. De hecho, en esta formulaci´on el pre-ordenamiento es j realizado respecto de las ubicaciones en lugar de los elementos. Obviamente, tambi´en es posible usar un pre-ordenamiento de ubicaciones como en AS-QAP. Actualizaci´ on de feromona La actualizaci´on de feromona P en ANTS-QAP no usa k ı, ∆τijk evaporaci´on de feromona, esto es, tenemos τij (t + 1) = τij (t) + m k=1 ∆τij . Aqu´ es definido como: 2

La misma regla de elecci´ on de acci´ on es usada por el algoritmo AS2-QAP.

37

∆τij =

   τ0 · (1 −  

0

k −LB Jψ Javg −LB )

si el elemento i es asignado a la ubicaci´ on j en la soluci´ on de la hormiga k

en otro caso

(4.5) donde Javg es el movimiento promedio de las u ´ltimas l soluciones provistas por las hormigas y LB es el valor del l´ımite GLB el cual es calculado al comienzo del algoritmo. Si una soluci´on de una hormiga es peor que el promedio de movimiento actual, la cantidad de rastro de feromona de las duplas construidas por las hormigas es decrementada. El efecto adicional de usar la ecuaci´ on 4.5 es una escala din´ amica de las diferencias de la funci´on objetivo lo cual puede ser muy ventajoso si en etapas posteriores de la b´ usqueda la diferencia absoluta entre las calidades de la soluci´on de la hormiga se vuelven menores.

4.2.3.

MAX − MIN Ant System

MAX − MIN Ant System fue propuesto primero para el TSP y luego para el QAP [69], por lo cual es necesario adaptar algunos componentes del algoritmo para su correcta aplicaci´on. Construcci´ on de soluciones En MMAS-QAP, en cada paso de la construcci´ on, la hormiga k primero elige aleatoriamente un elemento i entre aquellos a´ un no asignados, y luego lo ubica en una ubicaci´ on libre j con una probabilidad dada por: pkij (t) = P

τij (t) l∈N k τil (t) i

si j ∈ Nik

(4.6)

Es notable que MMAS-QAP no hace uso de informaci´ on heur´ıstica. Como se mostr´o en la aplicaci´on de MMAS al problema TSP [69], la informaci´ on heur´ıstica no es necesaria para alcanzar soluciones de alta calidad cuando las soluciones son mejoradas con un algoritmo de b´ usqueda local. No usar informaci´ on heur´ıstica adem´ as elimina un par´ ametro y, por lo tanto, reduce el esfuerzo para configurarlos. Actualizaci´ on de rastros de feromona Despu´es de que todas las hormigas han construido una soluci´on, los rastros de feromonas son actualizados de acuerdo a: τij (t + 1) = ρ · τij (t) + ∆τijbest

(4.7)

Aqu´ı, ∆τijbest es definido como:

∆τijbest =

  1/Jψbest si el elemento j es asignado a la ubicaci´on i en la soluci´on ψ best 

0

en otro caso

38

(4.8)

donde Jψbest es el valor de la funci´on objetivo de ψ best . ψ best puede ser la soluci´on iteration-best ψ ib , o la mejor soluci´on durante la ejecuci´ on del algoritmo, la soluci´on global-best ψ gb . Por lo tanto, si en las mejores soluciones los elementos son puestos frecuentemente en ubicaciones espec´ıficas, estas asignaciones tendr´ an una cantidad mayor ib gb de feromona. Una elecci´ on de buen sentido en el uso de ψ o ψ para la actualizaci´on del rastro de feromona puede ayudar f´acilmente a mejorar el rendimiento del algoritmo. En general, se obtienen mejores resultados si la frecuencia de elegir ψ gb incrementa durante la ejecuci´ on del algoritmo. Adicionalmente uno tiene que asegurar que la cantidad de rastro de feromona respete los l´ımites. Si despu´es de la actualizaci´on de feromona tenemos τij > τmax , hacemos τij = τmax ; an´ alogamente, si τij < τmin , asignamos τij = τmin . Caracter´ısticas de diversificaci´ on adicional Para la aplicaci´on de MMAS al QAP se usa una t´ecnica adicional para incrementar la diversificaci´on de la b´ usqueda. En particular, s´ olo si el progreso de la b´ usqueda es muy peque˜ no, los rastros de feromona son reinicializados con el valor τmax .

4.2.4.

FANT

En [72] se propone otro algoritmo ACO, llamado Fast Ant System (Sistema de Hormigas R´apido). En el algoritmo FANT las soluciones son construidas de la misma forma que en MMAS-QAP usando la regla de elecci´ on de acci´on dada en la ecuaci´ on 4.6, por lo que tampoco utiliza informaci´ on heur´ıstica. Adem´ as se diferencia de otros algoritmos ACO, en dos aspectos: el n´ umero de hormigas que usa y el manejo de los rastros de feromona. N´ umero de hormigas FANT s´ olo utiliza una hormiga, es decir, no usa una poblaci´ on. El uso de una sola hormiga permite al algoritmo encontrar buenas soluciones r´apido. Esto se considera una configuraci´ on de par´ ametros espec´ıfica m´ as que una caracter´ıstica importante del algoritmo. Actualizaci´ on de feromona Al igual que el algoritmo ANTS-QAP, FANT no utiliza evaporaci´on de rastros de feromona. Inicialmente, todos los rastros de feromona son inicializados en uno y despu´es de cada iteraci´ on se agrega feromona de acuerdo a la ecuaci´ on: τij (t + 1) = τij (t) + r · ∆τij + r∗ · ∆τijgb

(4.9)

donde ∆τij = 1/Jψ para cada par (i, j) que es parte de la soluci´on generada en la iteraci´ on actual, y ∆τijgb = 1/Jψgb para cada par de la mejor soluci´on global ψ gb . r y r∗ son dos par´ ametros. El valor de r puede ser modificado deurante la ejecuci´ on del ∗ algoritmo (inicialmente es tiene el valor uno), mientras que el valor de r se mantiene 39

fijo. Los dos par´ ametros determinan el refuerzo relativo provisto por la soluci´on actual y por la mejor soluci´on global. En dos ocaciones los rastros de feromona se actualizan de una manera diferente a la descrita en la regla anterior. Si la mejor soluci´on global ha sido mejorada, el par´ ametro r se inicializa en uno y los rastros de feromona son reinicializados con un valor igual a uno (con esto se logra intensificaci´on de la b´ usqueda en torno a la mejor soluci´on global). Si la hormiga construye una soluci´on que sea igual a ψ gb , r es incrementado en uno y de nuevo los rastros de feromona son reinicializados con el valor de r (diversificaci´on de la b´ usqueda decrementando el peso relativo de ψ gb ).

4.3.

Algoritmos ACO con uso de memoria expl´ıcita

En esta secci´ on se presentan los principales algoritmos ACO, que siguen la tem´atica abordada en este trabajo final: el uso de memoria expl´ıcita. Estos algoritmos tiene en com´ un que en todos los casos, las hormigas completan la construcci´ on de soluciones que toman como base de la memoria expl´ıcita.

4.3.1.

ACO con Memoria Externa

En [1, 2] se introduce un enfoque basado en memoria externa a algoritmos ACO; donde la poblaci´on incluye segmentos de soluci´on de longitud variable [1] ´o secuencias de permutaciones parciales de longitud variable [2], formados a partir de las mejores soluciones de iteraciones previas. Inicialmente, la memoria esta vac´ıa y un algoritmo ACO cl´ asico se ejecuta por un peque˜ no n´ umero de iteraciones para inicializar la librer´ıa de soluciones parciales. Dependiendo de si se utiliza segmentos o secuencias de soluciones, tenemos: Cada segmento de soluci´on almacenado es asociado con el valor de la funci´on objetivo de la soluci´on de la cual se extrajo el segmento y que ser´a usado como medida para la selecci´ on de segmentos, y en la actualizaci´on de la memoria. No hay una distribuci´on particular de hormigas en el espacio del problema y el punto de inicio para una hormiga es el punto inicial del segmento con el que comienza. Cada secuencia almacenada esta asociada con un “tiempo de vida”3 y con el valor de la funci´on objetivo de la soluci´on de la cual se extrajo la secuencia que son usados como medida para recuperar y actualizar soluciones parciales dentro de la memoria. Para construir una soluci´on, una hormiga particular recupera un segmento de la memoria basado en su valor objetivo ´o una secuencia de permutaci´on parcial y luego completa el resto de la soluci´on siguiendo el proceso usual. Las soluciones construidas tambi´en son usadas para actualizar la memoria. 3

Indicado almacenando la iteraci´ on en la cual se cre´ o esta secuencia.

40

Descripci´ on del algoritmo En el algoritmo, hay m hormigas que construyen las soluciones. Se mantiene una memoria externa (formada por segmentos de soluciones de longitud variable o por secuencias de soluciones parciales de longitud variable) la cual inicialmente esta vac´ıa, y se realizan un n´ umero de iteraciones determinado de un algoritmo ACO cl´asico para completar la memoria. Despu´es de cada iteracion, las mejores k soluciones son consideradas y dependiendo de como esta formada la memoria externa: segmentos de soluciones de longitud variable. Se “cortan” segmentos de soluciones (aleatoriamente posicionados) de las mejores k soluciones, un segmento por soluci´ on, y se almacenan en la memoria. secuencias de soluciones de longitud variable. Se selecciona un n´ umero de componentes de soluciones (en posiciones aleatorias) de las mejores k soluciones, una secuencia por soluci´on y se almacenan en la memoria. En ambos casos el valor de fitness asociado al segmento o a la secuencia de soluciones, est´a dado por el valor de la funci´on objetivo de la soluci´on de la cual se gener´ o el segmento o la secuencia. El tama˜ no de la memoria M es fijo, por lo que no var´ıa durante la ejecuci´ on del algoritmo, y se repiten iteraciones de un algoritmo ACO tradicional hasta que se completa la memoria. Despu´es de la fase inicial, el algoritmo ACO trabaja en conjunto con la memoria externa implementada: no hay una asignaci´ on de hormigas sobre el espacio del problema y, para construir una soluci´on, cada hormiga selecciona un segmento o secuencia de soluci´on de la memoria usando una estrategia de selecci´on por torneo. Luego cada hormiga construye el resto de la soluci´on. En la selecci´ on de segmentos o secuencias de soluci´on de la memoria, cada hormiga realiza un torneo entre Q segmentos o secuencias de soluci´on seleccionados aleatoriamente y el/la mejor es seleccionado/a como la semilla para comenzar la construcci´ on. El procedimiento de construcci´ on de soluci´on es el mismo que se utiliza en el algoritmo MAX − MIN Ant System. Despu´es de que todas las hormigas han completado su soluci´on, se realiza la actualizaci´on de feromona de la misma forma que es hecha en algoritmos ACO tradicionales. En el procedimiento de actualizaci´on de la memoria, las soluciones construidas por las hormigas son ordenadas en orden ascendente y las mejores k son consideras como soluciones candidatas de las cuales nuevos segmentos o secuencias de permutaciones parciales ser´an insertadas en la memoria. Un segmento posicionado aleatoriamente y de longitud aleatoria se forma a partir de cada una de las mejores soluciones, y hay dos estrategias para actualizar los elementos de la memoria. Primero, un segmento nuevo reemplaza el peor de todos los segmentos que tenga un costo asociado mayor que el del segmento nuevo. Si no existe este segmento (porque todos los segmentos tienen costo igual o menor que el segmento nuevo), luego, el segmento nuevo se concatena con el elemento de la memoria que tenga el mayor costo asociado, y los valores repetidos se 41

quitan del segmento resultante. El prop´ osito de esta operaci´on de concatenaci´ on es lograr diversificaci´on a trav´es de la combinaci´on de dos segmentos de soluci´on prometedores. Una secuencia de permutaci´ on parcial de longitud aleatoria y posicionada aleatoriamente se forma a partir de cada una de las mejores soluciones, y esta reemplaza el peor de los elementos de la memoria que tengan un valor de fitness peor que el de la secuencia extra´ıda o el peor de los elementos de la memoria que tenga un “tiempo de vida” mayor (al m´ as antiguo).

4.3.2.

Iterated Ants MAX − MIN Ant System

Este algoritmo examina la posibilidad de cambiar la forma en la que se construyen las soluciones respecto de los algoritmos ACO tradicionales [76]. Se plantea comenzar la construcci´ on de soluciones a partir de soluciones parciales que son obtenidas quitando algunas componentes de soluciones de una soluci´on de una hormiga. Esta modificaci´ on esta inspirada en gran parte en los m´etodos Voraces Iterados4 .

Descripci´ on del algoritmo En los algoritmos ACO, las soluciones candidatas son generadas comenzando cada construcci´ on de una soluci´on desde cero. Sin embargo, otros m´etodos de b´ usqueda local estoc´astica constructivos son conocidos por usar construcci´ on de soluciones repetidas pero comenzando de soluciones parciales – esta es la idea central de los algoritmos voraces iterados (VI). Los algoritmos VI comienzan con alguna soluci´on candidata completa y luego iteran en un bucle principal que consiste de tres procedimientos; primero, un procedimiento Destruir elimina de una soluci´on completa s un n´ umero de componentes de soluci´on, resultando en una soluci´on candidata parcial sp . Comenzando desde sp , se reconstruye una soluci´on completa s′ con un procedimiento Construir y finalmente, un procedimiento CriterioAceptaci´ on decide si la pr´oxima iteraci´ on se contin´ ua desde s o ′ desde s . Adem´ as, es simple incluir un procedimiento de b´ usqueda local que mejore una soluci´on candidata una vez que ha sido completada por el procedimiento Construir. Las Hormigas Iteradas (Iterated Ants) aplican la idea central subyacente de algoritmos VI a los algoritmos ACO. Esto puede ser hecho de una manera m´ as bien simple considerando a cada hormiga como que implementa un algoritmo VI. Esto es, una hormiga individual sigue los pasos de un algoritmo VI y, por lo tanto, la construcci´ on de la soluci´on en al algoritmo h´ıbrido VI-ACO comienza de una soluci´on parcial que es obtenida de eliminar componentes de soluciones de una soluci´on candidata completa de una 4 Los algoritmos Voraces Iterados iteran sobre algoritmos de construcci´ on de la siguiente manera. Dada alguna soluci´ on inicial s, primero se quitan algunas componentes de soluci´ on, resultando en una soluci´ on candidata parcial sp . A partir de sp se reconstruye una soluci´ on candidata completa s′ mediante una heur´ıstica de construcci´ on voraz. Luego un criterio de aceptaci´ on decide a partir de cual de las dos soluciones (s o s′ ) contin´ ua la pr´ oxima iteraci´ on.

42

hormiga. La construcci´ on de soluciones por las hormigas sigue los mismos pasos que los algoritmos ACO tradicionales, esto es, las componentes de soluciones son agregadas tomando en cuenta rastros de feromona e informaci´ on heur´ıstica posiblemente. Iterated Ants MAX − MIN Ant System (iaMMAS) es el algoritmo resultante de integrar la idea de los algoritmos VI en el algoritmo MAX − MIN Ant System, y se ha probado para resolver el QAP. El algoritmo iaMMAS considera distintas opciones para el procedimiento Destruir, donde var´ıa la elecci´ on de como las componentes de soluciones son eliminadas de soluciones completas, cuantas componentes de soluci´on son eliminadas, y el tipo de actualizaci´on de feromona elegido en el algoritmo (para el caso del QAP, eliminar una componente de una soluci´on corresponde a deshacer una asignaci´ on de un elemento a una ubicaci´ on). Para la eliminaci´on de componentes de soluciones, se tiene tres variantes. rand: las componentes de soluciones a ser removidas son elegidas aleatoriamente de acuerdo a una distribuci´on uniforme. prob: la probabilidad de quitar una componente de soluci´on es proporcional al rastro de feromona τij correspondiente, esto es, mientras mayor sea el rastro de feromona mayor es la probabilidad de quitar una componente de soluci´on. iprob: la probabilidad de quitar una componente de soluci´on es inversamente proporcional al rastro de feromona τij asociado, esto es, mientras menor sea el rastro de feromona mayor es la probabilidad de quitar una componente de soluci´on. Respecto del n´ umero de componentes de soluciones a ser eliminadas considera dos posibilidades. fixed(k): Se remueven exactamente k componentes de soluci´on de cada hormiga, donde k es un par´ ametro. variable: En este caso, el n´ umero de componentes de soluciones a ser quitadas no esta fijado de antemano, pero se mantiene variable similar a como se modifica la intensidad de perturbaci´on en la metaheur´ıstica Variable Neighborhood Search [39]: si para un valor actual de k la hormiga no obtiene una soluci´on mejorada, se establece k = k + 1; en otro caso, se establece con alg´ un valor m´ınimo. Finalmente, tambi´en considera dos posibilidades para la regla de actualizaci´on de feromona. gb+ : La regla de actualizaci´on de feromona es muy parecida a la que usa el algoritmo MMAS-QAP original. gb− : La soluci´on candidata best-so-far y la mejor soluci´on candidata desde la reinicializaci´on de feromona no son tenidas en cuenta cuando se deposita feromona, esto es, s´ olo la hormiga mejor de la iteraci´ on deposita feromona. 43

4.3.3.

Cunning Ant System

El algoritmo Sistema de Hormigas astutas (cAS, del ingl´es, cunning Ant System) [75] introduce dos esquemas importantes. Uno es un esquema para utilizar soluciones parciales llamado astuto. En la construcci´ on de una nueva soluci´on, cAS usa soluciones parciales preexistentes. Con este esquema, se previene un estancamiento prematuro de la b´ usqueda reduciendo fuertes recompensas a la densidad del rastro. El otro esquema es el uso de un modelo de colonia, que divide las colonias en unidades, el cual tiene una caracter´ıstica de explotaci´on fuerte, mientras mantiene un cierto grado de diversidad entre las unidades.

Descripci´ on del algoritmo En cAS, se introduce un agente llamado hormiga astuta (c-ant, del ingl´es, cunning ant). La hormiga c-ant se diferencia de una hormiga tradicional en su manera de construir una soluci´on. Ella construye una soluci´on “pidiendo prestado” una parte de una soluci´on existente. El resto de la soluci´on lo construye bas´ andose en los rastros de feromona como es habitual. Ya que esta hormiga, en parte, se apropia del trabajo de otras hormigas, se la llama c-ant debido a su comportamiento astuto (una soluci´on construida por una hormiga astuta tambi´en se representa con la notaci´ on c-ant). Adem´ as, un agente que “ha prestado” una soluci´on parcial a una hormiga astuta, se lo llama hormiga donante (d-ant) y la soluci´on parcial donada a la hormiga c-ant tambi´en es representada con la notaci´ on d-ant. Como se mencion´ o anteriormente el otro esquema que introduce el cAS, es un modelo de colonia que consiste de m unidades. Cada unidad consiste de una sola ant∗k,t (k = 1, 2, . . . , m). En la iteraci´ on t en la unidad k, una nueva c−antk,t+1 crea una soluci´on con la hormiga existente en la unidad (es decir, ant∗k,t ) como la hormiga d − antk,t . Luego, son comparadas la nueva c − antk,t+1 generada y d − antk,t , y la mejor se convierte en la pr´oxima ant∗k,t+1 de la unidad. De esta forma, en este modelo de colonia, ant∗k,t , el mejor individuo de la unidad k, es siempre preservado. El rastro de feromona es actualizado on: con ant∗k,t (k = 1, 2, . . . , m) y τij (t + 1) se obtiene con la siguiente ecuaci´ τij (t + 1) = ρ · τij (t) +

m X

∆∗ τijk (t)

(4.10)

k=1

donde el par´ ametro ρ ∈ [0, 1) es la persistencia del rastro y ∆∗ τijk (t) es la cantidad de feromona que ant∗k,t agrega a los arcos que ha usado en su soluci´on  ∗ si (i, j) ∈ ant∗k,t  1/Ck,t ∗ k ∆ τij (t) = (4.11)  0 en otro caso 44

∗ es el fitness de ant∗ . y donde Ck,t k,t

En el cAS, la actualizaci´on de feromona es realizada con m ant∗k,t (k = 1, 2, . . . , m) por la ecuaci´ on (4.10) dentro de los l´ımites [τmin , τmax ] como en el MMAS [69]. Aqu´ı, τmin y τmax para cAS se define como: m X 1 1 · τmax (t) = ∗ 1−ρ Ck,t

(4.12)

k=1

τmin (t) =

√ τmax · (1 − n pbest ) √ ( n2 − 1) · n pbest

(4.13)

donde pbest es un par´ ametro de control introducido en MMAS [69]. M´ etodos de muestreo Una pregunta crucial cuando una c-ant crea una nueva soluci´on es c´omo determinar q´ ue parte de la soluci´on la hormiga c-ant pedir´a prestada a la hormiga d-ant. Para asegurar robustez a lo largo de una amplia variedad de problemas, deber´ıa ser ventajoso introducir variaciones tanto en la porci´ on y en el n´ umero de nodos de la soluci´on parcial que es pedida a la hormiga d-ant. El n´ umero de nodos que son construidos en base a los rastros de feromona, se representa por ls . Luego, lc , el n´ umero de nodos de la soluci´on parcial, los cuales c-ant pide a d-ant, es lc = n − ls . Adem´ as se introduce un par´ ametro de control γ el cual define E(ls ) = n · γ (donde E(ls ) el promedio de ls ) y se usa la funci´on de densidad de probabilidad fs (l) definida en [75] como:

fs (l) =

    

1−γ nγ (1

− nl )

γ l n(1−γ) ( n )

1−2γ γ

2γ−1 1−γ

para 0 < γ ≤ 0.5

(4.14)

para 0.5 < γ < 1

En cAS para el TSP, los nodos en posiciones continuas de d-ant son copiadas a c-ant, porque las soluciones parciales de d-ant son representadas por nodos en posiciones continuas. Sin embargo, para el caso del QAP no existe esta restricci´on y no es necesario que las componentes est´en continuas cuando c-ant pide a d-ant o utiliza los rastros de feromona. De esta forma, para el caso del QAP, cuando se crea una nueva c-ant las componentes en las mismas posiciones son copiadas y otras son especificadas con una secuencia aleatoria de posiciones de acuerdo a: El n´ umero de nodos ls a ser especificados es generado por la ecuaci´ on (4.14) con un determinado valor para γ. Luego se copia el n´ umero de componentes, lc = n − ls , de la d-ant en posiciones aleatorias y se completa el resto de las componentes, ls , de acuerdo a la ecuaci´ on (4.6).

45

4.4.

Enfoque de memoria externa propuesto

Los algoritmos ACO generan soluciones candidatas para un problema de optimizaci´ on con un mecanismo de construcci´ on donde la elecci´ on de la componente de soluci´on a ser agregada en cada paso de la construcci´ on est´a influenciada probabil´ısticamente por rastros de feromona e informaci´ on heur´ıstica [24]. En este trabajo, se examina la posibibilidad de alternar la forma en la que se eligen las componentes de soluci´on, introduciendo una memoria externa como mecanismo auxiliar para tomar las decisiones en cada paso de la construcci´ on de una soluci´on. Esta modificaci´ on est´a inspirada en la 5 metaheur´ıstica B´ usqueda Tab´ u , la cual usa expl´ıcitamente la historia de la b´ usqueda, para escapar de ´ optimos locales e implementar una estrategia explorativa. Este tipo de enfoque pertenece a una de las tendencias actuales en algoritmos ACO, en los cuales se incorpora una memoria externa como alternativa al mecanismo de elecci´ on de componentes de soluciones [1, 2, 75, 76]. El uso de memoria en la b´ usqueda tab´ u es tanto expl´ıcita como impl´ıcita. En el primer caso, se almacenan en memoria soluciones completas, generalmente las mejores soluciones visitadas durante la b´ usqueda, mientras que en el segundo caso, se almacena informaci´ on sobre determinados atributos de las soluciones que cambian al pasar de una soluci´on a otra. Aunque, en algunos casos, la memoria expl´ıcita es usada para evitar visitar soluciones m´ as de una vez, esta aplicaci´on es limitada dado que es necesario la implementaci´ on de estructuras de memoria muy eficientes para evitar requerimientos de memoria excesivos. De cualquier manera, estos dos tipos de memoria son complementarios, puesto que la memoria expl´ıcita permite expandir los entornos de b´ usqueda usados durante un proceso de b´ usqueda local mediante la inclusi´on de las mejores soluciones, mientras que la memoria basada en atributos los reduce prohibiendo determinados movimientos. El prop´ osito de clasificar ciertos movimientos como prohibidos es para evitar que se caiga en ciclos durante la b´ usqueda.

4.4.1.

Uso de la memoria

El enfoque abordado agrega un mecanismo con caracter´ısticas determin´ısticas en la construcci´ on de soluciones, en contraposici´on con la filosof´ıa presente en los algoritmos ACO, los cuales construyen soluciones en forma totalmente probabil´ıstica (basada en los rastros de feromona y en la informaci´ on heur´ıstica)6 . Las estructuras de memo5

El significado de la palabra tab´ u designa a una conducta, actividad o costumbre prohibida por una sociedad, grupo humano o religi´ on, es decir, es la prohibici´ on de algo natural, de contenido religioso, econ´ omico, pol´ıtico, social o cultural por una raz´ on de utilidad social. La b´ usqueda tab´ u no se refiere obviamente a ninguna de estas tem´ aticas, sino al hecho de imponer restricciones para guiar un proceso de b´ usqueda con el objetivo de superar regiones del espacio de b´ usqueda. Estas restricciones operan de varias formas, como por ejemplo mediante la exclusi´ on directa de alternativas de b´ usqueda clasificadas como “prohibidas”. 6 El algoritmo Ant Colony System [21] tambi´ıen introduce caracter´ısticas determin´ısticas en la cosntrucci´ on de soluciones.

46

ria utilizadas permiten que las hormigas en ciertas ocasiones7 no tomen decisiones en forma aleatoria sino que elijan componentes de soluciones, de manera determin´ıstica, influenciadas por los valores registrados en dicha memoria. Como esta memoria almacena informaci´ on espec´ıfica de la historia de la b´ usqueda desde el comienzo del algoritmo, permite efectivamente enfocarse en regiones del espacio de b´ usqueda no visitadas (no registradas en la memoria y con valores que reflejen esto) o por el contrario concentrarse en regiones ya visitadas y que sean prometedoras (tambi´en registradas en la memoria y con valores que lo reflejen). Estos usos de la memoria reflejan los mecanismos de intensificaci´ on y diversificaci´on que, aunque ya est´en presentes en los algoritmos ACO, son de utilidad para evitar convergencia prematura y lograr un mayor rendimiento frente a problemas de optimizaci´ on con caracter´ısticas particulares. Se debe recalcar que aunque el mecanismo en estudio est´a inspirado en B´ usqueda Tab´ u, existen ciertas diferencias en cuanto al uso de la memoria y tambi´en tiene sus diferencias respecto de otros algoritmos ACO que utilizan el enfoque de memoria expl´ıcita. En la b´ usqueda tab´ u, las memorias basadas en lo reciente y en frecuencia se complementan la una a la otra para lograr el balance entre intensificaci´on y diversificaci´on, pero la memoria basada en lo reciente es utilizada como memoria a corto plazo y la memoria basada en frecuencia como memoria a largo plazo; mientras que en el enfoque propuesto no existe esta distinci´on. En los enfoques citados en secciones previas, ´estos almacenan en la memoria partes de soluciones (en algunos casos de las mejores soluciones encontradas durante la b´ usqueda); mientras que en el enfoque propuesto la memoria almacena atributos recolectados durante el historial de la b´ usqueda, los cuales representan indirectamente patrones interesantes de las soluciones. Memoria basada en lo reciente Este tipo de memoria almacena componentes de las soluciones que han cambiado en el pasado reciente. La forma habitual de explotar este tipo de memoria es etiquetando las componentes seleccionadas de soluciones visitadas recientemente. Lo que se intenta lograr es “prohibir” o “incentivar” ciertas elecciones, que impidan o favorezcan a que las hormigas construyan soluciones ya evaluadas en el pasado reciente y con lo cual se logra abarcar una mayor regi´ on del espacio de b´ usqueda o concentrarse en una regi´ on particular. Es importante tener en cuenta que en algunas instancias, un buen proceso de b´ usqueda resultar´ a en volver a visitar una soluci´on encontrada anteriormente. El objetivo m´ as general es continuar estimulando el descubrimiento de nuevas soluciones de alta calidad. 7 Para esto se utilizan par´ ametros que indican el nivel de exploraci´ on que tiene el algoritmo en determinados instantes de tiempo, como por ejemplo la entrop´ıa.

47

Para el caso del QAP, la memoria basada en lo reciente almacena en que iteraci´ on del algoritmo, el elemento i ha sido asignado a la ubicaci´ on j, ∀i, j 1 ≤ i, j ≤ n. Luego esta memoria permite a las hormigas tomar decisiones teniendo en cuenta que elementos son los m´ as recientemente asignados a una ubicaci´ on particular, por tener asociada un valor cercano a la iteraci´ on corriente del algoritmo; o por el contrario tomar decisiones teniendo en cuenta que elementos son los menos recientemente asignados a una ubicaci´ on particular, por tener asociada un valor lejano a la iteraci´ on corriente del algoritmo. El algoritmo tiene asociado una matriz basada en lo reciente de n × n, denominada recency. Donde la posici´on recency[i,j] almacena la iteraci´ on m´ as reciente (la u ´ltima) en la cual el objeto j ha sido asignado a la ubicaci´ on i durante la ejecuci´ on del algoritmo. Luego, esta matriz se utiliza en el proceso de construcci´ on de soluciones de dos maneras posibles: Intensificaci´on, escogiendo aquel objeto que m´ as recientemente fue asignado a la ubicaci´ on actual (es decir si la ubicaci´ on actual es la i, se escoge aquel objeto j tal que recency[i,j] tenga el mayor valor de iteraci´ on). Diversificaci´on, escogiendo aquel objeto que menos recientemente fue asignado a la ubicaci´ on actual (es decir si la ubicaci´ on actual es la i, se escoge aquel objeto j tal que recency[i,j] tenga el menor de iteraci´ on). Memoria basada en frecuencia Este tipo de memoria almacena componentes de las soluciones que forman parte de una soluci´on con mayor frecuencia, i.e., la mayor cantidad de veces presentes en una soluci´on y en una posici´on particular de la soluci´on. La forma habitual de explotar este tipo de memoria es etiquetando las componentes seleccionadas de soluciones m´ as frecuentemente escogidas. Esta memoria, permite “prohibir” que una hormiga escoja una componente de soluci´on porque es muy frecuentemente escogida en las soluciones. Se busca a trav´es de la “prohibici´ on”, generar soluciones que efectivamente se diferencien de las ya generadas, extendiendo de esta manera, la exploraci´ on del espacio de b´ usqueda. Inversamente, se puede usar esta informaci´ on para “promover” su elecci´ on por considerarla atractiva ya que una gran mayor´ıa de las hormigas la han elegido como parte de sus soluciones y por lo tanto, se considera deseable de que forme parte de una nueva soluci´on. Para el caso del QAP, la memoria basada en frecuencia almacena la cantidad de veces que el elemento i ha sido asignado a la ubicaci´ on j, ∀i, j 1 ≤ i, j ≤ n. Luego esta memoria permite a las hormigas tomar decisiones teniendo en cuenta que elementos son los m´ as frecuentemente asignados a una ubicaci´ on particular, por tener asociada una alta frecuencia de asignaci´ on; o por el contrario tomar decisiones teniendo en cuenta que elementos son menos frecuentemente asignados a una ubicaci´ on particular, por tener asociada una baja frecuencia de asignaci´ on.

48

El algoritmo tiene asociado una matriz de frecuencias de n×n, denominada frecuency. Donde la posici´on frecuency[i,j] almacena la cantidad de veces que el objeto j ha sido asignado a la ubicaci´ on i durante la ejecuci´ on del algoritmo. Luego, esta matriz se utiliza en el proceso de construcci´ on de soluciones de dos maneras posibles: Intensificaci´on, escogiendo aquel objeto que m´ as veces fue asignado a la ubicaci´ on actual (es decir si la ubicaci´ on actual es la i, se escoge aquel objeto j tal que frecuency[i,j] sea mayor). Diversificaci´on, escogiendo aquel objeto que menos veces fue asignado a la ubicaci´on actual (es decir si la ubicaci´ on actual es la i, se escoge aquel objeto j tal que frecuency[i,j] sea menor).

4.4.2.

Frecuencia de utilizaci´ on de la memoria

Una pregunta que surge (´o deber´ıa surgir) es: ¿Con qu´e frecuencia las hormigas utilizan la memoria externa durante la construcci´ on de soluciones?. Durante la construcci´ on de una soluci´on, las hormigas van a aplicar una regla de elecci´ on de acci´on, similar a la que utiliza el algoritmo Ant Colony System8 (ver Secci´ on 3.3.3). Se introduce un par´ ametro q0 ∈ [0, 1], el cual va a permitir escoger una componente de soluci´on favoreciendo la explotaci´on de soluciones o la exploraci´ on de soluciones. Cuando una hormiga tiene que elegir una componente de una soluci´on, primero genera un n´ umero aleatorio uniformemente distribuido en el intervalo [0, 1], si este n´ umero es menor que el valor del par´ ametro q0 se elige una componente para lograr explotaci´on de soluciones; si el n´ umero generado es mayor que el par´ ametro q0 se elige la componente favoreciendo la exploraci´ on de soluciones. Adem´ as, cada una de estas opciones a su vez incluye una decisi´ on respecto de rastros de feromona o memoria expl´ıcita. En este trabajo, se proponen dos variantes para establecer el valor del par´ ametro q0 : Se establece un valor fijo. Generalmente, deber´ıa ser un valor cercano a 0. Se establece un valor que depende de una medida de convergencia del algoritmo (entrop´ıa y factor de ramificaci´on-λ [24]). Entrop´ıa de un conjunto de soluciones La entrop´ıa de la poblaci´on de soluciones es una medida que indica cuan lejos de converger est´a una poblaci´on de soluciones. La misma puede ser vista como una medida de la diversidad en la poblaci´on de soluciones. Para el QAP, la entrop´ıa de una ubicaci´ on se define como: 8

Tambi´en conocida como regla proporcional pseudo-aleatoria.

49

− Ei =

n  X nij  j=1

m

log

log(n)

n  ij

m

donde nij representa el n´ umero de veces que el elemento i es asignado a la ubicaci´ on j en una poblaci´on de tama˜ no m. La entrop´ıa de la poblaci´on puede ser definida como:

E=

n X

Ei

i=1

n

El valor de E var´ıa entre 0 y 1. Un valor de E = 0 significa que solo una soluci´on esta representada en la poblaci´on, mientras que un valor cercano a 1 indica una amplia variedad en las asignaciones que est´an representadas en la poblaci´on.

4.4.3.

Incorporaci´ on de b´ usqueda local en el algoritmo propuesto

Para el algoritmo MAX − MIN Ant System propuesto, se consideran dos algoritmos de b´ usqueda local: b´ usqueda local tradicional y B´ usqueda Tab´ u. La elecci´ on de cual de los algoritmos de b´ usqueda local usar es un balance entre la velocidad de ejecuci´ on y la calidad de las soluciones que produce. A continuaci´ on se explica como se define la vecindad en los algoritmos de b´ usqueda local para el QAP y luego se detallan los algoritmos de b´ usqueda local para el algoritmo MAX − MIN Ant System. Definici´ on de la vecindad Para el QAP, la vecindad de una permutaci´ on φ esta definida por el conjunto de permutaciones que pueden ser obtenidas intercambiando dos elementos. La diferencia de la funci´on objetivo ∆(φ, r, s) obtenida intercambiando los elementos φs y φr puede ser computada en O(n), usando la siguiente ecuaci´ on [71]: ∆(φ, r, s) = brr · (aφs φs − aφr φr ) + brs · (aφs φr − aφr φs ) +

bsr · (aφr φs − aφs φr ) + bss · (aφr φr − aφs φs ) + n X (bkr · (aφk φs − aφk φr ) + bks · (aφk φr − aφk φs ) +

k=1,k6=r,k6=s

brk · (aφs φk − aφr φk ) + bsk · (aφr φk − aφs φk ))

(4.15)

El efecto de un cambio particular puede ser evaluado m´ as r´apido usando informaci´ on de iteraciones previas. Sea φ′ la soluci´on que es obtenida intercambiando los elementos r 50

y s en la soluci´on φ, entonces para cambiar los elementos u y v, con ({u, v} ∩ {r, s} = ∅) el movimiento puede evaluarse en tiempo constante: ∆(φ′ , u, v) = ∆(φ, r, s) + (bru − brv + bsv − bsu ) · (aφs φu − aφs φv + aφr φv − aφr φu ) +

) (bur − bvr + bvs − bus ) · (aφu φs − aφv φs + aφv φr − aφu φr(4.16)

B´ usqueda Local para MAX − MIN Ant System El algoritmo de b´ usqueda local m´ as simple basado en la vecindad descrita anteriormente es el de mejora iterativa, tambi´en llamado 2-opt. La mejora iterativa puede ser implementada usando una regla de transici´on de first-improvement ´o de best-improvement. Mientras que en el primer caso un movimiento de mejora se realiza inmediatamente, en el segundo caso se examina la vecindad completa y se elige el movimiento que resulte en la mejor mejora. La regla best-improvement 2-opt para el QAP se beneficia del hecho de que el efecto de intercambiar dos elementos puede calcularse m´ as r´apido usando la informaci´ on de iteraciones anteriores (ver Ecuaci´on 4.16); la primer iteraci´ on es de complejidad O(n3 ), mientras que las iteraciones subsecuentes pueden hacerse O(n2 ). Con la regla first-improvement 2-opt normalmente se tienen que realizar m´ as movimientos para alcanzar un m´ınimo local y cada chequeo de la vecindad completa es O(n3 ). A´ un, los algoritmos first-improvement pueden ejecutarse m´ as r´apido si s´ olo un n´ umero limitado de iteraciones son realizadas o se aplican t´ecnicas adicionales como el uso de don’t look bits [5]. Adicionalmente, examinando la vecindad en orden aleatorio, puede ser obtenidos diferentes ´ optimos locales tambi´en al empezar de la misma soluci´on inicial. B´ usqueda Tab´ u aplicada al QAP como algoritmo de b´ usqueda local En B´ usqueda Tab´ u9 , se elige una permutaci´ on aleatoria π 0 como soluci´on inicial. En k+1 la iteraci´ on k, la elecci´ on de π , la pr´oxima soluci´on visitada, es la mejor soluci´on de k N (π ) que es permitida, incluso si π k+1 es peor que π k , la soluci´on actual en la iteraci´ on k. Para ser admitida, una soluci´on debe satisfacer las siguientes condiciones (donde t y u son dos par´ ametros): Si k > t y πrk 6= i, ∀v, k − t ≤ v ≤ k (es decir, si el n´ umero k de iteraciones realizadas es mayor que t y el elemento i nunca ha estado en la ubicaci´ on r durante las u ´ltimas t iteraciones), entonces las permutaciones de N (π k ) que no coloquen a i en la ubicaci´ on r son prohibidas. Si ∃v, v ≥ k − u tal que πrv = i, πsv = j y si πrk 6= i, πsk 6= j (es decir, durante los u ´ltimas u iteraciones, una soluci´on tiene el elemento i colocado en la ubicaci´ on r y la unidad j colocada en la ubicaci´ on s), entonces est´a prohibido ubicar tanto i en el lugar r y j en el lugar s de nuevo (a menos que esta modificaci´ on mejore la calidad de la mejor soluci´on encontrada hasta el momento). 9

En particular esta implementaci´ on es la denominada B´ usqueda Tab´ u Robusta, y fue desarrollada por Eric Taillard [70].

51

El objetivo de los par´ ametros t y u es evitar que el algoritmo siempre visite las mismas soluciones. En [70], se demuestra que la modificaci´ on de u aleatoriamente durante la b´ usqueda eligiendo su valor 10 % alrededor de n, conduce a un m´etodo que es bastante robusto. El par´ ametro t debe ser mayor que |N (π)|, en la pr´actica, valores entre 2n2 y 2 5n son convenientes. Es evidente que estos valores para t y u pueden ser malos para algunos problemas, pero, en general, producen resultados aceptables. El efecto de t es el de diversificar la b´ usqueda imponiendo soluciones dadas, a´ un cuando sus valores son muy altos. As´ı, este mecanismo puede considerarse como una memoria a largo plazo. Por el contrario, el mecanismo asociado con u puede considerarse como una memoria a corto plazo.

4.4.4.

Algoritmo MAX − MIN Ant System basado en memoria

El MAX − MIN Ant System basado en memoria es similar al algoritmo MAX − MIN Ant System presentado en la secci´ on 3.3.2. La principal diferencia est´a en la manera en que se construyen las soluciones, aqu´ı se incorpora la matriz externa como mecanismo adicional para lograr expl´ıcitamente intensificaci´on/diversificaci´on en la b´ usqueda. Construcci´ on de soluciones Las hormigas (artificiales) construyen soluciones v´alidas para el QAP; asignan cada elemento a una u ´nica ubicaci´ on y ninguna ubicaci´ on es ocupada por m´ as de un elemento. La soluci´on construida corresponde a una permutaci´ on φ ∈ Φ(n). La construcci´ on de una soluci´on involucra dos pasos. Primero, tiene que ser elegida una ubicaci´ on y luego se debe asignar un elemento libre a esa ubicaci´ on10 . Para escoger la ubicaci´ on, se selecciona una ubicaci´ on i, aleatoriamente entre aquellas no ocupadas a´ un. Para el segundo paso se usan los rastros de feromona, τij se refiere al deseo de asignar el elemento j en la ubicaci´ on i. Para asignar un elemento j a una ubicaci´ on desocupada i se utiliza la siguiente regla:

j=



T si q < q0 (Explotaci´ on) R si q ≥ q0 (Exploraci´ on)

(4.17)

Como ya se mencion´ o, esta regla es similar a la utilizada por Ant Colony System, con una probabilidad fija q0 (0 ≤ q0 ≤ 1) la hormiga elige el “mejor elemento posible” de acuerdo al conocimiento adquirido (puede ser en base a la memoria externa o en base a los rastros de feromona), mientras que con probabilidad (1 − q0 ) realiza exploraci´ on 10

Este orden es inverso al utilizado por la mayor´ıa de las aplicaciones de algoritmos ACO al QAP. Estas implementaciones asocian los rastros de feromona a los arcos que van de elementos a ubicaciones (es decir, para la elecci´ on de la ubicaci´ on a la cual asignar el elemento), pero no a los arcos que van de ubicaciones a elementos (los cuales son elegidos por alguna regla probabil´ıstica o heur´ıstica que no est´ a en funci´ on de los rastros de feromona).

52

controlada de nuevas soluciones (tambi´en en este caso, puede ser en base a la memoria externa o en base a los rastros de feromona), donde q es una variable aleatoria uniformemente distribuida en el intervalo [0, 1]. Para el caso de la explotaci´on de soluciones, se utiliza la regla: ( arg m´ axl∈N k {memoria[i,l]} si r < r0 i T = arg m´ axl∈N k {τil } si r ≥ r0

(4.18)

i

En esta regla, con una probabilidad fija r0 (0 ≤ r0 ≤ 1) se escoge aquel elemento que m´ as veces fue asignado a la ubicaci´ on actual (frecuencia) ´o que m´ as recientemente fue asignado a la ubicaci´ on actual (reciente); mientras que con probabilidad (1 − r0 ) se elige el elemento m´ as deseable de acuerdo al rastro de feromonas. Donde r es una variable aleatoria uniformemente distribuida en el intervalo [0,1]. Hay que mencionar que existe una diferencia entre el elemento m´ as deseable para una ubicaci´ on (aquel que tiene mayor cantidad de rastro de feromonas asociado) y el elemento que m´ as veces fue asignado a una ubicaci´ on (aquel que tiene un valor mayor en la matriz memoria), ya que los rastros de feromona representan una distribuci´ on de probabilidad. Para el caso de la exploraci´ on de nuevas soluciones, se utiliza la regla:   arg m´ınl∈N k {memoria[i,l]} si p < p0  i  R= τij (t)   si p ≥ p0  P k τil (t) l∈N

(4.19)

i

En esta regla, con una probabilidad fija p0 (0 ≤ p0 ≤ 1) se elige aquel elemento que menos veces fue asignado a la ubicaci´ on actual (frecuencia) ´o que menos recientemente fue asignado a la ubicaci´ on actual (reciente); mientras que con probabilidad (1 − p0 ) se escoge aquel elemento de acuerdo a la regla de selecci´ on b´asica similar a la del algoritmo Ant System (notar que en este caso no se hace uso de informaci´on heur´ıstica). Donde p es una variable aleatoria uniformemente distribuida en el intervalo [0,1].

Algoritmos resultantes La elecci´ on del tipo de memoria para la regla 4.18 y la regla 4.19, dan origen a cuatro variantes del algoritmo MAX − MIN Ant System.

53

Tipo de memoria (Intensificaci´on) frecuencia frecuencia reciente reciente

Tipo de memoria (Diversificaci´on) frecuencia reciente frecuencia reciente

Los algoritmos ser´an referidos de aqu´ı en m´ as como: MAX − MIN Ant System frecuencia-frecuencia (MMAS-ff) MAX − MIN Ant System frecuencia-reciente (MMAS-fr) MAX − MIN Ant System reciente-frecuencia (MMAS-rf) MAX − MIN Ant System reciente-reciente (MMAS-rr) Actualizaci´ on de rastros de feromona Despu´es de que todas las hormigas han construido una soluci´on, los rastros de feromona son actualizados de acuerdo a la Ecuaci´on 3.10. Para el caso del QAP, ∆τijbest se define como:

∆τijbest

=

  1/f (φbest ) 

0

si la mejor hormiga asigno el elemento j en la ubicaci´ on i en su soluci´on en otro caso

(4.20) donde f (φbest ) es costo de la soluci´on (para la instancia de QAP) que gener´ o la mejor hormiga. La hormiga a la que se le permite a˜ nadir feromona puede ser la que gener´ o la mejor soluci´on de la iteraci´ on actual, en cuyo caso f (φbest ) = f (φib ) donde φib es la mejor soluci´on encontrada en la iteraci´ on actual; o la que gener´ o la mejor soluci´on desde el inicio del algoritmo, en cuyo caso f (φbest ) = f (φbs ) donde φbs es la mejor soluci´ on encontrada desde el inicio del algoritmo. Los resultados experimentales demuestran que el mejor rendimiento se obtiene incrementando gradualmente la frecuencia de elegir la mejor global para la actualizaci´on de feromona respecto de la mejor de la iteraci´ on. De esta forma, si en las mejores soluciones los elementos son puestos frecuentemente en ubicaciones espec´ıficas, estas componentes de soluci´on reciben una gran cantidad de feromona y, por tanto, los elementos se colocar´an preferentemente en estas ubicaciones en futuras iteraciones del algoritmo. Para la aplicaci´on de MMAS al QAP por lo general se elegir´ a, la mejor soluci´on global (es decir la mejor desde el inicio del algoritmo) para la actualizaci´on de feromona. L´ımites de rastros de feromona Los l´ımites de rastros de feromona para la aplicaci´on de MMAS al QAP son elegidos del mismo modo que en la aplicaci´on de MMAS al TSP [24]. 54

Inicializaci´ on y Reinicializaci´ın de rastros de feromona La inicializaci´on de rastros de feromona se realiz´ o de acuerdo a la propuesta original del algoritmo MMAS [69]. La reinicializaci´ın de rastros de feromona no se utiliz´o en los experimentos realizados, debido a que en pruebas previas los resultados no mejoraban el rendimiento de los algoritmos. Otra de las razones es que los algoritmos propuestos ya introducen un medio de exploraci´ on adicional a trav´es de la memoria externa.

4.5.

Resumen

Este cap´ıtulo, es uno de los m´ as importantes del trabajo final, ya que aqu´ı se detallan los algoritmos ACO propuestos para resolver el QAP. Tambi´en se incluye una revisi´ on de aplicaciones previas de algoritmos ACO al QAP, tanto versiones tradicionales como versiones relacionadas al uso de memoria externa.

55

Cap´ıtulo 5

Experimentos y An´ alisis de Resultados En este cap´ıtulo se presentan los resultados obtenidos en las pruebas realizadas a los algoritmos propuestos y la comparaci´on de estos resultados con el algoritmo MMASQAP original. Se comienza indicando los problemas de prueba seleccionados y las caracter´ısticas de cada uno de ellos; posteriormente se indica la configuraci´ on de los experimentos a realizar. Despu´es se detallan los resultados de cada una de las ejecuciones del algoritmo y finalmente se realiza un an´ alisis de los mismos.

5.1.

Instancias utilizadas

Las instancias utilizadas son las descritas en la secci´ on 2.4.2, las cuales fueron propuestas en [68]. En particular, se utilizaron un subconjunto de las instancias de tama˜ no 50. Se puede distinguir entre seis clases diferentes de instancias que difieren en la manera en que se combinan las diferentes variantes de la matriz de distancia y de la matriz de flujo. Las clases son: RandomRandom: Matriz de distancia aleatoria y flujos aleatorios; RandomStructured: Matriz de distancia aleatoria y flujos estructurados; RandomStructuredPlus: Matriz de distancia aleatoria y flujos estructurados con conexiones entre grupos de objetos; GridRandom: Matriz de distancia basada en una grilla y flujos aleatorios; GridStructured: Matriz de distancia basada en una grilla y flujos estructurados; GridStructuredPlus: Matriz de distancia basada en una grilla y flujos estructurados con conexiones entre grupos de objetos.

56

5.2.

Descripci´ on de los experimentos

Los valores de los par´ ametros para el algoritmo MMAS-QAP estan configurados de acuerdo a [69] excepto que el valor de ρ se establecio en 0.2 ya que obten´ıa mejores resultados que la configuraci´ on de ρ = 0.8 propuesta en la literatura; adem´ as para todos los experimentos se trabajo con m = 20 hormigas (todas las hormigas aplican b´ usqueda local a la soluci´on que generan). El par´ ametro de la Ecuaci´on 4.17 se estableci´o en q0 = 0.1 (valor sugerido en la literatura para un algoritmo similar [24]). Las cuatro variantes de algoritmos fueron probadas con las instancias de QAP descritas en la secci´ on anterior. Se seleccionaron 4 instancias de cada una de las 6 clases de ´ instancias. Estas fueron probadas para diferentes valores de los par´ ametros r0 y p0 (los cuales determinan el uso respectivo de la memoria, tanto para intensificar como para diversificar). Probabilidad de usar memoria externa en explotaci´ on: se teste´o la influencia del par´ ametro r0 en la Ecuaci´on 4.18. Los valores considerados son {0.2, 0.5, 0.8}, para reflejar una frecuencia de uso limitada, intermedia y alta, respectivamente. Probabilidad de usar memoria externa en exploraci´ on: se teste´o la influencia del par´ ametro p0 en la Ecuaci´on 4.19. Los valores considerados son {0.001, 0.01, 0.1}. En este caso, el uso de la memoria deb´ıa ser m´ as restringido porque el rastro de feromonas es el principal componente de los algoritmos ACO. En total se realizaron 216 experimentos (para cada experimento se realizaron series de 30 corridas independientes). El n´ umero m´ aximo de iteraciones para cada corrida fue fijado en 1000.

5.2.1.

Entorno computacional

Todos los algoritmos fueron programados en Lenguaje C y las ejecuciones se desarrollaron en computadoras Intel Core 2 Duo 2.13 GHz con 1 GB RAM, bajo el sistema operativo SUSE Linux 10.2.

5.3.

Resultados

En esta secci´ on, se muestran los resultados de las experimentos explicados en la secci´ on anterior, para cada una de las cuatro variantes del algoritmo propuesto (todas las tablas tienen el mismo formato). Para cada combinaci´on de los par´ ametros p0 y r0 se muestra el valor correspondiente al Porcentaje de Error Promedio respecto del mejor valor conocido (este valor de error promedio se calcula con respecto a las cuatro instancias de cada clase utilizadas). A trav´es de los resultados obtenidos se intenta determinar cual es la configuraci´ on de par´ ametros con los que las distintas variantes obtienen los mejores resultados. Los valores que se muestran en las tablas permiten condensar la 57

Tabla 5.1: Comparaci´ on de valores para los par´ ametros p0 y r0 en MMAS-ff. Los mejores resultados para cada clase de instancia son indicados en negrita.

p0 0.001 0.01 0.1 0.001 0.01 0.1 0.001 0.01 0.1

r0 0.2 0.2 0.2 0.5 0.5 0.5 0.8 0.8 0.8

Grid Random

Grid Structured

Grid StructuredPlus

Random Random

Random Structured

Random StructuredPlus

0.1235 0.1215 0.1530 0.1019 0.1046 0.1535 0.0679 0.0729 0.1498

0.1504 0.1652 0.2892 0.1051 0.1279 0.2619 0.0442 0.0615 0.2223

0.1668 0.1929 0.3321 0.1242 0.1279 0.2894 0.0616 0.0578 0.2455

0.0639 0.0814 0.1480 0.0351 0.0511 0.1475 0.0390 0.0360 0.1186

0.0964 0.1002 0.4166 0.0587 0.0615 0.3700 0.0208 0.0371 0.2436

0.0729 0.1045 0.4385 0.0591 0.0711 0.3646 0.0150 0.0256 0.2206

Tabla 5.2: Comparaci´ on de valores para los par´ ametros p0 y r0 en MMAS-fr. Los mejores resultados para cada clase de instancia son indicados en negrita.

p0 0.001 0.01 0.1 0.001 0.01 0.1 0.001 0.01 0.1

r0 0.2 0.2 0.2 0.5 0.5 0.5 0.8 0.8 0.8

Grid Random

Grid Structured

Grid StructuredPlus

Random Random

Random Structured

Random StructuredPlus

0.1192 0.1147 0.1516 0.0895 0.0976 0.1499 0.0645 0.0705 0.1375

0.1520 0.1565 0.2894 0.1001 0.0987 0.2602 0.0564 0.0690 0.2163

0.1685 0.1770 0.3170 0.1060 0.1049 0.2770 0.0765 0.0745 0.2437

0.0645 0.0745 0.1516 0.0438 0.0572 0.1247 0.0280 0.0375 0.0974

0.1162 0.0969 0.4194 0.0998 0.0799 0.3081 0.0220 0.0642 0.2258

0.1072 0.1024 0.4169 0.0501 0.0601 0.3186 0.0447 0.0218 0.2307

informaci´ on generada a partir de las 30 corridas para cada configuraci´ on de par´ ametros p0 y r0 . Los resultados obtenidos en las Tablas 5.1, 5.2, 5.3 y 5.4 muestran que el incremento del uso de la memoria externa en el proceso de explotaci´on beneficia el rendimiento del algoritmo, respecto del uso de los rastros de feromona (los mejores resultados se obtienen con la configuraci´ on r0 = 0.8). En el caso del uso de la memoria en proceso de exploraci´ on se confirma una de las suposiciones hechas al principio del cap´ıtulo ya que los mejores resultados se obtienen cuando la frecuencia de utilizaci´on de la memoria externa para exploraci´ on es reducida (la configuraci´ on p0 = 0.001 es la que obtuvo los mejores resultados en casi todos los experimentos realizados; y en el resto de los casos el mejor resultado lo obtuvo la configuraci´ on p0 = 0.01).

58

Tabla 5.3: Comparaci´ on de valores para los par´ ametros p0 y r0 en MMAS-rf. Los mejores resultados para cada clase de instancia son indicados en negrita.

p0 0.001 0.01 0.1 0.001 0.01 0.1 0.001 0.01 0.1

r0 0.2 0.2 0.2 0.5 0.5 0.5 0.8 0.8 0.8

Grid Random

Grid Structured

Grid StructuredPlus

Random Random

Random Structured

Random StructuredPlus

0.1279 0.1104 0.1634 0.1102 0.1126 0.1613 0.0751 0.0818 0.1530

0.1483 0.1499 0.3168 0.1124 0.1252 0.2796 0.0561 0.0807 0.2685

0.1780 0.1816 0.3344 0.1295 0.1440 0.3146 0.0707 0.0874 0.2387

0.0533 0.0815 0.1537 0.0434 0.0510 0.1545 0.0423 0.0358 0.1382

0.1061 0.1053 0.4213 0.0390 0.0606 0.3951 0.0222 0.0513 0.2721

0.0815 0.1235 0.4549 0.0396 0.0400 0.3918 0.0285 0.0361 0.2595

Tabla 5.4: Comparaci´ on de valores para los par´ ametros p0 y r0 en MMAS-rr. Los mejores resultados para cada clase de instancia son indicados en negrita.

p0 0.001 0.01 0.1 0.001 0.01 0.1 0.001 0.01 0.1

r0 0.2 0.2 0.2 0.5 0.5 0.5 0.8 0.8 0.8

Grid Random

Grid Structured

Grid StructuredPlus

Random Random

Random Structured

Random StructuredPlus

0.1269 0.1268 0.1570 0.0979 0.1106 0.1532 0.0716 0.0750 0.1490

0.1596 0.1655 0.2902 0.1119 0.1331 0.2730 0.0610 0.0772 0.2577

0.1791 0.1945 0.3248 0.1155 0.1527 0.2666 0.0708 0.0637 0.2415

0.0602 0.0694 0.1511 0.0462 0.0524 0.1371 0.0417 0.0451 0.1211

0.1112 0.1226 0.4140 0.0600 0.0603 0.3241 0.0307 0.0686 0.2215

0.1021 0.0929 0.3836 0.0662 0.0604 0.3323 0.0303 0.0228 0.2658

59

60

Instancia GR.974820449 GR.974820461 GR.974820471 GR.974820482 GS.974825925 GS.974825930 GS.974825936 GS.974825941 GSP.974826006 GSP.974826012 GSP.974826017 GSP.974826022 RR.974820375 RR.974820387 RR.974820399 RR.974820410 RS.974823931 RS.974823936 RS.974823941 RS.974823946 RSP.974824391 RSP.974824396 RSP.974824401 RSP.974824406

M.V.C.a 550969 152116 79749 12728 4243 16335 59994 69820 3493 12939 46340 65000 15946893 5951176 1294453 124931 16107 186096 1528696 2119306 7646 224556 1486604 1801276

Mejor 561152 160825 87949 14240 4243 17166 64477 74208 3493 14404 50113 69868 16114813 6009955 1389492 133978 16315 193733 1531182 2184139 7868 225187 1490338 1850589

MMAS-ff Media 564691.60 163704.20 90554.53 15546.97 4438.73 19445.20 68836.13 78725.33 3626.57 15392.17 54891.47 74001.90 16196832.63 6088489.77 1450259.03 147384.50 35666.33 239754.67 1649198.43 2257268.20 14918.43 295229.57 1554827.10 1926897.17

Desv. 1555.56 1571.25 1426.41 699.95 196.27 1205.77 2712.33 2241.83 106.96 610.51 2704.78 1909.26 45642.34 29887.03 27762.71 8605.77 15686.59 30290.73 88048.14 47087.62 6900.66 27744.70 60741.05 39210.83

Mejor 562101 161057 88073 13962 4243 17618 65188 75340 3493 14925 51784 69755 16068979 6056662 1360667 129942 17064 186110 1531130 2185520 7888 249448 1498055 1877748

MMAS-fr Media 565209.80 163801.03 90050.97 15757.63 4438.90 18939.17 69098.23 79025.63 3627.87 15903.07 55439.97 73491.10 16182558.83 6089937.00 1463210.33 145182.80 32602.37 248330.60 1645610.27 2267927.33 12970.70 304490.77 1558397.60 1941797.53

Desv. 1535.53 1770.99 1132.89 800.18 174.67 963.11 2274.71 1952.82 111.75 766.51 2433.76 1766.55 51002.60 23015.46 37235.94 8088.82 14108.78 33518.17 74867.36 59075.09 6108.94 36010.62 47027.17 35777.08

Mejor 563188 162757 89451 14222 4243 17689 64046 76291 3493 13911 52242 72227 16131322 6042435 1418167 132276 16522 195279 1531124 2152075 7500 246325 1496789 1873363

MMAS-rf Media 565974.43 164978.77 91335.20 16157.03 4438.17 19289.13 71223.03 79975.40 3627.47 15426.37 57250.30 75453.50 16235888.93 6115255.43 1475507.77 145950.73 29410.03 245006.73 1632745.37 2291478.17 13282.43 305846.70 1576734.90 1942347.50

Tabla 5.5: Resultados obtenidos de cada una de las variantes propuestas. a

M.V.C. Mejor Valor Conocido

Desv. 1558.81 1235.38 1159.43 884.38 163.00 950.87 3231.61 1660.21 104.53 1062.26 2834.22 1814.44 48369.04 33413.42 33664.04 8786.64 10143.73 31275.77 77054.21 68167.59 6211.18 33584.50 79837.26 40204.64

Mejor 563067 161891 87687 14370 4243 17605 65084 77052 3493 14255 50759 72557 16142810 6063247 1417646 131409 16616 199155 1534709 2168823 7649 246480 1493582 1852015

MMAS-rr Media 565693.20 165067.93 91172.30 16040.53 4441.53 19104.80 72255.30 80216.13 3592.60 15330.73 56535.00 75722.73 16221303.63 6123522.47 1478230.53 145377.00 31504.30 238673.60 1653011.60 2312691.27 13013.90 302334.40 1569532.67 1960438.10

Desv. 1317.97 1489.12 1650.25 1115.26 193.01 916.08 3181.36 1652.22 81.02 523.51 3322.01 1449.76 35135.88 27392.10 41285.51 8757.91 12679.89 29387.20 91641.35 69195.98 5862.24 27634.58 48368.77 49933.67

Una vez establecida la configuraci´ on con la que se obtienen los mejores resultados, se presentan los resultados obtenidos de la ejecuci´ on de los distintos algoritmos utilizando esas configuraciones particulares de par´ ametros. Si se observa la Tabla 5.5, se puede deducir que, aunque los algoritmos no son capaces de obtener los mejores valores conocidos para la mayor´ıa de las instancias, el rendimiento alcanzado es bastante razonable teniendo en cuenta la poca diferencia entre los mejores valores obtenidos y los mejores valores conocidos. Uno de los principales motivos del rendimiento obtenido con los algoritmos propuestos, es que estos utilizan como algoritmo de b´ usqueda local al algoritmo de mejora iterativa 2-opt el cual tiene un rendimiento muy inferior si se lo compara con un algoritmo de b´ usqueda local basado en B´ usqueda Tab´ u [71]. A pesar de esto, los algoritmos propuestos alcanzan buenos resultados para algunas clases de instancias; llegando incluso a encontrar una nueva mejor soluci´on para una instancia en particular. Adem´ as, si se compara con los resultados obtenidos por el algoritmo MMAS tradicional el balance es altamente positivo ya que su rendimiento es muy inferior a cualquiera de los cuatro algoritmos propuestos (ver Tabla 5.6).

5.4.

An´ alisis Estad´ıstico

Los algoritmos fueron comparados usando el porcentaje de error promedio respecto de los mejores valores conocidos (los cuales nos fueron provistos por los autores de [68]). Para las comparaciones de los algoritmos se uso el an´ alisis de varianza (ANOVA)1 de un factor, para chequear la significancia estad´ıstica de las diferencias observadas en el rendimiento de los algoritmos (a todas las distribuciones se les aplico la prueba de Kolmogorov-Smirnov2 , para establecer si las distribuciones eran normales; los resultados obtenidos establecieron la normalidad de los valores e hicieron posible la aplicaci´on de ANOVA). Adem´ as se utiliz´o el m´etodo de Tukey3 para encontrar que valores de la media eran significantemente diferentes unos de otros. Los resultados de la Tabla 5.7 demuestran que existen diferencias significativas entre los resultados obtenidos para las clases GridRandom, GridStructured y GridStructuredPlus, si se comparan los cuatro algoritmos propuestos. Mientras que existen diferencias significativas respecto de todas las clases de instancias si se comparan los cinco algorit1

El an´ alisis de varianza sirve para comparar si los valores de un conjunto de datos num´ericos son significativamente distintos a los valores de otro o m´ as conjuntos de datos. El procedimiento para comparar estos valores est´ a basado en la varianza global observada en los grupos de datos num´ericos a comparar. T´ıpicamente, el an´ alisis de varianza se utiliza para asociar una probabilidad a la conclusi´ on de que la media de un grupo de valores es distinta de la media de otro grupo de valores. 2 La prueba de Kolmogorov-Smirnov, es una prueba no param´etrica que se utiliza para determinar la bondad de ajuste de dos distribuciones de probabilidad entre s´ı 3 El m´etodo de Tukey, es un procedimiento de comparaci´ on m´ ultiple de un solo paso y es la prueba estad´ıstica usada generalmente en combinaci´ on con ANOVA para encontrar cuales de las medias son significantemente diferentes unas de otras. Este m´etodo compara todos los posibles pares de medias, y esta basado en una distribuci´ on q de rango studentizado (esta distribuci´ on es similar a la distribuci´ on t a partir de un t-test).

61

Tabla 5.6: Resultados obtenidos para el algoritmo MMAS tradicional Instancia GR.974820449 GR.974820461 GR.974820471 GR.974820482 GS.974825925 GS.974825930 GS.974825936 GS.974825941 GSP.974826006 GSP.974826012 GSP.974826017 GSP.974826022 RR.974820375 RR.974820387 RR.974820399 RR.974820410 RS.974823931 RS.974823936 RS.974823941 RS.974823946 RSP.974824391 RSP.974824396 RSP.974824401 RSP.974824406

M.V.C. 550969 152116 79749 12728 4243 16335 59994 69820 3493 12939 46340 65000 15946893 5951176 1294453 124931 16107 186096 1528696 2119306 7646 224556 1486604 1801276

Mejor 566199 166314 92267 17359 4323 23775 76511 81804 3559 19133 63057 78345 16254598 6110821 1526587 138665 16903 225472 1678382 2352924 9053 238352 1694817 1944434

Media 568836.53 168439.40 94885.57 19013.83 5001.87 26857.73 80664.87 85497.47 3977.83 22234.57 67222.47 80865.07 16313543.47 6187181.97 1606548.50 166053.37 36610.07 330673.80 1870993.43 2549577.60 17615.80 409955.63 1836669.93 2056365.43

Desviaci´ on 1240.89 1334.37 1263.84 630.34 547.36 1542.04 1880.30 1369.79 364.92 1218.31 2020.51 1828.07 38768.09 40712.65 34857.15 13081.35 13377.60 66181.90 129055.59 76146.47 10037.79 72943.84 75954.48 50968.85

Tabla 5.7: Comparaci´ on de los mejores valores encontrados con los algoritmos MMASff, MMAS-fr, MMAS-rf, MMAS-rr y MMAS junto con los respectivos p-valores obtenidos de la prueba ANOVA de un factor. Algoritmo MMAS-ff MMAS-fr MMAS-rf MMAS-rr (1) p-valor MMAS (2) p-valor

Grid Random

Grid Structured

Grid StructuredPlus

Random Random

Random Structured

Random StructuredPlus

0.0679 0.0645 0.0751 0.0716 0.000027 0.1286 ≈0

0.0442 0.0564 0.0561 0.0610 0.0425 0.1734 ≈0

0.0616 0.0765 0.0707 0.0708 0.0051 0.1944 ≈0

0.0390 0.0280 0.0423 0.0417 0.5816 0.0740 ≈0

0.0208 0.0220 0.0222 0.0307 0.7236 0.1025 ≈0

0.0150 0.0447 0.0285 0.0303 0.8605 0.1024 ≈0

62

mos (los cuatro algoritmos propuestos y el algoritmo original). Estas diferencias surgen como resultado del bajo rendimiento del algoritmo MMAS tradicional frente a los algoritmos propuestos. Los p-valores4 de la fila (1) son obtenidos del ANOVA entre los cuatro algoritmos propuestos (MMAS-ff, MMAS-fr, MMAS-rf y MMAS-rr); mientras que los p-valores de la fila (2) son obtenidos del ANOVA entre los cuatro algoritmos propuestos y el algoritmo MMAS original (ver Tabla 5.7). En la Figura 5.1 se muestran los diagramas de caja (Boxplot)5 correspondientes a los valores obtenidos de la ejecuci´ on de los experimentos. Se puede observar, que para todas las clases de instancias los cuatro algoritmos propuestos obtienen mejores resultados comparados con el algoritmo MMAS original. Esto se refleja en el hecho de que los mejores valores obtenidos con el algoritmo MMAS son iguales o peores (para todas las clases de instancias) que los valores medios obtenidos por cada uno de los cuatro algoritmos propuestos. Por otra parte si se comparan los resultados obtenidos entre los cuatro algoritmos propuestos, se observa que para las clases de instancias GridRandom, GridStructured y GridStructuredPlus el algoritmo MMAS-rf obtiene resultados levemente inferiores a los obtenidos con los tres algoritmos restantes. Estas observaciones estan soportadas por los resultados obtenidos a trav´es del m´etodo de Tukey, que afirman que existen diferencias significativas entre las medias obtenidas por el algoritmo MMAS-rf y las medias obtenidas por los tres algoritmos restantes para esas clases de instancias. En la Figura 5.2 se muestran gr´ aficamente los resultados de la aplicaci´on del m´etodo de Tukey a los resultados obtenidos por los algoritmos. De la Figura 5.2a se deduce que existen diferencias significativas entre el algoritmo MMAS-rf y los algoritmos (MMASff, MMAS-fr y MMAS-rr), as´ı como tambi´en respecto del algoritmo MMAS original. En la Figura 5.2b no existen diferencias entre los algoritmos propuestos, pero claramente si existen diferencias entre los algoritmos propuestos y el algoritmo MMAS original. En la Figura 5.2c se tiene que existen diferencias significativas entre el algoritmos MMAS original y los cuatro algoritmos propuestos, adem´ as existen diferencias significativas entre el algoritmo MMAS-rf y los algoritmos MMAS-ff y MMAS-rr. Para el caso de las Figuras 5.2d, 5.2e y 5.2f solo se observan diferencias significativas entre el algoritmo MMAS original y los cuatro algoritmos propuestos. 4

p-valores para la hip´ otesis “Las distribuciones de porcentaje de error promedio respecto del mejor valor conocido de las soluciones son iguales” para todos los algoritmos. El nivel de significancia con el cual se rechaza la hip´ otesis nula es 0.05. 5 Los diagramas de caja son una manera conveniente de mostrar gr´ aficamente grupos de datos num´ericos a trav´es de cinco valores (el valor m´ınimo, el cuartil inferior, la mediana, el cuartil superior, y el valor m´ aximo). Un diagrama de caja tambi´en puede indicar cuales de las observaciones, pueden ser considerados valores aislados.

63

% Error Promedio respecto del Mejor conocido

% Error Promedio respecto del Mejor conocido

0.17 0.16 0.15 0.14 0.13 0.12 0.11 0.1 0.09 0.08 0.07 1

2

3

4

0.3

0.25

0.2

0.15

0.1

1

5

MMAS-ff MMAS-fr MMAS-rf MMAS-rr MMAS

2

0.3

0.25

0.2

0.15

0.1

2

3

4

0.1

0.05

5

1

% Error Promedio respecto del Mejor conocido

% Error Promedio respecto del Mejor conocido

0.35

0.3

0.25

0.2

0.15

0.1

4

5

MMAS-ff MMAS-fr MMAS-rf MMAS-rr MMAS

(e) RandomStructured

3

4

5

(d) RandomRandom

0.4

3

2

MMAS-ff MMAS-fr MMAS-rf MMAS-rr MMAS

(c) GridStructuredPlus

2

5

0.15

MMAS-ff MMAS-fr MMAS-rf MMAS-rr MMAS

1

4

(b) GridStructured % Error Promedio respecto del Mejor conocido

% Error Promedio respecto del Mejor conocido

(a) GridRandom

1

3

MMAS-ff MMAS-frMMAS-rf MMAS-rr MMAS

0.4

0.35

0.3

0.25

0.2

0.15

0.1

0.05 1

2

3

4

5

MMAS-ff MMAS-fr MMAS-rfMMAS-rr MMAS

(f) RandomStructuredPlus

Figura 5.1: Boxplots del test de ANOVA aplicado a las seis clases de instancias. El eje y representa el porcentaje de error promedio respecto del mejor valor conocido. Sobre el eje de las x se muestran las respectivas variantes de los algoritmos incluidos el algoritmo MMAS-QAP tradicional. 64

MMAS-ff

MMAS-ff

MMAS-fr

MMAS-fr

MMAS-rf

MMAS-rf

MMAS-rr

MMAS-rr

MMAS

MMAS 0.09

0.1

0.11

0.12

0.13

0.14

0.15

0.08

0.16

(a) GridRandom

MMAS-ff

MMAS-ff

MMAS-fr

MMAS-fr

MMAS-rf

MMAS-rf

MMAS-rr

MMAS-rr

MMAS

MMAS 0.1

0.15

0.1

0.12

0.14

0.16

0.18

0.2

0.22

0.24

0.26

(b) GridStructured

0.2

0.25

0.3

0.06

(c) GridStructuredPlus

0.07

0.08

0.09

0.1

0.11

0.12

0.13

(d) RandomRandom

MMAS-ff

MMAS-ff

MMAS-fr

MMAS-fr

MMAS-rf

MMAS-rf

MMAS-rr

MMAS-rr

MMAS

MMAS 0.16

0.18

0.2

0.22

0.24

0.26

0.28

0.3

0.32

0.34

(e) RandomStructured

0.14

0.16

0.18

0.2

0.22

0.24

0.26

0.28

0.3

0.32

0.34

(f) RandomStructuredPlus

Figura 5.2: Representaci´ on gr´ afica de los resultados obtenidos con el m´etodo de Tukey. El punto medio de cada linea representa la media de los valores.

65

5.5.

Resumen

Este cap´ıtulo, present´o los resultados obtenidos por los algoritmos propuestos sobre el conjunto de instancias seleccionados. Se realiza un estudio comparativo, as´ı como tambi´en el an´ alisis estad´ıstico correspondiente. Estos permiten concluir que el rendimiento alcanzado por los algoritmos propuestos es superior al algoritmo tradicional en el cual est´an basados.

66

Cap´ıtulo 6

Conclusiones En este cap´ıtulo se hace un resumen de los resultados conseguidos a lo largo de este trabjo final. Adem´ as de este resumen, se describen las dificultades en la realizaci´on del proyecto, terminando con un apartado donde se comentan las posibles extensiones futuras que se podr´ıan realizar para obtener mejores resultados tanto en la resoluci´ on de los problemas aqu´ı descritos como en una amplia gama de problemas de la vida real.

6.1.

Resumen de resultados

Como resultados de la realizaci´on de este trabajo de fin de carrera, se puede indicar que se ha logrado implementar un algoritmo competitivo para resolver el Problema de Asignaci´ on Cuadr´ atica. Entre los resultados m´ as prominentes tambi´en se debe mencionar que se encontr´o una nueva mejor soluci´on conocida para una instancia de QAP: RandomStructuredPlus.974824391.n50.K10.m10.A100.00.B1.00.sp10.00.dat la anterior soluci´on tenia un valor de 7646 y la nueva tiene un valor de 7500 1 . La nueva mejor soluci´on fue obtenida con el algoritmo MMAS-rf. Otro de los resultados m´ as distinguidos fue la posibilidad de publicaci´on de un art´ıculo en un congreso internacional “HM2009: 6th International Workshop on Hybrid Metaheuristics” celebrado en Udine, Italia entre los d´ıas 16 y 17 de Octubre de 2009. Este art´ıculo forma parte del volumen 5818 de Springer Verlag’s Lecture Notes in Computer Science [4].

6.2.

Conclusiones

En este trabajo final se propusieron variantes del algoritmo MAX − MIN Ant System para resolver el Problema de Asignaci´ on Cuadr´ atica. Las mismas han sido desarrollados tomando conceptos propios de otra metaheur´ıstica llamada B´ usqueda Tab´ u. 1

φ = (38, 20, 19, 14, 10, 49, 36, 9, 11, 3, 22, 1, 27, 24, 47, 46, 39, 15, 13, 7, 44, 34, 31, 2, 32, 45, 16, 23, 21, 17, 40, 8, 42, 6, 18, 12, 28, 4, 5, 29, 41, 25, 37, 35, 26, 48, 30, 0, 43, 33).

67

Los algoritmos propuestos introducen modificaciones en la manera de construir las soluciones por las hormigas, en el cual adem´ as de la matriz de feromonas se tiene una memoria externa que almacena informaci´ on espec´ıfica recolectada durante la ejecuci´ on del algoritmo. En el Cap´ıtulo 5, se presentaron los resultados de experimentos con los mencionados algoritmos y en ellos se puede observar que la calidad de los resultados es considerablemente mejor que los resultados obtenidos con el algoritmo MAX − MIN Ant System tradicional aplicado al mismo problema. Esto est´a soportado por un an´ alisis estad´ıstico realizado sobre los resultados obtenidos.

6.3.

Trabajo Futuro

El conjunto completo de instancias de tama˜ no 50 contiene 136 instancias, en este trabajo se utilizaron un total de 24 instancias (4 de cada clase) para la realizaci´on de los experimentos debido al alcance del presente trabajo final. Sin embargo como trabajo futuro se planea realizar un estudio experimental exhaustivo con la totalidad de las instancias para poder determinar posibles relaciones entre el tipo de instancias y la configuraci´ on ´ optima de los par´ ametros involucrados en los algoritmos. Adem´ as se planea un an´ alisis m´ as riguroso en la determinaci´on de la frecuencia del uso de la memoria externa, tanto en el proceso de explotaci´on como en el proceso de exploraci´ on.

68

Bibliograf´ıa [1] A. Acan. An external memory implementation in ant colony optimization. In M. Dorigo, M. Birattari, C. Blum, L. M. Gambardella, F. Mondada, and T. St¨ utzle, editors, ANTS 2004, volume 3172 of LNCS, pages 73–84. Springer, Heidelberg, 2004. [2] A. Acan. An external partial permutations memory for ant colony optimization. In G. Raidl and J. Gottlieb, editors, Evolutionary Computation in Combinatorial Optimization, volume 3448 of LNCS, pages 1–11. Springer-LNCS, 2005. [3] R. K. Ahuja, J. B. Orlin, and A. Tiwari. A greedy genetic algorithm for the quadratic assignment problem. Computers and Operations Research, 27(10):917– 934, 2000. [4] F. Arito and G. Leguizam´on. Incorporating Tabu Search principles into ACO algorithms. In M. J. Blesa, C. Blum, L. Di Gaspero, A. Roli, M. Sampels, and A. Schaerf, editors, Hybrid Metaheuristics, volume 5818 of Lecture Notes in Computer Science, pages 130–140. Springer, 2009. [5] T. B¨ ack. Evolutionary algorithms in theory and practice. Oxford University Press, Oxford, UK, 1996. [6] T. Back, D. B. Fogel, and Z. Michalewicz, editors. Handbook of Evolutionary Computation. IOP Publishing Ltd., Bristol, UK, UK, 1997. [7] R. Battiti and G. Tecchiolli. The reactive tabu search. ORSA Journal on Computing, 6(2):126–140, 1994. [8] G. Brassard and P. Bratley. Fundamentals of algorithmics. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1996. [9] D. E. Brown, C. L. Huntley, and A. R. Spillane. A parallel genetic heuristic for the quadratic assignment problem. In Proceedings of the third international conference on Genetic algorithms, pages 406–415, San Francisco, CA, USA, 1989. Morgan Kaufmann Publishers Inc. [10] R. E. Burkard, S. Karisch, and F. Rendl. Qaplib - A Quadratic Assignment Problem Library. Journal of Global Optimization, 10(4):391–403, 1997.

69

[11] R. E. Burkard and J. Offermann. Entwurf von schreibmaschinentastaturen mittels quadratischer zuordnungsprobleme. Mathematical Methods of Operations Research (Zeitschrift f¨ ur Operations Research), 21(4):B121–B132, 1977. [12] R. E. Burkard and F. Rendl. A thermodynamically motivated simulation procedure for combinatorial optimization problems. European Journal of Operational Research, 17(2):169–174, 1984. [13] R.E. Burkard and U. Fincke. Probabilistic asymptotic properties of some combinatorial optimization problems. Discrete Applied Mathematics, 12(1):21–29, 1985. [14] J. Chakrapani and J. Skorin-Kapov. Massively parallel tabu search for the quadratic assignment problem. Annals of Operations Research, 41(1-4):327–341, 1993. [15] D. T. Connolly. An improved annealing scheme for the qap. European Journal of Operational Research, 46(1):93–100, 1990. [16] J.-L. Deneubourg, S. Aron, S. Goss, and J. M. Pasteels. The self-organizing exploratory pattern of the argentine ant. Journal of Insect Behavior, 3(2):159–168, 1990. [17] J. W. Dickey and J.W. Hopkins. Campus building arrangement using topaz. Transportation Science, (6):59–68, 1972. [18] M. Dorigo. Optimization, Learning and Natural Algorithms. PhD thesis, Dipartimento di Elettronica, Politecnico di Milano, Milan, 1992. [19] M. Dorigo and G. Di Caro. The ant colony optimization meta-heuristic. In D. Corne, M. Dorigo, and F. Glover, editors, New Ideas in Optimization, chapter 2, pages 11– 32. McGraw-Hill, London, UK, 1999. [20] M. Dorigo, G. Di Caro, and L. M. Gambardella. Ant algorithms for discrete optimization. Artificial Life, 5(2):137–172, 1999. [21] M. Dorigo and L. M. Gambardella. Ant Colony System: A cooperative learning approach to the traveling salesman problem. IEEE Transactions on Evolutionary Computation, 1(1):53–66, 1997. [22] M. Dorigo, V. Maniezzo, and A. Colorni. Positive feedback as a search strategy. Technical report, 91-016, Dip. di Elettronica, Politecnico di Milano, Italy, 1991. [23] M. Dorigo, V. Maniezzo, and A. Colorni. Ant system: Optimization by a colony of cooperating agents. IEEE Transactions on Systems, Man, and Cybernetics - Part B, 26(1):29–41, 1996. [24] M. Dorigo and T. St¨ utzle. Ant Colony Optimization. MIT Press, Cambridge, MA, 2004.

70

[25] Z. Drezner. A New Genetic Algorithm for the Quadratic Assignment Problem. INFORMS JOURNAL ON COMPUTING, 15(3):320–330, 2003. [26] Z. Drezner. Compounded genetic algorithms for the quadratic assignment problem. Operations Research Letters, 33(5):475–480, 2005. [27] Z. Drezner. The extended concentric tabu for the quadratic assignment problem. European Journal of Operational Research, 160(2):416–422, 2005. [28] Z. Drezner, P. M. Hahn, and E. D. Taillard. Recent advances for the quadratic assignment problem with special emphasis on instances that are difficult for metaheuristic methods. Annals of Operations Research, 139(1):65–94, 2005. [29] C. Fleurent and J. A. Ferland. Genetic hybrids for the quadratic assignment problem. In In P. Pardalos and H. Wolkowicz (Editors), Quadratic assignment and related problems, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, volume 16, pages 173–187, 1994. [30] D. B. Fogel. Evolutionary Computation: Toward a New Philosophy of Machine Intelligence. IEEE Press, Piscataway, NJ, 1995. [31] M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman, San Francisco, CA, 1979. [32] P. C. Gilmore. Optimal and suboptimal algorithms for the quadratic assignment problem. Journal of the Society for Industrial and Applied Mathematics, 10(2):305– 313, 1962. [33] F. Glover. Future paths for integer programming and links to artificial intelligence. Computers and Operations Research, 13(5):533–549, 1986. [34] F. Glover and M. Laguna. Tabu Search. Kluwer Academic Publishers, Norwell, MA, USA, 1997. [35] Fred W. Glover and Gary A. Kochenberger. Handbook of Metaheuristics (International Series in Operations Research & Management Science). Springer, 2003. [36] S. Goss, S. Aron, J.-L. Deneubourg, and J. M. Pasteels. Self-organized shortcuts in the argentine ant. Naturwissenschaften, 76(12):579–581, 1990. [37] P.-P. Grass´e. Recherches sur la biologie des termites champignonnistes (Macrotermitinae). Annales des Sciences Naturelles, Zoologie, 11(6):97–171, 1944. [38] P.-P. Grass´e. La reconstruction du nid et les coordinations inter-individuelles chez bellicositermes natalensis et cubitermes sp. la th´eorie de la stigmergie: essai d’interpr´etation du comportement des termites constructeurs. Insectes Sociaux, 6:41–81, 1959.

71

[39] P. Hansen and N. Mladenovi´c. An introduction to variable neighborhood search. In S. Voss, S. Martello, I. H. Osman, and C. Roucairol, editors, Meta-heuristics, Advances and trends in local search paradigms for optimization, pages 433–458. Kluwer Academic Publishers, 1999. [40] J. H. Holland. Adaptation in Natural and Artificial Systems. University of Michigan Press, MI, 1975. [41] D. S. Johnson and L. A. Mcgeoch. The traveling salesman problem: A case study in local optimization. In E. H. L. Aarts and J. K. Lenstra, editors, Local Search in Combinatorial Optimization, pages 215–310. John Wiley & Sons, 1997. [42] D.S. Johnson, C.H. Papadimitriou, and M. Yannakakis. How easy is local search. Journal of Computer and System Sciences, 37:79–100, 1988. [43] S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi. Optimization by simulated annealing. Science, 220(4598):671–680, 1983. [44] T. C. Koopmans and M. J. Beckmann. Assignment problems and the location of economic activities. Econometrica, 25(1):53–76, 1957. [45] Y. Li and P. M. Pardalos. Generating quadratic assignment test problems with known optimal permutations. Computational Optimization and Applications, 1(2):163–184, 1992. [46] H. R. Louren¸co, O. Martin, and T. St¨ utzle. Iterated local search. In Fred Glover and Gary Kochenberger, editors, Handbook of Metaheuristics, volume 57 of International Series in Operations Research & Management Science, pages 321–353. Kluwer Academic Publishers, Norwell, MA, 2002. [47] V. Maniezzo. Exact and approximate nondeterministic tree-search procedures for the quadratic assignment problem. INFORMS Journal on Computing, 11(4):358– 369, 1999. [48] V. Maniezzo and A. Colorni. The ant system applied to the quadratic assignment problem. IEEE Transactions on Knowledge and Data Engineering, 1999. [49] V. Maniezzo, A. Colorni, and M. Dorigo. The ant system applied to the quadratic assignment problem. Technical report, IRIDIA/94-28, IRIDIA, Universit´e Libre de Bruxelles, Belgium, 1994. [50] P. Merz and B. Freisleben. Fitness landscape analysis and memetic algorithms for the quadratic assignment problem. In IEEE Transactions on Evolutionary Computation, pages 4(4):337–352, 2000. [51] A. Misevicius. A new improved simulated annealing algorithm for the quadratic assignment problem. Information Technology and Control, 4(17):29–38, 2000.

72

[52] A. Misevicius. A modification of tabu search and its applications to the quadratic assignment problem. Information Technology and Control, 2(27):12–20, 2003. [53] A. Misevicius. An improved hybrid genetic algorithm: new results for the quadratic assignment problem. Knowledge-Based Systems, 17(2-4):65–73, 2004. [54] A. Misevicius. A tabu search algorithm for the quadratic assignment problem. Computational Optimization and Applications, 30(1):95–111, 2005. [55] A. Misevicius. A fast hybrid genetic algorithm for the quadratic assignment problem. In Proceedings of the 8th annual conference on Genetic and evolutionary computation: GECCO 2006, pages 1257–1264, New York, NY, USA, 2006. ACM. [56] A. Miseviˇcius. A modified simulated annealing algorithm for the quadratic assignment problem. Informatica, 14(4):497–514, 2003. [57] H. M¨ uhlenbein. Parallel genetic algorithms, population genetics and combinatorial optimization. In Proceedings of the third international conference on Genetic algorithms, pages 416–421, San Francisco, CA, USA, 1989. Morgan Kaufmann Publishers Inc. ˜ [58] V.Nissen. Solving the quadratic assignment problem with clues from nature. IEEE Transactions on Neural Networks, 1(5):66–72, 1994. [59] Christopher E. Nugent, Thomas E. Vollmann, and John Ruml. An Experimental Comparison of Techniques for the Assignment of Facilities to Locations. Operations Research, 16(1):150–173, 1968. [60] I.H. Osman and G. Laporte. Metaheuristics: A bibliography. Annals of Operations Research, 63:513–628, 1996. [61] C. H. Papadimitriou and K. Steiglitz. Combinatorial optimization: algorithms and complexity. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1982. [62] J. M. Pasteels, J.-L. Deneubourg, and S. Goss. Self-organization mechanisms in ant societies. (i): Trail recruitment to newly discovered food sources. Experientia. Supplementum, 54:155–175, 1987. [63] J. Skorin-Kapov. Tabu search applied to the quadratic assignment problem. ORSA Journal on Computing, 2(1):33–45, 1990. [64] J. Skorin-Kapov. Extensions of a tabu search adaptation to the quadratic assignment problem. Computers and Operations Research, 21(8):855–865, 1994. [65] L. Steinberg. The backboard wiring problem: A placement algorithm. SIAM Review, 3(1):37–50, 1961. [66] T. St¨ utzle. MAX − MIN for the quadratic assignment problem. Technical report, AIDA-97-4, FG Intellektik, FB Informatik, TU Darmstadt, Germany, 1997. 73

[67] T. St¨ utzle. Iterated local search for the quadratic assignment problem. Technical report, AIDA-99-03, FG Intellektik, FB Informatik, TU Darmstadt, 1999. [68] T. St¨ utzle and S. Fernandes. New benchmark instances for the QAP and the experimental analysis of algorithms. In J. Gottlieb and G. R. Raidl, editors, Evolutionary Computation in Combinatorial Optimization: 4th European Conference, EvoCOP 2004, volume 3004 of Lecture Notes in Computer Science, pages 199–209, Berlin, Germany, 2004. Springer-Verlag. [69] T. St¨ utzle and H. Hoos. MAX − MIN ant system. Future Generation Computer Systems, 16(8):889–914, 2000. ´ D. Taillard. Robust taboo search for the quadratic assignment problem. Parallel [70] E. Computing, 17:443–455, 1991. ´ D. Taillard. Comparison of iterative searches for the quadratic assignment prob[71] E. lem. Location Science, 3(2):87–105, 1995. ´ D. Taillard. Fant: Fast ant system. Technical report, IDSIA-46-98, IDSIA, [72] E. Lugano, Switzerland, 1998. ´ D. Taillard and L. M. Gambardella. Adaptive memories for the quadratic as[73] E. signment problem. Technical report, IDSIA-87-97, IDSIA, Lugano, Switzerland, 1997. [74] D. M. Tate and A. E. Smith. A genetic approach to the quadratic assignment problem. Computers and Operations Research, 1(22):73–83, 1995. [75] S. Tsutsui. cAS: Ant colony optimization with cunning ants. In T. P. Runarsson et al., editor, Proc. of the 9th Int. Conf. on Parallel Problem Solving from Nature (PPSN IX), volume 4193 of LNCS, pages 162–171. Springer, Heidelberg, 2006. [76] W. Wiesemann and T. St¨ utzle. Iterated ants: An experimental study for the quadratic assignment problem. In M. Dorigo, L. M. Gambardella, M. Birattari, A. Martinoli, R. Poli, and T. St¨ utzle, editors, ANTS 2006, volume 4150 of LNCS, pages 179–190. Springer, Heidelberg, 2006. [77] Mickey R. Wilhelm and T. L. Ward. Solving quadratic assignment problems by simulated annealing. IIE Transactions, 19(1):107–119, 1987.

74