Modelo de programación/secuenciación de producción para un sistema de taller de flujo con diferentes requerimientos según etapas.
Full text
MODELO DE PROGRAMACIÓN/SECUENCIACIÓN DE PRODUCCIÓN PARA UN SISTEMA DE TALLER DE FLUJO CON DIFERENTES REQUERIMIENTOS SEGÚN ETAPAS D. Faustino Alarcón Valero1, Dr. D. José Pedro García Sabater2, Dr. D. Angel Ortiz Bas3, Dª. María del Mar Alemany Díaz4 1Dpto. Organización Empresas, E.F. y C. De la Universidad Politécnica de Valencia, [email protected] 2 Dpto. O.E.E.F. y C., U.P. Valencia, [email protected] 3 Dpto. O.E.E.F. y C., U.P. Valencia, [email protected]pv.es 4 Dpto. O.E.E.F. y C., U.P. Valencia, [email protected] Resumen El presente trabajo trata de proponer un Modelo de Programación/Secuenciación que permita establecer una buena regla de Secuenciación para facilitar el trabajo del responsable de la programación en una empresa con sistema multietapa, en el que existen diferentes criterios de secuenciación del producto para cada una de las etapas. Teniendo en cuenta los tiempos de procesado dentro de cada etapa y el tiempo de cambio de utillaje en cada etapa (ambos dependientes de las características del producto a procesar), el Modelo trata de definir la secuencia de entrada de items en la primera de las etapas, además de la dimensión de los pulmones de piezas entre etapas. Se ha experimentado con varias reglas de secuenciación simples y fáciles de aplicar por el responsable de la programación, pudiendo así cuantificar el impacto de cada una de dichas reglas en los diferentes objetivos considerados. Finalmente se propone una tabla relacional de reglas de secuenciación y objetivos que ayuda, mediante una sencilla ponderación, a escoger la regla o criterio de ordenación de artículos más apropiado en cada caso. 1. Introducción. Las peticiones a las empresas de productos personalizados por parte de los clientes inducen a estas a la diversificación de productos. Esta creciente diversidad implica un cambio radical en la forma de producir. El catálogo de productos se dispara, las cantidades a producir disminuyen y la capacidad de producción tiende a mantenerse o a incrementarse. Todo ello hace que se dificulte el trabajo de configurar la fabricación de las partes y componentes que integran los productos acabados programados y de establecer el orden en que pueden ser procesados. Si además tenemos en cuenta que los items necesitan atravesar varias etapas de fabricación, que los criterios de agrupación y de secuenciación para el procesado de los mismos en cada una de dichas etapas puede (y suele) ser distinto y que contamos con importantes restricciones de tiempo, estamos definiendo un problema que puede ser analizado y resuelto utilizando modelos de programación matemática asociados a la secuenciación. 2. Características del problema planteado. El modelo de Programación/Secuenciación de producción que se plantea trata de encontrar el mejor procedimiento de secuenciación para un conjunto de artículos diferentes y en diversas cantidades cada uno de ellos, a un proceso de fabricación multietapa, en el que las secuencias de entrada para cada una de las mismas (de forma que cada una tenga un funcionamiento individual eficiente) puedan ser diferentes. Cada tipo de artículo puede tener características
diferentes para cada etapa (material, color, forma, o incluso tiempos de procesado y tiempos de preparación de utillaje) por lo que la secuencia de cada etapa varía, para un mismo objetivo. Esta secuencia, según un único y determinado criterio, puede perseguir minimizar la duración de los cambios de utillaje, aprovechando a la vez las ventajas de procesar lotes de familias de items (curvas de aprendizaje en el caso de trabajos manuales) y cumplir las restricciones de tiempo que implican las fechas de entrega de los pedidos. No obstante, para que esto fuese posible, sería necesario retener artículos antes de cada una de las etapas y, de esta forma, hacer posible su reordenación (teniendo que analizar la conveniencia de un “Almacén de redefinición de secuencia”), con el consiguiente problema del aumento desmesurado del trabajo en curso y del tiempo de entrega [1]. El modelo presentado ([2], [3]) tratará de encontrar la secuencia de entrada a la primera etapa de fabricación, teniendo en cuenta que el orden en que el producto va a atravesar el resto de etapas de fabricación estará claramente condicionado por dicha ordenación previa. Por otro lado, se pretenden tener en cuenta alternativas que pudieran mejorar los resultados conseguidos por la ordenación inicial (disminuyendo así la importancia de dicha ordenación inicial), por ejemplo; la colocación o redimensionamiento de “Almacenes de redefinición de secuencia” entre las etapas, en los que poder alterar el orden de procesado inicial, y/o el aumento de los tiempos de decalaje en las etapas distintas a la primera, para poder acumular mayor número de artículos y aumentar las posibilidades de resecuenciación. Es decir, el trabajo realizado permitirá conocer, restringir o minimizar (en definitiva, experimentar) la dimensión de los almacenes que hagan factible la redefinición de secuencia entre etapas, teniendo en cuenta el tiempo global empleado para cambios de utillaje y las variaciones en el tiempo de entrega de los items, que lógicamente aumentará con la permanencia de estos en los almacenes. 3. Modelización. El problema en cuestión se puede resumir de la siguiente forma: se trata de hallar la mejor secuencia de entrada de productos a un sistema multietapa, desde el punto de vista de tres objetivos: minimizar el tiempo de producción total o tiempo de entrega, minimizar el tiempo empleado en cambios de utillaje (maximizar el aprovechamiento de los recursos) y minimizar las dimensiones de almacenes para la redefinición de secuencia entre las etapas. Algunas de las consideraciones generales de la literatura para describir un problema típico de taller de flujo asumidas son ([4], [5]): Todas las etapas están disponibles al principio del proceso de planificación, cada lote o trabajo a procesar (y por lo tanto a secuenciar) requiere de un tiempo de fabricación conocido y finito que es diferente en cada etapa, cada trabajo es procesado una única vez en cada etapa, el fraccionamiento de un lote o trabajo no está permitido, cada trabajo es independiente del resto y cada lote que empieza a procesarse en una etapa debe acabarse antes de que empiece el siguiente. Las consideraciones más importantes que particularizan este problema son: Cada lote o trabajo tiene asignado un tiempo de cambio de utillaje que es conocido, finito e independiente del orden en que dicho lote es procesado, el orden de procesado de cada etapa no tiene porqué repetirse de forma exacta para todas las etapas, los almacenes situados entre las etapas están
vacíos al comienzo del proceso de secuenciación y tienen capacidad infinita, las decisiones de secuenciación son independientes de las decisiones de capacidad (que no se consideran en este modelo). 3.1 Datos R =Número total de etapas. N =Número total de lotes o trabajos a realizar. Tp(i,r) =Tiempo total de procesado de un lote i en la etapa r. Tcu(i,r)= Tiempo total de cambio de utillaje de un lote i en la etapa r. F(i,r) =Familia a la que pertenecen los artículos de un lote i en la etapa r. Td(r) =Tiempo de decalaje para la etapa r. 3.2 Indices r =indica el número de etapa, r=1, … R. i, i1, i2 =indica el número de lote o trabajo a realizar, i=0,… N+1, i1=0,…N, i2=1,…N+1. d =indica el día. 3.3 Variables 3.3.1 Variables Binarias y(i,r) =1, si un determinado lote i se procesa en la etapa r. =0, en caso contrario. x(i1,i2,r) =1, si un determinado lote i1 se procesa inmediatamente después de otro lote i2 en la etapa r. =0, en caso contrario. Esta variable binaria presenta dos casos particulares, según si el lote es el primero o el último: x(0,i2,r) =1, si un determinado lote i2 es el primero en procesarse en la etapa r. =0, en caso contrario. x(i1,N+1,r) =1, si un determinado lote i1 es el último en procesarse en la etapa r. =0, en caso contrario. ω (i1,i2,r) =1, si se cumplen las condiciones para que se produzca un cambio de utillaje entre la fabricación del lote i2 y el lote i1 , en la etapa r. =0, en caso contrario. Las condiciones para que se produzca el cambio de utillaje entre dos lotes i2 e i1 son: 1. F(i1,r)≠F(i2,r) (1)
2. x(i1,x2,r)=1 (2) δ (i1,i2,r) =1, si se cumplen las condiciones para que se deba sumar el tiempo empleado en cambiar de utillaje entre la fabricación del lote i2 y el lote i1 , en la etapa r. =0, en caso contrario. Las condiciones para que se deba sumar el tiempo de cambio de utillaje son: 1. ω (i1,i2,r)=1 (3) 2. [] {} r),Tcu(ir),ix(0,Td(r)r),i,x(ir),i,δ(ir),(Tcu(ir),Tp(ir),C(ir),C(i 1))-r,i,δ(i1)-r,((Tcu(i1)r,Tp(i1)r,C(i 222121111 N ii 0i 2 N ii 0i 21222 21 1 21 1 ≤ ⋅+⋅⋅++≥ − ⋅+−+− ∑ ∑ ≠ = ≠ = ∀i2=1,…N.∀r=1,…R. (4) La restricción (4) no se considera lineal. Aunque sería fácilmente linealizable, se ha optado por mostrarla de esta forma debido a su sencillez. r),i,α(i 21 =1, si se cumple que 1)r,C(ir),CM(i 11 +< y 1)r,C(ir),CM(i 22 +< . =0, en caso contrario. Si )i1,...(Nh r).h,i,α(i 0r),i,α(i 22121 −=∀+→= (5) 3.3.2 Variables Continuas C(i,r) =Momento máximo de inicio de las operaciones sobre el lote i en la etapa r, medido en minutos. CM(i,r)=Momento de finalización de las operaciones sobre el lote i en la etapa r, medido en minutos. CMAX=Momento de finalización del último lote o trabajo i en la última etapa r o “makespan”, medido en minutos. A(r1,r2)=Máximo de artículos almacenados entre las etapas r1 y r2. A =Suma total del máximo de artículos acumulados en todas las parejas de etapas consecutivas. TTcu(r)=Tiempo total empleado en cambios de utillaje en la etapa r. TTcu= Tiempo total empleado en cambios de utillaje en todas las etapas.
3.4 Función objetivo para minimizar CMAX Minimizar[Z]=CMAX (6) 3.5 Restricciones para función objetivo (6) ∑ = = N 1i 1r)y(i, ∀r=1,…R. (7) ∑ ≠ = = N ii 0i 21 21 1 1r),i,x(i ∀i2=1,…N. ∀r=1,…R. (8) ∑ + ≠ = = 1N ii 1i 21 21 2 1r),i,x(i ∀i1=1,…N. ∀r=1,…R. (9) ∑ + = = 1N 1i 1r)i,x(0, ∀r=1,…N. (10) ∑ = =+ N 0i 1r)1,Nx(i, ∀r=1,…N. (11) ⋅+−+−≥ ∑ ≠ = N ii 0i 212222 21 1 1))-r,i,δ(i1)-r,((Tcu(i1)r,Tp(i1)r,C(ir),C(i .∀i2=1,…N.∀r=1,…R. (12) [] {} r),ix(0,Td(r)r),i,x(ir),i,δ(ir),(Tcu(ir),Tp(ir),C(ir),C(i 22121111 N ii 0i 2 21 1 ⋅+⋅⋅++≥ ∑ ≠ = ∀i2=1,…N.∀r=1,…R. (13) La restricción (13) no se considera lineal. Aunque sería fácilmente linealizable, se ha optado por mostrarla de esta forma debido a su sencillez. ⋅++≥ ∑ ≠ = N ii 0i 212222 21 1 r)),i,δ(ir),((Tcu(ir),Tp(ir),C(ir),CM(i .∀i2=1,…N.∀r=1,…R. (14) r)CM(i,CMAX ≥.∀i=1,…N.∀r=1,…R. (15)
3.6 Función objetivo para minimizar tiempo empleado en cambios de utillaje en la etapa r. Minimizar[Z]=TTcu(r) (16) 3.7 Restricciones para la función objetivo (16) Además de (7), (8), (9), (10), (11), (12), (13) y (14): () ∑∑ ≠ = = ⋅≥ N ii 1i 211 N 1i 12 2 1 r),i,ω(ir),Tcu(iTTcu(r) .(17) Si en vez de trabajar con todo el tiempo de cambio de utillaje que se ha producido en cada etapa quisiéramos, de estos, contabilizar exclusivamente los que han podido influir en el CMAX habría que utilizar la variable binaria δ (i1,i2,r), ya que a partir de ella se controlan los cambios de utillaje que se han podido realizar antes de recibir el lote de la etapa anterior y los que no. Obviamente, los cambios que se han podido realizar antes de recibir el lote de la etapa anterior (por disponer de tiempo ocioso) no pueden influir en el CMAX. En el caso de que se tuviese el objetivo de minimizar la suma total de tiempos de cambio de utillaje en todas las etapas se plantearía la siguiente función objetivo: Minimizar[Z]=TTcu (18) Utilizando la siguiente restricción: () ∑∑∑ ≠ = == ⋅≥ N ii 1i 211 N 1i R 1r 12 2 1 r),i,ω(ir),Tcu(iTTcu (19) 3.8 Función objetivo para minimizar artículos entre dos etapas consecutivas r1 y r2. Minimizar[Z]=A(r1,r2) (20) 3.8.1 Restricciones para la función objetivo (20) Además de (7), (8), (9), (10), (11), (12), (13) y (14): ∑+= ⋅+⋅≥ N 1ii 1313121121 13 )r,i,α(i)AL(i)r,i,α(i)AL(i)r,A(r .∀i1=1,…N.∀i2=i1.(21)
Lógicamente, cuando se busca este objetivo, se tiene que cumplir que 1rr 12 += , ya que deben ser dos etapas consecutivas. Según el planteamiento de este modelo, no se considera la existencia de almacenes entre etapas no consecutivas. En el caso de que se tuviese el objetivo de minimizar la suma total de artículos que se acumulan entre todas las parejas de etapas consecutivas se plantearía la siguiente función objetivo: Minimizar[Z]=A (22) Utilizando la siguiente restricción: ∑∑ − =+= ⋅+⋅≥ 1R 1r N 1ii 13131211 13 )r,i,α(i)AL(i)r,i,α(i)AL(iA.∀i1=1,…N.∀i2=i1. (23) 4. Experimentación. Una vez modelizado el problema, y con el objetivo de proporcionar un método sencillo y rápido de secuenciación de artículos al encargado de la programación de la producción en la empresa en la que se ha realizado el presente estudio, se han realizado una serie de experimentos con diversas reglas sencillas de ordenación. Mediante estos experimentos se ha analizado el impacto de: • 6 reglas diferentes (FIFO, SOT, LOT, por familias según la etapa A, por familias según la etapa B y por familias según la etapa C), • diferentes tiempos de decalaje en las etapas B y C, • diferentes conjuntos de pedidos con tiempos de cambio de utillaje del orden del 3-5% respecto del tiempo total de procesado de los lotes (valor medio real en la empresa modelo) y los mismos conjuntos de pedidos con tiempos de cambio de utillaje que constituyen el 35-40% del tiempo de procesado de los lotes (valor medio generado con la idea de experimentar con tiempos de cambio de utillaje de un orden de magnitud sustancialmente diferente del que posee la empresa). en: • el tiempo total de fabricación o tiempo de entrega, • el tiempo de cambio de utillaje de cada una de las etapas por separado, • el tiempo total de cambio de utillaje (todas las etapas) y • el número de artículos que quedan retenidos entre etapas (A-B y B-C, debido a que en la empresa sólo se han considerado 3 etapas de cara al presente estudio). Para la ejecución de los experimentos se han utilizado los históricos de producción de la empresa de los últimos 30 meses. Los históricos de producción de cada mes están divididos en días y contienen el código del producto demandado y la cantidad (no se repite el código de un producto dentro de un mismo día porque previamente se agregan las cantidades). Así mismo se han utilizado datos reales sobre los tiempos de producción, sobre los tiempos de
cambio de utillaje para cada artículo en cada una de las etapas y sobre las familias de las que forman parte cada artículo en cada etapa. Estas familias se forman en función de las características o atributos de cada artículo y suelen ser distintas de una etapa a otra, de forma que dos artículos que pertenecen a la misma familia en la etapa A, pueden no pertenecer a la misma familia en el resto de etapas. A partir de los datos reales de los artículos, se ha generado una segunda colección de datos con unos tiempos de cambio de utillaje mayorados (hasta suponer un 35-40% de los tiempos de procesado frente al 3-5% real) con el fin de analizar la influencia de distintos tipos de tiempos de cambio de utillaje en las variables a medir. Los valores del decalaje de una determinada fase indican el tiempo que se va a tardar en empezar a procesar el primer artículo en dicha fase. Este tiempo de espera o decalaje hace que se pueda acumular más o menos trabajo proveniente de la etapa anterior, según sea mayor o menor su valor. En una primera fase de experimentos se han generado una serie de instancias para analizar la relación entre los objetivos planteados y el decalaje, que se ha ido variando de minuto en minuto desde 0 hasta 2 horas. Estos experimentos iniciales (cuyos resultados no se han incluido en el presente trabajo) han revelado una relación no significativa del decalaje en los intervalos considerados por lo que, para los experimentos definitivos, se han considerado intervalos mayores; 120 minutos para la segunda etapa y de 240 minutos para la tercera etapa, ambos con un rango de variación comprendido entre 0 y 960 minutos (0 y 2 días, teniendo en cuenta una jornada laboral de 8 horas). Se ha supuesto que con un decalaje de dos días hay suficiente trabajo acumulado entre dos etapas como para que se mantengan las posibilidades de resecuenciación a lo largo del mes en la mayoría de los casos. El análisis comparativo de los tiempos de producción y cambio de utillaje en las tres etapas de la empresa estudiada sostiene dicha suposición. 4.1 Diseño del experimento. Los experimentos han consistido, por lo tanto, en la secuenciación de los productos a fabricar para cada mes según las 6 reglas de ordenación. Esta ordenación se aplica en cada uno de los días del mes para cada uno de los 30 meses escogidos, para cada combinación de tiempos de decalaje en las etapas B y C, y para cada uno de los tipos de tiempo de cambio de utillaje (los reales y los mayorados), luego el número de instancias obtenidas ha sido el que se muestra en la Figura 1: 6 * 9 * 5 * 30 * 2 = 16.200 instancias Figura 1. Detalle del cálculo del número de instancias. Reglas de secuenciación: FIFO, SOT, LOT, Fam. Etapa A, Fam. Etapa B, Fam. Etapa C. Tiempos de decalaje en la etapa B: de 0 a 960 minutos, incrementos de 120 minutos. Tiempos de decalaje en la etapa C: de 0 a 960 minutos, incrementos de 240 minutos. Conjuntos de Pedidos. Tipos de Tiempo de cambio de utillaje (reales y mayorados).
De la resolución de cada una de las instancias se han medido 4 tipos de objetivos: tiempo total de fabricación, tiempo de cambio de utillaje de cada una de las etapas por separado, tiempo total de cambio de utillaje y número de artículos que quedan retenidos entre etapas (con el objeto de estudiar la dimensión de los almacenes), tal y como se ha comentado anteriormente. 4.2 Resultados. En la Tabla 1 se muestran las relaciones encontradas en al análisis de los resultados realizado mediante el programa SPSS v.10.0 [6]: Tiempo de cambio de utillaje Total por etapa Número de artículos entre etapas RELACIONES Tiempo Total de fabricación BC Tiempo de cambio de utillaje Total A y B B y C Reglas de secuenciación Significativa Significativa Significativa Significativa Significativa Significativa Tiempo Decalaje Etapa B No significativa No significativa No significativa No significativa No significativa No significativa Tiempo Decalaje Etapa C No significativa No significativa No significativa No significativa No significativa Significativa Conjuntos de pedidos Significativa Significativa Significativa Significativa Significativa Significativa Tipo Tiempo cambio utillaje Significativa Significativa Significativa Significativa Significativa Significativa Tabla 1. Relaciones detectadas en el análisis de las variables consideradas en la experimentación. Las reglas de secuenciación tienen una relación significativa con todas las variables analizadas en los experimentos. Este análisis, realizado mediante la comparación de las medias de cada variable dependiente respecto de cada variable independiente (ANOVA), demuestra que la regla que obtiene mejores resultados respecto al Tiempo Total de fabricación es LOT, luego sería conveniente que el responsable de la programación de la producción lanzase cada día, en primer lugar, los lotes que mayor tiempo de fabricación poseen. En cuanto a la optimización de los Tiempos Totales de Cambio de Utillaje en las etapas A, B y C, es obvio que las reglas o criterios de ordenación a utilizar son Familias de etapa A, Familias de etapa B y Familias de etapa C respectivamente. El análisis realizado y las gráficas incluidas a continuación así lo corroboran. Es quizás más interesante utilizar una regla que optimice los Tiempos Totales de Cambio de Utillaje en todas las etapas. Según el estudio realizado, la regla que consigue esto es la de Familias de etapa A. Lógicamente, en cada caso habría que tener en cuenta la duración de los tiempos de cambio de utillaje en cada etapa respecto de las demás ya que, si estos tiempos son muy grandes en alguna de las etapas, la regla que optimice la suma de los tiempos será, lógicamente, la que ordene los artículos según las familias de esta etapa.