EL PROBLEMA DE PROGRAMACIÓN DE MÁQUINAS PARALELAS

Anuncio
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: ppalomin@usach.cl
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.
Descargar