UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN DE UN …UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN...

5
UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN DE UN PROCESO DE SECUENCIACION EN UN AMBIENTE PRODUCCIÓN 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 objetivo del presente trabajo es disminuir el tiempo de proceso (Makespan) y aumentar el tiempo de utilización de las máquinas, disminuyendo el tiempo de ocio (idle), en ambientes Job Shop (Open Shop), mediante el diseño de una metodología basada en Algoritmos Evolutivos. 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. En la segunda etapa, se demuestra la efectividad de esta metodología, en comparación con la solución óptima del problema. La investigación propuesta se desarrolla en distintas empresas del sector metalmecánico, donde por de los Algoritmos Evolutivos se mejora la programación de un pedido, logrando disminuir considerablemente su tiempo total de proceso y en consecuencia su tiempo total de ocio. Palabras claves: Job Shop Scheduling, Open shop, Fitness, Makespan, Idle, algoritmos evolutivos. 1. INTRODUCCION Dentro de los problemas de satisfacción de restricciones, se encuentran los problemas de Scheduling, clasificados como NP-hard. Así resolver esta clase de problemas implica la utilización de técnicas avanzadas que permitan obtener resultados óptimos [1]. En la actualidad, las diferentes investigaciones y estudios, para resolver esta clase de problemas, se centran en la aplicación de métodos de inteligencia artificial con el fin de generar soluciones factibles y adecuadas a estos problemas de secuenciación de operaciones, para resolver una problemática bastante compleja; implícita en la secuenciación de la producción en ambientes Job Shop. Encontrar una solución óptima, con los métodos analíticos tradicionales, es un proceso bastante complejo [2]. Por lo cual, las nuevas técnicas emergentes, como los algoritmos evolutivos representan una gran alternativa para dar mejores soluciones a este tipo de problemas de secuenciación de la producción. Estas nuevas técnicas, permiten obtener mejores criterios de optimización, con diferencias notorias, en las variables objeto de estudio: Tiempo de proceso, tiempo muerto y porcentaje de utilización de las máquinas. La metodología propuesta, en este trabajo 1 , fue probada en diferentes problemas de secuenciación 1 Este trabajo se deriva de la participación de sus autores en el 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”.

Transcript of UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN DE UN …UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN...

Page 1: UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN DE UN …UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN DE UN PROCESO DE SECUENCIACION EN UN AMBIENTE PRODUCCIÓN JOB SHOP Omar D. Castrillón.

UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN DE UN PROCESO DE SECUENCIACION EN UN AMBIENTE PRODUCCIÓN 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 objetivo del presente trabajo es disminuir el tiempo de proceso (Makespan) y aumentar el tiempo de utilización de las máquinas, disminuyendo el tiempo de ocio (idle), en ambientes Job Shop (Open Shop), mediante el diseño de una metodología basada en Algoritmos Evolutivos. 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. En la segunda etapa, se demuestra la efectividad de esta metodología, en comparación con la solución óptima del problema. La investigación propuesta se desarrolla en distintas empresas del sector metalmecánico, donde por de los Algoritmos Evolutivos se mejora la programación de un pedido, logrando disminuir considerablemente su tiempo total de proceso y en consecuencia su tiempo total de ocio. Palabras claves: Job Shop Scheduling, Open shop, Fitness, Makespan, Idle, algoritmos evolutivos.

1. INTRODUCCION Dentro de los problemas de satisfacción de restricciones, se encuentran los problemas de Scheduling, clasificados como NP-hard. Así resolver esta clase de problemas implica la utilización de técnicas avanzadas que permitan

obtener resultados óptimos [1]. En la actualidad, las diferentes investigaciones y estudios, para resolver esta clase de problemas, se centran en la aplicación de métodos de inteligencia artificial con el fin de generar soluciones factibles y adecuadas a estos problemas de secuenciación de operaciones, para resolver una problemática bastante compleja; implícita en la secuenciación de la producción en ambientes Job Shop. Encontrar una solución óptima, con los métodos analíticos tradicionales, es un proceso bastante complejo [2]. Por lo cual, las nuevas técnicas emergentes, como los algoritmos evolutivos representan una gran alternativa para dar mejores soluciones a este tipo de problemas de secuenciación de la producción. Estas nuevas técnicas, permiten obtener mejores criterios de optimización, con diferencias notorias, en las variables objeto de estudio: Tiempo de proceso, tiempo muerto y porcentaje de utilización de las máquinas. La metodología propuesta, en este trabajo1, fue probada en diferentes problemas de secuenciación

1 Este trabajo se deriva de la participación de sus autores en el 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”.

Page 2: UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN DE UN …UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN DE UN PROCESO DE SECUENCIACION EN UN AMBIENTE PRODUCCIÓN JOB SHOP Omar D. Castrillón.

