PROGRAMACIÓN DE MÁQUINAS PARALELAS CON DISTINTOS RENDIMIENTOS: UN ENFOQUE MEDIANTE ALGORITMOS GENÉTICOS Pedro Palominos – Alex Carreño – Felipe González – Rodrigo Veloso Departamento de Ingeniería Industrial -Universidad de Santiago de Chile e-mail: [email protected] RESUMEN El objetivo del presente trabajo es proponer una heurística de solución basada en Algoritmos Genéticos, que encuentre una programación de N trabajos sin interrupción en sistemas de M máquinas paralelas de distinto rendimiento, de tal modo de minimizar el máximo retraso ponderado absoluto, considerando un “due date” no nulo. La heurística propuesta se basó en una estructura cromosómica matricial y se implementó computacionalmente en lenguaje pascal, para ser posteriormente contrastarlos con un algoritmo de búsqueda exhaustiva limitado por la secuencia del menor tiempo de procesamiento de las tareas. Los resultados obtenidos son superiores a este último algoritmo. Palabras claves: Programación de tareas, Metaheurísticas y Optimización combinatorial. RESUMEN EXTENDIDO El problema de programación de máquinas paralelas distintas se basa en encontrar una asignación y un secuenciamiento óptimo de los trabajos que minimicen el máximo retraso ponderado absoluto según la siguiente función objetivo: min f m áx w j c j d 1 j n Donde corresponde a la subsecuencia dada y perteneciente al conjunto de todas las secuencias existentes para una cantidad n de trabajos. Luego, esta función objetivo encontrará aquella programación perteneciente a , que posea a la tarea cuyo tiempo de completación (cj) reducido por una irrestricta y común fecha de entrega (d) permita, mediante una ponderación de su valor por su respectivo peso (wj) , minimizar el mayor de los retrasos. Este problema a resolver es de naturaleza combinatorial, y cuyo espacio de soluciones factibles, fue determinado por la siguiente fórmula: n !m n , donde para cada secuencia existen m n soluciones factibles y donde el número total de secuencias posibles es n!, con n igual al número de tareas y m igual al número de máquinas. El cromosoma propuesto tiene una representación matricial, en la cual las filas representan a las máquinas y las columnas el orden de secuenciamiento de las tareas dentro de una máquina, desde la primera tarea que debe ser realizada hasta la última. Cada celda será representada en forma tridimensional ( ai , j ,j, pi , j ), en donde ai , j es la variable binaria de asignación, j la tarea asignada y pi , j el tiempo de procesamiento de la tarea j en la máquina i. Esta representación se muestra en la Figura N°1. Figura N°1. Representación cromosómica Se puede apreciar por ejemplo, que la máquina 1 tiene asignadas las tareas 1 y 5, asociadas a sus respectivos tiempos de procesamientos dentro de esta máquina y siguiendo un orden de secuenciamiento tal, que primero se realiza la tarea 1 y luego el trabajo 5. Los tiempos de procesamientos de las tareas dependen tanto de los trabajos realizados como de las máquinas que los procesan, ya que se tratan de máquinas que presentan distintos rendimientos. Para desarrollo de la heurística, se procedió a definir tipos de cruza y mutación para la estructura matricial propuesta, las cuales pueden encontrarse en Palominos, Carreño et all (2002). Posteriormente se procedió a definir tamaño de población, tipo de cruza, tipo de mutación, con sus respectivos porcentajes, mediante un Diseño Experimental mediante una ANOVA, con el objeto de parametrizar estos parámetros. Luego, la heurística propuesta se comparó en primera instancia con las heurísticas de Donoso y Valenzuela (2001), Cheng y Gen y Cheng (1997) y LEKIN(2000), pero sin Due Date variable y sin distintos rendimientos para las máquinas. Teniendo buenos resultados, equivalentes a la heurística de Donoso y Valenzuela (2002), sin embargo por motivos de espacio no se presentaran detalles de estos resultados, dado que el principal problema a resolver es con Due Date variable y con máquinas con distintos rendimiento. En esta situación no había ninguna propuesta heurística para poder comparar los resultados, por lo cual se tuvo que construir una heurística de fuerza bruta, sobre la basa a un orden presestablecido de acuerdo a sus tiempos de procesamiento, lo que acota el espacio de soluciones. De los resultados obtenidos de 11 instancias analizadas se puede decir que la heurística basada en AG, obtiene una reducción del 31% en la Función Objetivo respecto a la heurística de fuerza bruta con un orden preestablecido. Respecto al tiempo de procesamiento a modo referencial la heurística propuesta emplea un 7% del tiempo utilizado por la heurística de fuerza bruta. REFERENCIAS - Donoso, Alejandro y Valenzuela Juan (2001). El Problema De Programación De Máquinas Paralelas. Un Enfoque Mediante El Uso De Algoritmos Genéticos, 105 p. Ingeniería Civil Industrial. Universidad de Santiago de Chile. - Gen, Mitsuo y Runway Cheng, (1997). Genetic algorithms and Enginnering Design, 411 p., New York, John Wiley and Sons Inc. - LEKIN. www.stern.nyu.edu/~mpinedo (2000) - Palominos P., Carreño A., Quezada , Donoso A. y Valenzuela J., (2002)“A New Genetic Algorithm For Parallel Machine Scheduling Problem”, IFORS 2002, Universidad de Edinburgh, 8-12 de Julio 2002, Edinburgh, Reino Unido.