- Resumen
- Introducción
- Algoritmo evolutivo para problemas QAP
- El problema QAP tratado
- Algoritmos evolutivos
- Algoritmo evolutivo propuesto
- La representación de individuos
- El operador mutación
- Paralelismo
- Paralelización del algoritmo evolutivo
- Resultados experimentales
- Resultados paralelos
- Referencias
El Problema de Asignación Cuadrática (QAP) es un problema de optimización 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 búsqueda 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 paralelización del AE mejora considerablemente tanto el desempeño del algoritmo como la calidad de las soluciones reportadas debido a que se pueden manipular grandes espacios de búsqueda (del orden de 16!).
ABSTRACT The Quadratic Assignment Problem (QAP) it is a problem of optimization combinatorial, it can settle down as a set of n different elements that should be located in n locations optimum form. The Evolutionary Algorithms have emerged concurrently as a class of aleatory search of several points on a space of it solves; they need of much power of compute and memory space, which makes them by interesting for paralysing. The paralyzing of the AE improves considerably so much the performance of the algorithm like the quality of the reported solutions, because big search spaces can be manipulated (of the order of 16!).
El Problema de Asignación Cuadrática (QAP – Quadratic Assignment Problem) es un problema clásico de optimización combinatorio, en el cual se encuentra un vasto número de problemas de diseño y de distribución de recursos en diferentes campos, donde la decisión a tomar es una asignación 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 heurísticas y procedimientos, los Algoritmos Evolutivos (AEs) han emergido como una clase de búsqueda aleatoria de varios puntos concurrentemente sobre un espacio de soluciones factibles; tales algoritmos son inspirados por mecanismos de la evolución natural y mecanismos genéticos introducidos por J. Holland en los años 70 [3]. Experimentos reales sobre algoritmos evolutivos para QAP se iniciaron a principios de los 90"s; David M. Tate y Alice E. Smith (1.992) establecen mecanismos de selección y reproducción (cruce) así como una posible codificación para problemas de Asignación Cuadrática [4]. Para el año 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 localización de una máquina en una línea unidimensional de flujo. Otra manera de tratar a los Algoritmos Genéticos es analizando su paralelismo intrínseco, tal como lo hizo G. Larrazábal en el año 1.996, cuando plantea un Algoritmo Genético Grano Grueso para un problema de alta dimensionalidad [6]. Más tarde, Patrice Roger Calégari (1.999) en su trabajo de tesis doctoral [2], muestra la paralelización eficiente de Algoritmos Evolutivos. Recientemente fue tratado un problema cuadrático de asignación de facilidades por N. Maneiro (2.001) empleando un algoritmo evolutivo simple [1]; el cual consistió en localizar un grupo de m máquinas de tal manera que se minimice el retroceso (backtracking) dentro de una línea de flujo generalizado.
Este trabajo trata la paralelización de un algoritmo evolutivo desarrollado con tecnología de programación orientada a objetos, el cual está enfocado a resolver problemas de asignación cuadrática de facilidades de alta dimensionalidad; el mismo se inicia con una exposición breve de los Problemas de Asignación Cuadrática 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. Más adelante se habla de Paralelismo y de la Paralelización del Algoritmo Evolutivo; para finalizar con la exposición de los resultados en dos partes: Resultados de Corrida Secuencial y Resultados de Corrida Paralela.
Algoritmo evolutivo para problemas QAP
Problemas de Asignación Cuadrática – QAP Los Problemas de Optimización Combinatorios son frecuentemente tratados en el campo de la Optimización. Cubren una amplia gama, entre ellos la minimización del costo total de interacción entre pares de facilidades. Los mismos están caracterizados por la consideración de una selección o permutación de un conjunto discreto de elementos o por una asignación entre ellos.
El Problema de Asignación Cuadrática (QAP – Quadratic Assignment Problem) es quizás el más complejo y dificultoso de los problemas de asignación, 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 función de la distancia entre las dos localidades k y l, y el grado de interacción entre las dos facilidades j e i [7].
Página siguiente |