You are on page 1of 15

NOMBRE DE LA ASIGNATURA:

PLANEACIN Y DISEO DE INSTALACIONES

CARRERA:
INGENIERA INDUSTRIAL
SPTIMO SEMESTRE

DISTRIBUCIN DE INSTALACIONES

TEMARIO:
2. DISTRIBUCIN DE INSTALACIONES

ELEMENTOS CONCEPTUALES

DISTRIBUCIN DE PLANTA 2.1.1. METODO S.L.P. (SISTEMATIC LAYOUT PLANNING) O (PLANEACION SISTEMATICA DE LA DISTRIBUCION EN PLANTA). 2.1.2. ASIGNACIN CUADRATICA (QAP QUADRATIC ASSIGNMENT PROBLEM) 2.1.3. ALMACENES, OFICINAS, SU LOCALIZACIN Y DISTRIBUCIN DENTRO DE LA ORGANIZACIN 2.1.4. MODELOS AUTOMATIZADOS PARA GENERACIN DE ALTERNATIVAS 2.1.5. SERVICIOS GENERALES Y DE SOPORTE

2.1.2. Algoritmo Evolutivo Paralelo para problemas de Asignacin Cuadrtica QAP INTRODUCCIN El Problema de Asignacin Cuadrtica (QAP Quadratic Assignment Problem) es un problema clsico de optimizacin combinatorio, en el cual se encuentra un vasto nmero de problemas de diseo y de distribucin de recursos en diferentes campos, donde la decisin a tomar es una asignacin de elementos de un conjunto en otro. El QAP es considerado como un problema complejo y dificultoso de resolver y puede establecerse como un conjunto de n elementos distintos que deben ser localizados (asignados) en n localidades distintas de forma ptima [1][2]. Aunque se han propuesto numerosas heursticas y procedimientos, los Algoritmos Evolutivos (AEs) han emergido como una clase de bsqueda aleatoria de varios puntos concurrentemente sobre un espacio de soluciones factibles; tales algoritmos son inspirados por mecanismos de la evolucin natural y mecanismos genticos introducidos por J. Holland en los aos 70 [3]. Experimentos reales sobre algoritmos evolutivos para QAP se iniciaron a principios de los 90s; David M. Tate y Alice E. Smith (1.992) establecen mecanismos de seleccin y reproduccin (cruce) as como una posible codificacin para problemas de Asignacin Cuadrtica [4]. Para el ao 1.995 B. R. Sarker y un grupo de colaboradores implementan un algoritmo secuencial: Depth First Insertion Heuristic (DIH) [5]; para el problema de retrocesos (backtracking) de trabajos en la localizacin de una mquina en una lnea unidimensional de flujo. Otra manera de tratar a los Algoritmos Genticos es analizando su paralelismo intrnseco, tal como lo hizo G. Larrazbal en el ao 1.996, cuando plantea un Algoritmo Gentico Grano Grueso para un problema de alta dimensionalidad [6]. Ms tarde, Patrice Roger Calgari (1.999) en su trabajo de tesis doctoral [2], muestra la paralelizacin eficiente de Algoritmos Evolutivos. Recientemente fue tratado un problema cuadrtico de asignacin de facilidades por N. Maneiro (2.001) empleando un algoritmo evolutivo simple [1]; el cual consisti en localizar un grupo de m mquinas de tal manera que se minimice el retroceso (backtracking) dentro de una lnea de flujo generalizado.

Este trabajo trata la paralelizacin de un algoritmo evolutivo desarrollado con tecnologa de programacin orientada a objetos, el cual est enfocado a resolver problemas de asignacin cuadrtica de facilidades de alta dimensionalidad; el mismo se inicia con una exposicin breve de los Problemas de Asignacin Cuadrtica en donde se detalla el problema de QAP tratado. Luego se explica el funcionamiento de los Algoritmos Evolutivos y enseguida se describe el Algoritmo Evolutivo Propuesto. Ms adelante se habla de Paralelismo y de la Paralelizacin del Algoritmo Evolutivo; para finalizar con la exposicin de los resultados en dos partes: Resultados de Corrida Secuencial y Resultados de Corrida Paralela. ALGORITMO EVOLUTIVO PARA PROBLEMAS QAP Problemas 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 funcin de la distancia entre las dos localidades k y l, y el grado de interaccin entre las dos facilidades j e i [7]. Formalmente, el QAP puede ser definido por tres matrices nxn [4]: D = {dij} es la distancia entre la localidad i y la localidad j ; F = {fhk} es el flujo entre las facilidades h y k, es decir la cantidad de interaccin (trfico) existente entre las facilidades; C = {chi} es el costo de asignar la facilidad h en la localidad i. Una permutacin puede ser interpretado como una asignacin de la facilidad (i) h = en la localidad i. El problema se centra en encontrar una permutacin

