Está en la página 1de 5

ALGORITMO BASADO EN TABU SEARCH PARA EL CALCULO DEL INDICE DE TRANSMISION DE UN GRAFO

Introduccion
Un problema tipico en el diseo de redes de comunicaciones consiste en determinar como interconectar cada par de nodos en una red, sin sobrecargar ninguno de ellos. Dado que una red de comunicaciones puede modelarse utilizando un grafo, el problema planteado es equivalente a encontrar una cadena entre cada par de vertices en el grafo asociado con la red, minimizando el numero de cadenas que pasan a traves de cada vertice del grafo.El indice de transmisin(vertexforwarding index) es un parametro que mide la carga o congestion de los nodos en una red en trminos del numero de cadenas que pasan por cada vrtice del grafo asociado, una vez que han sido establecidas las cadenas entre los vertices. En general,una buena solucion al problema del ndice de transmision de un grafo es una en la que las cargas de los vertices esten balanceadas (es decir,una en la que pase aproximadamente el mismo numero de cadenas a traves de cada vertice del grafo). En consecuencia, la solucion al problema de calcular el indice de transmision de un grafo permitiria encontrar y medir la calidad de una solucion al problema antes planteado de interconexion en una red.El calculo del indice de transmision de un grafo es un problema NP-Completo ; esto ha motivado la utilizacion de metodos heursticos para encontrar soluciones al problema en un tiempo computacional razonable. Entre las tcnicas utilizadas hasta ahora para resolver este problema se tienen los Algoritmos Geneticos. En este trabajo se presenta un algoritmo, basado en la metaheuristica Tabu Search, para el calculo del indice de transmision de un grafo, y el estudio experimental de su rendimiento comparado con algoritmos basados en otras tecnicas heuristicas. El algoritmo desarrollado fue probado en diferentes familias de grafos para las cuales se conoce el valor teorico del indice de transmision. Los resultados experimentales muestran que, en todos los casos de prueba, el algoritmo encuentra soluciones optimas o muy cercanas a la optima. Estos resultados fueron comparados con los mejores valores experimentales obtenidos por algoritmos basados en otros mtodos heuristicos (Algoritmos Geneticos, Simulated Annealing y GRASP); la comparacion muestra que el algoritmo propuesto se comporta igual o mejor que los anteriores.

Tabu Search
Tabu Search es, basicamente, una metaheuristica que combina procedimientos heursticos de busqueda local con la utilizacion inteligente de memoria. Estos elementos,combinados con estrategias de intensificacion y diversificacion, permiten escapar de optimos locales y explorar distintas regiones del espacio de soluciones. El procedimiento de busqueda local utiliza una operacion, denominada movimiento, para definir la vecindad de una solucion dada s S como el conjunto N(s) de todas aquellas soluciones s0 S que pueden ser alcanzadas a partir de s por medio de un movimiento . N(s) = {s0 S : s s0} Un movimiento puede ser la insercion de un componente a una solucion, la eliminacion de un componente de una solucion o el intercambio de componentes en una solucion. Para evitar movimientos ciclicos en la busqueda local, se lleva un registro historico de las soluciones visitadas previamente, o de algunos de sus componentes. Este historico se denomina lista tabu, y se denota por T. Esta prohibido (o es tabu) regresar a esas soluciones por un cierto numero de iteraciones consecutivas; este numero de iteraciones se denomina tabu tenure. En este sentido, Tabu Search introduce el concepto de vecindad dinamica o lista de candidatos N_(s) de una solucion dada s, la cual esta definida por el conjunto de aquellas soluciones s0 N(s) tales que no se encuentran en la lista tabu. N*(s) = N(s) T Tabu Search introduce el concepto de criterios de aspiracion para determinar cuando es posible hacer caso omiso de las restricciones tabu, eliminando la clasificacion tabu asociada a un

