Professional Documents
Culture Documents
REPBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DE CARABOBO Facultad de Ciencias y Tecnologa Departamento de Computacin
REPBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DE CARABOBO Facultad de Ciencias y Tecnologa Departamento de Computacin
ALGORITMO EVOLUTIVO PARA PROBLEMAS QAP Problema de Asignacin Cuadrtica QAP Los Problemas de Optimizacin Combinatorios son frecuentemente tratados en el campo de la Optimizacin. Cubren una amplia gama, entre ellos la minimizacin del costo total de interaccin entre pares de facilidades. Los mismos estn caracterizados por la consideracin de una seleccin o permutacin de un conjunto discreto de elementos o por una asignacin entre ellos. El Problema de Asignacin Cuadrtica (QAP Quadratic Assignment Problem) es quizs el ms complejo y dificultoso de los problemas de asignacin, en donde, relacionar dos asignaciones particulares tiene un costo asociado; tal estructura de costo surge, por ejemplo, cuando el costo de localizar la facilidad i en la localidad k y la facilidad j en la localidad l es una
i , j 1
ij
f (i ) ( j ) ci (i )
i 1
(1)
A causa de su diversidad de aplicaciones y a la dificultad intrnseca del problema, el QAP ha sido investigado extensamente por la comunidad cientfica, clasificandolo como un problema NP Completo o NP Hard[4].
El Problema QAP tratado Dentro de la amplia clase del QAP, se encuentra el problema de flujo en lnea generalizado, que es una lnea de flujo en la cual las operaciones fluyen hacia adelante y no se procesan
3
REPBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DE CARABOBO Facultad de Ciencias y Tecnologa Departamento de Computacin
Algoritmos Evolutivos Los Algoritmos Evolutivos son heursticas basadas en los principios de evolucin natural y gentica introducidos por J. Holland en los aos 70s[3]. Ellos pueden tratar varios puntos de un espacio de bsqueda concurrentemente permitiendo que no sean atrapados en un ptimo local. Adems, se pueden ajustar para resolver problemas de optimizacin combinatorios eficientemente[2]. Los Algoritmos Evolutivos requieren que se les especifique la codificacin de los individuos y una funcin de evaluacin que mida la aptitud de cada individuo. La funcin de Aptitud es la gua que emplean estos algoritmos para explorar de forma eficiente su amplio espacio de bsqueda de posibles soluciones.
Este viaje en reversa de las operaciones es llamado Backtracking, y se desva de una lnea de flujo ideal para un trabajo especfico, resultando en una estructura de trabajo ineficiente, como se muestra en la figura 1. La minimizacin del backtracking de trabajos en una lnea de produccin sirve a varias metas implcitas, tales como la reduccin del tiempo de ocio de las mquinas, la simplificacin del problema de
REPBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DE CARABOBO Facultad de Ciencias y Tecnologa Departamento de Computacin
La Representacin de Individuos
Una solucin es representada por un vector de longitud m cuyo contenido es una permutacin (vea figura 3) que representa a una secuencia de asignacin de facilidades. Para el problema tratado el vector corresponde al orden de relacin en que se deben asignar las mquinas, el valor de aptitud de esta permutacin identifica el costo de producir en la lnea de flujo. Una asignacin natural b=(1, 2, , m) y cualquier permutacin de este vector son soluciones factibles al problema; por lo que el espacio de bsqueda corresponde a m!.
REPBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DE CARABOBO Facultad de Ciencias y Tecnologa Departamento de Computacin
individuos, permitiendo disipar el efecto de un sper individuo que domine en generaciones tempranas a toda la poblacin.
Elitismo El proceso de seleccin es complementado con una estrategia elitista con la cual se asegura la convergencia hacia el individuo con el valor ptimo en cada generacin. Una de sus posibles implementaciones es: en cada generacin, despus de haber ejecutado los operadores genticos de cruce y mutacin, se selecciona el mejor individuo de la poblacin llamado Elite, el cual reemplaza al peor individuo en la generacin siguiente. Si existe un individuo mejor que el lite previo, entonces ste pasar a ser el nuevo elite. La idea fundamental es que el mejor individuo en cada generacin prevalezca, para as asegurar la convergencia del Algoritmo Evolutivo Propuesto.
Donde N representa el tamao de la poblacin, a es un parmetro que introduce un sesgo que determina la preferencia de los individuos mejor adaptados y rand(0,1) es un valor aleatorio entre 0 y 1. Esta La ecuacin es una transformacin no lineal que da mayor probabilidad a los ndices bajos, que corresponden a los individuos de mejor adaptacin, sin embargo puede producir cualquier ndice sin importar cun grandes sean las adaptaciones de los
El Operador Cruce
REPBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DE CARABOBO Facultad de Ciencias y Tecnologa Departamento de Computacin
El Operador Mutacin
El otro operador cruce[4], consiste en tomar, alternando entre los cromosomas padres, los genes para ir llenando al
REPBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DE CARABOBO Facultad de Ciencias y Tecnologa Departamento de Computacin
PARALELISMO Un Computador paralelo es un conjunto de procesadores capaces de cooperar en la solucin de un problema simultneamente. Esta definicin incluye supercomputadoras con cientos de procesadores, redes de estaciones de trabajo y mquinas con mltiples procesadores (Computadoras Multiproceso). La paralelizacin del AE mejora considerablemente tanto en el desempeo como la calidad de las soluciones encontradas en un espacio de bsqueda grande.
La estrategia para la migracin consiste en centralizar los individuos mejor adaptados de cada subpoblacin en uno de los procesadores (llamado Proceso Centralizador), ver figura 8; donde son cruzados entre ellos sin reemplazo. Se maneja como criterio de decisin el individuo mejor adaptado de los migrados
8
REPBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DE CARABOBO Facultad de Ciencias y Tecnologa Departamento de Computacin
RESULTADOS EXPERIMENTALES Las pruebas del algoritmo se realizaron en dos etapas, la primera consisti en hacer las corridas sobre una mquina secuencial y la segunda etapa se realizaron corridas sobre una arquitectura paralela.
Resultados Secuenciales La plataforma computacional corresponde a un Pc INTEL Pentium III de 866 MHz con 256 KB de cach de segundo nivel y memoria RAM de 256 Mbyte. El algoritmo fu desarrollado en lenguaje C++ y compilado en el Sistema Operativo Linux Red Hat 7.2. Los datos para las corridas de la etapa de prueba han sido basados en: Tamao de la poblacin: 100 individuos. Nmero de generaciones: 1000 iteraciones. Probabilidad de Cruce y Mutacin: 0.8 y 0.033 respectivamente. Nmero de Corridas: 20 corridas por cada conjunto de mquinas.
En la figura 9, se muestra que los individuos centralizados no desaparecen de la subpoblacin de origen, sino que se hace una copia del mismo el cual es recibido por el proceso centralizador. Tambin se puede observar que el mejor individuo seleccionado en este proceso,
REPBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DE CARABOBO Facultad de Ciencias y Tecnologa Departamento de Computacin
Como se puede observar en la tabla, el AE propuesto reporta mejoras en cuanto a calidad de solucin encontradas as como de tiempos de respuestas. Sin embargo estos tiempos aumentan conforme crece la dimensin del problema. Para estudiar espacios de bsqueda tan grandes (16! = 20.922.789.888.000), se requiere de un tamao de poblacin mayor a 100 individuos o simplemente emplear un modelo computacional que permita evolucionar ms de una poblacin independientemente.
Marynet y fibra ptica (Para mayor detalles ver http://www.labf.usb.ve), el algoritmo fue desarrollado empleando lenguaje C++ y la Interfaz de Paso de Mensajes (MPI)[8]. Para las corridas se consider a un proceso especial, al cual se le asign una alta mutacin para crear un efecto ruido sobre el total de la poblacin[9]; y los datos para las corridas de la etapa de prueba han sido basados en: Tamao de la poblacin global: 100 individuos. Nmero de generaciones: 1000 iteraciones para cada proceso. Probabilidad de Cruce y Mutacin: 0.75 y 0.055 respectivamente. Probabilidad de Cruce y Mutacin para Proceso Especial: 0.25 y 0.75. Cantidad de procesos: 4 procesos. Perodo de Migracin: 20 generaciones. Nmero de Corridas: 20 corridas por cada problema.
Tabla 2: Comparacin de Desempeo de Algoritmo Secuencial Vs. Algoritmo Paralelo
AEQAP_OO Mq. (m) 16 24 48 56 Valor Obj. T(seg.) AEP_QAP* Valor Obj. T(seg. ) 3.25 15.75 21.73 39.65
Resultados Paralelos La plataforma computacional de prueba corresponde a un Cluster de 48 Nodos conectados por switches de alta velocidad
89534 4.28 89534 4278567 28.15 4198729 34319104 35.06 32982182 117658864 42.14 112647544 * Algoritmo Evolutivo Paralelo Propuesto
En la tabla 2 se muestran las corridas del AE Paralelo, comparando los resultados con el AE secuencial, considerando para ello slo los problemas de ms alta
10
REPBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD DE CARABOBO Facultad de Ciencias y Tecnologa Departamento de Computacin
[4] Alice E. Smith & David M. Tate. A Genetic Approach to the Quadratic Assignment Problem. Technical report, University of Pittsburgh, 1992. [5] B. R. Sarker et al. Backtracking of jobs in one dimensional machine location problems. European Journal of Operational Research, 85:593609, 1995. [3] John Holland. Adaptation in Natural and Artificial Systems. Ann Harbord. University of Michigan, 1999. [6] Germn Larrazbal et al. Un Algoritmo Gentico Paralelo Grano Grueso. Reporte Tcnico. Facultad de Ciencias y Tecnologa. Universidad de Carabobo, 1996. [8] Willians Gropp et al. Using MPI 2nd Edith. Edit. MIT Press. ISBN: 0-262571323. [9] Brad L. Miller and David E. Goldberg. Genetic Algorithms, Selection Schemes, and the Varying Effects of Noise. Technical report, Department of Computer Science. University of Illinois at Urbana/Champaign. USA, 1996.
REFERENCIAS [1] Ninoska Maneiro. Algoritmo Gentico Aplicado a Problemas de Localizacin de Facilidades. Tesis de Maestra. Facultad de Ingeniera. Universidad de Carabobo, 2001. [2] Patrice Roger Calgari. Parallelization of Population - Based Evolutionary logarithms for Combinatorial Optimization Problems. Doctoral thesis. ole Polytechnique Fdrale de Lausanne. Lausanne - Francia, 1999. [7] Ahuja Ravindra K. A Greedy Genetic Algorithm for the Quadratic Assignment Problem. Technical report, Indian Institute of technology. Kanpur - India, 1997.
11