para un conjunto dado de facilidades {1, 2, , n} tal que:

A causa de su diversidad de aplicaciones y a la dificultad intrnseca del problema, el QAP ha sido investigado extensamente por la comunidad cientfica, clasificndolo 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 necesariamente en todas las mquinas de la lnea. Un trabajo en tal clase de lnea puede comenzar y completar su proceso en cualquier mquina, movindose siempre hacia delante (down stream) por operaciones sucesivas de acuerdo con la secuencia de trabajo del proceso. Cuando la secuencia de operaciones de un trabajo no especifica una mquina delante de su localizacin actual, el trabajo tiene que viajar en sentido contrario (up stream) a fin de completar la operacin requerida. Este problema ha sido tratado por B. R. Sarker en [5].

Figura 1: Una Lnea de flujo generalizada 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 la programacin y carga, el incremento de la salida en la lnea de produccin, entre otros.

Algoritmos Evolutivos Los Algoritmos Evolutivos son heursticas basadas en los principios de evolucin natural y gentica introducido 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.

Figura 2: Estructura de Algoritmo Evolutivo Un algoritmo Evolutivo clsico tiene la estructura mostrada en la figura 2 en la cual se pueden observar 5 componentes caractersticos de un Algoritmo Evolutivo: 1. Representacin gentica de soluciones del problema. 2. Una Manera para crear la poblacin inicial. 3. Una funcin de evaluacin que pone en juego las reglas de la evolucin, proporcionando soluciones en trminos de la aptitud. 4. Operadores genticos que efectan la creacin de la descendencia durante la reproduccin. 5. Valores para los parmetros que el algoritmo requiere: tamao de la poblacin, probabilidades para aplicar los operadores genticos, etc.

Un vasto nmero de problemas pueden ser tratados con estos algoritmos: Edificacin de almacenes en localidades distintas, Planificacin de Eventos, Distribucin de Recursos o de Materiales, etc. Entre estos problemas se encuentran los de Asignacin Cuadrtica de Facilidades QAP, que hasta el presente constituye uno de los problemas ms difciles de ser tratados por el hombre. Algoritmo Evolutivo Propuesto El AE propuesto tiene caractersticas propias para problemas combinatorios, stas se pueden observar en la representacin de la solucin y en cada uno de los operadores del algoritmo. La Representacin de Individuos

Figura 3: Representacin de Individuo. . . Cromosoma 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!. El Mtodo de Seleccin El mtodo de seleccin ms ampliamente usado es la rueda de la ruleta, y por ende tambin es usado como el mtodo de seleccin principal en este algoritmo propuesto. Sin embargo, un segundo esquema de seleccin se

introduce con la finalidad de dar aceleracin al proceso de escogencia de los individuos parientes; este mtodo de seleccin es propuesto por Darrell Whitley [6], el cual opera de la manera siguiente: en cada generacin se ordenan los individuos en forma decreciente, de acuerdo al valor de aptitud de cada cromosoma; para cada individuo con ndice impar se determina el ndice del individuo con el cual se cruzar empleando la siguiente expresin:

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. La ecuacin (2) 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 cuan grandes sean las adaptaciones de los 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 elite 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. El Operador Cruce

Figura 4: Operador Cruce Principal

Cualquier nmero de mquina que se repita y por ende, aquella que falte dar lugar a un individuo no factible, as que el operador de cruce implementado en este algoritmo es diseado considerando la no-factibilidad de individuos. Al igual que en el esquema de seleccin, en donde se implementaron dos mecanismos diferentes; tambin se implementan dos operadores de cruce distintos. Tal como se muestra en la figura 4, el operador de cruce principal [1], consiste en seleccionar un punto aleatoriamente en ambos padres, dividiendo los cromosomas padres en dos, la primera mitad de un padre se copia intacta sobre un hijo, y la segunda mitad del otro padre se copia idnticamente sobre el otro hijo. Los cromosomas descendientes se completan copiando las mquinas faltantes tomndolas de los cromosomas padres alternando aleatoriamente entre ellos, solamente se copia aquellas mquinas que falten en los descendientes.

Figura 5: Operador Cruce Secundario El otro operador cruce [4], consiste en tomar, alternando entre los cromosomas padres, los genes para ir llenando al cromosoma hijo (con un recorrido secuencial de izquierda a derecha), con la excepcin de aquellos genes que coinciden en ambos padres, los cuales ocuparn esa misma posicin en la descendencia. As se podr apreciar en el ejemplo mostrado en la figura 5, en donde adems se observa que existe un gen comodn, el cual se introduce en el cromosoma descendiente en la posicin donde sea necesaria su presencia. El nico cromosoma hijo reemplaza al cromosoma pariente con peor aptitud.