JSSP NXM (Open Shop)2 [3] de diferentes empresas, con un determinado número de maquinas, pedidos y tiempo de procesos para cada pedido en cada máquina. En los diferentes casos estudiados, con esta metodología, fue posible encontrar las mejores soluciones; muy cercanas a la solución óptima. Igualmente, es importante resaltar que, aunque esta metodología es aplicada en procesos de secuenciación de la producción; con metodologías similares ha sido posible solucionar una gran variedad de problemas de logística como: programación JSSP [4] y flexible de talleres [5], programación de rutas de vehículos en empresas de transporte [1], celdas de manufactura [6], Programación multiobjetivo [7], plantas de entornos cambiantes [8] entre otras [9,10].

2. METODOLOGÍA

Paso 1 Representación: Inicialmente, un problema JSSP NXM (Open Shop) debe ser representado por medio de una estructura bidimensional [11, 12, 13]. Como la ilustrada en la Tabla 1.

Tabla 1. Estructura problema JSSP NXM.

Ped1 Ped2 … Pedn

C1 M

..

Cm

Donde, Ci representa la máquina i, Pedj el pedidos J y M es el tiempo de proceso del pedido i en la máquina J.

Paso 2. Codificación: Se deben generar varias soluciones, las cuales deben ser representadas en forma de cromosomas. En estos cromosomas cada gen representa el orden en que un pedido debe ser atendido por cada una de las diferentes máquinas. De forma similar los alelos de cada gen, representan el número del pedido. (Figura 1).

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.

Figura 1. Representación de una solución La anterior diagramación, facilita la representación de las diferentes soluciones por medio de vectores unidimensionales, aspecto que facilita su programación computacional.

Paso 3. Evolución: Tomando como referencia un conjunto de varias soluciones iníciales, el algoritmo genético mediante los procesos de combinación genética 97% y/o mutación genética 3%, genera nuevas soluciones a partir de las soluciones existentes. Este proceso se repite durante un determinado número de veces. Paso 3. Gantt: Para cada una de las soluciones encontradas, se debe construir un diagrama de Gantt, el cual establezca el orden de los procesos en el tiempo. La construcción del anterior diagrama, permite establecer el valor de las variables objeto de estudio: Tiempo total de proceso ó makespan (Ecuación 1), tiempo total muerto o idle (Ecuación 2), porcentaje de utilización de las máquinas (Ecuación 3). El valor de estas variables será la base para establecer los nuevos padres de las próximas generaciones.

ij

N

i

M

j

PMinMakespan ∑∑= =

=

1 1

( 1 )

∑=

=

m

j

jfMinIdle1

( 2)

