• No se han encontrado resultados

Modelaje del sistema de producción Bucket Brigades

N/A
N/A
Protected

Academic year: 2020

Share "Modelaje del sistema de producción Bucket Brigades"

Copied!
76
0
0

Texto completo

(1)Modelaje del Sistema de Producción Bucket Brigades. Trabajo de Tesis Presentado al Departamento de Ingenierı́a Industrial por. Diego Rojas Páez. Para optar al Tı́tulo de Ingeniero Industrial. Ingenierı́a Industrial Universidad de los Andes 27 de enero de 2004.

(2) Modelaje del Sistema de Producción Bucket Brigades. Aprobado por:. Profesor Germán Riaño Ph.D., Asesor. Profesor Fernando Palacios Ph.D. Fecha de Aprobación.

(3) II.03(2)116. RESUMEN. En el presente documento se modela el sistema de producción “Bucket Brigades” como una cadena de Markov de tiempo continuo (CMTC). El modelaje es implementado en el lenguaje de programación Java, permitiendo el análisis de las caracterı́sticas del sistema. Con base en los resultados obtenidos, se propone un algoritmo para configurar cualquier sistema de producción tipo “Bucket Brigades” bajo los supuestos hechos en el modelo.. iii.

(4) II.03(2)116. TABLA DE CONTENIDO RESUMEN I.. III. INTRODUCCIÓN. 4. II. DEFINICIÓN DEL PROBLEMA. 6. III. OBJETIVOS. 7. IV. METODOLOGÍA. 8. V. MARCO TEÓRICO. 9. 5.1. Generalidades del Sistema Bucket Brigades . . . . . . . . . . . . . .. 9. 5.2. Movimiento de los Trabajadores en el Sistema . . . . . . . . . . . .. 9. 5.3. Utilización del Sistema Bucket Brigades . . . . . . . . . . . . . . . . 11 5.4. Ventajas y Desventajas del Sistema Bucket Brigades . . . . . . . . . 11 5.5. Literatura Existente Acerca de Bucket Brigades . . . . . . . . . . . 13 5.5.1. Bartholdi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.5.2. Bishak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.6. Fundamento Teórico de las Cadenas de Markov de Tiempo Continuo 15 5.6.1. Procesos Estocásticos . . . . . . . . . . . . . . . . . . . . . . 15 5.6.2. Procesos de Markov . . . . . . . . . . . . . . . . . . . . . . . 16 5.6.3. Cadenas de Markov . . . . . . . . . . . . . . . . . . . . . . . 16 5.6.4. Cadenas de Markov de Tiempo Discreto - CMTD . . . . . . 16 5.6.5. Cadenas de Markov de Tiempo Continuo - CMTC . . . . . . 17 5.6.6. CMTC - Colas Circulares . . . . . . . . . . . . . . . . . . . . 18. 1.

(5) II.03(2)116 VI. MODELAJE DEL SISTEMA BUCKET BRIGADES. 21. 6.1. Supuestos del Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6.2. Medidas de Desempeño del Sistema . . . . . . . . . . . . . . . . . . 23 VII. PAQUETE “J MARKOV”. 24. 7.1. Algoritmo BuildRS . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 7.2. “J Markov” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 VIII.PAQUETE “BUCKETBRIGADES”. 28. 8.1. BucketBrigades.java . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 8.2. OptWorkerAlign.java . . . . . . . . . . . . . . . . . . . . . . . . . . 29 8.3. BucketBuffers.java . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 IX. RESULTADOS DEL MODELO Y CONCLUSIONES. 35. 9.1. Comparación de Resultados con Modelo de Bishak . . . . . . . . . . 35 9.2. Caracterı́sticas Generales de Bucket Brigades como una CMTC . . . 36 9.2.1. Estados y Probabilidades del Sistema en el Largo Plazo . . . 36 9.2.2. Eventos: Tasa de Producción . . . . . . . . . . . . . . . . . . 37 9.2.3. Medidas de Desempeño . . . . . . . . . . . . . . . . . . . . . 38 9.3. Respuesta del Modelo a Cambios en sus Parámetros . . . . . . . . . 43 9.3.1. Número de Trabajadores por Lı́nea de Producción . . . . . . 43 9.3.2. Número de Lı́neas de Producción . . . . . . . . . . . . . . . . 44 9.3.3. Número de Máquinas por Lı́nea de Producción . . . . . . . . 44 9.3.4. Velocidad de Proceso de los Trabajadores en las Máquinas . . 46 9.3.5. Uniformidad de los Operarios . . . . . . . . . . . . . . . . . . 49 9.3.6.. Orden de los Trabajadores con Distintas Velocidades de Proceso en la Lı́nea de Producción . . . . . . . . . . . . . . . . . 51. 9.3.7. Cantidad de Espacios de Búfer en la Lı́nea de Producción . . 53 9.3.8. Posición de Espacios de Búfer en Lı́nea de Producción . . . . 55. 2.

(6) II.03(2)116 9.4. Resumen de Resultados y Conclusiones - Reglas de uso general . . . 56 9.5. Sugerencias para Investigaciones Posteriores . . . . . . . . . . . . . . 58 X. HEURÍSTICO PARA CONFIGURAR LÍNEAS DE PRODUCCIÓN TIPO BUCKET BRIGADES 59 10.1. Heurı́stico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 10.2. Ejemplo de Aplicación del Heurı́stico. . . . . . . . . . . . . . . . . . 59. 10.3. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 XI. MANUAL DEL USUARIO - BUCKETBRIGADES. 68. 11.1. Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 11.2. Instalación del Paquete BucketBrigades . . . . . . . . . . . . . . . . 68 11.3. Uso de BucketBrigades.java . . . . . . . . . . . . . . . . . . . . . . . 69 11.4. Uso de OptWorkerAlign.java . . . . . . . . . . . . . . . . . . . . . . 70 11.5. Uso de BucketBuffers.java . . . . . . . . . . . . . . . . . . . . . . . . 71. 3.

(7) II.03(2)116. Capı́tulo I INTRODUCCIÓN En el presente proyecto de grado se hace un aporte al estudio del sistema de producción “Bucket Brigades”. Bucket Brigades fue desarrollado en la década de los 70‘s por la compañı́a Toyota Sewn Products con el fin de optimizar la manufactura de forros para carros, recibiendo inicialmente el nombre de “Toyota Sewn Products System” o “TSS”. La primera implementación de TSS en los Estados Unidos fue hecha en Carolina del Sur en 1989. En la actualidad, Bucket Brigades es ampliamente utilizado por la industria de confecciones (en inglés “Apparel Manufacturing”), por empresas como Toyota Sewn Products, Wrangler y Blue Bell, entre muchos otros; en procesos de “order picking” y otros procesos industriales simples. Las secciones 5.1 - 5.4 presentan la descripción y algunas caracterı́sticas generales de este sistema de producción. Los grandes contribuyentes al estudio del sistema Bucket Brigades son Bartholdi y Eisenstein[1, 2, 3], y Bishak [4], quienes han propuesto modelos del sistema Bucket Brigades con fuertes supuestos, como se muestra en la sección 5.5. En este proyecto de grado se modela el sistema Bucket Brigades como una cadena de Markov de tiempo continuo (CMTC), cuyo fundamento teórico se presenta en la sección 5.6. El capı́tulo 6 explica las caracterı́sticas adicionales del modelaje del sistema. Los supuestos hechos en este caso difieren de aquellos utilizados por Bartholdi y Bischak en sus estudios. El modelaje de Bucket Brigades como una CMTC es implementado en el lenguaje de programación Java. El capı́tulo 7 presenta el paquete “J Markov”, creado por el Profesor Germán Riaño para modelar y resolver computacionalmente cualquier. 4.

(8) II.03(2)116 cadena de Markov finita. El “J Markov” sirve como base para la implementación del sistema Bucket Brigades por el paquete “BucketBrigades”, que se presenta en el capı́tulo 8. Los resultados del modelaje computacional, resumidos en el capı́tulo 9, permiten llegar a conclusiones sobre las caracterı́sticas principales de BucketBrigades, y también proponer un heurı́stico para configurar cualquier sistema de producción tipo BucketBrigades bajo el conjunto de supuestos hechos. La propuesta del heurı́stico se presenta en el capı́tulo 10. La aplicación del heurı́stico propuesto a un caso práctico requiere de los resultados computacionales de la implementación del modelo de Bucket Brigades en Java. Por tal razón, se incluye en los Anexos un breve manual del usuario, en donde se dan consejos para una adecuada instalación de Java en el computador y el uso del paquete “BucketBrigades”.. 5.

(9) II.03(2)116. Capı́tulo II DEFINICIÓN DEL PROBLEMA No se han conducido análisis del sistema Bucket Brigades bajo el siguiente conjunto de supuestos: a. Los trabajadores pueden no ser consistentemente rápidos o lentos. b. Peden existir espacios de búfer disponibles en la lı́nea de producción c. Los trabajadores pueden quedar en estado de espera si no pueden avanzar a la siguiente máquina con la unidad que actualmente están trabajando. d. Los tiempos de proceso en las máquinas del sistema son aleatorios, suponiendo que están distribuidos de forma exponencial. Los anteriores supuestos (a − d) hacen que el modelaje del sistema Bucket Brigades sea más fiel a la realidad, otorgando significado al desarrollo de un modelo que los incluya.. 6.

(10) II.03(2)116. Capı́tulo III OBJETIVOS 1. Conocer mejor las caracterı́sticas del sistema de producción Bucket Brigades, modelándolo bajo un nuevo conjunto de supuestos. 2. Apalancarse en el modelo y las conclusiones obtenidas a partir de éste para proponer un heurı́stico que permita encontrar una configuración razonable para cualquier sistema de producción Bucket Brigades, teniendo en cuenta el conjunto de supuestos hechos.. 7.

