Documente Academic
Documente Profesional
Documente Cultură
1. Resumen
El problema de secuenciar tareas en mquinas ha sido ampliamente estudiado a travs de los aos con el
propsito de optimizar tiempos de proceso, minimizar tardanzas, entre otras razones. Existen muchos
tipos de problemas con diferentes variaciones. En este proyecto se estudiar el caso de programar tareas
que necesitan recursos duales en mquinas en paralelo. Recursos duales significa que un trabajo debe
utilizar 1 o ms mquinas iguales al mismo tiempo para ser procesada.
El caso para 2 mquinas en paralelo fue estudiado por Sheng-Fuu Lin y Jaw-Yeh Chen (2000). En su
trabajo, los autores disean un algoritmo a partir de propiedades matemticas de las soluciones ptimas.
Su algoritmo busca minimizar penalidades por tardanza. Este es probado obteniendo resultados
satisfactorios.
Problemas similares han sido estudiados con algoritmos genticos para solucionarlos. Tal es el caso de
Liu Min y Wu Cheng (1999) quienes disean un algoritmo gentico para minimizar el tiempo de
terminacin del ltimo trabajo en el caso de mquinas paralelas idnticas. En este caso, cualquier trabajo
puede ser procesado en cualquiera de las mquinas (slo una). Los autores utilizan un cromosoma de
tamao n en el que cada dgito puede tomar un valor de 1 a m. Cada posicin corresponde a uno de los n
trabajos y el nmero que est en cada posicin indica la mquina en la que ser procesado ese trabajo.
Utiliza una funcin exponencial basada en la funcin objetivo del problema a minimizar para calcular la
aptitud de cada cromosoma. Luego utiliza los operadores comunes para construir el algoritmo gentico.
Este proyecto busca encontrar soluciones ptimas para el problema generalizado diseando un algoritmo
gentico. La funcin objetivo a minimizar en este caso es el de la fecha de terminacin del ltimo trabajo.
Este problema es por lo menos NP-hard1, pues el P2||Cmax (dos mquinas en paralelo, minimizar la fecha
de terminacin del ltimo trabajo) lo es. El algoritmo diseado se ha probado con problemas de hasta 30
trabajos con tiempos de proceso debajo de 60 segundos. Se comparar el algoritmo diseado contra el
mtodo de programacin lineal entera en el programa Xpress en 26 instancias diferentes.
Pinedo, Michael. Scheduling: Theory, Algorithms, and Systems (2nd Edition). Prentice-Hall. 2004.
2. Notacin
El algoritmo busca resolver el problema de programacin de trabajos con recursos duales cuando se tienen
n mquinas en paralelo y m trabajos. La siguiente notacin ser utilizada en todo el documento.
En este trabajo se desarroll una formulacin matemtica del problema como un programa lineal entero
mixto con el fin de comparar los resultados del algoritmo gentico con las soluciones resultantes del
mtodo exacto. El resultado fue el siguiente:
m in C m a x
s .a .
m
i =1
h ijk = 1; ( j , k ) j = 1, ..., n ; k { J
{ j}
k J
h ijk
j
k { J j }
j =1
y j + p j C m ax ;
n
C m a x ; i = 1, ..., m
j = 1, ..., n
y j y r p r h irk +
k { J r }
k {J j }
y r y j p j h ir k +
k { J r }
y j 0; j = 1, ..., n
h
1
ijk M a u x ( j , r ); j k ; j , k = 1, ..., n ; i = 1, ..., m
k { J j }
1
h ijk = ; i = 1, ..., m ; j = 1, ..., n ; k { J
0
El primer conjunto de restricciones implica que cada parte del trabajo j slo puede ser procesado
en una mquina.
El segundo conjunto de restricciones (en combinacin con la primera) sirve para obligar a la
solucin a que cada parte del trabajo j se procese en una mquina diferente.
El tercer conjunto de restricciones se encarga que todo el tiempo que la mquina este trabajando
sea menor a la funcin objetivo.
El cuarto conjunto de restricciones se utiliza para que el tiempo de terminacin de cada trabajo sea
menor a la funcin objetivo.
El quinto y sexto conjuntos de restricciones obliga al programa a que, si un trabajo j y un trabajo r
deben ser procesados en una misma mquina i, entonces uno se programe despus del otro y
nunca al mismo tiempo.
La quinta restriccin tiene una nueva variable de decisin de tipo binario a la que llamo aux (j, r) pues el
planteamiento original utilizaba el operador lgico o uniendo el quinto y sexto conjuntos de
restricciones en uno solo. En este caso se divide la restriccin en dos restricciones lineales, restndole a
cada una un nmero grande, M, que va multiplicado por 0 o por 1 dependiendo del valor que tome la
variable. Esto se hace con el fin de que slo una de las restricciones quede activa, pues solo puede ocurrir
que el trabajo j est antes que r o que el trabajo r est antes que j si deben ser procesados en la misma
mquina (en el caso que los dos trabajos no usen la misma mquina, existe la posibilidad de que
comiencen al mismo tiempo).
No.
Nmero de Trabajos
Nmero de Mquinas
5
3
1
2
3
4
5
Nmero de
Mquinas
Necesitadas
Tiempos de
Proceso
5
3
1
2
3
2
1
2
3
3
Unidades
de Tiempo
9 10 11
5. Ajuste de Parmetros
Para el ajuste parmetros se procedi a correr un mismo problema con cambios a cada parmetro (dejando
los dems parmetros en un valor fijo) para encontrar los valores para los cuales el algoritmo diera los
mejores resultados en cuanto a tiempo de ejecucin y calidad de la solucin. En cada valor de cada
parmetro se corri diez veces el problema y se obtuvo su respectivo tiempo de ejecucin promedio y
solucin promedio.
Las conclusiones a las que se llegaron fueron las siguientes:
I.
Los mejores valores para cada uno de los parmetros son los siguientes si observamos su
incidencia en la solucin promedio:
Tamao de poblacin: 350
Al variar este parmetro se logr ver que para valores mayores a 350 de poblacin no se
reportaron mejoras importantes a la solucin. Esto se puede ver en la siguiente grfica:
Sol. Promedio
100
200
300
400
Tamao de Poblacin
500
Sol. Promedio
200
250
300
350
400
450
Nm ero de Generaciones
Sol. Promedio
10
20
30
40
50
60
Nmero de Hijos
IV.
V.
En una futura investigacin, se disear un experimento para ajustar los parmetros del
algoritmo gentico, pues los parmetros trabajan en conjunto y para encontrar una
combinacin que sea ptima se debe tomar en cuenta que todos los parmetros inciden al
mismo tiempo en el funcionamiento del algoritmo. Se debe encontrar una combinacin que
de buenas soluciones en un tiempo razonable. Adems se podran plantear hiptesis
estadsticas que puedan determinar si las conclusiones respecto a la incidencia de los
parmetros son correctas.
Diferencia
Porcentual Xpress
uno
dos
tres
uno
dos
tres
uno
dos
tres
cuatro
cinco
uno
dos
tres
cuatro
cinco
uno
dos
tres
cuatro
cinco
uno
dos
tres
cuatro
cinco
Diferencia
Porcentual
Algoritmo
11
13
15
Problem a
otros. Sin embargo, en los problemas probados, los tiempos siguen permaneciendo debajo de los 60
segundos.
Tiempo de Ejecucin
Promedio (seg.)
10
15
20
25
30
35
Nmero de Trabajos
Diferencia
Porcentual
Promedio
6,00%
4,00%
2,00%
0,00%
-2,00% 0
10
15
20
25
30
35
Nmero de Trabajos
Figura 8 Diferencia Porcentual Promedio entre Solucin Promedio y Mejor Solucin del Algoritmo
Gentico
Desviaciones Estandar Algoritmo Gentico
1,5
DS
1
0,5
0
-0,5
10
20
30
40
Nm ero de Trabajos
8. Conclusiones
En este proyecto se estudi el problema de programacin en mquinas en paralelo de trabajos que
necesitan recursos duales minimizando la fecha de terminacin del ltimo trabajo. Se dise para tal
propsito un algoritmo gentico cuyo funcionamiento fue comparado en 26 instancias con el mtodo de
programacin lineal en el programa Xpress.
Los resultados obtenidos mostraron que el algoritmo obtiene las mismas o mejores soluciones que las que
obtiene Xpress y en tiempos menores a un minuto si se comparan con la cota inferior obtenida por Xpress
de un problema relajado, sin embargo, entre ms grande es el problema, ms tiempo tomar en ejecutarse
el algoritmo debido a que el aumento de tamao del problema lleva a una aumento en el tamao de las
matrices utilizadas, aumento en el tamao de los cromosomas, entre otros.
Se logr tambin identificar la importancia de los parmetros en el funcionamiento del algoritmo; una
combinacin ptima de los valores de esto es de vital importancia a la hora de tener el mejor rendimiento
de este tipo de algoritmos en cuanto a tiempo de ejecucin y calidad de las soluciones encontradas.
Para futuras investigaciones se podran disear algoritmos que minimizaran otras funciones objetivos.
Tambin se podran disear cotas a las soluciones para este tipo de problemas con el fin de obtener
resultados ms exactos en cuanto al funcionamiento del algoritmo. Finalmente, se podra optimizar el
algoritmo mejorando la forma en la que se calcula la funcin objetivo y penalizando cromosomas distintos
que codifiquen mismas soluciones.
9.
Bibliografa
a. Sheng-Fuu Lin & Jaw-Yeh Chen. Two Parallel Machines Scheduling. Systems Analysis
Modelling Simulation 2002; Vol.42: pp.1429 1437.
b. S. M. T. Fatemi Ghomi & F. Jolai Ghazvini. A pairwise interchange algorithm for parallel
machine scheduling. Production Planning & Control 1998; Vol. 9 (7): pp. 685 - 689.
c. Pinedo, Michael. Scheduling: Theory, Algorithms, and Systems (2nd Edition). PrenticeHall. 2004.
d. Liu Min & Wu Cheng. A genetic algorithm for minimizing the makespan in the case of
scheduling identical parallel machines. Artificial Intelligence in Engineering 1999; Vol. 13:
pp. 399 403.
e. Jeffery K. Cochran, Shwu-Min Horno & John W. Fowler. A multi-population genetic
algorithm to solve multi-objective scheduling problems for parallel machines. Computers &
Operations Research 2003; Vol. 30: pp. 1087 1102.
f. Daniels RL, Hua SY & Webster S. Heuristics for parallel machine flexible resource
schedulin problems with unspecified job assignment. Computers & Operations Research
1999; Vol. 26 (2): pp. 143 155.
g. Alex J. Ruiz-Torres & Grisselle Centeno. Scheduling with flexible resources in parallel
workcenters to minimize maximum completion time Computers & Operations Research
2005.
h. Chingchang Jou. A genetic algorithm with sub-indexed partitioning genes and its
application to production scheduling of parallel machines. Computers & Operations
Research 2005; Vol. 48: pp. 39 54.
i. Liu Min & Wu Cheng. Genetic algorithm for optimal common due date assignment and the
optimal scheduling policy in parallel machina earliness/tardiness scheduling problems.
Robotics and Computer-Integrating Manufacturing 2005.
j. Federico Della Croce, Roberto Tadeo & Giuseppe Volta. A Genetic Algorithm for the job
Shop Problem. Computers & Operations Research 1995; Vol. 22: pp. 15 - 24.
10