100**

)*(

MMakespan

IdleMMakespannUtilizacio

= ( 3 )

El objetivo fundamental, es minimizar las dos primeras 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.

1 2 3 4 1 2 3 4 1 2 3 4

CromosomaGenAlelo

Page 3: UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN DE UN …UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN DE UN PROCESO DE SECUENCIACION EN UN AMBIENTE PRODUCCIÓN JOB SHOP Omar D. Castrillón.

Paso 4. Optimo: Finalmente, con el fin de establecer la efectividad de las soluciones encontradas, se calcula la mejor solución del problema analizado. Dado que no en todos los casos es posible calcular la solución óptima, se puede estimar un tiempo de proceso optimo, si se supone que el tiempo óptimo nunca es inferior al tiempo de proceso de un centro de trabajo, en el cual el tiempo muerto es igual a cero.

3. EXPERIMENTACION

Si bien, en el problema original, un producto X (de una empresa metalmecánica) debe pasar por diferentes centros de trabajo sin importar el orden, con el fin analizar la efectividad de la metodología propuesta, esta experimentación se realizó con base en un problema de carácter general, basado 15 centros de trabajos y 12 pedidos, lo cual en un problema Job Shop 12x15 del tipo Open Shop, representa aproximadamente 2.5*10145 formas diferentes de solucionar el problema. (N!M). Tabla 2. Problema JSSP 12X15 objeto de estudio. 2.5*10145

Posibilidades.

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12

C1 12 13 15 12 11 12 15 12 9 8 6 7

C2 1 3 5 7 8 3 4 7 8 8 9 7

C3 1 2 3 4 5 1 2 3 4 9 5 1

C4 5 4 6 7 8 2 3 4 5 6 4 4

C5 9 8 7 6 6 9 8 4 5 6 3 4

C6 7 3 4 5 6 4 3 4 5 4 2 3

C7 8 8 4 5 9 9 2 6 8 9 2 6

C8 9 15 10 12 15 12 10 12 9 4 1 5

C9 9 17 10 8 15 7 4 6 13 12 10 2

C10 5 6 9 9 3 6 6 8 4 8 8 1

C11 1 6 4 2 4 5 7 7 3 9 9 5

C12 2 7 5 3 1 3 8 4 1 4 7 6

C13 3 6 7 5 4 4 7 5 2 5 6 4

C14 4 5 4 6 9 5 3 8 4 6 3 2

C15 1 2 3 8 8 6 2 9 6 7 5 9

4. RESULTADOS Y DISCUSIONES

Pasos 1 -4: Los resultados de estos pasos, respecto a las variables tiempo total de proceso y tiempo total muerto son ilustrados en la tabla 3. Igualmente las

figuras 3 y 4 ilustran el mejor y el peor diagrama de Gantt encontrado, respectivamente.

Tabla 3. Mejores soluciones encontradas.

Nro. Solución

Makespan Idle % Utilización de las máquinas

% Aproximación respecto al óptimo estimado.

1 134 913 54.57% 98.5%

2 135 928 54.17% 97.7%

3 136 943 53.77% 97.05%

4 137 958 53.382% 96.35%

5 139 988 52.6% 94.96%

Promedio 136.2 946 53.69% 96.91%

Figura 3. Mejor solución encontrada. Makespan = 134. Idle = 913.

En la figura 3, se puede observar que el Procesador 1, presenta un tiempo de proceso de 134 unidades, con dos unidades de tiempo muerto, en consecuencia el tiempo de proceso óptimo, no es inferior a 132. Sobre este último valor se estima la aproximación de las soluciones encontradas. Igualmente es importante resaltar que dado que el tiempo muerto (Idle) es una consecuencia directa del tiempo total de proceso (Makespan) no se hace necesario calcular mas valores adiciones sobre el tiempo total muerto (Idle).

Page 4: UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN DE UN …UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN DE UN PROCESO DE SECUENCIACION EN UN AMBIENTE PRODUCCIÓN JOB SHOP Omar D. Castrillón.

Figura 4. Peor solución encontrada. Makespan = 177. Idle = 1558.

Finalmente, la figura 4 muestra la peor solución encontrada por el algoritmo genético. Esta solución presenta una aproximación respecto a la solución óptima del 74.57%.

5. CONCLUSIONES Como se ilustra a lo largo de este documento, los algoritmos evolutivos constituyen una excelente técnica en la solución de un problema Job Shop. El empleo de los mismos permite encontrar soluciones cercanas al optimo en un 96.91% respecto a la variables tiempo total de proceso. Igualmente, el porcentaje promedio de utilización de las máquinas fué del 53.69%. Finalmente, es importante resaltar que el cálculo de las variables tiempo total de proceso, debe estar ligada a una función de costo, lo cual transforma el problema en un análisis multiobjetivo.

6. AGRADECIMIENTOS Se agrade la colaboración a todos los miembros del Grupo de Innovación y Desarrollo Tecnológico de la Universidad Nacional de Colombia sede Manizales.

7. REFERENCIAS

[1] R. Camino, L. Vela, J. Puente et al. Evolutionary Computation for CSP’s. Inteligencia Artificial,

Revista Iberoamericana de Inteligencia Artificial. Vol. 20, 2003, pp. 57-68.

[2] A. Manikas, C. Yih-Long. Multi-criteria sequence-dependent job shop scheduling using genetic algorithms. Computers & Industrial Engineering. Vol. 56, 2009, pp. 179–185.

[3] 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. [4] C. Pei-Chann, C. Shih-Hsin, F. Chin-Yuan et al. Genetic algorithm integrated with artificial chromos for multi-objective flowshop scheduling problems. Applied Mathematics and Computation. Vol. 205, 2008, pp. 550–561. [5] A. Correa, E. Rodriguez, M. Velasquez. Scheduling for shop settings types to flexible Job Shop: State of the art.Revista Avances en Sistemas e Informática. Vol. 5, No. 3, 2008, pp. 151-161. [6]E. Delgado, C. Cortez, O. Duarte. Aplicación de algoritmos genéticos para la programación de tareas en una celda manufactura. Ingeniería e Investigación. Vol. 25, No. 2, 2005, pp. 24-31. [7] T. Joc Cing T, H. Nhu Binh. Evolving dispatching rules using genetic programming for solving multi-objective flexible job-shop problems. Computers & Industrial Engineering. Vol. 54, 2008, pp. 453–473.

[8] E. Álvarez, F. Zubillaga. Programación de operaciones en planta en entornos cambiantes. V Congreso de ingeniería de la Organización. 2003, pp. 1-11.

[9] G. Zobolas, C. arantilis G. Ioannou. Minimizing makespan in permutation flow shop scheduling problems using a hybrid metaheuristic algorithm. Computers & Operations Research. Vol. 36, 2009, pp. 1249 – 1267. [10] C. Jin Young, K. Sung-Seok. Simulation-based two-phase genetic algorithm for the capacitated re-entrant

Page 5: UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN DE UN …UN ALGORITMO EVOLUTIVO PARA LA OPTIMIZACIÓN DE UN PROCESO DE SECUENCIACION EN UN AMBIENTE PRODUCCIÓN JOB SHOP Omar D. Castrillón.

line scheduling problem. Computers & Industrial Engineering. Vol 57, No. 3, 2009, pp. 660-666. [11] G. L. Thompson, J. F. Muth. Industrial scheduling, Englewood Cliffs, NJ: Prentice Hall. 1963.

[12] 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.

[13] O. Castrillon, W. Sarache, J. Giraldo J. Análisis de un problema Job Shop por medio de un Sistema Experto y un Agente Inteligente. 3rd International Conference on Industrial Engineering and Industrial Management XIII Congreso de Ingeniería de Organización. Barcelona-Terrassa, 2-4. 2009.