(11) II.03(2)116. Capı́tulo IV METODOLOGÍA 1. Modelar al sistema de Bucket Brigades como una cadena de Markov de tiempo Continuo (CMTC). 2. Implementar el modelo en un lenguaje de programación. 3. Investigar las caracterı́sticas del sistema Bucket Brigados bajo el conjunto de supuestos, por medio de la realización de experimentos con el programa creado. Evualuar efectos de la variación de los parámetros del sistema, como lo son el número de operarios, máquinas y espacios de búfer, la ubicación de operarios y búferes en la lı́nea de producción, entre otros. 4. Analizar los resultados del modelo y deducir reglas de uso general, que puedan servir para configurar los sistemas estilo Bucket Brigades de una forma razonable.. 8.

(12) II.03(2)116. Capı́tulo V MARCO TEÓRICO 5.1.. Generalidades del Sistema Bucket Brigades. Bucket Brigades es una forma de organizar trabajadores en una lı́nea de producción en la cual hay un mayor número de máquinas que de operarios. En este sistema, cada máquina puede ser operada solamente por un trabajador a la vez, y cada trabajador puede procesar solamente una unidad al mismo tiempo. Cada máquina puede tener espacios de búfer, en donde se almacenan unidades de producto en proceso. Los trabajadores conservan una secuencia definida, y están ordenados de forma tal que ninguno puede adelantar a otro a lo largo de la lı́nea de producción. Todos los trabajadores están en capacidad de operar cualquiera de las máquinas de la lı́nea de producción.. 5.2.. Movimiento de los Trabajadores en el Sistema. En el sistema Bucket Brigades todos los trabajadores conservan su orden inicial. Por consiguiente, se puede asignar un ı́ndice a cada trabajador j, (j = 1, 2, ..., J). El orden de las máquinas en el esquema de producción también es constante, y se puede dar un ı́ndice a cada máquina m, (m = 1, 2, ..., M ). Los movimientos de los trabajadores a lo largo de la lı́nea de producción se pueden dividir en dos grupos: movimientos hacia delante (en la misma dirección del flujo de trabajo de la lı́nea)y movimientos hacia atrás.. 9.

(13) II.03(2)116 Movimiento Hacia Delante: Supóngase que en la lı́nea de producción un trabajador j se encuentra trabajando una pieza en la máquina mj . Cuando termina el proceso, el trabajador avanza en la lı́nea de producción hasta la siguiente máquina, mj + 1. a. Si la máquina mj + 1 se encuentra disponible, el trabajador j puede continuar el proceso de la pieza en mj + 1. b. Si la máquina mj + 1 se encuentra ocupada, el trabajador j tiene dos opciones: Dejar la unidad que tiene en las manos en el búfer de la máquina mj + 1 (si existe un búfer y si éste no está lleno) y devolverse a lo largo de la lı́nea de producción para tomar otra unidad (ver Movimiento Hacia Atrás) Esperar en la máquina mj + 1(estado de bloqueo o inactivo) hasta que ésta se desocupe, y luego continuar el proceso. c. Si el trabajador es el último de la lı́nea (j = J), y si termina el proceso en la última máquina (mj = M ), el operario va automáticamente hacia atrás en búsqueda de una nueva unidad para trabajar ( ver Movimiento Hacia Atrás). Este evento se denomina “Reset”. Movimiento Hacia Atrás Supóngase que en la lı́nea de producción un trabajador j se encuentra en la máquina mj y no tiene una unidad de producto en proceso en sus manos. El trabajador j se debe mover en sentido contrario al flujo de proceso en la lı́nea con el único objetivo de tomar la primera unidad de trabajo en proceso que encuentre para trabajar en ella. Esta unidad puede estar contenida en un búfer, o puede estar siendo procesada por otro operario (j − 1). a. Si la primera unidad que encuentra el operario j está en el búfer de la máquina mb , el operario la toma y sigue el proceso en la máquina mb . b. Si la primera unidad que encuentra el operario j está en manos del operario j − 1, en la máquina mj−1 se aplica la “preemption rule”. Según esta regla, el 10.

(14) II.03(2)116 trabajador j debe tomar el trabajo del trabajador j − 1, y continuarlo en la máquina mj−1 . El trabajador j − 1, ahora inactivo, debe moverse hacia atrás en busca de otra pieza para trabajar. c. Para el caso en que m = 1, se asume que en la primera máquina existe un búfer que contiene una cantidad inagotable de unidades de materia prima, proveyendo al sistema constantemente.. 5.3.. Utilización del Sistema Bucket Brigades. Bucket Brigades es tı́picamente utilizado en lı́neas de producción donde hay un mayor número de máquinas que de operarios, y por consiguiente, su uso es más frecuente en paı́ses donde el factor de producción capital es relativamente barato en comparación con el factor laboral. Este sistema es bastante ventajoso para casos en los cuales la demanda por un producto es muy difı́cil de preducir y la producción debe responder rápidamente a cambios de diseño del producto, como en el caso de las confecciones. Bajo estas circunstancias es recomendable mantener un bajo inventario de producto en proceso para poder minimizar las pérdidas si la demanda por productos cambia súbitamente. Generalmente, las lı́neas de producción Bucket Brigades se organizan en forma de “U”, facilitando el desplazamiento de los trabajadores dentro de la lı́nea. Los operarios trabajan normalmente de pie en estaciones de trabajo (máquinas) que quedan a la altura del pecho. De esta forma, los operarios pueden desplazarse más rápidamente, siguiendo las reglas de movimiento de operarios expuestas en la sección 5.2. Se han observado sistemas Bucket Brigades con 2 a 16 operarios, pero los sistemas con 12 o más operarios son generalmente vistos como subóptimos. Usualmente hay 2,5 máquinas por cada operario [4].. 5.4.. Ventajas y Desventajas del Sistema Bucket Brigades. Ventajas 11.

(15) II.03(2)116 a. Flexibilidad en el ajuste del volumen de producción. La más importante de las ventajas de Bucket Brigades es su alta flexibilidad en el cambio de la tasa de producción, al simplemente adicionar o retirar trabajadores de la lı́nea de producción. El ajuste de la tasa de producción serı́a más difı́cil para sistemas en los cuales los trabajadores están fijos en las máquinas, y se tendrı́an que modificar los tiempos de trabajo o rebalancear las lı́neas de producción. b. Reducido nivel de inventario de producto en proceso El sistema Bucket Brigades es de tipo pull, lo que significa que la entrada de una unidad de materia prima a la lı́nea de producción está condicionada por la salida de una unidad de producto terminado. Cada trabajador constituye a su vez un subsistema que también es de tipo pull, ya que un trabajador solamente puede tomar una pieza nueva cuando ha terminado o entregado la que tiene en sus manos. Muchos otros sistemas son de tipo push, en los cuales la entrada de unidades de materia prima al sistema se permite si el sistema no está saturado, manteniendo niveles promedio de producto en proceso más altos. c. Elevada productividad del personal Con Bucket Brigades, los trabajadores permanecen más tiempo ocupados que en otros sistemas de producción convencionales [4]. De esta forma, la productividad de los trabajadores se mantiene en niveles elevados. d. Se facilita el monitoreo de la productividad de cada trabajador En una lı́nea de producción, los trabajadores más rápidos tienden a aportar una mayor proporción del trabajo total realizado en el proceso de producción en comparación con los demás operarios. Este es un hecho visible que puede ser fácilmente identificado por los administradores de producción. e. Se facilita la detección de problemas de calidad El bajo nivel de producto en proceso permite que un problema de calidad pueda ser rastreado más rápidamente. f. Mayor motivación para los trabajadores. Bucket Brigades requiere de un. 12.

(16) II.03(2)116 buen trabajo en grupo. Cada trabajador se desplaza para cambiar de máquina y desarrolla varias tareas distintas, haciendo que su trabajo sea menos monótono y que el trabajador sea menos propenso a sufrir lesiones fı́sicas como producto de errores de postura, en compoaración con otros sistemas de producción. Desventajas a. El entrenamiento de trabajadores para operar varias máquinas (crosstraining) puede ser costoso. b. La introducción de trabajadores no entrenados al sistema de producción puede reducir la tasa de producción de toda la lı́nea hasta que el nuevo trabajador esté entrenado completamente.. 5.5.. Literatura Existente Acerca de Bucket Brigades. Dos de las más importantes fuentes bibliográficas acerca de Bucket Brigades son Bartholdi et al. [1],[2], [3] y Bishak [4].. 5.5.1.. Bartholdi. Bartholdi y Eisenstein [1] modelan los trabajadores de un sistema Bucket Brigades como heterogéneos, con la propiedad de que pueden ser consistentemente ordenados del más rápido al más lento. En el modelaje de Bartholdi no se distinguen máquinas a lo largo de la lı́nea de producción. Ésta es modelada como una distancia de longitud fija L que cada trabajador j recorre con una velocidad conocida y constante vj , que depende del número de máquinas del sistema y de las habilidades del operario j. El sistema se balancea automáticamente, sin importar la posición inicial de los operarios en la lı́nea de producción, si y solo si los operarios de la lı́nea son ordenados. 13.

