Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
TECNICAS ALEATORIAS EN LA OPTIMIZACION DE PROCESOS JOB SHOP
Omar D. Castrillón.
Ingeniería Industrial, Universidad Nacional de Colombia
Manizales, Caldas 0017, Colombia. [email protected]
Jaime Alberto Giraldo
Ingeniería Industrial, Universidad Nacional de Colombia
Manizales, Caldas 0017, Colombia. [email protected]
William Ariel Sarache C
Ingeniería Industrial, Universidad Nacional de Colombia
Manizales, Caldas 0017, Colombia. [email protected]
RESUMEN
El presente trabajo1, tiene por objetivo definir una
metodología para la solución de un problema de
secuenciación de la producción en ambientes Job
shop, por medio de un algoritmo, basado en
técnicas aleatorias de generación de soluciones.
Este trabajo se desarrolla en dos fases: En la
primera, se aborda la identificación y definición de
una metodología para los procesos de secuenciación
en ambientes Job Shop por medio de técnicas
aleatorias. En la segunda etapa, la nueva
metodología definida, es aplicada en la resolución
de problemas de secuenciación, tomando como
referencia una empresa del sector metalmecánico.
Como resultado de este trabajo, se encuentra que
con los algoritmos aleatorios, se logran obtener
soluciones con una efectividad promedio del
97.36%, medida en la variable tiempo total de
proceso.
Palabras claves: Algoritmos evolutivos, Job Shop, Scheduling, condición de parada, Open Shop.
1 Este trabajo se deriva de la participación de sus autores en un
proyecto de investigación financiado por La Vicerrectoria de
Investigaciones de la Universidad Nacional de Colombia,
titulado “Secuenciación de la producción por medio de
Algoritmos Evolutivos. Aplicación en ambientes Job Shop”.
.
1. INTRODUCCION
Los procesos de secuenciación de la producción en
ambientes Job Shop, son quizás un problema muy
difícil de resolver. Para solucionar esta clase de
problemas, existen diferentes técnicas como: a)
Analíticas [1], b) simulación, [2] c) probalística -
aleatorias [3] d) Inteligencia artificial. [4]
Si bien, como se ilustró en el párrafo anterior,
existen diversas técnicas para la solución de estos
problemas, es importante resaltar que las soluciones
construidas por las técnicas analíticas distan mucho
de una solución óptima [5], por ende una solución
óptima de estos problemas sólo es factible,
encontrarla por medio de las tres técnicas restantes,
especialmente las dos últimas.
Las técnicas probabilísticas, objeto de estudio de
este artículo, se basan en la teoría de que cada punto
del espacio de soluciones puede ser generado con la
misma probabilidad. Así, si se generan un gran
número de soluciones en forma aleatoria, la
probabilidad de encontrar el óptimo, tiende a 1
(certeza).
Sin embargo, en este artículo se diseña una
metodología, la cual sin recorrer todo el espacio de
probabilidades de forma aleatoria, permita generar
una solución óptima o sub optima del problema
objeto de estudio.
La metodología propuesta, en este trabajo, fue
probada en diferentes problemas de secuenciación
en ambientes Job Shop (Open Shop) 2[6]. Como
resultado, se encuentra que esta nueva técnica
propuesta, presenta una efectividad superior al 97%
en los problemas de secuenciación de la producción,
en ambientes Job shop.
Finalmente, como futuras líneas de investigación se
propone aplicar esta nueva técnica a otros campos
como: Programación de rutas en empresas de
transporte, programación flexible, y en general en la
solución de cualquier clase de problema NP-duro,
multiobjetivo. [7, 8,9].
2. METODOLOGÍA
Paso 1 Representación: Por medio de una matriz
bidimensional MXN, es representado el problema
JSSP NxM (Open Shop), objeto de análisis. En
esta representación, las filas M, representan los
diferentes centros de trabajo, las columnas N, los
distintos pedidos a secuenciar en cada una de las
máquinas. Finalmente el valor de cada celda de la
matriz (j, i), representa el tiempo de proceso del
pedido i en el centro de trabajo j (máquina j).
[10,11].
Paso 2. Codificación: Con un vector
unidimensional, de longitud NxM, es posible
representar cada una de las posibles soluciones del
problema. En este vector los valores de las
posiciones [1..N] representan la secuenciación del
primer centro de trabajo. Igualmente los valores de
las posiciones [N+1 ..2N], representan la
secuenciación del segundo centro de trabajo y así
sucesivamente hasta llegar a la posición [N*(M-
1)+1... N*M], cuyos valores representan la
secuenciación del centro de trabajo M.
Paso 3. Campo de soluciones: Tomando como
referencia un vector de N números [1..N], se crean
de forma aleatoria M permutaciones sin
repeticiones. Estas permutaciones conformaran la
secuenciación de cada uno de los N pedidos en los
M diferentes centros de trabajo. Las M diferentes
2 En estos ambientes de trabajo, cada uno de los N trabajos
debe pasar por cada una de las M máquinas sin importar el
orden.
permutaciones juntas serán una solución válida del
problema objeto de estudio.
Si se considera que en cada centro de trabajo existen
N! permutaciones posibles y que además son M
centros de trabajo, el problema analizado bajo este
método tiene N!M posibilidades de ser solucionado;
un numero que en la mayoría de los casos puede ser
bastante grande, lo cual dificulta generar este
número de soluciones de forma aleatoria, haciendo
el problemas bastante sensible al número de
soluciones que se puedan generar.
Sin embargo, el anterior problema puede ser
solucionado, si al momento de construir el diagrama
de Gantt, se cambia el orden de las soluciones
siempre y cuando exista, un tiempo muerto
suficientemente grande para secuenciar el pedido
objeto de análisis, entre el inicio del tiempo de
proceso de cada máquina (t=0) y el final del
tiempo de proceso de la misma máquina. Antes de
secuenciar el pedido se debe verificar que este, no
esté siendo procesado en otra máquina al mismo
tiempo. Este último cambio permite optimizar las
soluciones encontradas, evitando recorrer todo el
espacio de posibilidades.
Paso 3. Secuenciación: Con el fin de establecer el orden de cada uno de los pedidos en las diferentes
máquinas, para cada una de las soluciones
establecidas en el paso anterior, se genera su
respectivo diagrama de Gantt. Con base en el
diagrama de Gantt, es posible establecer la calidad
de la solución encontrada, según el menor valor de
las variables: Tiempo de proceso (Makespan),
tiempo muerto (Idle). Ecuaciones (1) y (2)
respectivamente.
ij
N
i
M
j
PMinMakespan ∑∑= =
=
1 1
( 1 )
∑=
=
m
j
jfMinIdle1
( 2)
El objetivo fundamental, es minimizar las funciones
Fiteness. Donde N, representa el número de
trabajos. M, representa el número de máquinas, Pij
es el tiempo de procesamiento del trabajo i, en la
máquina j y fj, es el tiempo total ocio de la
maquina j.
Paso 4. Optimo: Finalmente, para determinar la
efectividad de las mejores soluciones encontradas y
además considerando que en estos problemas no
siempre es factible encontrar una solución óptima,
se estima un tiempo de proceso optimo, suponiendo
que este tiempo óptimo nunca es inferior al tiempo
de proceso de un centro de trabajo, con un tiempo
muerto igual a cero.
3. EXPERIMENTACION
En la experimentación de esta metodología, se tomó
como referencia una empresa del sector
metalmecánico, en su producto fundamental.
Aunque en el problema original, el producto debe
pasar por diferentes centros de trabajo sin importar
el orden; la experimentación se realizó con base en
un problema de carácter general, con 15 centros de
trabajos y 10 pedidos. Un problema con
aproximadamente 10!15 =2.49*10
98. Posibilidades de
ser solucionado. (Ver Tabla 1)
Tabla 1. Problema JSSP 10X15 objeto de estudio. 2.49*1098
Posibilidades.
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
C1 8 7 9 10 11 5 6 7 8 9
C2 4 6 8 10 11 6 7 10 11 11
C3 4 5 6 7 8 4 5 6 7 12
C4 15 16 18 15 14 15 18 27 12 20
C5 1 11 10 9 9 12 11 7 8 9
C6 5 6 7 8 9 7 6 7 8 7
C7 7 11 7 8 12 12 5 9 11 12
C8 3 18 13 15 9 15 13 15 12 7
C9 4 20 13 11 8 10 7 9 16 9
C10 8 9 12 12 6 9 9 11 7 11
C11 4 9 7 5 7 8 10 10 6 12
C12 5 10 8 6 4 6 11 7 4 7
C13 6 9 10 8 7 7 10 8 5 8
C14 7 8 7 9 12 8 6 11 7 9
C15 4 5 6 11 11 9 5 12 9 10
4. RESULTADOS Y DISCUSIONES
Pasos 1 -4: La tabla 2, ilustra los resultados obtenidos en estos pasos. Así mismo, las figuras 1
y 2 ilustran la mejor y la peor solución encontrada
por esta técnica respectivamente.
Tabla 2. Mejores soluciones encontradas.
Nro. Solución
Makespan Idle % Utilización de las máquinas
% Aproximación respecto al óptimo estimado.
1 171 1205 53.02% 99.41%
2 174 1250 52.10% 97.70%
3 175 1265 51.80% 97.14%
4 176 1280 51.51% 96.59%
5 177 1295 51.22% 96.04%
Promedio 174.6 1259 51.93% 97.36%
Figura 1. Mejor solución encontrada. Makespan = 171. Idle = 1205.
En la figura 1, se puede observar que el procesador
4, presenta un tiempo de proceso de 171 unidades,
con una unidad de tiempo muerto, en consecuencia
el tiempo de proceso óptimo, no es inferior a 170.
Sobre este último valor se estima la aproximación
de las soluciones encontradas.
Figura 1. Peor solución encontrada. Makespan = 275. Idle = 2765.
Finalmente, la figura 2 muestra la peor solución
encontrada por el algoritmo aleatorio. Esta solución
dista bastante de la solución óptima, pues su
porcentaje de aproximación es del 61.81%.
5. CONCLUSIONES
Al analizar la efectividad de la mejor solución
encontrada por estos algoritmos (99.41%), respecto
a la peor solución encontrada por los mismos
(61.81%), se puede afirmar que aunque estos
algoritmos aleatorios, encuentran soluciones
bastante dispersas, las mejores soluciones de los
mismos son bastante buenas, con una aproximación
promedio respecto al tiempo total de proceso del
97.36%, lo cual lo hace un método ideal en los
procesos de secuenciación de la producción en
ambientes Job Shop.
6. AGRADECIMIENTOS
Se agrade la colaboración prestada a todos los
estudiantes y docentes del Grupo de Innovación y
Desarrollo Tecnológico de la Universidad Nacional
de Colombia sede Manizales.
7. REFERENCIAS
[1] J. A. Domínguez Machuca, S. García González,
A. Ruiz Jiménez, M.J. Alvarez Gil. Dirección de
Operaciones. Aspectos tácticos y operativos en la
producción y los servicios. Madrid: Mc Graw Hill,
1995.
[2] M. W. Rohrer. Simulating of Manufacturing and
Material Handling Systems. Procedente de
Handbook of Simulation. John Wiley. 2000.
[3] R. Peñaloza. Apología de los algoritmos
genéticos. Tomado de
http://www.geocities.com/rpenalozan/pdf/Apologia
AG.pdf. Septiembre de 2009.
[4] O. Castrillon, W. Sarache, J. Giraldo.
Metodología Job Shop basada en una colonia de
hormiga. Revista Dyna. Vol. 76, No. 159, 2009, pp.
177-184.
[5] O. Castrillon, J. Giraldo, W. Sarache. Solución
de un problema Job Shop con un agente inteligente.
Revista Ingeniería y Ciencia. Article in Press. 2010.
[6] O. Castrillon, J. Giraldo, W. Sarache. Técnicas
inteligentes y estocásticas en Scheduling. Un
enfoque en la producción y las operaciones. Bogotá:
Universidad Nacional de Colombia, 2010.
[7] A. Manikas, C. Yih-Long. Multi-criteria
sequence-dependent job shop scheduling using
genetic algorithms. Computers & Industrial
Engineering. Vol. 56, 2009, pp. 179–185.
[8] G. Zobolas, C. arantilis, G. Ioannou G.
Minimizing makespan in permutation flow shop
sched problems using a hybrid metaheuristic
algorithm. Computers & Operations Research. Vol.
36, 2009, pp.1249 – 1267.
[9] C. Jin Young, K. Sung-Seok. Simulation-based
two-phase genetic algorithm for the capacitated re-
entrant
line Scheduling problem. Computers & Industrial
Engineering. Vol 57. No. 3, pp. 660-666.
[10] G. L. Thompson, J. F. Muth. Industrial
scheduling, Englewood Cliffs, NJ: Prentice Hall.
1963.
[11] D. A. Koonce. Using data mining to find
patterns in genetic algorithm solutions to a job Shob
schedule. Computer & Industrial Engineering. Vol.
38, 2008, pp. 361 -374.