movimiento. Los criterios de aspiracion permiten, bajo ciertas condiciones, incluir en la lista de candidatos una solucion que se encuentra en la lista tabu. Existen muchas variantes de criterios de aspiracion, uno de los mas utilizados es el criterio de aspiracion de la mejor solucion, que consiste en eliminar la restriccion tabu de un movimiento si este lleva a una solucion mejor que la mejor obtenida hasta ese momento.La orientacion de la busqueda en Tabu Search se basa en las estrategias de intensificacion y diversificacion. La estrategia de intensificacion dirige el proceso de busqueda local en la vecindad de una solucion, utilizando memoria a corto plazo (principalmente) y criterios de aspiracion. Por otra parte, la estrategia de diversificacion conduce al proceso de busqueda a explorar regiones del espacio de soluciones que no han sido visitadas, y a generar nuevas soluciones que difieran de alguna manera de aquellas ya consideradas. La diversificacion se apoya en memoria a largo plazo. Tabu Search puede terminar por distintas condiciones,entre las cuales se destacan las siguientes: Haber alcanzado cierto numero maximo de iteraciones. Haber realizado cierta cantidad de iteraciones sin actualizacion de la mejor solucion encontrada. Haber encontrado una solucion cuyo costo sea mejor que un valor predefinido. La combinacion de algunas de las condiciones anteriores.

Algoritmo Tabu Search


En esta parte se presenta el algoritmo basado en Tabu Search para el calculo del ndice de transmision de un grafo. Este algoritmo integra todos los elementos definidos a lo largo de esta seccion, utilizando para ello el esquema de la metaheuristica Tabu Search. El criterio de parada para el algoritmo se satisface cuando haya realizado max iter iteraciones, o cuando haya realizado glob iteraciones consecutivas sin modificar la solucion. maxiter y glob son parmetros de entonacion del algoritmo

Descripcion de los Parametros


La implementacion del algoritmo se realizo utilizando el lenguaje de programacion C, y las pruebas se realizaron en una estacion de trabajo SUN SPARC Ultra 10. En la Tabla 1 se presentan los valores de los parametros utilizados en el algoritmo, donde: max iter representa el numero maximo de iteraciones a realizar por el algoritmo. m es la cardinalidad de la lista RCL utilizada en la construccion de la solucion inicial del algoritmo. tenure es el numero de iteraciones consecutivas que una solucion se considerara como prohibida (tabu). k es el numero de cadenas a generar durante la fase de construccion de la solucion inicial. loc es el numero maximo de iteraciones consecutivas que la solucion actual permanece sin modificaciones durante la fase de busqueda local. glob es el numero maximo de iteraciones consecutivas que la solucion global permanece sin modificaciones durante el proceso de busqueda global.

Analisis de Resultados
El algoritmo fue probado sobre diferentes familias de grafos, para las cuales se conoce el valor teorico del indice de transmision: los ciclos Cn de orden n, las ruedas W n de orden n + 1 y los hipercubos Qn de orden 2n. En la Tabla 2 se presentan los resultados experimentales obtenidos al ejecutar el algoritmo utilizando grafos de distintos tamaos pertenecientes a estas familias. La columna G corresponde a los distintos tipos de grafos considerados. La columna (G) contiene los valores teoricos conocidos. La columna TS(G) contiene los valores calculados por el algoritmo. La columnaTTS(G) contiene el tiempo computacional (en segundos) requerido por el algoritmo propuesto. En todos los casos de prueba, el algoritmo basado en Tabu Search encuentra soluciones optimas o muy cercanas a la optima (con respecto a los valores teoricos conocidos). El estudio experimental del rendimiento del algoritmo propuesto fue comparado con el de algoritmos basados en otras tecnicas heursticas: Algoritmos Geneticos.

En la Tabla 3 se presentan los resultados experimentales obtenidos al ejecutar los algoritmos antes mencionados utilizando los mismos grafos de la Tabla 2. La columna G corresponde