(17) II.03(2)116 de forma ascendente de acuerdo a su velocidad, tal que el último trabajador siempre tenga la velocidad más alta. Una vez el sistema está balanceado, Bartholdi demuestra formalmente que tiene las siguientes propiedades: Cada operario vuelve a una posición fija después de cada “Reset”. Cada operario aporta una fracción constante de trabajo en el sistema. La tasa de producción alcanza su máximo. Los resultados de Bartholdi [1]se resumen en sus 4 teoremas: Teorema 1. Para cualquier lı́nea de producción Bucket Brigades existe una posición xi dentro de la lı́nea de producción para cada trabajador i, tal que cada i retorna a la posición xi después de un “Reset” en el sistema. Teorema 2. Para cualquier lı́nea de producción Bucket Brigades, si los trabajadores son ordenados del más lento al más rápido, cualquier posición inicial xi 0 de cada trabajador i converge a un posición única xi después de un “Reset” en el sistema. Teorema 3. Si las velocidades de los operarios son constantes con v1 < · · · < vJ , entonces la lı́nea converge exponencialmente rápido a un único punto fijo en el cual: 1. El trabajador i ejecuta repetidamente el intervalo de trabajo " Pi−1 j−1 PJ j=1. vj vj. Pi ,. j−1 PJ j=1. vj. #. vj. 2. La tasa de producción es la máxima posible, e igual a:— T asaP rod. =. J X. vj. j=1. Teorema 4. Si los operarios de una lı́nea de producción Bucket Brigades son ordenados del más lento al más rápido, entonces el añadir un operario o incrementar su velocidad nunca disminuirá la tasa de producción. 14.

(18) II.03(2)116 5.5.2.. Bishak. Bischak [4] modela los trabajadores en una lı́nea de producción Bucket Brigades como idénticos, y los tiempos de proceso en las máquinas como aleatorios, adoptando una distribución exponencial(con alta variabilidad)o una distribución uniforme (con menor variabilidad). En su investigación, Bishak utiliza la simulación como herramienta de análisis y encuentra que el sistema Bucket Brigades muestra caracterı́sticas sobresalientes en cuanto a productividad por empleado, en comparación con otros sistemas que tienen un número definido de operarios en cada máquina. De hecho, en sistemas grandes con una alta variabilidad de los tiempos de proceso, un sistema Bucket Brigades con M máquinas puede obtener una mayor tasa de producción con J operarios(J < M ) que otro sistema con las mismas máquinas y con M operarios sentados en las M máquinas. Los modelos de simulación de Bishak incluyen la existencia de espacios de búfer en el sistema. Concluye que los búferes son útiles en sistemas con alta variabilidad en el tiempo de procesamiento, y tienen un efecto marginal en sistemas con baja variabilidad del tiempo de procesamiento, y que en todo caso pueden aumentar dramáticamente el tiempo de ciclo.. 5.6. 5.6.1.. Fundamento Teórico de las Cadenas de Markov de Tiempo Continuo Procesos Estocásticos. Un proceso estocástico está definido por una familia de variables aleatorias {X(t), t ≥ o, t²T } , donde cada variable aleatoria está indexada por un parámetro t, generalmente conocido como el parámetro del tiempo. El conjunto de parámetros T puede ser continuo o discreto, en cuyo caso se hace referencia a procesos estocásticos continuos o discretos.. 15.

(19) II.03(2)116 5.6.2.. Procesos de Markov. Los procesos de Markov son un subconjunto de los procesos estocásticos {X(t), t ≥ o, t²T }, que cumplen con la “propiedad de Markov”, es decir: Propiedad de Markov Para todos los ı́ndices 0 = t0 ≤ t1 ≤ t2 ≤ ... ≤ tn , para el vector de estados S = {s1 , s2 , ..., sn } y para el conjunto de variables aleatorias {X0 , X1 , ..., Xt , Xt+1 , ...} se cumple: (Xt+1 = sn+1 |Xt = sn , Xt−1 = sn−1 , ..., X0 = s0 ) = P (Xt+1 = sn+1 |Xt = sn ) El estado en el periodo t + 1 depende únicamente del estado en el periodo inmediatamente anterior, t, y es independiente de los estados anteriores al periodo t. 5.6.3.. Cadenas de Markov. Una cadena de Markov es un subconjunto de los procesos de Markov que se caracteriza por que el conjunto de los posibles estados del sistema, es decir, los posibles valores que pueden tomar las variables aleatorias, es discreto. Este conjunto puede ser finito o infinito. Las cadenas de Markov pueden ser de tiempo discreto o de tiempo continuo, como se menciona a continuación. 5.6.4.. Cadenas de Markov de Tiempo Discreto - CMTD. Las cadenas de Markov de tiempo discreto se caracterizan por que los eventos ocurren en puntos discretos y conocidos del tiempo. Se puede entonces hablar de “pasos” de un estado a otro estado después de un intervalo definido de tiempo. Un ejemplo puede ser la cantidad de inventario terminado al final de un dı́a de trabajo, en donde el estado es discreto (número de unidades de inventario terminado) y el sistema puede cambiar de estado solamente en intervalos discretos y conocidos (al final de cada dı́a de trabajo). Para el cambio de estado i al estado j después de cada “paso” se asigna una P probabilidad pij ≥ 0 . Para tener consistencia, se debe garantizar que j pij = 1 16.

(20) II.03(2)116 Las probabilidades pij para todos los estados i, j, se resumen en una matriz de transición P. 5.6.5.. Cadenas de Markov de Tiempo Continuo - CMTC. En el presente documento se modela el sistema de producción Bucket Brigades como una CMTC, y por consiguiente, se introducen las CMTC con una profundidad mayor que las CMTD. Una CMTC es un subconjunto de las cadenas de Markov, que se caracterizan porque los eventos o transiciones entre estados pueden ocurrir en un intervalo continuo de tiempo, y no únicamente después de un periodo determinado como en una CMTD. En las CMTC el sistema permanece en el estado i durante un tiempo distribuido de forma exponencial con tasa qi , y cuando sale del estado i pasa al estado j con P probabilidad pij . Se debe garantizar que j pij = 1. Matriz de Probabilidades de Transición Para las CMTC se definen las probabilidades de transición de un estado i al estado j en el intervalo de tiempo [u, v), con u, v ² T y u ≤ v, como: pij (u, v) = P rob.(Xv = j|Xu = i). (1). Si u = v se tiene entonces que pij = 1 si i = j, y pij = 0. Las probabilidades de transición pij se agrupan en la matriz de transición P(u, v). Matriz de tasas La matriz de tasas Q tiene como componentes  −qi , i=j qij = q ∗ p , i 6= j i. (2). ij. donde qij es la tasa de la variable exponencial a la cual el sistema pasa del estado i al estado j, y qi es la tasa a la cual el sistema abandona el estado i hacia otros estados.. 17.

(21) II.03(2)116 Entonces se vuelve evidente que qi =. X. qij , i 6= j. (3). j. Es lógico pensar que la tasa a la cual se sale de un estado i es igual a la suma de las tasas a las cuales se pasa del estado i a todos los otros posibles estados j. Esta es la única forma en que se puede garantizar coherencia y estabilidad en la cadena de Markov. En las CMTC se suele expresar la matriz de probabilidades de transición P como una función de la matriz de tasas Q, P = f (Q) de la siguiente forma: pij =. qij qij =P qi j qij , i 6= j. (4). La probabilidad de pasar de un estado i a otro j es proporcional a la tasa a la cual el sistema pasa de i a j. 5.6.6.. CMTC - Colas Circulares. Habiendo introducido las CMTC, es importante presentar una de sus aplicaciones, que servirá posteriormente como herramienta de validación del modelaje computacional del sistema Bucket Brigades. La teorı́a de colas estudia sistemas en los cuales existe un proceso de llegada de unidades, que son procesadas por estaciones de servicio con servidores. En estos sistemas, si los servidores están ocupados, las unidades que arriban al sistema pueden esperar en colas que tienen una capacidad máxima definida. Cuando los tiempos de arribo de las unidades al sistema y los tiempos de servicio por los servidores están distribuı́dos de forma exponencial, el sistema se puede modelar como una Cadena de Markov de Tiempo Continuo (CMTC). Un sistema de colas circulares es una red cerrada de colas, en donde hay un número constante de unidades en proceso. Las unidades pasan en forma secuencial por K estaciones de trabajo (k1 , k2 , ..., kK ), donde hay un solo servidor por estación, y después de ser procesadas por la estación kK son atendidas de nuevo por la estación k1 . 18.

(22) II.03(2)116 Las ecuaciones que describen una red de colas circulares sirven para validar los resultados del modelaje del sistema BucketBrigades, para el caso en que todos los operarios tengan la misma velocidad de proceso en cada máquina y que no existan espacios de búfer dentro de éste. Si los operarios son idénticos, cuando se presenta un reset y se aplica la Preemption Rule, es equivalente a que el último operario que terminó proceso en la última máquina se deshaga de la pieza ya terminada y vaya al comienzo de la lı́nea para tomar una nueva unidad de materia prima y comenzar su proceso. La tasa de producción (TP)y tiempo promedio de ciclo (TC)para un sistema de colas circulares con m estaciones de una máquina y n operarios (por ende una cantidad constante n unidades en el sistema), en donde cada operario tiene una velocidad de proceso de µ en cada máquina, se calculan por medio de las ecuaciones ( 5) y ( 6): n∗µ m+n−1 n n m+n−1 TC = = n∗µ = TP µ m+n−1 TP =. (5) (6). Las anteriores fórmulas pueden ser demostradas utilizando el “Mean - Value Analysis Model”[6]. En el MVA, el tiempo de ciclo T Cj de una unidad debe esperar para ser procesada en una estación j de un sistema de colas circulares tiene dos componentes: el tiempo de proceso en la máquina j,. 1 , µj. y el tiempo promedio en cola. Este último. es equivalente al tiempo promedio de proceso de las demás unidades en la estación j en un momento. En un sistema de colas cerradas la todas las unidades tienen la misma probabilidad de encontrarse en cualquiera de las estaciones en algún momento, por lo que se espera que de n − 1 unidades, haya en promedio. n−1 m. unidades en. cada estación. Por consiguiente, el tiempo esperado de proceso de las demás n − 1 unidades en la estación j es equivalente a T Cj = [1 +. n−1 m. ∗. 1 . µj. 1 m+n−1 (n − 1) ]∗ = m µj m ∗ µj. 19. (7).