El Operador Mutacin

Figura 7: Mecanismo de Mutacin Figura 6: Mecanismo de Mutacin Primario El primer mecanismo de mutacin, consiste en seleccionar dos puntos aleatorios sobre el cromosoma seleccionado (dada una probabilidad de mutacin) para luego invertir la secuencia de los genes enmarcados por estos dos puntos, as se muestra en la figura 6, donde se expresa mediante el ejemplo la idea fundamental de este mtodo de mutacin [4]. Como operador de mutacin secundario, se emple una variacin del primer mecanismo, donde solo se intercambian los genes identificados por los puntos tomados aleatoriamente. Para ms detalles vase la figura 7, en donde se esquematiza este proceso de mutacin. 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. Paralelizacin del Algoritmo Evolutivo Se ha tomado el modelo de paralelismo grano grueso el cual toma una poblacin global repartida entre los EPs migrando el mejor individuo, llamando subpoblacin a cada una de las partes. Cada subpoblacin evoluciona en un procesador por la ejecucin del AE. Luego de un nmero de generaciones Secundario

predeterminado, que se llama perodo de migracin, se realiza una difusin o migracin del mejor individuo de la poblacin total en cada una de las subpoblaciones.

Figura 8: Centralizacin de los Individuos mejor adaptados 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 ms los descendientes del cruce, el cual reemplaza al peor individuo de las subpoblaciones tal como se observa en las siguientes figuras.

Figura 9: Proceso de Migracin 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, retorna a la poblacin de donde proviene crendose una nueva copia del mismo (por reemplazo del peor individuo). 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 con c++ del 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.

Tabla 1: Comparacin de Desempeo de Algoritmos. Arquitectura Secuencial. AEQAP OO* AE Nmaneiro Maq.(m). Valor Obj T(seg). Valor Obj T(seg) 4 500 0.00 500 0.00 6 1371 0.26 1371 0.42 8 2898 1.12 2898 1.92 12 512963 2.28 512963 3.83 16 89534 4.28 92022 8.83 24 4278567 28.15 4386817 31.15 48 34319104 35.06 34925368 44.12 56 117658864 42.14 120956504 57.84 * Algoritmo Evolutivo Propuesto Orientado a Objeto DIH Valor Obj. 500 1371 2898 515376 96686 4764502 37361376 125769984 T(seg) 0.00 0.00 0.28 0.36 0.45 1.48 2.45 3.24

En la tabla 1 se muestran las corridas del AE propuesto, comparando los resultados con otros algoritmos desarrollados que tratan el mismo problema: el

algoritmo evolutivo AE_MANEIRO en [1] y el Mtodo Depth First Insertion Heuristic (DIH) en [5]. 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. Resultados Paralelos La plataforma computacional de prueba corresponde a un Cluster de 48 Nodos conectados por switches de alta velocidad 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) Valor Obj. 16 89534 24 4278567 48 34319104 56 117658864 T(seg.) 4.28 28.15 35.06 42.14 AEP_QAP* Valor Obj. 89534 4198729 32982182 112647544 T(seg.) 3.25 15.75 21.73 39.65

* 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 dimensionalidad ( a partir de 16 mquinas). Las pruebas experimentales mostraron que el algoritmo evolutivo paralelo (propuesto) logra satisfaces todas las perspectivas en cuanto a las soluciones encontradas y tiempos de respuestas; ya que reporta mejoras significativas que las soluciones encontradas por otros algoritmos adems de disminuir los tiempos de respuesta, logrndose demostrar las ventajas de esta tcnica, la cul radica en su generalidad y flexibilidad de adaptacin. RESUMEN El Problema de Asignacin Cuadrtica (QAP) es un problema de optimizacin combinatorio que puede establecerse como un conjunto de n elementos distintos que deben ser localizados en n localidades de forma ptima. Los Algoritmos Evolutivos han emergido como una clase de bsqueda aleatoria de varios puntos, concurrentemente, sobre un espacio de solucione; los AEs requieren de mucho poder de computo y espacio de memoria lo cual los hace interesantes para paralelizarlos. La paralelizacin del AE mejora considerablemente tanto el desempeo del algoritmo como la calidad de las soluciones reportadas debido a que se pueden manipular grandes espacios de bsqueda (del orden de 16!). Palabras Claves: Algoritmo Evolutivo, QAP, Optimizacin Combinatorio, Paralelizacin

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. [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. http://www.monografias.com/trabajos12/aepqap/aepqap.shtml