a los distintos grafos considerados. La columna TS(G) contiene los valores calculados por el algoritmo. Las columnas GRASP (G), SA(G), AG(G) contienen los valores calculados por los algoritmos basados en GRASP, Simulated Annealing y Algoritmos Geneticos, respectivamente. En todos los casos de prueba, el algoritmo propuesto consigue la solucion optima o muy cercana a la optima. Ademas, el algoritmo basado en Tabu Search mejora los resultados experimentales obtenidos por los algoritmos basados en las otras tecnicas heuristicas (como en los casos de los grafos W12, W 20 y Q5) o iguala los resultados obtenidos por estos, con excepcion del grafo C40 en el que se logran mejores resultados con el algoritmo basado en GRASP. El tiempo computacional requerido por los algoritmos se presenta en la Tabla 4. La columna G corresponde a los distintos tipos de grafos considerados. Las columnas TTS(G), TGRASP (G), TSA(G), contienen el tiempo computacional (en segundos) requerido por los algoritmos basados en Tabu Search, GRASP y Simulated Annealing, respectivamente. El algoritmo basado en Tabu Search es mas rapido que el basado en Simulated Annealing, con excepcion de los grafos C20 y C40 para los cuales, sin embargo, obtiene soluciones iguales o mejores. El algoritmo basado en GRASP es, en general, el mas rapido. La diferencia en tiempo con el algoritmo Tabu Search se hace mas significativa a medida que se incrementa el numero de vertices en el grafo. Sin embargo, el algoritmo propuesto obtiene soluciones mejores (como en los casos de los grafos W 12, W 20 y Q5) o iguales que el algoritmo basado en GRASP, aunque requiere mayor cantidad de tiempo.

Conclusiones
El algoritmo basado en la metaheuristica Tabu Search para el calculo del indice de transmision de un grafo fue desarrollado, y probado sobre diferentes familias de grafos para las cuales se conoce el valor teorico del ndice de transmision: los ciclos Cn de orden n, las ruedas W n de orden n+1 y los hipercubos Qn de orden 2n. Los experimentos realizados muestran que, en todos los casos de prueba, el algoritmo basado en Tabu Search encuentra soluciones optimas o muy cercanas a la optima.

Esto lleva a pensar que el algoritmo debe, en general, encontrar buenas soluciones al problema del calculo del indice de trasmision de un grafo. Las comparaciones realizadas con los mejores valores experimentales obtenidos por algoritmos basados en otros metodos heursticos muestran que el algoritmo propuesto se comporta igual o mejor que los anteriores. Los resultados experimentales obtenidos por el algoritmo basado en Tabu Search muestran los beneficios de combinar un procedimiento greedy (voraz) aleatorizado (utilizado para generar la solucion inicial) con las estrategias de intensificacion y diversificacion y estructuras de memoria a corto y largo plazo.

RESUMEN Un problema tipico en el diseo de redes de comunicaciones consiste en determinar como conectar cada par de nodos, sin sobrecargar ninguno de ellos. El ndice de transmision de un grafo es un parametro que mide la carga o congestion de los nodos de una red en terminos del numero de cadenas que pasan por cada nodo. En este trabajo se presenta un algoritmo, basado en la metaheuristica Tabu Search, para el calculo del ndice de transmision de un grafo. Los resultados experimentales muestran que, en todos los casos de prueba, el algoritmo encuentra soluciones optimas o muy cercanas a la optima.

Referencias
[1] F. Chung, E. Coffman, M. Reiman and B. Simon, The forwarding index of communication networks, IEEE [2] R. Saad, Complexity of the Forwarding Index Problem, SIAM Journal on Discrete Mathematics, Vol.6 [3] D. Barraez and R. O. Dominguez, A Genetic Algorithm for the Forwarding Index/Diameter of Graphs [4] G. Loerincs, A Simulated Annealing Algorithm for the Forwarding Index of Graphs