(23) II.03(2)116 Como se supone que todas las estaciones son idénticas, el tiempo total de ciclo para el sistema, T C, es: TC =. X. CTj = m ∗. j. m+n−1 m+n−1 = m ∗ µj µ. (8). Aplicando la ley de Little, se tiene entonces que para el sistema la tasa de producción promedio T P será: TP =. n = TC. n m+n−1 µ. 20. =. n∗µ m+n−1. (9).

(24) II.03(2)116. Capı́tulo VI MODELAJE DEL SISTEMA BUCKET BRIGADES En el modelaje de todo sistema real se deben hacer abstracciones y generar modelos matemáticos simplificados que permitan recoger los aspectos más importantes a analizar. En la presente sección se describen las caracterı́sticas del modelo estocástico utilizado para modelar el sistema Bucket Brigades.. 6.1.. Supuestos del Modelo. Los desplazamientos de los trabajadores entre máquinas toman un tiempo despreciablemente corto. Este supuesto es aceptable si se consideran varias máquinas alineadas en forma de “U”, y muy cerca entre sı́. Se supone, por ende, que los trabajadores no se chocan durante sus desplazamientos. El movimiento de los empleados sigue las reglas previamente expuestas en la sección 5.2. Existe una cantidad infinita de piezas al comienzo de la lı́nea de producción, y una bodega de capacidad infinita al final de ésta donde se almacena el producto terminado. Se abstrae ası́ de todos los problemas que puede traer en la realidad la consecución de materia prima y el bodegaje de producto terminado. Se deja de lado el problema de las reparaciones y las fallas de las máquinas, suponiendo que esto nunca ocurre. 21.

(25) II.03(2)116 Bucket Brigades como una CMTC Se presentan algunos supuestos adicionales del modelaje de Bucket Brigades como una CMTC. El tiempo t es continuo, y t ² [0, ∞) Cada estado s del conjunto finito y discreto de estados posibles en el sistema,S, se caracteriza por dos vectores que indican en cuál máquina se encuentra cada trabajador y cuántas unidades hay en el búfer de cada máquina, en caso de haberlos. Esta información recibe el nombre de “atributos”. Los atributos del sistema son discretos, enteros y no negativos. El sistema permanece en un estado i por un tiempo aleatorio distribuido exponencialmente antes de pasar a otro estado j, a una tasa que depende exclusivamente del estado en el cual se encuentra el sistema. Los eventos del sistema son la terminación del proceso en cada una de las máquinas (m = 1, 2, ...., M ). El conjunto E de eventos posibles es finito y discreto, y contiene exactamente M elementos. El conjunto de eventos que pueden ocurrir en cada estado s, Es , depende del estado s en el cual se encuentra el sistema Todos los eventos tienen efectos conocidos sobre el sistema. Es decir, si se conoce el estado inicial del sistema i, y el evento e | e ∈ Es , se puede decir con certeza en cuál estado final j adopta el sistema. No pueden ocurrir dos o más eventos de forma exactamente simultánea. Los tiempos de proceso de cada operario j en cada máquina m tienen una distribución exponencial con tasa conocida µjm , que depende las caracterı́sticas de la máquina m y del trabajador j. La distribución exponencial es utilizada para modelar procesos cuya duración tiene una alta variabilidad, ya que la desviación estándar es igual a la media. Por consiguiente, al utilizar este. 22.

(26) II.03(2)116 supuesto en el modelo, se estarı́a suponiendo un “worst case” con respecto a la variabilidad de los tiempos de proceso. Las tasas qij son los componentes de la matriz de tasas Q y equivalen a las µjm .. 6.2.. Medidas de Desempeño del Sistema. Las medidas que van a permitir comparar las distintas configuraciones de un sistema de Bucket Brigades son las siguientes: a. Tasa de producción Equivale a la tasa promedio o “de largo plazo” a la cual las máquinas terminan de procesar unidades. Es importante mencionar que en Bucket Brigades todas las máquinas deben producir a la misma tasa. Lo contrario significarı́a un aumento o disminución infinito en la cantidad de unidades promedio en el sistema. b. Tasa de ocupación de los operariosIndica el porcentaje del tiempo en que los operarios activos en las máquinas. c. Tasa de ocupación de las máquinasIndica el porcentaje del tiempo en que una máquina es utilizada. d. Cantidad promedio de unidades en búferes. En caso de existir búferes, esta cantidad debe ser sumada al número de operarios en el sistema para obtener la cantidad total promedio de unidades en la lı́nea de producción. e. Tiempo promedio que tarda una pieza en ser procesada. En todo sistema de producción se cumple la ley de Little. Según ésta, si λs es la tasa de producción de un sistema y L es el número promedio de unidades en el mismo sistema, entonces W, el tiempo promedio de una pieza en el sistema, es igual a: W =. 23. L λs.

(27) II.03(2)116. Capı́tulo VII PAQUETE “J MARKOV” “J Markov” es el paquete de programas creado por Germán Riaño en el lenguaje de programación Java y que aporta las bases para la formulación del sistema Bucket Brigades en el presente proyecto de grado. En la primera sección de este capı́tulo se presenta el algoritmo BuildRS [5], que constituye una herramienta básica en la construcción del paquete. En la segunda sección se introducen las principales clases del “J Markov” [7].. 7.1.. Algoritmo BuildRS. El algoritmo BuildRS permite la construcción computacional del modelo de un sistema como una cadena de Markov. Se presenta en el algoritmo (1).. 7.2.. “J Markov”. J Markov es un paquete, o conjunto de programas en el lenguaje Java, que provee las herramientas básicas para implementar computacionalmente cualquier cadena de Markov de tiempo discreto o continuo, que tenga un espacio de estados finito. Cada programa consta de “clases”, que continen funciones especı́ficas. Las clases pueden ser complementadas o “extendidas” por otras clases de otros programas en el lenguaje Java. Cuando una clase “extiende” a otra, puede también utilizar las funiciones de la clase que es extendida. Ésta es la forma como el paquete “J Markov” puede ser utilizado por otro paquete para implementar el modelaje de cualquier cadena de Markov. 24.

(28) II.03(2)116 Algoritmo 1 BuildRS Require: Un conjunto E de todos los posibles eventos en el sistema. Require: Un estado inicial del sistema i0 . Require: Reglas que definan si un evento e puede ocurrir en un estado i. 1: Al conjunto U se le adiciona i0 . 2: while U 6= ∅ do 3: Se substrae el primer estado si del conjunto U y se adiciona al conjunto S. Este estado está siendo “explorado”. for Para cada elemento e ∈ E do 4: 5: if Evento e es posible o “activo” en el estado si then 6: Definir su tasa de ocurrencia. 7: Definir el nuevo estado sd del sistema tras la ocurrencia del evento e. 8: if sd ∈ / (S ∪ U ) then 9: Adicional sd al conjunto U 10: end if 11: end if 12: end for 13: end while Datos de entrada del J Markov Como datos de entrada, J Markov necesita reglas que le permiten modelar un sistema como una cadena de Markov y desarrollar el algoritmo BuildRS. Estas reglas deben ser claramente definidas por el paquete que extiende a las clases de J Markov, y son las siguientes: Definición de los estados del sistema que se desea modelar como una cadena de Markov. Definición de los eventos posibles que pueden ocurrir en el sistema. Reglas que permitan determinar si un evento puede ocurrir dado un estado (función active). Reglas que indiquen el estado final que adopta el sistema, dados un estado inicial y un evento (función dests) Definición de la tasa de ocurrencia de cada evento posible para cada estado del sistema (función rates). 25.

(29) II.03(2)116 Definición de las medidas de desempeño del sistema que deben ser calculadas. Datos de Salida Medidas de desempeño del sistema. Probabilidades de estado estable para el sistema (πi ). Las clases principales de J Markov son MarkovProcess, State, Events y Eventsset, que se presentan a continuación. Clase MarkovProcess La clase MarkovProcess.class es la encargada de construir la cadena de Markov y de realizar todos los cálculos que permitan obtener las medidas de desempeño del sistema. Para tal fin, invoca a las demás clases y funciones de J Markov. Sus principales acciones son las siguientes: Comanda la creación de las funciones active, dests y rates, que son indispensables datos de entrada de J Markov y permiten el desarrollo del algoritmo BuildRS. Construye, por medio de la función “generate( )”, la cadena de Markov realizando el algoritmo BuildRS. Computa las probabilidades del estado estable, resolviendo las ecuaciones P ∗ Q = Q , como se explica en la sección 5.6.5. Calcula medidas de desempeño, utilizando las probabilidades del estado estable. Calcula la tasa promedio de ocurrencia de cada evento en el sistema. Clase State Designa que los estados de un sistema deben ser definidos por medio de una cadena de números, abriendo la posibilidad a múltiples definiciones de estados de un sistema. 26.

(30) II.03(2)116 Ordena en una lista todos los estados posibles del sistema, siguiendo un criterio que debe ser definido para cada caso. Ayuda a la generación de la matriz de tasas Q al procesar la tasas de entrada y salida de cada estado del sistema. Permite al usuario la definición de las medidas de desempeño del sistema que se quieren conocer. Clases Event y EventsSet La clase Event designa que los eventos posibles en un sistema se definen por medio de un conjunto de valores numéricos enteros. Crea una instancia de otra clase de Java denominada EventsSet, donde se agrupan y ordenan todos los eventos posibles en el sistema, para todos los estados en que éste puede adoptar. Event tiene una función que ordena crear una descripción para cada evento. Registra la frecuencia de ocurrencia de cada evento en el sistema.. 27.

(31) II.03(2)116. Capı́tulo VIII PAQUETE “BUCKETBRIGADES” BucketBrigades es el paquete, o conjunto de programas en Java, que se apalanca en el paquete J Markov para implementar el modelajde del sistema de producción Bucket Brigades. Para ésto, BucketBrigades extiende las clases del paquete J Markov y crea funciones adicionales. El paquete BucketBrigades contiene 3 programas: BucketBrigades.java, BucketBuffers.java y OptWorkerAlign.java, que se presentan a continuación.. 8.1.. BucketBrigades.java. BucketBrigades.java es un programa que modela un sistema de producción tipo Bucket Brigades, en el cual no existen espacios disponibles de búfer. Datos de Entrada BucketBrigades.java requiere de la matriz µmj que contiene las velocidades de proceso de cada operario j, j = 1, 2, 3, · · · J en cada máquina m, m = 1, 2, 3, · · · M . Datos de Salida El programa calcula la tasa promedio de producción del sistema, la tasa a la cual ocurre cada evento posible, y una serie de medidas de desempeño del sistema, que incluyen la ocupación promedio de los operarios y las máquinas, y la proporción de tiempo que cada operario permanece en cada una de las máquinas. En BucketBrigades.java, cada estado está definido por un vector de números enteros que compone de tres vectores concatenados:. 28.

(32) II.03(2)116 1. MaqOp Indica en cuál máquina se ubica cada uno de los trabajadores del sistema. 2. StatusOp Para cada operario, registra 1 si está activo y 0 de lo contrario. 3. StatusMaq Para cada máquina, registra 1 si la máquina está activa y 0 de lo contrario. Los dos últimos vectores, StatusOp y StatusMaq, pueden ser construidos a partir del primer vector, ya que los operarios permanecen en estricto orden entre sı́. Sin embargo, se incluyen en la definición de cada estado para facilitar el cálculo de las medidas de desempeño del sistema. Las operaciones fundamentales que ejecuta Bucket Brigades se presentan en el algoritmo 2.. 8.2.. OptWorkerAlign.java. OptWorkerAlign.java es un programa que determina el orden óptimo de los operarios en una lı́nea de producción tipo Bucket Brigades. Datos de Entrada OptWorkerAlign.java requiere de la matriz µmj que contiene las velocidades de proceso de cada operario j, j = 1, 2, 3, · · · J en cada máquina m, m = 1, 2, 3, · · · M . Datos de Salida El programa calcula el orden óptimo de los trabajadores dentro de la lı́nea de producción y todas las medidas de desempeño del sistema con esta configuración. Adicionalmente, reporta una lista ordenada del desempeño del sistema para cada una de las posibles configuraciones de los trabajadores. Las operaciones ejecutadas por OptWorkerAlign.java se muestran en el algoritmo 3.. 29.

(33) II.03(2)116 Algoritmo 2 BucketBrigades.java Require: Matriz µmj de velocidades de proceso de cada operario j, j = 1, 2, 3, · · · J en cada máquina m, m = 1, 2, 3, · · · M 1: Construye un conjunto E de los eventos posibles en el sistema. Éstos son la terminación de proceso una máquina m del sistema, por lo que se llama a cada evento em , m = 1, 2, ..., M 2: Construye estado inicial s0 , en el cual todos los operarios se encuentran en la primera máquina y solo el último está activo 3: Adiciona s0 al conjunto U de estados inexplorados 4: while U 6= ∅ do 5: Substrae el primer estado del conjunto U , denotado como el estado inicial si , y se adiciona al conjunto S. Este estado está siendo “explorado” 6: for Para cada elemento em ∈ E do 7: if Máquina m, correspondiente al evento em , está activa en el estado inicio si (función active) then 8: Determina cuál trabajador j ha terminado el proceso en la máquina m 9: Define la tasa de ocurrencia del evento em como µj,m (función rates) 10: if Máquina m, correspondiente al evento em , es la última máuqina M then 11: Aplica la “preemption rule”: Cada operario j toma el trabajo de j − 1. El primer operario toma una unidad de materia prima y se ubica en la primera máquina (función dests) 12: else 13: Operario j, que termina proceso en máquina m avanza a la máquina m + 1 (función dests) 14: end if 15: Describe el nuevo estado destino sd del sistema tras la ocurrencia del evento em se por medio de un nuevo vector que indica en cuál máquina se ubica cada operario if sd ∈ / S then 16: 17: Adiciona el estado destino sd al conjunto U 18: end if end if 19: 20: end for 21: end while 22: Construye la matriz de tasas Q, a partir de las tasas definidas por la función rates ~ de probabilidades del estado estable 23: Encuentra vector p 24: Calcula medidas de desempeño del sistema, utilizando el vector de probabilidades del estado estable p~ 25: Calcula la tasa promedio de ocurrencia de cada evento, utilizando el vector de probabilidades del estado estable p~ 26: Invoca una interfaz gráfica para mostrar los resultados de los cálculos hechos 30.

(34) II.03(2)116 Algoritmo 3 OptWorkerAlign.java Require: Matriz µmj de velocidades de proceso de cada operario j, j = 1, 2, 3, · · · J en cada máquina m, m = 1, 2, 3, · · · M 1: Construye un conjunto C con todas las posibles configuraciones de operarios en la lı́nea de producción ci , i = 1, 2, 3, · · · J! 2: while C 6= ∅ do 3: Se substrae un primer elemento ci del conjunto C Reordena la matriz µmj , para reflejar el orden de los operarios en la lı́nea de 4: producción dado por ci . Llamemos a esta nueva matriz µmj (i) 5: Invoca al programa BucketBrigades.java, con la matriz µmj (i) como datos de entrada. 6: Registra los datos de salida del programa BucketBrigades.java en una lista L. 7: end while 8: Ordena la lista L en orden descendiente de acuerdo a la tasa de producción obtenida para cada configuración de operarios. 9: Invoca una interfaz gráfica para mostrar la lista L.. 8.3.. BucketBuffers.java. El programa BucketBuffers.java es una modificación del programa BucketBrigades.java. Analiza el comportamiento de un sistema Bucket Brigades para el caso en que se permitan espacios de búfer en el sistema. Los casos en los cuales no se permiten espacios de búfer en la lı́nea de producción pueden también ser resueltos con BucketBuffers.java, aunque con un mayor tiempo de ejecución debido a que el algoritmo desarrollado por BucketBuffers.java es más complejo que el de BucketBrigades.java. Un espacio de búfer crea la posibilidad de que un operario coloque una unidad del producto en proceso en un espacio fı́sico y pueda tomar otra unidad distinta de producto en proceso para seguir trabajando. En el modelaje del sistema Bucket Brigades se hace el supuesto de que los espacios de búfer pueden estar ubicados solamente al pié de cada máquina. Es importante recordar que en la primera máquina se supone la existencia de una cantidad infinita de unidades en búfer. Datos de Entrada BucketBuffers.java requiere de la matriz µmj que contiene las velocidades de proceso de cada operario j, j = 1, 2, 3, · · · J en cada máquina m, m = 1, 2, 3, · · · M ,. 31.

(35) II.03(2)116 y del vector ~bm que contiene la capacidad máxima de los búferes que se encuentran al pié de cada máquina. Datos de Salida El programa calcula las mismas medidas de desempeño que el programa BucketBrigades.java, esta vez para un sistema en donde existen espacios de búfer. Adicionalmente arroja el número promedio de unidades que se encuentran en búfer al pié de cada máquina m, m = 1, 2, 3, · · · M . La nueva forma de definir un estado en BucketBuffers.java es a través de un vector de números enteros que se compone de cuatro partes: 1. MaqOp Indica en cuál máquina se ubica cada uno de los trabajadores del sistema. 2. StatusOp Para cada operario, registra 1 si está activo y 0 de lo contrario. 3. StatusMaq Para cada máquina, registra 1 si la máquina está activa y 0 de lo contrario. 4. NumInBuffers. Registra el número de espacios de búfer que se encuentran ocupados al pié de cada máquina, para las máquinas 2, 3, ..., M . Los vectores StatusOp y StatusMaq pueden ser construidos a partir del primer vector, ya que los operarios permanecen en estricto orden entre sı́. Sin embargo, se incluyen en la definición de cada estado para facilitar el cáclulo de medidas de desempeño del sistema. La diferencia más significativa entre BucketBuffers.java y BucketBrigades.java es la función dests, que desarrolla los algoritmos 4 y 5. La función dests de BucketBuffers.java incorpora las nuevas reglas de movimiento de los operarios cuando existen espacios de búfer en el sistema, como se explicó en la sección 5.2.. 32.

(36) II.03(2)116. Algoritmo 4 Función dests de BucketBuffers.java Require: Matriz µmj de velocidades de proceso de cada operario j, j = 1, 2, 3, · · · J en cada máquina m, m = 1, 2, 3, · · · M . Require: Vector b~m que indica la capacidad máxima de los búferes en cada máquina m, m = 1, 2, 3, · · · M . 1: Determina cuál operario j ha terminado el proceso en la máquina m, correspondiente a un evento em . 2: Determina el número de unidades que se encuentran en cada búfer del sistema. 3: {Caso 1:} 4: if Máquina m < M and Máquina m + 1 no está siendo utilizada then 5: Operario j avanza a la máquina m + 1 y sigue trabajando. 6: end if 7: {Caso 2:} 8: if Máquina m < M and Máquina m+1 está siendo utilizada and no hay espacio en el búfer de la máquina m + 1 then 9: Operario j avanza a la máquina m + 1 y queda inactivo. 10: end if 11: {Caso 3:} 12: if Máquina m < M and Máquina m + 1 está siendo utilizada and hay espacio en el búfer de la máquina m + 1 then Operario j deja la unidad que está procesando en el búfer de la máquina m+1 13: 14: Operario j retrocede en la lı́nea de producción en búsqueda de otra unidad para trabajar. Dests invoca la función Backwards(ver algoritmo 5), que determina la nueva posición del operario. 15: end if 16: {Caso 4:} 17: if Se presenta un reset. Es decir, el último operario (j = J) termina su proceso en la última máquina (m = M ) then 18: Operario J retrocede en la lı́nea de producción en búsqueda de otra unidad para trabajar. Dests invoca la función Backwards(ver algoritmo 5), que determina la nueva posición del operario. 19: end if. 33.

(37) II.03(2)116. Algoritmo 5 Función Bacwards de BucketBuffers.java Require: Identificar el operario j, que busca una nueva unidad. Require: Vector M aqOp, que registra las posiciones actuales de todos los operarios Require: Número de unidades que se encuentran en cada búfer del sistema. Require: Vector b~m que indica la capacidad máxima de los búferes en las máquinas m, m = 1, 2, 3, · · · M . 1: {Caso 1:} 2: if j > 1 and operario j − 1 está inactivo en la misma máquina que el operario j then 3: Operario j toma la pieza que tiene el operario j − 1. 4: Invoca recursivamente la misma función Backwards para el operario j − 1. 5: end if 6: {Caso 2:} 7: if Operario j encuentra una unidad en búfer en la máquina m donde se encuentra posicionado then 8: Operario j toma la unidad del búfer y se queda en la máquina m. 9: end if 10: {Caso 3:} 11: if Operario no encuentra unidad en búfer en la máquina m donde se encuentra and operario j − 1 no está inactivo en la máquina m and máquina m − 1 está inactiva then 12: Operario j retrocede a la máquina m − 1. 13: Se actualiza el vector MaqOp Se invoca recursivamente la función Backwards para el mismo operario j. 14: 15: end if 16: {Caso 4:} 17: if Operario no encuentra unidad en búfer en la máquina m donde se encuentra and máquina m − 1 está siendo utilizada por el operario j − 1 then 18: Operario j toma la pieza que está trabajando el operario j − 1, aplicando la “Preemption Rule”. 19: Se actualiza el vector MaqOp 20: Se invoca recursivamente la función Backwards para el operario j − 1. 21: end if 22: {Caso 5:} 23: if Operario j es el primero en la lı́nea de producción (j = 1) and Operario j se encuentra en la primera máquina de la lı́nea (m = 1) then Operario j se queda en su lugar. 24: 25: end if 26: Backwards actualiza las posiciones de los operarios en el sistema y el número de unidades en cada búfer.. 34.

(38) II.03(2)116. Capı́tulo IX RESULTADOS DEL MODELO Y CONCLUSIONES El presente capı́tulo presenta los resultados de los experimentos realizados computacionalmente. En la sección 9.1 se comparan los resultados obtenidos por Bishak [4] con los resultados de BucketBrigades.java. En la sección 9.2 se presentan algunas caracerı́sticas generales sistema Bucket Brigades, mientras que en la sección 9.3 se muestran resultados adicionales referentes al cambio de diferentes parámetros del modelo. Por último, la sección 9.4 presenta un resumen de resultados y conclusiones.. 9.1.. Comparación de Resultados con Modelo de Bishak. Los resultados obtenidos por Bishak al simular una lı́nea de producción con tiempos de proceso distribuidos exponencialmente coinciden con los resultados arrojados por la implementación en java de Bucket Brigades, que a su vez cumplen las fórmulas de Colas Circulares (ver sección 5.6.6). Los resultados de Bishak de la simulación de una lı́nea con tiempos de proceso distribuidos uniformemente muestran mayor tasa de producción que para el caso exponencial. Este resultado es razonable, dado una menor variabilidad de los tiempos de proceso implica una menor proporción del tiempo en que los operarios permanecen bloqueados. En la Tabla 1 se presenta la tasa de producción de una lı́nea de producción tipo. 35.

(39) II.03(2)116. J 3 4 5 6 7. Número de J=M Exp. Unif. 0.060 0.092 0.057 0.091 0.056 0.091 0.055 0.090 0.054 0.090. operarios por lı́nea de producción (J) J=M-1 J=M-2 J=M-3 Exp. Unif. Exp. Unif. Exp. Unif. 0.050 0.066 0.050 0.074 0.040 0.050 0.050 0.078 0.043 0.059 0.033 0.040 0.050 0.081 0.044 0.066 0.038 0.050 0.050 0.083 0.045 0.070 0.040 0.056. Tabla 1: Tasa de producción de lı́nea tipo Bucket Brigades para distintas combinaciones de máquinas y operarios por lı́nea, y tiempos de proceso con distribución exponencial(0.1) y uniforme (8.27,11.73) · ¸ 1 0,5 1,5 2,5 3,1 1,3 Tabla 2: Ejemplo 1. Matriz µjm de velocidades de proceso. Bucket Brigades con M máquinas y J operarios, en el cual los tiempos de proceso siguen una distribución uniforme (8.27,11.73) y una distribución exponencial (0.1). En los dos casos, la media de los tiempos de proceso es 0.1.. 9.2.. Caracterı́sticas Generales de Bucket Brigades como una CMTC. Se utilizan ejemplos para explicar más fácilmente algunas caracterı́sticas básicas del sistema de producción Bucket Brigades bajo el conjunto de supuestos resumidos en el capı́tulo 6. El primer ejemplo consiste en una lı́nea de producción con 4 máquinas y 2 operarios idénticos, que tienen velocidades de proceso como se indica en la Tabla 2 9.2.1.. Estados y Probabilidades del Sistema en el Largo Plazo. Cada estado tiene una probabilidad mayor que cero de ocurrir en el estado estable. Se puede decir, entonces, que todos los estados del sistema Bucket Brigades 36.

(40) II.03(2)116 Estado 00/01/1000 01/11/1100 02/11/1010 03/11/1001 11/01/0100 12/11/0110 13/11/0101 22/01/0010 23/11/0011 33/01/0001 Suma. : : : : : : : : : :. Probabilidad Largo P. 0.03 0.05 0.19 0.06 0.02 0.22 0.11 0.18 0.10 0.02 1.00. Operarios Máquinas Activos(j) Activas(m) 2 1 1,2 1,2 1,2 1,3 1,2 1,4 2 2 1,2 2,3 1,2 2,4 2 3 1,2 3,4 2 4. Tabla 3: Ejemplo 1. Probabilidades del estado estable Nombre de Evento Tasa Ocurrencia End of process on machine 0 0.38873 End of process on machine 1 0.38873 End of process on machine 2 0.38873 Reset 0.38873 Tabla 4: Ejemplo 1. Tasa de ocurrencia de eventos del sistema constituyen una sola clase comunicante cerrada. Los estados del Ejemplo 1 y sus respectivas probabilidades en el estado estable se muestran en la Tabla 3 9.2.2.. Eventos: Tasa de Producción. Los eventos, es decir, la finalización de los procesos en cada máquina de la lı́nea de producción, ocurren siempre a la misma tasa. Este es un resultado lógico, ya que esto garantiza que la cantidad de producto en proceso sea constante. Si una máquina terminara su proceso en promedio más rápido o más lento que las demás, implicarı́a un desbalanceo del sistema. La Tabla 4 resume la tasa de ocurrencia de eventos para el Ejemplo 1.. 37.

(41) II.03(2)116 Nombre de Medida de Desempeño Machine 1used by worker 1 Machine 2 used by worker 1 Machine 3 used by worker 1 Machine 4 used by worker 1 Machine 1 used by worker 2 Machine 2 used by worker 2 Machine 3 used by worker 2 Machine 4 used by worker 2 Status Worker 1 Status Worker 2 Status Machine 1 Status Machine 2 Status Machine 3 Status Machine 4 Number of active workers in the system. Valor Medio Desv.Est. 0.340 0.474 0.348 0.476 0.288 0.453 0.024 0.153 0.033 0.178 0.072 0.259 0.596 0.491 0.299 0.458 0.741 0.438 1.000 0.000 0.340 0.474 0.403 0.490 0.700 0.458 0.299 0.458 1.741 0.438. Tabla 5: Ejemplo 1. Medidas de desempeño calculadas por BucketBrigades.java 9.2.3.. Medidas de Desempeño. En la Tabla 5 se presentan los resultados de medidas de desempeño arrojados por el programa BucketBrigades.java para el mismo Ejemplo 1. Porcentaje de Tiempo que los Operarios Permanecen en las Máquinas Dado que los operarios tienen un orden fijo dentro de la lı́nea de producción, el porcentaje del tiempo que cada operario trabaja en cada máquina es diferente. La figura 1 muestra esta tendencia. Nótese cómo el operario 1 tiende a pasar una mayor parte de su tiempo en las máquinas 1 y 2, mientras que el operario 2 en las máquinas 3 y 4. Ocupación de los Operarios En una lı́nea de producción tipo Bucket Brigades el último operario siempre estáactivo. Los operarios precedentes tienden a estar activos una proporción inferior de tiempo. Esto es una consecuencia directa de los bloqueos que ocurren dentro del sistema, cuando un operario espera a que el siguiente operario desocupe la máquina. 38.

(42) II.03(2)116. P o rce n ta je d e tie m p o q u e lo s o p e ra rio s p e rm a n e ce n e n ca d a m á q u in a. M á q u in a. 4 3 2 1 0%. 20%. 40%. 60%. P o rce n ta je Operario 1. Operario 2. Figura 1: Ejemplo 1. Porcentaje de tiempo que cada operario permanece en cada máquina.. 39.

(43) II.03(2)116 . 1,0  1,0   1,0 1,0. 1,0 1,0 1,0 1,0. 1,0 1,0 1,0 1,0. 1,0 1,0 1,0 1,0. 1,0 1,0 1,0 1,0. 1,0 1,0 1,0 1,0. 1,0 1,0 1,0 1,0.  1,0 1,0   1,0  1,0. Tabla 6: Ejemplo 2. Matriz µjm de velocidades de proceso. Ocupación Promedio de los Operarios ( %) Occ. Worker 1 0.6364 Occ. Worker 2 0.6364 Occ. Worker 3 0.6364 Occ. Worker 4 1.0000 Tabla 7: Ejemplo 2. Ocupación promedio de los operarios en la cual está trabajando. Este comportamiento se puede observar en la Tabla 5. El operario 2 está activo el 100 % de su tiempo, con una desviación estándar igual a cero, mientras que el operario 1 está activo un 74.1 % de su tiempo. Para observar otra caracterı́stica de la ocupación de los operarios, se han diseñado los Ejemplos 2 y 3, consistentes en una lı́nea de producción con 8 máquinas y 4 operarios. La matriz de velocidades de proceso µjm para el Ejemplo 2 se muestra en la Tabla 6 En el Ejemplo 2 se observa un patrón de ocupación de los operarios como en la Tabla 7. La ocupación promedio de los trabajadores 1,2, y 3 del Ejemplo 2 es idéntica, dado que todos tienen la misma velocidad de producción en todas las máquinas, y por consiguiente, permanecen bloqueados o en espera por fracciones de tiempo equivalentes. Si se supone que los operarios no son homogéneos, es decir, que tienen velocidades distintas en las máquinas, los operarios tienden a estar activos en una proporción decreciente de su tiempo. Para mostrar este comportamiento, se diseñó el Ejemplo 3, de una lı́nea de producción con 8 máquinas y 4 operarios, cuya matriz de velocidades µjm se presenta 40.

(44) II.03(2)116 . 1,0  1,5   2,0 2,5. 1,0 1,5 2,0 2,5. 1,0 1,5 2,0 2,5. 1,0 1,5 2,0 2,5. 1,0 1,5 2,0 2,5. 1,0 1,5 2,0 2,5. 1,0 1,5 2,0 2,5.  1,0 1,5   2,0  2,5. Tabla 8: Ejemplo 3. Matriz µjm de velocidades de proceso. Ocupación Promedio de los Operarios ( %) Occ. Worker 1 0.6364 Occ. Worker 2 0.7331 Occ. Worker 3 0.7547 Occ. Worker 4 1.0000 Tabla 9: Ejemplo 3. Ocupación promedio de los operarios en la Tabla 8: La ocupación promedio de los operarios del Ejemplo 3, presentada en la Tabla 9 muestra una tasa de ocupación distinta (decreciente)para todos los operarios. Ocupación de las Máquinas La proporción de tiempo que cada máquina permanece ocupada depende del tiempo promedio que dura el proceso en la misma. Volvamos al Ejemplo 2, cuya matriz µjm de velocidades de proceso se muestra en la Tabla 6. En este ejemplo los tiempos promedio de proceso en todas las máquinas es igual. Por esta razón, las máquinas permanecen ocupadas, en promedio, la misma fracción de tiempo, como lo muestra la Tabla 10. Para una lı́nea de producción, en la cual los tiempos de proceso en las máquinas son diferentes, se observa un comportamiento distinto. Éste se muestra mediante el Ejemplo 4, que tiene una matriz de velocidades de proceso µjm como se muestra en la Tabla 11. Para la lı́nea de producción del Ejemplo 4 se observa una ocupación promedio de las máquinas como se muestra en la Tabla 12. Las máquinas que requieren de mayor tiempo de proceso, o lo que es equivalente, tienen una menor velocidad promedio de proceso, permanecen ocupadas por una proporción mayor de tiempo. 41.

(45) II.03(2)116. Ocupación Promedio de las Máquinas ( %) Occ. Machine1 0.3636 Occ. Machine2 0.3636 Occ. Machine3 0.3636 Occ. Machine4 0.3636 Occ. Machine5 0.3636 Occ. Machine6 0.3636 Occ. Machine7 0.3636 Occ. Machine8 0.3636 Tabla 10: Ejemplo 2. Ocupación promedio de las Máquinas. . 1,0  1,0   1,0 1,0. 2,0 2,0 2,0 2,0. 3,0 3,0 3,0 3,0. 4,0 4,0 4,0 4,0. 4,0 4,0 4,0 4,0. 3,0 3,0 3,0 3,0. 2,0 2,0 2,0 2,0.  1,0 1,0   1,0  1,0. Tabla 11: Ejemplo 4. Matriz µjm de velocidades de proceso.. Ocupación Promedio de las Máquinas ( %) Occ. Machine1 0.63123 Occ. Machine2 0.31562 Occ. Machine3 0.21041 Occ. Machine4 0.15781 Occ. Machine5 0.15781 Occ. Machine6 0.21041 Occ. Machine7 0.31562 Occ. Machine8 0.63123 Tabla 12: Ejemplo 4. Ocupación promedio de las Máquinas. 42.

(46) II.03(2)116. Máquina. Ocupación Promedio. 1 2 3 4 5 6 7 8. Velocidad Promedio. 0.631 0.316 0.210 0.158 0.158 0.210 0.316 0.631. 1.0 2.0 3.0 4.0 4.0 3.0 2.0 1.0. Ocupación Promedio* Velocidad 0.631 0.631 0.631 0.631 0.631 0.631 0.631 0.631. Tabla 13: Ejemplo 4. El producto de ocupación promedio y la velocidad de proceso promedio para cada máquina es constante, e igual a la tasa de producción del sistema Por otro lado, la tasa de ocupación promedio de cada máquina multiplicada por la velocidad promedio de proceso en la misma, da como resultado la tasa de producción de la lı́nea, tal como se muestra en la Tabla 13.. 9.3. 9.3.1.. Respuesta del Modelo a Cambios en sus Parámetros Número de Trabajadores por Lı́nea de Producción. La contribución marginal del número de trabajadores por lı́nea de producción es decreciente. Para mostrar esta caracterı́stica, se diseñó el Ejemplo 5. En el Ejemplo 5 se tiene una lı́nea de producción tipo Bucket Brigades con 4 máquinas. Se tienen varios operarios, todos con velocidad de proceso en cada máquina igual a 1.0. Se registra el cambio en la tasa de producción del sistema vs. el número de operarios que trabajan en la lı́nea de producción. Los resultados se muestran en la figura 2. Se puede apreciar que la contribución de nuevos operarios a la lı́nea de producción es marginalmente decreciente.. 43.

(47) II.03(2)116 0.75 0.7. Tasa de Produccion. 0.65 0.6 0.55 0.5 0.45 0.4 0.35 0.3 0.25. 1. 2. 3 4 5 6 7 Numero de Trabajadores en Linea de Produccion. 8. 9. Figura 2: Ejemplo 5. La tasa de producción de la lı́nea tiene crecimientos marginalmente decrecientes causados por la adición de operarios.. 9.3.2.. Número de Lı́neas de Producción. Aunque pueda parecer obvio, es importante mencionar que la tasa de producción de un conjunto de lı́neas de producción Bucket Brigades crece linealmente con el número de lı́neas de producción idénticas, como se muestra en la figura 3. Si se tienen varios operarios y varias lı́neas de producción, la tasa de producción conjunta puede variar considerablemente de acuerdo al número de lı́neas de producción utilizadas y la cantidad de operarios en cada una de ellas. La Tabla 14 muestra los resultados de utilizar 1,2 o 4 lı́neas de producción iguales a las del Ejemplo 5 en un sistema con 8 operarios. 9.3.3.. Número de Máquinas por Lı́nea de Producción. Un aumento de máquinas en una lı́nea de producción Bucket Brigades incrementa necesariamente el tiempo esperado de proceso T , disminuyendo la tasa de producción de la lı́nea. La cantidad de unidades L en el sistema Bucket Brigades es constante, e igual al. 44.

(48) II.03(2)116. 2.5. Tasa de Produccion. 2. 1.5. 1. 0.5. 0. 1. 2. 3. 4 5 6 7 Numero de Lineas de Produccion. 8. 9. 10. Figura 3: Ejemplo 5. La tasa de producción de un sistema Bucket Brigades crece linealmente con el número de lı́neas de producción idénticas en operación. Número de Lı́neas de Producción 1 2 4. Número de Operarios por Linea de Producción 8 4 2. Tasa de Producción por Lı́nea. Tasa de Producción Total. 0.73 0.57 0.40. 0.73 1.14 1.60. Tabla 14: La tasa de producción de 8 operarios cambia significativamente con en número de lı́neas de producción en las cuales se reparten los operarios. 45.

(49) II.03(2)116 0.7 0.65 0.6 Tasa de Produccion. 0.55 0.5 0.45 0.4 0.35 0.3 0.25 0.2 0.15. 2. 3. 4 5 6 7 8 Numero de Maquinas por Linea de Produccion. 9. 10. Figura 4: La tasa de producción de una lı́nea de producción tipo Bucket Brigades decrece con un aumento del número de máquinas en la lı́nea. número de operarios más las unidades en búfer, por ser éste un sistema estilo “pull”. Recordemos la Ley de Little: T asaP rod = L/T Según la ley de Little, la tasa de producción del sistema disminuye con un aumento en T , si L permanece constante. En la figura 4, se puede observar esta tendencia. Se modela una lı́nea de producción tipo Bucket Brigades con 2 operarios, que tienen una velocidad de proceso igual a 1 en todas las máquinas. 9.3.4.. Velocidad de Proceso de los Trabajadores en las Máquinas. Cambios en la velocidad de proceso de los trabajadores en las diferentes máquinas de una lı́nea de producción tienen efectos directos sobre la tasa de producción del sistema y la ocupación promedio de los demás trabajadores. Los cambios de velocidad en todas las máquinas para el último operario de la lı́nea de producción tienen efectos marginales constantes sobre la tasa de producción 46.

(50) II.03(2)116 ·. 1,0 1,0 1.0 1.0. 1,0 1,0 1.0 1.0. ¸. Tabla 15: Ejemplo 6. Matriz µjm de velocidades de proceso. 2.2 2. Tasa de Produccion. 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4. 1. 2. 3 4 5 6 Velocidad de Operario No. 2 en todas las Maquinas. 7. 8. Figura 5: Ejemplo 6. La tasa de producción de una lı́nea de producción tipo Bucket Brigades crece linealmente con un aumento de velocidad del último operario en todas las máquinas. de la lı́nea, modificando la ocupación promedio de los otros operarios. Esta caracterı́stica se ilustra por medio del Ejemplo 6. En este ejemplo, se tiene una lı́nea de producción con 4 máquinas y una matriz µjm de velocidades de proceso como se muestra en la Tabla 15. Se procede a incrementar la velocidad del operario 2 (resaltado en negrilla en la Tabla 15), obteniendo resultados resumidos en la figura 5 Al mismo tiempo, la ocupación promedio de los operarios anteriores tiende a aumentar con un aumento de la velocidad de proceso del último operario en todas las máquinas, como se muestra en la figura 6.. 47.

(51) II.03(2)116. Ocupacion Promedio del Operario No. 1. 0.78 0.76 0.74 0.72 0.7 0.68 0.66 0.64 0.62 0.6 0.58. 1. 2 3 4 5 6 7 Velocidad de Proceso del Operario No. 2 en todas las Maquinas. 8. Figura 6: Ejemplo 6. La ocupación del primer operario aumenta con aumentos de velocidad del último operario en todas las máquinas ·. 1,0 1,0 1,0 1,0 1,0 1,0 1,0 1.0. ¸. Tabla 16: Ejemplo 6. Matriz µjm de velocidades de proceso. Se incrementa velocidad del operario 2 en la máquina 4. Por el contrario, los cambios de velocidad de un operario especı́fico en una máquina especı́fica muestran contribuciones marginales decrecientes en la tasa de producción al mismo tiempo que reducen la ocupación promedio de los otros operarios. Esta caracterı́stica se puede observar en el Ejemplo 6. Supongamos, que en vez de incrementar la velocidad de proceso del último operario en todas las máquinas, solamente se incrementa su velocidad de proceso para la máquina 4. En la Tabla 16 se encuentra resaltada en negrilla la velocidad de proceso que se incrementa. Los efectos de incrementar la velocidad de proceso del operario 2 en la máquina 4 se presentan en las figuras 7 y 8. En la figura 7 se aprecia cómo el aumento de velocidad de proceso del operario 2 en la máquina 4 tiene efectos marginales decrecientes sobre la tasa de producción.. 48.

(52) II.03(2)116 0.49 0.48. Tasa de Produccion. 0.47 0.46 0.45 0.44 0.43 0.42 0.41 0.4. 1. 2. 3 4 5 6 Velocidad del Operario No. 2 en la Maquina No. 4. 7. 8. Figura 7: Ejemplo 6. La tasa de producción de la lı́nea tiene aumentos marginales decrecientes producidos por incrementos en la velocidad de proceso del operario 2 en la máquina 4.. Al mismo tiempo, el aumento de velocidad de proceso del operario 2 en la máquina 4 reduce la ocupación promedio del primer operario, como se muestra en la figura 8. Este fenómeno tiene sentido si se piensa que el operario 2 permanece en promedio una mayor fracción de su tiempo en las máquinas 1, 2 y 3 según su velocidad en la máquina 4 aumenta, bloqueando al operario 1 más frecuentemente. 9.3.5.. Uniformidad de los Operarios. Para una lı́nea de producción, no es lo mismo tener trabajadores con velocidades de proceso iguales a V , que tener trabajadores con velocidades de proceso que en promedio son iguales a V . Este resultado se muestra mediante el Ejemplo 7, en el cual se modela una lı́nea de producción con 4 máquinas y tres trabajadores. En el primer caso (Ejemplo 7a), todos los trabajadores tienen una velocidad de proceso igual a 1.0 para todas las máquinas, como se muestra en la Tabla 17. En el. 49.

(53) II.03(2)116. Ocupacion Promedio del Operario No. 1. 0.6 0.59 0.58 0.57 0.56 0.55 0.54 0.53 0.52. 1. 2 3 4 5 6 7 Velocidad de Proceso del Operario No.2 en la Maquina No. 4. 8. Figura 8: Ejemplo 6. La tasa de ocupación promedio del operario 1 se reduce debido a incrementos en la velocidad de proceso del operario 2 en la máquina 4. .  1,0 1,0 1,0 1,0  1,0 1,0 1,0 1,0  1,0 1,0 1,0 1,0 Tabla 17: Ejemplo 7a. Matriz µjm de velocidades de proceso. segundo y en el tercer caso (Ejemplos 7b y 7c), los trabajadores tienen velocidades de proceso que en promedio son iguales al Ejemplo 7a, como se muestra en las Tablas 18 y 19. Los resultados del modelo indican que las tasas de producción para cada caso (Ejemplos 7a, 7b y 7c) son distintas, como lo indica la Tabla 20 La explicación de esta caracterı́stica, es que cada trabajador tiende a estar más ocupado que el anterior. Si los trabajadores que están ocupados una mayor parte del tiempo operan con una velocidad mayor, esto aumenta necesariamente la tasa de producción.. 50.

(54) II.03(2)116 .  0,5 0,5 0,5 0,5  1,0 1,0 1,0 1,0  1,5 1,5 1,5 1,5 Tabla 18: Ejemplo 7b. Matriz µjm de velocidades de proceso.   0,2 0,2 0,2 0,2  1,0 1,0 1,0 1,0  1,8 1,8 1,8 1,8 Tabla 19: Ejemplo 7c. Matriz µjm de velocidades de proceso. 9.3.6.. Orden de los Trabajadores con Distintas Velocidades de Proceso en la Lı́nea de Producción. Se ha visto que en una lı́nea de producción cada trabajador tiende a estar más ocupado que el anterior. Suponiendo que cada trabajador tiene un conjunto diferente de velocidades de proceso en las máquinas de la lı́nea de producción, el orden en que se encuentren los operarios modifica la tasa de producción del sistema. Esta caracterı́stica se muestra mediante el Ejemplo 8, en donde se modela una lı́nea de producción con 4 máquinas y 4 operarios. La matriz µjm de velocidades de proceso de cada operario del Ejemplo 8 se presenta en la Tabla 21. En este ejemplo cada operario es especialmente rápido en una máquina distinta. Para cada forma de ordenar los operarios en la lı́nea de producción del Ejemplo 8 se obtiene una tasa de producción distinta, como se observa en la Tabla 22. Este comportamiento se debe a que cada operario distribuye su tiempo en las máquinas de forma diferente y a que cada operario tiene un conjunto distinto de velocidades Ejemplo Número 7a 7b 7c. Tasa de Producción 0.50 0.60 0.65. Tabla 20: La tasa de producción de la lı́nea es diferente para los Ejemplos 7a, 7b y 7c. 51.

(55) II.03(2)116 . 1,0  1,0   1,0 2,0. 1,0 1,0 2,0 1,0. 1,0 2,0 1,0 1,0.  2,0 1,0   1,0  1,0. Tabla 21: Ejemplo 8. Matriz µjm de velocidades de proceso. Orden de los Operarios {2, 4, 3, 1} {4, 3, 2, 1} {2, 3, 1, 4} {3, 2, 1, 4}. Tasa de Producción 0.721 0.719 0.600 0.592. Número Promedio de Operarios Activos 2.261 2.098 2.250 2.215. Tabla 22: El orden de los operarios heterogéneos en una lı́nea de producción altera la tasa de producción de la lı́nea. Una mayor ocupación promedio de los empleados no implica necesariamente una mayor tasa de producción para la lı́nea. de proceso. La configuración óptima de operarios en la lı́nea se da cuando cada operario se ubica primordialmente en aquellas máquinas en donde es relativamente más rápido que los demás operarios. De este ejemplo se puede obtener una conclusión adicional: una mayor ocupación promedio de los empleados no implica necesariamente una mayor tasa de producción para la lı́nea. En la Tabla 22 se puede observar esto para las filas 2 y 3 (celdas resaltadas en negrilla). Si bien en la configuración de operarios de la fila 2 de la Tabla 22 (4, 3, 2, 1) los operarios permanecen ocupados por una menor fracción de su tiempo, éstos tienden a estar ocupados en máquinas en las cuales son relativamente más rápidos que los demás. En la configuración de operarios (2,3,1,4), los operarios pueden estar ocupados una mayor fracción de su tiempo, pero esto no compensa por el hecho de que éstos tienden a ubicarse en máquinas en las cuales no son relativamente tan rápidos como en la configuración (4, 3, 2, 1). Por medio del programa combinatoria.java, se puede determinar para cualquier caso el orden óptimo de los operarios en una lı́nea de producción.. 52.

Referencias

Documento similar

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

If certification of devices under the MDR has not been finalised before expiry of the Directive’s certificate, and where the device does not present an unacceptable risk to health

In addition to the requirements set out in Chapter VII MDR, also other MDR requirements should apply to ‘legacy devices’, provided that those requirements

The notified body that issued the AIMDD or MDD certificate may confirm in writing (after having reviewed manufacturer’s description of the (proposed) change) that the

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

(*) Conforme a lo establecido en el apartado 1.6 del Real Decreto 373/2020, de 18 de febrero de 2020, por el que se desarrolla la estructura orgánica básica del Ministerio de