Modelaje del Sistema de Producci¶on Bucket Brigades
Transcript of Modelaje del Sistema de Producci¶on Bucket Brigades
Modelaje del Sistema de Produccion Bucket
Brigades
Trabajo de TesisPresentado al
Departamento de Ingenierıa Industrial
por
Diego Rojas Paez
Para optar al Tıtulo deIngeniero Industrial
Ingenierıa IndustrialUniversidad de los Andes
27 de enero de 2004
Modelaje del Sistema de Produccion Bucket
Brigades
Aprobado por:
Profesor German Riano Ph.D., Asesor
Profesor Fernando Palacios Ph.D.
Fecha de Aprobacion
II.03(2)116
RESUMEN
En el presente documento se modela el sistema de produccion “Bucket
Brigades” como una cadena de Markov de tiempo continuo (CMTC). El modelaje
es implementado en el lenguaje de programacion Java, permitiendo el analisis de
las caracterısticas del sistema. Con base en los resultados obtenidos, se propone un
algoritmo para configurar cualquier sistema de produccion tipo “Bucket Brigades”
bajo los supuestos hechos en el modelo.
iii
II.03(2)116
TABLA DE CONTENIDO
RESUMEN III
I. INTRODUCCION 4
II. DEFINICION DEL PROBLEMA 6
III. OBJETIVOS 7
IV. METODOLOGIA 8
V. MARCO TEORICO 9
5.1. Generalidades del Sistema Bucket Brigades . . . . . . . . . . . . . . 9
5.2. Movimiento de los Trabajadores en el Sistema . . . . . . . . . . . . 9
5.3. Utilizacion 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 Teorico de las Cadenas de Markov de Tiempo Continuo 15
5.6.1. Procesos Estocasticos . . . . . . . . . . . . . . . . . . . . . . 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
II.03(2)116
VI. MODELAJE DEL SISTEMA BUCKET BRIGADES 21
6.1. Supuestos del Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.2. Medidas de Desempeno 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. Comparacion 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 Produccion . . . . . . . . . . . . . . . . . . 37
9.2.3. Medidas de Desempeno . . . . . . . . . . . . . . . . . . . . . 38
9.3. Respuesta del Modelo a Cambios en sus Parametros . . . . . . . . . 43
9.3.1. Numero de Trabajadores por Lınea de Produccion . . . . . . 43
9.3.2. Numero de Lıneas de Produccion . . . . . . . . . . . . . . . . 44
9.3.3. Numero de Maquinas por Lınea de Produccion . . . . . . . . 44
9.3.4. Velocidad de Proceso de los Trabajadores en las Maquinas . . 46
9.3.5. Uniformidad de los Operarios . . . . . . . . . . . . . . . . . . 49
9.3.6. Orden de los Trabajadores con Distintas Velocidades de Pro-ceso en la Lınea de Produccion . . . . . . . . . . . . . . . . . 51
9.3.7. Cantidad de Espacios de Bufer en la Lınea de Produccion . . 53
9.3.8. Posicion de Espacios de Bufer en Lınea de Produccion . . . . 55
2
II.03(2)116
9.4. Resumen de Resultados y Conclusiones - Reglas de uso general . . . 56
9.5. Sugerencias para Investigaciones Posteriores . . . . . . . . . . . . . . 58
X. HEURISTICO PARA CONFIGURAR LINEAS DE PRODUC-CION TIPO BUCKET BRIGADES 59
10.1. Heurıstico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
10.2. Ejemplo de Aplicacion del Heurıstico . . . . . . . . . . . . . . . . . 59
10.3. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
XI. MANUAL DEL USUARIO - BUCKETBRIGADES 68
11.1. Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
11.2. Instalacion 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
II.03(2)116
Capıtulo I
INTRODUCCION
En el presente proyecto de grado se hace un aporte al estudio del sistema de
produccion “Bucket Brigades”.
Bucket Brigades fue desarrollado en la decada de los 70‘s por la companıa Toyota
Sewn Products con el fin de optimizar la manufactura de forros para carros, recibien-
do inicialmente el nombre de “Toyota Sewn Products System” o “TSS”. La primera
implementacion 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 ingles “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
descripcion y algunas caracterısticas generales de este sistema de produccion.
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 seccion 5.5.
En este proyecto de grado se modela el sistema Bucket Brigades como una cadena
de Markov de tiempo continuo (CMTC), cuyo fundamento teorico se presenta en
la seccion 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 programacion Java. El capıtulo 7 presenta el paquete “J Markov”, creado por
el Profesor German Riano para modelar y resolver computacionalmente cualquier
4
II.03(2)116
cadena de Markov finita. El “J Markov” sirve como base para la implementacion
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 tam-
bien proponer un heurıstico para configurar cualquier sistema de produccion tipo
BucketBrigades bajo el conjunto de supuestos hechos. La propuesta del heurıstico
se presenta en el capıtulo 10.
La aplicacion del heurıstico propuesto a un caso practico requiere de los resulta-
dos computacionales de la implementacion del modelo de Bucket Brigades en Java.
Por tal razon, se incluye en los Anexos un breve manual del usuario, en donde se
dan consejos para una adecuada instalacion de Java en el computador y el uso del
paquete “BucketBrigades”.
5
II.03(2)116
Capıtulo II
DEFINICION DEL PROBLEMA
No se han conducido analisis del sistema Bucket Brigades bajo el siguiente con-
junto de supuestos:
a. Los trabajadores pueden no ser consistentemente rapidos o lentos.
b. Peden existir espacios de bufer disponibles en la lınea de produccion
c. Los trabajadores pueden quedar en estado de espera si no pueden avanzar a
la siguiente maquina con la unidad que actualmente estan trabajando.
d. Los tiempos de proceso en las maquinas del sistema son aleatorios, suponiendo
que estan distribuidos de forma exponencial.
Los anteriores supuestos (a− d) hacen que el modelaje del sistema Bucket Bri-
gades sea mas fiel a la realidad, otorgando significado al desarrollo de un modelo
que los incluya.
6
II.03(2)116
Capıtulo III
OBJETIVOS
1. Conocer mejor las caracterısticas del sistema de produccion Bucket Brigades,
modelandolo bajo un nuevo conjunto de supuestos.
2. Apalancarse en el modelo y las conclusiones obtenidas a partir de este para
proponer un heurıstico que permita encontrar una configuracion razonable
para cualquier sistema de produccion Bucket Brigades, teniendo en cuenta el
conjunto de supuestos hechos.
7
II.03(2)116
Capıtulo IV
METODOLOGIA
1. Modelar al sistema de Bucket Brigades como una cadena de Markov de tiempo
Continuo (CMTC).
2. Implementar el modelo en un lenguaje de programacion.
3. Investigar las caracterısticas del sistema Bucket Brigados bajo el conjunto de
supuestos, por medio de la realizacion de experimentos con el programa creado.
Evualuar efectos de la variacion de los parametros del sistema, como lo son el
numero de operarios, maquinas y espacios de bufer, la ubicacion de operarios
y buferes en la lınea de produccion, entre otros.
4. Analizar los resultados del modelo y deducir reglas de uso general, que pue-
dan servir para configurar los sistemas estilo Bucket Brigades de una forma
razonable.
8
II.03(2)116
Capıtulo V
MARCO TEORICO
5.1. Generalidades del Sistema Bucket Brigades
Bucket Brigades es una forma de organizar trabajadores en una lınea de produc-
cion en la cual hay un mayor numero de maquinas que de operarios.
En este sistema, cada maquina puede ser operada solamente por un trabajador
a la vez, y cada trabajador puede procesar solamente una unidad al mismo tiempo.
Cada maquina puede tener espacios de bufer, en donde se almacenan unidades de
producto en proceso.
Los trabajadores conservan una secuencia definida, y estan ordenados de forma
tal que ninguno puede adelantar a otro a lo largo de la lınea de produccion. Todos
los trabajadores estan en capacidad de operar cualquiera de las maquinas de la lınea
de produccion.
5.2. Movimiento de los Trabajadores en el Sis-
tema
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 maquinas en el esquema de produccion tambien es constante, y se
puede dar un ındice a cada maquina m, (m = 1, 2, ..., M).
Los movimientos de los trabajadores a lo largo de la lınea de produccion se
pueden dividir en dos grupos: movimientos hacia delante (en la misma direccion del
flujo de trabajo de la lınea)y movimientos hacia atras.
9
II.03(2)116
Movimiento Hacia Delante:
Supongase que en la lınea de produccion un trabajador j se encuentra trabajando
una pieza en la maquina mj. Cuando termina el proceso, el trabajador avanza en la
lınea de produccion hasta la siguiente maquina, mj + 1.
a. Si la maquina mj +1 se encuentra disponible, el trabajador j puede continuar
el proceso de la pieza en mj + 1.
b. Si la maquina mj +1 se encuentra ocupada, el trabajador j tiene dos opciones:
Dejar la unidad que tiene en las manos en el bufer de la maquina mj + 1
(si existe un bufer y si este no esta lleno) y devolverse a lo largo de la lınea
de produccion para tomar otra unidad (ver Movimiento Hacia Atras)
Esperar en la maquina mj + 1(estado de bloqueo o inactivo) hasta que
esta se desocupe, y luego continuar el proceso.
c. Si el trabajador es el ultimo de la lınea (j = J), y si termina el proceso en
la ultima maquina (mj = M), el operario va automaticamente hacia atras en
busqueda de una nueva unidad para trabajar ( ver Movimiento Hacia Atras).
Este evento se denomina “Reset”.
Movimiento Hacia Atras
Supongase que en la lınea de produccion un trabajador j se encuentra en la
maquina mj y no tiene una unidad de producto en proceso en sus manos. El tra-
bajador j se debe mover en sentido contrario al flujo de proceso en la lınea con
el unico objetivo de tomar la primera unidad de trabajo en proceso que encuentre
para trabajar en ella. Esta unidad puede estar contenida en un bufer, o puede estar
siendo procesada por otro operario (j − 1).
a. Si la primera unidad que encuentra el operario j esta en el bufer de la maquina
mb, el operario la toma y sigue el proceso en la maquina mb.
b. Si la primera unidad que encuentra el operario j esta en manos del operario
j − 1, en la maquina mj−1 se aplica la “preemption rule”. Segun esta regla, el
10
II.03(2)116
trabajador j debe tomar el trabajo del trabajador j − 1, y continuarlo en la
maquina mj−1. El trabajador j − 1, ahora inactivo, debe moverse hacia atras
en busca de otra pieza para trabajar.
c. Para el caso en que m = 1, se asume que en la primera maquina existe un
bufer que contiene una cantidad inagotable de unidades de materia prima,
proveyendo al sistema constantemente.
5.3. Utilizacion del Sistema Bucket Brigades
Bucket Brigades es tıpicamente utilizado en lıneas de produccion donde hay un
mayor numero de maquinas que de operarios, y por consiguiente, su uso es mas
frecuente en paıses donde el factor de produccion capital es relativamente barato en
comparacion 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 produccion debe responder rapidamente
a cambios de diseno 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 perdidas si la demanda por productos cambia subitamente.
Generalmente, las lıneas de produccion 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 (maquinas) que
quedan a la altura del pecho. De esta forma, los operarios pueden desplazarse mas
rapidamente, siguiendo las reglas de movimiento de operarios expuestas en la seccion
5.2.
Se han observado sistemas Bucket Brigades con 2 a 16 operarios, pero los sistemas
con 12 o mas operarios son generalmente vistos como suboptimos. Usualmente hay
2,5 maquinas por cada operario [4].
5.4. Ventajas y Desventajas del Sistema Bucket
Brigades
Ventajas
11
II.03(2)116
a. Flexibilidad en el ajuste del volumen de produccion. La mas importan-
te de las ventajas de Bucket Brigades es su alta flexibilidad en el cambio de la
tasa de produccion, al simplemente adicionar o retirar trabajadores de la lınea
de produccion. El ajuste de la tasa de produccion serıa mas difıcil para siste-
mas en los cuales los trabajadores estan fijos en las maquinas, y se tendrıan
que modificar los tiempos de trabajo o rebalancear las lıneas de produccion.
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 produccion esta condicionada por la salida de
una unidad de producto terminado. Cada trabajador constituye a su vez un
subsistema que tambien 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 esta saturado,
manteniendo niveles promedio de producto en proceso mas altos.
c. Elevada productividad del personal Con Bucket Brigades, los trabaja-
dores permanecen mas tiempo ocupados que en otros sistemas de produccion
convencionales [4]. De esta forma, la productividad de los trabajadores se man-
tiene en niveles elevados.
d. Se facilita el monitoreo de la productividad de cada trabajador En
una lınea de produccion, los trabajadores mas rapidos tienden a aportar una
mayor proporcion del trabajo total realizado en el proceso de produccion en
comparacion con los demas operarios. Este es un hecho visible que puede ser
facilmente identificado por los administradores de produccion.
e. Se facilita la deteccion de problemas de calidad El bajo nivel de pro-
ducto en proceso permite que un problema de calidad pueda ser rastreado mas
rapidamente.
f. Mayor motivacion para los trabajadores. Bucket Brigades requiere de un
12
II.03(2)116
buen trabajo en grupo. Cada trabajador se desplaza para cambiar de maqui-
na y desarrolla varias tareas distintas, haciendo que su trabajo sea menos
monotono y que el trabajador sea menos propenso a sufrir lesiones fısicas co-
mo producto de errores de postura, en compoaracion con otros sistemas de
produccion.
Desventajas
a. El entrenamiento de trabajadores para operar varias maquinas (crosstraining)
puede ser costoso.
b. La introduccion de trabajadores no entrenados al sistema de produccion puede
reducir la tasa de produccion de toda la lınea hasta que el nuevo trabajador
este entrenado completamente.
5.5. Literatura Existente Acerca de Bucket Bri-
gades
Dos de las mas importantes fuentes bibliograficas 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 Bri-
gades como heterogeneos, con la propiedad de que pueden ser consistentemente
ordenados del mas rapido al mas lento.
En el modelaje de Bartholdi no se distinguen maquinas a lo largo de la lınea
de produccion. Esta es modelada como una distancia de longitud fija L que cada
trabajador j recorre con una velocidad conocida y constante vj, que depende del
numero de maquinas del sistema y de las habilidades del operario j.
El sistema se balancea automaticamente, sin importar la posicion inicial de los
operarios en la lınea de produccion, si y solo si los operarios de la lınea son ordenados
13
II.03(2)116
de forma ascendente de acuerdo a su velocidad, tal que el ultimo trabajador siempre
tenga la velocidad mas alta.
Una vez el sistema esta balanceado, Bartholdi demuestra formalmente que tiene
las siguientes propiedades:
Cada operario vuelve a una posicion fija despues de cada “Reset”.
Cada operario aporta una fraccion constante de trabajo en el sistema.
La tasa de produccion alcanza su maximo.
Los resultados de Bartholdi [1]se resumen en sus 4 teoremas:
Teorema 1. Para cualquier lınea de produccion Bucket Brigades existe una posi-
cion xi dentro de la lınea de produccion para cada trabajador i, tal que cada
i retorna a la posicion xi despues de un “Reset” en el sistema.
Teorema 2. Para cualquier lınea de produccion Bucket Brigades, si los trabajado-
res son ordenados del mas lento al mas rapido, cualquier posicion inicial xi0
de cada trabajador i converge a un posicion unica xi despues 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 rapido a un unico punto fijo en
el cual:
1. El trabajador i ejecuta repetidamente el intervalo de trabajo
[∑i−1j−1 vj∑Jj=1 vj
,
∑ij−1 vj∑Jj=1 vj
]
2. La tasa de produccion es la maxima posible, e igual a:—
TasaProd. =J∑
j=1
vj
Teorema 4. Si los operarios de una lınea de produccion Bucket Brigades son orde-
nados del mas lento al mas rapido, entonces el anadir un operario o incrementar
su velocidad nunca disminuira la tasa de produccion.
14
II.03(2)116
5.5.2. Bishak
Bischak [4] modela los trabajadores en una lınea de produccion Bucket Brigades
como identicos, y los tiempos de proceso en las maquinas como aleatorios, adoptando
una distribucion exponencial(con alta variabilidad)o una distribucion uniforme (con
menor variabilidad).
En su investigacion, Bishak utiliza la simulacion como herramienta de analisis y
encuentra que el sistema Bucket Brigades muestra caracterısticas sobresalientes en
cuanto a productividad por empleado, en comparacion con otros sistemas que tienen
un numero definido de operarios en cada maquina. De hecho, en sistemas grandes
con una alta variabilidad de los tiempos de proceso, un sistema Bucket Brigades con
M maquinas puede obtener una mayor tasa de produccion con J operarios(J < M)
que otro sistema con las mismas maquinas y con M operarios sentados en las M
maquinas.
Los modelos de simulacion de Bishak incluyen la existencia de espacios de bufer
en el sistema. Concluye que los buferes son utiles 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
dramaticamente el tiempo de ciclo.
5.6. Fundamento Teorico de las Cadenas de Mar-
kov de Tiempo Continuo
5.6.1. Procesos Estocasticos
Un proceso estocastico esta definido por una familia de variables aleatorias
{X(t), t ≥ o, tεT} , donde cada variable aleatoria esta indexada por un parametro t,
generalmente conocido como el parametro del tiempo. El conjunto de parametros T
puede ser continuo o discreto, en cuyo caso se hace referencia a procesos estocasticos
continuos o discretos.
15
II.03(2)116
5.6.2. Procesos de Markov
Los procesos de Markov son un subconjunto de los procesos estocasticos {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 unicamente 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 continuacion.
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 despues 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 (numero 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 despues de cada “paso” se asigna una
probabilidad pij ≥ 0 . Para tener consistencia, se debe garantizar que∑
j pij = 1
16
II.03(2)116
Las probabilidades pij para todos los estados i, j, se resumen en una matriz de
transicion P.
5.6.5. Cadenas de Markov de Tiempo Continuo - CMTC
En el presente documento se modela el sistema de produccion 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 con-
tinuo de tiempo, y no unicamente despues 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
probabilidad pij. Se debe garantizar que∑
j pij = 1.
Matriz de Probabilidades de Transicion
Para las CMTC se definen las probabilidades de transicion 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) = Prob.(Xv = j|Xu = i) (1)
Si u = v se tiene entonces que pij = 1 si i = j, y pij = 0.
Las probabilidades de transicion pij se agrupan en la matriz de transicion P(u, v).
Matriz de tasas
La matriz de tasas Q tiene como componentes
qij =
−qi, i = j
qi ∗ pij, i 6= j(2)
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
II.03(2)116
Entonces se vuelve evidente que
qi =∑
j
qij, i 6= j (3)
Es logico 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 unica 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 transicion P como
una funcion de la matriz de tasas Q,P = f(Q) de la siguiente forma:
pij =qij
qi
=qij∑
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 aplica-
ciones, que servira posteriormente como herramienta de validacion 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 estan ocupados, las unidades que arriban al
sistema pueden esperar en colas que tienen una capacidad maxima definida. Cuando
los tiempos de arribo de las unidades al sistema y los tiempos de servicio por los
servidores estan 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
numero 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 estacion,
y despues de ser procesadas por la estacion kK son atendidas de nuevo por la estacion
k1.
18
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 maquina y que no existan
espacios de bufer dentro de este.
Si los operarios son identicos, cuando se presenta un reset y se aplica la Preemp-
tion Rule, es equivalente a que el ultimo operario que termino proceso en la ultima
maquina 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 produccion (TP)y tiempo promedio de ciclo (TC)para un sistema
de colas circulares con m estaciones de una maquina 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 maquina, se calculan por medio de las ecuaciones
( 5) y ( 6):
TP =n ∗ µ
m + n− 1(5)
TC =n
TP=
nn∗µ
m+n−1
=m + n− 1
µ(6)
Las anteriores formulas pueden ser demostradas utilizando el “Mean - Value
Analysis Model”[6].
En el MVA, el tiempo de ciclo TCj de una unidad debe esperar para ser proce-
sada en una estacion j de un sistema de colas circulares tiene dos componentes: el
tiempo de proceso en la maquina j, 1µj
, y el tiempo promedio en cola. Este ultimo
es equivalente al tiempo promedio de proceso de las demas unidades en la estacion
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 algun momen-
to, por lo que se espera que de n − 1 unidades, haya en promedio n−1m
unidades en
cada estacion. Por consiguiente, el tiempo esperado de proceso de las demas n − 1
unidades en la estacion j es equivalente a n−1m∗ 1
µj.
TCj = [1 +(n− 1)
m] ∗ 1
µj
=m + n− 1
m ∗ µj
(7)
19
II.03(2)116
Como se supone que todas las estaciones son identicas, el tiempo total de ciclo
para el sistema, TC, es:
TC =∑
j
CTj = m ∗ m + n− 1
m ∗ µj
=m + n− 1
µ(8)
Aplicando la ley de Little, se tiene entonces que para el sistema la tasa de pro-
duccion promedio TP sera:
TP =n
TC=
nm+n−1
µ
=n ∗ µ
m + n− 1(9)
20
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 mo-
delos matematicos simplificados que permitan recoger los aspectos mas importantes
a analizar.
En la presente seccion se describen las caracterısticas del modelo estocastico
utilizado para modelar el sistema Bucket Brigades.
6.1. Supuestos del Modelo
Los desplazamientos de los trabajadores entre maquinas toman un tiempo
despreciablemente corto. Este supuesto es aceptable si se consideran varias
maquinas 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
seccion 5.2.
Existe una cantidad infinita de piezas al comienzo de la lınea de produccion, y
una bodega de capacidad infinita al final de esta donde se almacena el producto
terminado. Se abstrae ası de todos los problemas que puede traer en la realidad
la consecucion de materia prima y el bodegaje de producto terminado.
Se deja de lado el problema de las reparaciones y las fallas de las maquinas,
suponiendo que esto nunca ocurre.
21
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 cual maquina se encuentra cada
trabajador y cuantas unidades hay en el bufer de cada maquina, en caso de
haberlos. Esta informacion 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 ex-
ponencialmente antes de pasar a otro estado j, a una tasa que depende exclu-
sivamente del estado en el cual se encuentra el sistema.
Los eventos del sistema son la terminacion del proceso en cada una de las
maquinas (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 cual estado final j adopta el sistema.
No pueden ocurrir dos o mas eventos de forma exactamente simultanea.
Los tiempos de proceso de cada operario j en cada maquina m tienen una dis-
tribucion exponencial con tasa conocida µjm, que depende las caracterısticas
de la maquina m y del trabajador j. La distribucion exponencial es utiliza-
da para modelar procesos cuya duracion tiene una alta variabilidad, ya que
la desviacion estandar es igual a la media. Por consiguiente, al utilizar este
22
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 Desempeno del Sistema
Las medidas que van a permitir comparar las distintas configuraciones de un
sistema de Bucket Brigades son las siguientes:
a. Tasa de produccion Equivale a la tasa promedio o “de largo plazo” a la
cual las maquinas terminan de procesar unidades. Es importante mencionar
que en Bucket Brigades todas las maquinas deben producir a la misma tasa.
Lo contrario significarıa un aumento o disminucion infinito en la cantidad de
unidades promedio en el sistema.
b. Tasa de ocupacion de los operariosIndica el porcentaje del tiempo en que
los operarios activos en las maquinas.
c. Tasa de ocupacion de las maquinasIndica el porcentaje del tiempo en que
una maquina es utilizada.
d. Cantidad promedio de unidades en buferes. En caso de existir buferes,
esta cantidad debe ser sumada al numero de operarios en el sistema para
obtener la cantidad total promedio de unidades en la lınea de produccion.
e. Tiempo promedio que tarda una pieza en ser procesada. En todo
sistema de produccion se cumple la ley de Little. Segun esta, si λses la tasa de
produccion de un sistema y L es el numero promedio de unidades en el mismo
sistema, entonces W, el tiempo promedio de una pieza en el sistema, es igual
a:
W =L
λs
23
II.03(2)116
Capıtulo VII
PAQUETE “J MARKOV”
“J Markov” es el paquete de programas creado por German Riano en el lenguaje
de programacion Java y que aporta las bases para la formulacion del sistema Bucket
Brigades en el presente proyecto de grado.
En la primera seccion de este capıtulo se presenta el algoritmo BuildRS [5], que
constituye una herramienta basica en la construccion del paquete. En la segunda
seccion se introducen las principales clases del “J Markov” [7].
7.1. Algoritmo BuildRS
El algoritmo BuildRS permite la construccion 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 basicas 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 tambien utilizar las funiciones de
la clase que es extendida. Esta es la forma como el paquete “J Markov” puede ser
utilizado por otro paquete para implementar el modelaje de cualquier cadena de
Markov.
24
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= ∅ do3: Se substrae el primer estado si del conjunto U y se adiciona al conjunto S.
Este estado esta siendo “explorado”.4: for Para cada elemento e ∈ E do5: if Evento e es posible o “activo” en el estado si then6: Definir su tasa de ocurrencia.7: Definir el nuevo estado sd del sistema tras la ocurrencia del evento e.8: if sd /∈ (S ∪ U) then9: Adicional sd al conjunto U
10: end if11: end if12: end for13: 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:
Definicion de los estados del sistema que se desea modelar como una cadena
de Markov.
Definicion de los eventos posibles que pueden ocurrir en el sistema.
Reglas que permitan determinar si un evento puede ocurrir dado un estado
(funcion active).
Reglas que indiquen el estado final que adopta el sistema, dados un estado
inicial y un evento (funcion dests)
Definicion de la tasa de ocurrencia de cada evento posible para cada estado
del sistema (funcion rates).
25
II.03(2)116
Definicion de las medidas de desempeno del sistema que deben ser calculadas.
Datos de Salida
Medidas de desempeno 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 continuacion.
Clase MarkovProcess
La clase MarkovProcess.class es la encargada de construir la cadena de Markov
y de realizar todos los calculos que permitan obtener las medidas de desempeno
del sistema. Para tal fin, invoca a las demas clases y funciones de J Markov. Sus
principales acciones son las siguientes:
Comanda la creacion de las funciones active, dests y rates, que son indispen-
sables datos de entrada de J Markov y permiten el desarrollo del algoritmo
BuildRS.
Construye, por medio de la funcion “generate( )”, la cadena de Markov reali-
zando el algoritmo BuildRS.
Computa las probabilidades del estado estable, resolviendo las ecuaciones P ∗Q = Q , como se explica en la seccion 5.6.5.
Calcula medidas de desempeno, utilizando las probabilidades del estado esta-
ble.
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 numeros, abriendo la posibilidad a multiples definiciones de estados
de un sistema.
26
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 generacion de la matriz de tasas Q al procesar la tasas de entrada
y salida de cada estado del sistema.
Permite al usuario la definicion de las medidas de desempeno 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 numericos 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 este puede adoptar.
Event tiene una funcion que ordena crear una descripcion para cada evento.
Registra la frecuencia de ocurrencia de cada evento en el sistema.
27
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 produccion
Bucket Brigades. Para esto, BucketBrigades extiende las clases del paquete J Markov
y crea funciones adicionales.
El paquete BucketBrigades contiene 3 programas: BucketBrigades.java, Bucket-
Buffers.java y OptWorkerAlign.java, que se presentan a continuacion.
8.1. BucketBrigades.java
BucketBrigades.java es un programa que modela un sistema de produccion tipo
Bucket Brigades, en el cual no existen espacios disponibles de bufer.
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 maquina m, m = 1, 2, 3, · · ·M .
Datos de Salida
El programa calcula la tasa promedio de produccion del sistema, la tasa a la cual
ocurre cada evento posible, y una serie de medidas de desempeno del sistema, que
incluyen la ocupacion promedio de los operarios y las maquinas, y la proporcion de
tiempo que cada operario permanece en cada una de las maquinas.
En BucketBrigades.java, cada estado esta definido por un vector de numeros
enteros que compone de tres vectores concatenados:
28
II.03(2)116
1. MaqOp Indica en cual maquina se ubica cada uno de los trabajadores del
sistema.
2. StatusOp Para cada operario, registra 1 si esta activo y 0 de lo contrario.
3. StatusMaq Para cada maquina, registra 1 si la maquina esta activa y 0 de lo
contrario.
Los dos ultimos 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 definicion de cada estado para facilitar el calculo de las
medidas de desempeno 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 optimo de los ope-
rarios en una lınea de produccion 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 maquina m, m = 1, 2, 3, · · ·M .
Datos de Salida
El programa calcula el orden optimo de los trabajadores dentro de la lınea de
produccion y todas las medidas de desempeno del sistema con esta configuracion.
Adicionalmente, reporta una lista ordenada del desempeno 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
II.03(2)116
Algoritmo 2 BucketBrigades.java
Require: Matriz µmj de velocidades de proceso de cada operario j, j = 1, 2, 3, · · · Jen cada maquina m, m = 1, 2, 3, · · ·M
1: Construye un conjunto E de los eventos posibles en el sistema. Estos son laterminacion de proceso una maquina m del sistema, por lo que se llama a cadaevento em,m = 1, 2, ..., M
2: Construye estado inicial s0, en el cual todos los operarios se encuentran en laprimera maquina y solo el ultimo esta activo
3: Adiciona s0 al conjunto U de estados inexplorados4: while U 6= ∅ do5: Substrae el primer estado del conjunto U , denotado como el estado inicial si,
y se adiciona al conjunto S. Este estado esta siendo “explorado”6: for Para cada elemento em ∈ E do7: if Maquina m, correspondiente al evento em, esta activa en el estado inicio
si (funcion active) then8: Determina cual trabajador j ha terminado el proceso en la maquina m9: Define la tasa de ocurrencia del evento em como µj,m (funcion rates)
10: if Maquina m, correspondiente al evento em, es la ultima mauqina Mthen
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 laprimera maquina (funcion dests)
12: else13: Operario j, que termina proceso en maquina m avanza a la maquina
m + 1 (funcion dests)14: end if15: Describe el nuevo estado destino sd del sistema tras la ocurrencia del
evento em se por medio de un nuevo vector que indica en cual maquinase ubica cada operario
16: if sd /∈ S then17: Adiciona el estado destino sd al conjunto U18: end if19: end if20: end for21: end while22: Construye la matriz de tasas Q, a partir de las tasas definidas por la funcion
rates23: Encuentra vector ~p de probabilidades del estado estable24: Calcula medidas de desempeno del sistema, utilizando el vector de probabilida-
des del estado estable ~p25: Calcula la tasa promedio de ocurrencia de cada evento, utilizando el vector de
probabilidades del estado estable ~p26: Invoca una interfaz grafica para mostrar los resultados de los calculos hechos
30
II.03(2)116
Algoritmo 3 OptWorkerAlign.java
Require: Matriz µmj de velocidades de proceso de cada operario j, j = 1, 2, 3, · · · Jen cada maquina m, m = 1, 2, 3, · · ·M
1: Construye un conjunto C con todas las posibles configuraciones de operarios enla lınea de produccion ci, i = 1, 2, 3, · · · J !
2: while C 6= ∅ do3: Se substrae un primer elemento ci del conjunto C4: Reordena la matriz µmj, para reflejar el orden de los operarios en la lınea de
produccion 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 while8: Ordena la lista L en orden descendiente de acuerdo a la tasa de produccion
obtenida para cada configuracion de operarios.9: Invoca una interfaz grafica para mostrar la lista L.
8.3. BucketBuffers.java
El programa BucketBuffers.java es una modificacion del programa BucketBriga-
des.java. Analiza el comportamiento de un sistema Bucket Brigades para el caso en
que se permitan espacios de bufer en el sistema.
Los casos en los cuales no se permiten espacios de bufer en la lınea de produccion
pueden tambien ser resueltos con BucketBuffers.java, aunque con un mayor tiempo
de ejecucion debido a que el algoritmo desarrollado por BucketBuffers.java es mas
complejo que el de BucketBrigades.java.
Un espacio de bufer 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 bufer pueden estar ubicados
solamente al pie de cada maquina. Es importante recordar que en la primera maquina
se supone la existencia de una cantidad infinita de unidades en bufer.
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 maquina m, m = 1, 2, 3, · · ·M ,
31
II.03(2)116
y del vector ~bm que contiene la capacidad maxima de los buferes que se encuentran
al pie de cada maquina.
Datos de Salida
El programa calcula las mismas medidas de desempeno que el programa Buc-
ketBrigades.java, esta vez para un sistema en donde existen espacios de bufer. Adi-
cionalmente arroja el numero promedio de unidades que se encuentran en bufer al
pie de cada maquina m, m = 1, 2, 3, · · ·M .
La nueva forma de definir un estado en BucketBuffers.java es a traves de un
vector de numeros enteros que se compone de cuatro partes:
1. MaqOp Indica en cual maquina se ubica cada uno de los trabajadores del
sistema.
2. StatusOp Para cada operario, registra 1 si esta activo y 0 de lo contrario.
3. StatusMaq Para cada maquina, registra 1 si la maquina esta activa y 0 de lo
contrario.
4. NumInBuffers. Registra el numero de espacios de bufer que se encuentran
ocupados al pie de cada maquina, para las maquinas 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 definicion de cada estado para facilitar el caclulo de medidas de
desempeno del sistema.
La diferencia mas significativa entre BucketBuffers.java y BucketBrigades.java
es la funcion dests, que desarrolla los algoritmos 4 y 5.
La funcion dests de BucketBuffers.java incorpora las nuevas reglas de movimiento
de los operarios cuando existen espacios de bufer en el sistema, como se explico en
la seccion 5.2.
32
II.03(2)116
Algoritmo 4 Funcion dests de BucketBuffers.java
Require: Matriz µmj de velocidades de proceso de cada operario j, j = 1, 2, 3, · · · Jen cada maquina m, m = 1, 2, 3, · · ·M .
Require: Vector ~bm que indica la capacidad maxima de los buferes en cada maquinam, m = 1, 2, 3, · · ·M .
1: Determina cual operario j ha terminado el proceso en la maquina m, correspon-diente a un evento em.
2: Determina el numero de unidades que se encuentran en cada bufer del sistema.3: {Caso 1:}4: if Maquina m < M and Maquina m + 1 no esta siendo utilizada then5: Operario j avanza a la maquina m + 1 y sigue trabajando.6: end if7: {Caso 2:}8: if Maquina m < M and Maquina m+1 esta siendo utilizada and no hay espacio
en el bufer de la maquina m + 1 then9: Operario j avanza a la maquina m + 1 y queda inactivo.
10: end if11: {Caso 3:}12: if Maquina m < M and Maquina m + 1 esta siendo utilizada and hay espacio
en el bufer de la maquina m + 1 then13: Operario j deja la unidad que esta procesando en el bufer de la maquina m+114: Operario j retrocede en la lınea de produccion en busqueda de otra unidad
para trabajar. Dests invoca la funcion Backwards(ver algoritmo 5), que de-termina la nueva posicion del operario.
15: end if16: {Caso 4:}17: if Se presenta un reset. Es decir, el ultimo operario (j = J) termina su proceso
en la ultima maquina (m = M) then18: Operario J retrocede en la lınea de produccion en busqueda de otra unidad
para trabajar. Dests invoca la funcion Backwards(ver algoritmo 5), que de-termina la nueva posicion del operario.
19: end if
33
II.03(2)116
Algoritmo 5 Funcion Bacwards de BucketBuffers.java
Require: Identificar el operario j, que busca una nueva unidad.Require: Vector MaqOp, que registra las posiciones actuales de todos los operariosRequire: Numero de unidades que se encuentran en cada bufer del sistema.Require: Vector ~bm que indica la capacidad maxima de los buferes en las maquinas
m, m = 1, 2, 3, · · ·M .1: {Caso 1:}2: if j > 1 and operario j − 1 esta inactivo en la misma maquina que el operario
j then3: Operario j toma la pieza que tiene el operario j − 1.4: Invoca recursivamente la misma funcion Backwards para el operario j − 1.5: end if6: {Caso 2:}7: if Operario j encuentra una unidad en bufer en la maquina m donde se encuentra
posicionado then8: Operario j toma la unidad del bufer y se queda en la maquina m.9: end if
10: {Caso 3:}11: if Operario no encuentra unidad en bufer en la maquina m donde se encuentra
and operario j − 1 no esta inactivo en la maquina m and maquina m − 1esta inactiva then
12: Operario j retrocede a la maquina m− 1.13: Se actualiza el vector MaqOp14: Se invoca recursivamente la funcion Backwards para el mismo operario j.15: end if16: {Caso 4:}17: if Operario no encuentra unidad en bufer en la maquina m donde se encuentra
and maquina m− 1 esta siendo utilizada por el operario j − 1 then18: Operario j toma la pieza que esta trabajando el operario j − 1, aplicando la
“Preemption Rule”.19: Se actualiza el vector MaqOp20: Se invoca recursivamente la funcion Backwards para el operario j − 1.21: end if22: {Caso 5:}23: if Operario j es el primero en la lınea de produccion (j = 1) and Operario j se
encuentra en la primera maquina de la lınea (m = 1) then24: Operario j se queda en su lugar.25: end if26: Backwards actualiza las posiciones de los operarios en el sistema y el numero de
unidades en cada bufer.
34
II.03(2)116
Capıtulo IX
RESULTADOS DEL MODELO Y
CONCLUSIONES
El presente capıtulo presenta los resultados de los experimentos realizados com-
putacionalmente.
En la seccion 9.1 se comparan los resultados obtenidos por Bishak [4] con los re-
sultados de BucketBrigades.java. En la seccion 9.2 se presentan algunas caracerısti-
cas generales sistema Bucket Brigades, mientras que en la seccion 9.3 se muestran
resultados adicionales referentes al cambio de diferentes parametros del modelo. Por
ultimo, la seccion 9.4 presenta un resumen de resultados y conclusiones.
9.1. Comparacion de Resultados con Modelo de
Bishak
Los resultados obtenidos por Bishak al simular una lınea de produccion con tiem-
pos de proceso distribuidos exponencialmente coinciden con los resultados arrojados
por la implementacion en java de Bucket Brigades, que a su vez cumplen las formulas
de Colas Circulares (ver seccion 5.6.6).
Los resultados de Bishak de la simulacion de una lınea con tiempos de proceso
distribuidos uniformemente muestran mayor tasa de produccion que para el caso
exponencial. Este resultado es razonable, dado una menor variabilidad de los tiempos
de proceso implica una menor proporcion del tiempo en que los operarios permanecen
bloqueados.
En la Tabla 1 se presenta la tasa de produccion de una lınea de produccion tipo
35
II.03(2)116
Numero de operarios por lınea de produccion (J)J=M J=M-1 J=M-2 J=M-3
J Exp. Unif. Exp. Unif. Exp. Unif. Exp. Unif.3 0.060 0.092 0.050 0.0664 0.057 0.091 0.050 0.074 0.040 0.0505 0.056 0.091 0.050 0.078 0.043 0.059 0.033 0.0406 0.055 0.090 0.050 0.081 0.044 0.066 0.038 0.0507 0.054 0.090 0.050 0.083 0.045 0.070 0.040 0.056
Tabla 1: Tasa de produccion de lınea tipo Bucket Brigades para distintas combi-naciones de maquinas y operarios por lınea, y tiempos de proceso con distribucionexponencial(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 maquinas y J operarios, en el cual los tiempos de proceso
siguen una distribucion uniforme (8.27,11.73) y una distribucion exponencial (0.1).
En los dos casos, la media de los tiempos de proceso es 0.1.
9.2. Caracterısticas Generales de Bucket Briga-
des como una CMTC
Se utilizan ejemplos para explicar mas facilmente algunas caracterısticas basicas
del sistema de produccion Bucket Brigades bajo el conjunto de supuestos resumidos
en el capıtulo 6.
El primer ejemplo consiste en una lınea de produccion con 4 maquinas y 2 ope-
rarios identicos, 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 es-
table. Se puede decir, entonces, que todos los estados del sistema Bucket Brigades
36
II.03(2)116
Estado Probabilidad Operarios Maquinas
Largo P. Activos(j) Activas(m)
00/01/1000 : 0.03 2 101/11/1100 : 0.05 1,2 1,202/11/1010 : 0.19 1,2 1,303/11/1001 : 0.06 1,2 1,411/01/0100 : 0.02 2 212/11/0110 : 0.22 1,2 2,313/11/0101 : 0.11 1,2 2,422/01/0010 : 0.18 2 323/11/0011 : 0.10 1,2 3,433/01/0001 : 0.02 2 4
Suma 1.00
Tabla 3: Ejemplo 1. Probabilidades del estado estable
Nombre de Evento Tasa OcurrenciaEnd of process on machine 0 0.38873End of process on machine 1 0.38873End of process on machine 2 0.38873Reset 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 Produccion
Los eventos, es decir, la finalizacion de los procesos en cada maquina de la lınea
de produccion, ocurren siempre a la misma tasa. Este es un resultado logico, ya que
esto garantiza que la cantidad de producto en proceso sea constante.
Si una maquina terminara su proceso en promedio mas rapido o mas lento que
las demas, implicarıa un desbalanceo del sistema.
La Tabla 4 resume la tasa de ocurrencia de eventos para el Ejemplo 1.
37
II.03(2)116
Nombre de Medida de Desempeno Valor Medio Desv.Est.Machine 1used by worker 1 0.340 0.474Machine 2 used by worker 1 0.348 0.476Machine 3 used by worker 1 0.288 0.453Machine 4 used by worker 1 0.024 0.153Machine 1 used by worker 2 0.033 0.178Machine 2 used by worker 2 0.072 0.259Machine 3 used by worker 2 0.596 0.491Machine 4 used by worker 2 0.299 0.458Status Worker 1 0.741 0.438Status Worker 2 1.000 0.000Status Machine 1 0.340 0.474Status Machine 2 0.403 0.490Status Machine 3 0.700 0.458Status Machine 4 0.299 0.458Number of active workers in the system 1.741 0.438
Tabla 5: Ejemplo 1. Medidas de desempeno calculadas por BucketBrigades.java
9.2.3. Medidas de Desempeno
En la Tabla 5 se presentan los resultados de medidas de desempeno arrojados
por el programa BucketBrigades.java para el mismo Ejemplo 1.
Porcentaje de Tiempo que los Operarios Permanecen en las Maquinas
Dado que los operarios tienen un orden fijo dentro de la lınea de produccion,
el porcentaje del tiempo que cada operario trabaja en cada maquina es diferente.
La figura 1 muestra esta tendencia. Notese como el operario 1 tiende a pasar una
mayor parte de su tiempo en las maquinas 1 y 2, mientras que el operario 2 en las
maquinas 3 y 4.
Ocupacion de los Operarios
En una lınea de produccion tipo Bucket Brigades el ultimo operario siempre
estaactivo. Los operarios precedentes tienden a estar activos una proporcion 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 maquina
38
II.03(2)116
P o rc e n ta j e d e t i e m po qu e l o s o p e ra r i o s
p e rm a n e ce n e n ca d a m á qu i n a
0% 20% 40% 60%
1
2
3
4
Má
qu
ina
P o rc e n ta j e
Operario 1 Operario 2
Figura 1: Ejemplo 1. Porcentaje de tiempo que cada operario permanece en cadamaquina.
39
II.03(2)116
1,0 1,0 1,0 1,0 1,0 1,0 1,0 1,01,0 1,0 1,0 1,0 1,0 1,0 1,0 1,01,0 1,0 1,0 1,0 1,0 1,0 1,0 1,01,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.
Ocupacion Promedio de los Operarios (%)Occ. Worker 1 0.6364Occ. Worker 2 0.6364Occ. Worker 3 0.6364Occ. Worker 4 1.0000
Tabla 7: Ejemplo 2. Ocupacion promedio de los operarios
en la cual esta trabajando.
Este comportamiento se puede observar en la Tabla 5. El operario 2 esta activo
el 100 % de su tiempo, con una desviacion estandar igual a cero, mientras que el
operario 1 esta activo un 74.1% de su tiempo.
Para observar otra caracterıstica de la ocupacion de los operarios, se han disenado
los Ejemplos 2 y 3, consistentes en una lınea de produccion con 8 maquinas 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 patron de ocupacion de los operarios como en la
Tabla 7.
La ocupacion promedio de los trabajadores 1,2, y 3 del Ejemplo 2 es identica,
dado que todos tienen la misma velocidad de produccion en todas las maquinas,
y por consiguiente, permanecen bloqueados o en espera por fracciones de tiempo
equivalentes.
Si se supone que los operarios no son homogeneos, es decir, que tienen velocidades
distintas en las maquinas, los operarios tienden a estar activos en una proporcion
decreciente de su tiempo.
Para mostrar este comportamiento, se diseno el Ejemplo 3, de una lınea de pro-
duccion con 8 maquinas y 4 operarios, cuya matriz de velocidades µjm se presenta
40
II.03(2)116
1,0 1,0 1,0 1,0 1,0 1,0 1,0 1,01,5 1,5 1,5 1,5 1,5 1,5 1,5 1,52,0 2,0 2,0 2,0 2,0 2,0 2,0 2,02,5 2,5 2,5 2,5 2,5 2,5 2,5 2,5
Tabla 8: Ejemplo 3. Matriz µjm de velocidades de proceso.
Ocupacion Promedio de los Operarios (%)Occ. Worker 1 0.6364Occ. Worker 2 0.7331Occ. Worker 3 0.7547Occ. Worker 4 1.0000
Tabla 9: Ejemplo 3. Ocupacion promedio de los operarios
en la Tabla 8:
La ocupacion promedio de los operarios del Ejemplo 3, presentada en la Tabla 9
muestra una tasa de ocupacion distinta (decreciente)para todos los operarios.
Ocupacion de las Maquinas
La proporcion de tiempo que cada maquina 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 maquinas
es igual. Por esta razon, las maquinas permanecen ocupadas, en promedio, la misma
fraccion de tiempo, como lo muestra la Tabla 10.
Para una lınea de produccion, en la cual los tiempos de proceso en las maquinas
son diferentes, se observa un comportamiento distinto. Este 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 produccion del Ejemplo 4 se observa una ocupacion promedio
de las maquinas como se muestra en la Tabla 12.
Las maquinas que requieren de mayor tiempo de proceso, o lo que es equivalente,
tienen una menor velocidad promedio de proceso, permanecen ocupadas por una
proporcion mayor de tiempo.
41
II.03(2)116
Ocupacion Promedio de las Maquinas (%)Occ. Machine1 0.3636Occ. Machine2 0.3636Occ. Machine3 0.3636Occ. Machine4 0.3636Occ. Machine5 0.3636Occ. Machine6 0.3636Occ. Machine7 0.3636Occ. Machine8 0.3636
Tabla 10: Ejemplo 2. Ocupacion promedio de las Maquinas
1,0 2,0 3,0 4,0 4,0 3,0 2,0 1,01,0 2,0 3,0 4,0 4,0 3,0 2,0 1,01,0 2,0 3,0 4,0 4,0 3,0 2,0 1,01,0 2,0 3,0 4,0 4,0 3,0 2,0 1,0
Tabla 11: Ejemplo 4. Matriz µjm de velocidades de proceso.
Ocupacion Promedio de las Maquinas (%)Occ. Machine1 0.63123Occ. Machine2 0.31562Occ. Machine3 0.21041Occ. Machine4 0.15781Occ. Machine5 0.15781Occ. Machine6 0.21041Occ. Machine7 0.31562Occ. Machine8 0.63123
Tabla 12: Ejemplo 4. Ocupacion promedio de las Maquinas
42
II.03(2)116
MaquinaOcupacionPromedio
VelocidadPromedio
OcupacionPromedio*Velocidad
1 0.631 1.0 0.6312 0.316 2.0 0.6313 0.210 3.0 0.6314 0.158 4.0 0.6315 0.158 4.0 0.6316 0.210 3.0 0.6317 0.316 2.0 0.6318 0.631 1.0 0.631
Tabla 13: Ejemplo 4. El producto de ocupacion promedio y la velocidad de procesopromedio para cada maquina es constante, e igual a la tasa de produccion del sistema
Por otro lado, la tasa de ocupacion promedio de cada maquina multiplicada
por la velocidad promedio de proceso en la misma, da como resultado la tasa de
produccion de la lınea, tal como se muestra en la Tabla 13.
9.3. Respuesta del Modelo a Cambios en sus Parame-
tros
9.3.1. Numero de Trabajadores por Lınea de Produccion
La contribucion marginal del numero de trabajadores por lınea de produccion es
decreciente. Para mostrar esta caracterıstica, se diseno el Ejemplo 5.
En el Ejemplo 5 se tiene una lınea de produccion tipo Bucket Brigades con
4 maquinas. Se tienen varios operarios, todos con velocidad de proceso en cada
maquina igual a 1.0. Se registra el cambio en la tasa de produccion del sistema vs.
el numero de operarios que trabajan en la lınea de produccion. Los resultados se
muestran en la figura 2.
Se puede apreciar que la contribucion de nuevos operarios a la lınea de produccion
es marginalmente decreciente.
43
II.03(2)116
0.25
0.3
0.35
0.4
0.45
0.5
0.55
0.6
0.65
0.7
0.75
1 2 3 4 5 6 7 8 9
Tas
a de
Pro
ducc
ion
Numero de Trabajadores en Linea de Produccion
Figura 2: Ejemplo 5. La tasa de produccion de la lınea tiene crecimientos marginal-mente decrecientes causados por la adicion de operarios.
9.3.2. Numero de Lıneas de Produccion
Aunque pueda parecer obvio, es importante mencionar que la tasa de produccion
de un conjunto de lıneas de produccion Bucket Brigades crece linealmente con el
numero de lıneas de produccion identicas, como se muestra en la figura 3.
Si se tienen varios operarios y varias lıneas de produccion, la tasa de produc-
cion conjunta puede variar considerablemente de acuerdo al numero de lıneas de
produccion 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 produccion iguales
a las del Ejemplo 5 en un sistema con 8 operarios.
9.3.3. Numero de Maquinas por Lınea de Produccion
Un aumento de maquinas en una lınea de produccion Bucket Brigades incrementa
necesariamente el tiempo esperado de proceso T , disminuyendo la tasa de produccion
de la lınea.
La cantidad de unidades L en el sistema Bucket Brigades es constante, e igual al
44
II.03(2)116
0
0.5
1
1.5
2
2.5
1 2 3 4 5 6 7 8 9 10
Tas
a de
Pro
ducc
ion
Numero de Lineas de Produccion
Figura 3: Ejemplo 5. La tasa de produccion de un sistema Bucket Brigades crecelinealmente con el numero de lıneas de produccion identicas en operacion
Numero deLıneas deProduc-cion
Numero deOperariospor Linea deProduccion
Tasa de Pro-duccion porLınea
Tasa de Pro-duccion Total
1 8 0.73 0.732 4 0.57 1.144 2 0.40 1.60
Tabla 14: La tasa de produccion de 8 operarios cambia significativamente con ennumero de lıneas de produccion en las cuales se reparten los operarios
45
II.03(2)116
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.55
0.6
0.65
0.7
2 3 4 5 6 7 8 9 10
Tas
a de
Pro
ducc
ion
Numero de Maquinas por Linea de Produccion
Figura 4: La tasa de produccion de una lınea de produccion tipo Bucket Brigadesdecrece con un aumento del numero de maquinas en la lınea
numero de operarios mas las unidades en bufer, por ser este un sistema estilo “pull”.
Recordemos la Ley de Little:
TasaProd = L/T
Segun la ley de Little, la tasa de produccion del sistema disminuye con un aumen-
to en T , si L permanece constante.
En la figura 4, se puede observar esta tendencia. Se modela una lınea de pro-
duccion tipo Bucket Brigades con 2 operarios, que tienen una velocidad de proceso
igual a 1 en todas las maquinas.
9.3.4. Velocidad de Proceso de los Trabajadores en las Maquinas
Cambios en la velocidad de proceso de los trabajadores en las diferentes maquinas
de una lınea de produccion tienen efectos directos sobre la tasa de produccion del
sistema y la ocupacion promedio de los demas trabajadores.
Los cambios de velocidad en todas las maquinas para el ultimo operario de la
lınea de produccion tienen efectos marginales constantes sobre la tasa de produccion
46
II.03(2)116
[1,0 1,0 1,0 1,01.0 1.0 1.0 1.0
]
Tabla 15: Ejemplo 6. Matriz µjm de velocidades de proceso.
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
2.2
1 2 3 4 5 6 7 8
Tas
a de
Pro
ducc
ion
Velocidad de Operario No. 2 en todas las Maquinas
Figura 5: Ejemplo 6. La tasa de produccion de una lınea de produccion tipo BucketBrigades crece linealmente con un aumento de velocidad del ultimo operario en todaslas maquinas
de la lınea, modificando la ocupacion promedio de los otros operarios.
Esta caracterıstica se ilustra por medio del Ejemplo 6. En este ejemplo, se tiene
una lınea de produccion con 4 maquinas 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 ocupacion promedio de los operarios anteriores tiende a
aumentar con un aumento de la velocidad de proceso del ultimo operario en todas
las maquinas, como se muestra en la figura 6.
47
II.03(2)116
0.58
0.6
0.62
0.64
0.66
0.68
0.7
0.72
0.74
0.76
0.78
1 2 3 4 5 6 7 8
Ocu
paci
on P
rom
edio
del
Ope
rari
o N
o. 1
Velocidad de Proceso del Operario No. 2 en todas las Maquinas
Figura 6: Ejemplo 6. La ocupacion del primer operario aumenta con aumentos develocidad del ultimo operario en todas las maquinas
[1,0 1,0 1,0 1,01,0 1,0 1,0 1.0
]
Tabla 16: Ejemplo 6. Matriz µjm de velocidades de proceso. Se incrementa velocidaddel operario 2 en la maquina 4.
Por el contrario, los cambios de velocidad de un operario especıfico en una maqui-
na especıfica muestran contribuciones marginales decrecientes en la tasa de produc-
cion al mismo tiempo que reducen la ocupacion 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 ultimo operario en todas las maquinas,
solamente se incrementa su velocidad de proceso para la maquina 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 maquina
4 se presentan en las figuras 7 y 8.
En la figura 7 se aprecia como el aumento de velocidad de proceso del operario
2 en la maquina 4 tiene efectos marginales decrecientes sobre la tasa de produccion.
48
II.03(2)116
0.4
0.41
0.42
0.43
0.44
0.45
0.46
0.47
0.48
0.49
1 2 3 4 5 6 7 8
Tas
a de
Pro
ducc
ion
Velocidad del Operario No. 2 en la Maquina No. 4
Figura 7: Ejemplo 6. La tasa de produccion de la lınea tiene aumentos marginalesdecrecientes producidos por incrementos en la velocidad de proceso del operario 2en la maquina 4.
Al mismo tiempo, el aumento de velocidad de proceso del operario 2 en la maqui-
na 4 reduce la ocupacion promedio del primer operario, como se muestra en la figura
8.
Este fenomeno tiene sentido si se piensa que el operario 2 permanece en promedio
una mayor fraccion de su tiempo en las maquinas 1, 2 y 3 segun su velocidad en la
maquina 4 aumenta, bloqueando al operario 1 mas frecuentemente.
9.3.5. Uniformidad de los Operarios
Para una lınea de produccion, 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 produccion con 4 maquinas y tres trabajadores.
En el primer caso (Ejemplo 7a), todos los trabajadores tienen una velocidad de
proceso igual a 1.0 para todas las maquinas, como se muestra en la Tabla 17. En el
49
II.03(2)116
0.52
0.53
0.54
0.55
0.56
0.57
0.58
0.59
0.6
1 2 3 4 5 6 7 8
Ocu
paci
on P
rom
edio
del
Ope
rari
o N
o. 1
Velocidad de Proceso del Operario No.2 en la Maquina No. 4
Figura 8: Ejemplo 6. La tasa de ocupacion promedio del operario 1 se reduce debidoa incrementos en la velocidad de proceso del operario 2 en la maquina 4.
1,0 1,0 1,0 1,01,0 1,0 1,0 1,01,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 produccion para cada caso
(Ejemplos 7a, 7b y 7c) son distintas, como lo indica la Tabla 20
La explicacion de esta caracterıstica, es que cada trabajador tiende a estar mas
ocupado que el anterior. Si los trabajadores que estan ocupados una mayor parte
del tiempo operan con una velocidad mayor, esto aumenta necesariamente la tasa
de produccion.
50
II.03(2)116
0,5 0,5 0,5 0,51,0 1,0 1,0 1,01,5 1,5 1,5 1,5
Tabla 18: Ejemplo 7b. Matriz µjm de velocidades de proceso.
0,2 0,2 0,2 0,21,0 1,0 1,0 1,01,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 Procesoen la Lınea de Produccion
Se ha visto que en una lınea de produccion cada trabajador tiende a estar mas
ocupado que el anterior. Suponiendo que cada trabajador tiene un conjunto diferente
de velocidades de proceso en las maquinas de la lınea de produccion, el orden en que
se encuentren los operarios modifica la tasa de produccion del sistema.
Esta caracterıstica se muestra mediante el Ejemplo 8, en donde se modela una
lınea de produccion con 4 maquinas 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 rapido en una maquina distinta.
Para cada forma de ordenar los operarios en la lınea de produccion del Ejemplo
8 se obtiene una tasa de produccion distinta, como se observa en la Tabla 22. Este
comportamiento se debe a que cada operario distribuye su tiempo en las maquinas
de forma diferente y a que cada operario tiene un conjunto distinto de velocidades
Ejemplo Numero Tasa de Produccion7a 0.507b 0.607c 0.65
Tabla 20: La tasa de produccion de la lınea es diferente para los Ejemplos 7a, 7b y7c
51
II.03(2)116
1,0 1,0 1,0 2,01,0 1,0 2,0 1,01,0 2,0 1,0 1,02,0 1,0 1,0 1,0
Tabla 21: Ejemplo 8. Matriz µjm de velocidades de proceso.
Orden de losOperarios
Tasa de ProduccionNumero Promedio deOperarios Activos
{2, 4, 3, 1} 0.721 2.261{4, 3, 2, 1} 0.719 2.098{2, 3, 1, 4} 0.600 2.250{3, 2, 1, 4} 0.592 2.215
Tabla 22: El orden de los operarios heterogeneos en una lınea de produccion alterala tasa de produccion de la lınea. Una mayor ocupacion promedio de los empleadosno implica necesariamente una mayor tasa de produccion para la lınea.
de proceso. La configuracion optima de operarios en la lınea se da cuando cada
operario se ubica primordialmente en aquellas maquinas en donde es relativamente
mas rapido que los demas operarios.
De este ejemplo se puede obtener una conclusion adicional: una mayor ocupacion
promedio de los empleados no implica necesariamente una mayor tasa de produccion
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 configuracion de operarios de la fila 2 de la Tabla 22 (4, 3, 2,
1) los operarios permanecen ocupados por una menor fraccion de su tiempo, estos
tienden a estar ocupados en maquinas en las cuales son relativamente mas rapidos
que los demas. En la configuracion de operarios (2,3,1,4), los operarios pueden estar
ocupados una mayor fraccion de su tiempo, pero esto no compensa por el hecho de
que estos tienden a ubicarse en maquinas en las cuales no son relativamente tan
rapidos como en la configuracion (4, 3, 2, 1).
Por medio del programa combinatoria.java, se puede determinar para cualquier
caso el orden optimo de los operarios en una lınea de produccion.
52
II.03(2)116
[1,0 1,0 1,0 1,01,0 1,0 1,0 1,0
]
Tabla 23: Ejemplo 9. Matriz µjm de velocidades de proceso.
9.3.7. Cantidad de Espacios de Bufer en la Lınea de Produccion
La cantidad de espacios de bufer surte un efecto sobre la tasa de produccion de
una lınea tipo Bucket Brigades.
Esta caracterıstica se muestra mediante el Ejemplo 9, en el cual se modela una
lınea de produccion con 6 maquinas y 4 operarios. La matriz µjm de velocidades de
proceso para el Ejemplo 9 se muestra en la Tabla 23.
En la lınea de produccion del Ejemplo 9 se activan espacios de bufer al pie de
maquinas 2, 3 y 4 del sistema de produccion. El desempeno de la lınea cuando hay
0,1,..., 8 espacios disponibles de bufer para las maquinas 2, 3 y 4 se presenta en las
figuras 9, 10 y 11.
En la figura 9 se puede observar como el aumento de la tasa de produccion
causado por un aumento de espacios de bufer en las maquinas es marginalmente
decreciente.
La explicacion de este comportamiento, es que un mayor numero de espacios
disponibles de bufer aumenta la ocupacion promedio de los operarios del sistema, en
cuanto permite a los trabajadores deshacerse de la unidad de producto en proceso
que tienen en sus manos cuando estos se encuentran inactivos. Este efecto es a su vez
marginalmente decreciente porque Bucket Brigades es un sistema de tipo “pull”, en
donde la entrada de unidades al sistema esta condicionada por la salida de unidades
de producto terminado, manejandose bajos niveles de producto en proceso. Por
consiguiente, la capacidad en buferes tiende a no ser utilizada en su totalidad y
aumentos en capacidad en buferes traen beneficios marginalmente decrecientes al
sistema.
En la figura 10 se muestra como efectivamente la ocupacion del primer operario
aumenta con los espacios de bufer en la lınea, aunque tambien marginalmente. Es
importante recordar que el operario 2 se mantiene siempre ocupado.
53
II.03(2)116
0.4
0.41
0.42
0.43
0.44
0.45
0.46
0.47
0.48
0 1 2 3 4 5 6 7 8
Tas
a de
Pro
ducc
ion
Numero de Espacios de Bufer disponibles en Maquinas 2,3 y 4
Figura 9: Ejemplo 9. La tasa de produccion de la lınea de produccion aumentacon las unidades de bufer disponibles en la lınea. Este aumento es, sin embargo,marginalmente decreciente.
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0 1 2 3 4 5 6 7 8
Ocu
paci
on P
rom
edio
del
Ope
rari
o N
o.1
Numero de Espacios de Bufer disponibles en las Maquinas 2,3 y 4
Figura 10: Ejemplo 9. La ocupacion del operario 1 aumenta con las unidades de buferdisponibles en la lınea de produccion. Este aumento es, sin embargo, marginalmentedecreciente.
54
II.03(2)116
4.8
5
5.2
5.4
5.6
5.8
6
6.2
6.4
6.6
6.8
0 1 2 3 4 5 6 7 8
Tie
mpo
Pro
med
io d
e Pr
oces
o
Numero de Espacios de Bufer disponibles en las Maquinas 2,3 y 4
Figura 11: Ejemplo 9. El tiempo promedio de ciclo aumenta con las unidades debufer disponibles en la lınea de produccion. Este aumento es, sin embargo, margi-nalmente decreciente.
Otro efecto de un aumento en las unidades de bufer del sistema es el aumento
del tiempo promedio de ciclo para la lınea de produccion. Este aumento tambien es
marginalmente decreciente, como se muestra en la figura 11.
El incremento en el tiempo de ciclo depende, segun la ley de Little, del incremento
en la tasa de produccion y de la variacion de la cantidad promedio de unidades en
el sistema.
9.3.8. Posicion de Espacios de Bufer en Lınea de Produccion
La posicion de los espacios de bufer en una lınea de produccion afecta la tasa de
produccion del sistema, aunque muy marginalmente.
Volvamos al Ejemplo 9, con matriz de velocidades de proceso µjm como se mues-
tra en la Tabla 23. En la lınea de produccion se activa un espacio de bufer solamente
en la sengunda maquina, luego solo en la tercera y despues solo en la cuarta. Los
resultados se muestran en la Tabla 24.
La tasa de produccion varıa porque el espacio de bufer modifica de forma distinta
55
II.03(2)116
Bufer enMaquinaNumero
Tasa de Pro-duccion
Ocupaciondel OperarioNumero 1(%)
Numero pro-medio deUnidades enBufer
Tiempo pro-medio de Ci-clo
2 0.420 0.680 0.838 6.763 0.430 0.720 0.403 5.594 0.432 0.726 0.158 5.00
Tabla 24: Ejemplo 9. No es lo mismo activar 8 espacios de bufer en frente de lasmaquinas 2, 3 o 4
la ocupacion de los operarios en cada caso.
9.4. Resumen de Resultados y Conclusiones -
Reglas de uso general
Esta seccion tiene como objetivo resumir los hallazgos descritos en las secciones
9.2 y 9.3 del presente capıtulo. Estos son reformulados en forma de reglas de uso
general que posteriormente se utilizan como base para proponer un heurıstico que
permita encontrar una configuracion razonable para cualquier sistema tipo Bucket
Brigades, dados los supuestos del presente modelaje.
Resultados - Reglas de uso general
Si los operarios pueden ser ordenados consistentemente de acuerdo a su veloci-
dad, estos deben seguir un orden descendiente con respecto a este parametroEl
operario mas veloz deberıa siempre ocupar el ultimo lugar en la lınea de pro-
duccion.
Si los operarios no son consistentemente mas rapidos o mas lentos, es ne-
cesario encontrar el orden optimo de los operarios por medio del programa
OptWorkerAlign.java. Suponiendo que cada trabajador tiene un conjunto di-
ferente de velocidades de proceso en las maquinas de la lınea de produccion,
el orden en que se encuentren los operarios modificara la tasa de produccion
del sistema. La tasa de produccion crece en cuanto los operarios permanecen
56
II.03(2)116
mayor tiempo trabajando en aquellas maquinas en las que son relativamen-
te mas rapidos que los demas. El orden optimo de los opearios no maximiza
necesariamente la tasa de ocupacion de estos, ya que la maxima ocupacion
promedio no necesariamente una mayor tasa de produccion para la lınea.
La contribucion marginal del numero de trabajadores por lınea de produccion
sobre la tasa de produccion es decreciente. Por consiguiente, es importante
comparar la adicion de trabajadores a una lınea de produccion con la operacion
de lıneas de produccion adicionales en terminos de tasa de produccion y costos.
Si se va a dar capacitacion a un empleado para que aumente la productivi-
dad de la lınea de produccion, se deberıa incrementar su velocidad de proce-
so idealmente en todas las maquinas. Los cambios de velocidad en todas las
maquinas para el ultimo operario de una lınea de produccion tienen efectos
marginales constantes sobre la tasa de produccion de la lınea, y a la vez incre-
mentan la ocupacion promedio de los otros operarios de la lınea. Por contrario,
los cambios de velocidad de un operario especıfico en una maquina especıfica
muestran contribuciones marginales decrecientes en la tasa de produccion al
mismo tiempo que pueden reducir la ocupacion promedio de los operarios que
se encuentran antes de este en la lınea de produccion.
En una lınea de produccion es preferible tener operarios muy rapidos y muy
lentos que tener operarios homogeneos promedio. La tasa de produccion de
una lınea con operarios heterogeneos con velocidades de proceso que en pro-
medio son iguales a V , es mayor que la de otra lınea con operarios que tienen
velocidades de proceso iguales a V .
Es necesario evaluar la conveniencia de buferes en la lınea de produccion. Un
aumento en espacios de bufer disponibles en una lınea de produccion aporta
contribuciones marginales decrecientes a la productividad del sistema, dado
que incrementa la ocupacion promedio de los operarios del sistema. Al mismo
tiempo, mas unidades de bufer aumentan el tiempo promedio de ciclo y la
cantidad de trabajo en proceso.
57
II.03(2)116
Si se van a utilizar espacios de bufer, es conveniente analizar su ubicacion
dentro de la lınea de produccion. La posicion de los espacios de bufer en una
lınea de produccion tiene un efecto pequeno sobre la tasa de produccion del
sistema, debido a que los espacios de bufer en cada maquina tienen efectos
diferentes sobre la tasa de ocupacion de los operarios.
9.5. Sugerencias para Investigaciones Posterio-
res
Implementar distribuciones de fase para modelar el sistema Bucket Brigades
bajo el supuesto de que los tiempos de proceso en la lınea de produccion siguen
una funcion de densidad de probabilidad distinta a la exponencial. Esta nueva
distribucion puede ser menos variable (como en el caso de una distribucion
Erlang)o mas variable (como en el caso de una distribucion hiperexponencial).
Estas modificaciones al modelo crearıan, sin embargo, una gran cantidad adi-
cional de estados posibles en el sistema.
Crear un algoritmo que permita reducir el esfuerzo computacional que implica
encontrar el orden optimo de los operarios en una lınea de produccion. En
el presente proyecto de grado se evaluo la tasa de produccion para cada con-
figuracion posible de operarios en el sistema. Por consiguiente, el tiempo de
computacion del orden optimo crece de manera exponencial con el numero de
operarios en el sistema.
58
II.03(2)116
Capıtulo X
HEURISTICO PARA CONFIGURAR LINEAS
DE PRODUCCION TIPO BUCKET BRIGADES
El modelaje y la experimentacion con una lınea de produccion tipo Bucket Briga-
des tienen el objetivo ultimo de poder tener una aplicacion practica. En la presente
seccion se propone un heurıstico para configurar lıneas de produccion tipo Bucket
Brigades, y se ilustra por medio de un ejemplo.
10.1. Heurıstico
El heurıstico propuesto se presenta en el algoritmo 6. Este heurıstico no nece-
sariamente encuentra un optimo global para el problema de configuracion de una
lınea de produccion, pero valiendose de las herramientas desarrolladas en el presente
proyecto de grado, puede producir soluciones eficaces.
En el desarrollo del heurıstico para casos practicos requiere de cierto grado de
subjetividad. Decisiones como la conveniencia de utilizar buferes o la conformacion
de equipos de trabajo, entre otras, pueden ser influenciadas por factores subjetivos.
10.2. Ejemplo de Aplicacion del Heurıstico
Parametros
Una fabrica de camisas, que utiliza el sistema de produccion Bucket Brigades,
requiere ajustar la tasa de produccion como respuesta a un inesperado incremento
en la demanda por sus productos.
Los parametros del problema se presentan en la Tabla 10.2.
59
II.03(2)116
Algoritmo 6 Configuracion de Sistema de Produccion tipo Bucket Brigades
Require: Lıneas de produccion tipo Bucket Brigades identicas entre sı.Require: Medir o estimar la velocidad de proceso de cada trabajador en cada
maquina de la lınea de produccion.Require: Paquete BucketBrigades.java para modelar sistemas de produccion tipo
Bucket Brigades.1: Encontrar la velocidad de proceso promedio de todos los operarios para cada
maquina de la lınea de produccion. Crear un “operarios promedio” con veloci-dades de proceso iguales a los promedios encontrados.
2: Computar tasas de produccion de una lınea con diferentes cantidades de “ope-rarios promedio”. Para cada caso, estimar el numero de lıneas de produccionidenticas necesarias para cumplir con la tasa de produccion objetivo.
3: Encontrar la combinacion de numero de lıneas de produccion y el numero de“operarios promedio” mas favorable en terminos de costos.
4: De acuerdo con el resultado anterior, distribuir los operarios reales de la empresaen las diferentes lıneas de produccion de forma tal que los operaarios de cadalınea tengan un conjunto similar de habilidades.
5: Computar el orden optimo de operarios para cada lınea de produccion y sutasa de produccion respectiva. Calcular la tasa de produccion de las lıneas delsistema.
6: while Tasa de produccion < valor objetivo do7: for Fine-tuning. Para cada lınea de produccion do8: Ajustar numero de operarios.9: Ajustar numero de espacios de bufer disponibles.
10: Computar orden optimo de operarios en la lınea y su respectiva tasa deproduccion.
11: end for12: Calcular la suma de tasas de produccion de las lıneas individuales13: end while
60
II.03(2)116
Parametros del EjemploTasa de produccion requerida (unidades/u.tiempo) 4Lıneas de produccion disponibles 10Numero de maquinas por lınea de produccion 4Capacidad maxima de buferes por maquina 1Numero de operarios disponibles 20Opcion de contratar operarios adicionales SıSalario de trabajadores ($/u.tiempo) 50Costo variable de lınea produccion ($/u.tiempo) 125
Tabla 25: Costos variables para el ejemplo
Desarrollo del Heurıstico
Medir o estimar la velocidad de proceso de cada trabajador en cada maquina
de la lınea de produccion
Se midieron las velocidades promedio de cada empleado en cada maquina, que
se presentan en la Tabla 10.2.
1. Encontrar la velocidad de proceso promedio de todos los operarios para cada
maquina de la lınea de produccion. Crear un “operarios promedio” con veloci-
dades de proceso iguales a los promedios encontrados.
El “operario promedio” tiene velocidades de proceso en cada maquina iguales
a las velocidades promedio de todos los operarios, que se muestran en la ultima
fila de la Tabla 10.2.
2. Computar tasas de produccion de una lınea con diferentes cantidades de “ope-
rarios promedio”. Para cada caso, estimar el numero de lıneas de produccion
identicas necesarias para cumplir con la tasa de produccion objetivo.
La Tabla 2 nuestra la relacion existente entre el numero de operarios por lınea
y el numero redondeado de lıneas de produccion requeridas para cumplir con
la tasa de produccion objetivo.
61
II.03(2)116
Matriz µjm
mj 1 2 3 4 5 61 0.9 2.3 2.2 2.6 3.3 3.42 0.6 2.0 1.9 3.3 2.8 3.53 1.1 1.8 1.9 3.0 3.1 2.64 1.4 1.7 1.8 2.8 2.9 2.85 1.4 1.8 1.9 3.3 3.2 3.26 1.5 2.1 1.5 2.8 2.6 2.97 0.5 2.0 1.9 2.8 3.2 3.18 0.9 1.8 1.6 2.9 2.7 3.39 1.4 1.5 2.1 2.8 2.7 3.010 0.6 1.6 2.2 2.7 2.9 3.111 0.7 2.1 2.4 3.2 2.9 3.012 0.5 2.4 1.8 2.5 2.7 2.913 0.5 2.1 1.7 2.9 3.4 3.314 0.7 2.1 2.1 3.5 2.5 3.515 0.7 1.8 1.9 2.9 3.2 3.516 0.5 1.9 1.9 3.0 2.8 2.917 0.8 1.6 2.4 3.3 3.4 2.818 0.8 2.3 2.0 3.1 2.5 3.419 1.1 1.7 1.9 3.4 2.9 3.020 0.9 1.8 2.5 3.3 2.9 3.1
Promedio 0.9 1.9 2.0 3.0 2.9 3.1
Tabla 26: Matriz de velocidades de proceso
Numero de Ope-rarios por Lınea
Tasa Produccionpor Lınea
Numero deLıneas Requeri-das
Costo Total($)
1 0.32 13 22752 0.53 8 18003 0.66 6 16504 0.75 5 16255 0.81 5 18756 0.85 5 2125
Tabla 27: Combinaciones Numero de Operario por Lınea de Produccion y Numerode Lıneas de Produccion
62
II.03(2)116
3. Encontrar la combinacion de numero de lıneas de produccion y el numero de
“operarios promedio” mas favorable en terminos de costos.
La Tabla 2 muestra la relacion numero de oprerarios por lınea de produccion
costos totales, dados los parametros del ejemplo (Tabla 10.2).
4. De acuerdo con el resultado anterior, distribuir los operarios reales de la em-
presa en las diferentes lıneas de produccion de forma tal que los operaarios de
cada lınea tengan un conjunto similar de habilidades.
Pueden existir muy diversas formas de asignar operarios a lıneas de produc-
cion y de conformar equipos de trabajo, de acuerdo a propiedades medibles o
subjetivas de los operarios. La idea central es crear equipos de trabajo equili-
brados.
En el ejemplo todos los operarios son heterogeneos y ademas no pueden ser
ordenados consistentemente del mas lento al mas rapido. El criterio utilizado
en la conformacion de equipos es la sumatoria de las velocidades de proceso en
cada maquina, que se puede entender como un indicador global de habilidades
de cada operario. En la Tabla 4 se presenta la lista de operarios ordenados
en forma creciente con respecto a este indicador, y la manera en que fueron
asignados a las lıneas de produccion.
5. Computar el orden optimo de operarios para cada lınea de produccion y su
tasa de produccion respectiva. Calcular la tasa de produccion de las lıneas del
sistema.
Utilizando el programa OptWorkerAlign.java, se encuentra para cada lınea de
produccion, el orden optimo de operarios. La Tabla 5 muestra los resultados
y las tasas de produccion alcanzadas.
6. whileTasa de produccion ! ≈ valor objetivodo for Cada lınea de produccion
63
II.03(2)116
Matriz µjm
m
j. 1 2 3 4 5 6∑m=6
m=1 µjm
Lınea de Pro-duccion asigna-da
12 0.5 2.4 1.8 2.5 2.7 2.9 12.8 110 0.6 1.6 2.2 2.7 2.9 3.1 13.0 216 0.5 1.9 1.9 3.0 2.8 2.9 13.0 38 0.9 1.8 1.6 2.9 2.7 3.3 13.2 46 1.5 2.1 1.5 2.8 2.6 2.9 13.4 59 1.4 1.5 2.1 2.8 2.7 3.0 13.5 14 1.4 1.7 1.8 2.8 2.9 2.8 13.5 23 1.1 1.8 1.9 3.0 3.1 2.6 13.5 37 0.5 2.0 1.9 2.8 3.2 3.1 13.6 4
15 0.7 1.8 1.9 2.9 3.2 3.5 14.0 519 1.1 1.7 1.9 3.4 2.9 3.0 14.0 12 0.6 2.0 1.9 3.3 2.8 3.5 14.1 2
13 0.5 2.1 1.7 2.9 3.4 3.3 14.1 318 0.8 2.3 2.0 3.1 2.5 3.4 14.2 414 0.7 2.1 2.1 3.5 2.5 3.5 14.3 511 0.7 2.1 2.4 3.2 2.9 3.0 14.3 117 0.8 1.6 2.4 3.3 3.4 2.8 14.4 220 0.9 1.8 2.5 3.3 2.9 3.1 14.5 31 0.9 2.3 2.2 2.6 3.3 3.4 14.8 45 1.4 1.8 1.9 3.3 3.2 3.2 14.9 5
Tabla 28: Distribucion de operarios en lıneas de produccion
64
II.03(2)116
Lınea de Pro-duccion
Orden Optimode Operarios
Tasa de Produc-cion
1 {12,9,19,11} 0.792 {10,17,4,2} 0.733 {16,3,13,20} 0.694 {7,8,18,1} 0.715 {15,6,5,14} 0.85
T.Pr. Total 3.78T.Pr. Requerida 4.00
Diferencia -0.23
Tabla 29: La tasa de produccion objetivo todavıa no ha sido alcanzada
Ajustar numero de operarios
Ajustar numero de espacios disponibles de bufer
Computar orden optimo de operarios en la lınea y su respectiva tasa de
produccion. endfor
Despues de encontrar el orden optimo de operarios para cada lınea de produc-
cion, es evidente que existe un faltante en la tasa de produccion del sistema,
como se aprecia en la Tabla 5.
Ahora comienza el proceso de “fine-tuning” de las lıneas de produccion has-
ta alcanzar la tasa de produccion deseada. La Tabla 6 muestra el resultado
de contratar un “trabajador promedio” adicional y asignarlo a una lınea de
produccion.
En la configuracion de la Tabla 6 aun existe un pequeno faltante en la tasa
de produccion. El siguiente paso de “fine-tuning” puede ser la introduccion
de buferes en las lıneas de produccion, hasta alcanzar la tasa de produccion
deseada. La Tabla 6 muestra la configuracion resultante.
La configuracion del sistema presentada en la Tabla 6 cumple con los requeri-
mientos de tasa de produccion.
65
II.03(2)116
Lınea de Pro-duccion
Orden Optimode Operarios
Tasa de Produc-cion
1 {12,9,19,11} 0.792 {10,17,4,2} 0.733 {16,3,13,20} 0.694 {7,8,18,1} 0.715 {15,21,6,5,14} 0.92
T.Pr. Total 3.84T.Pr. Requerida 4.00Diferencia -0.16
Tabla 30: Se ha introducido un trabajador adicional. La tasa de produccion objetivotodavıa no ha sido alcanzada
Lınea de Pro-duccion
Orden Optimode Operarios
Tasa de Produc-cion
1 {12,9,19,11} 0.842 {10,17,4,2} 0.783 {16,3,13,20} 0.734 {7,8,18,1} 0.745 {15,21,6,5,14} 0.92
T.Pr. Total 4.02T.Pr. Requerida 4.00Diferencia 0.02
Tabla 31: Configuracion razonable para sistema Bucket Brigades
66
II.03(2)116
10.3. Conclusion
Las herramientas computacionales desarrolladas en el paquete BucketBrigades,
junto con las conclusiones y reglas de uso general de la seccion 9.4, pueden ser
aplicables a casos reales de configuracion de lıneas tipo Bucket Brigades.
67
II.03(2)116
Capıtulo XI
MANUAL DEL USUARIO -
BUCKETBRIGADES
11.1. Software
De la pagina de internet www.sun.com descargar e instalar el programa lla-
mado j2sdk-1.4
De la pagina www.eclipse.org descargar e instalar el programa llamado Eclip-
seMirror
Paquetes en java “J Markov” y “BucketBrigades”
11.2. Instalacion del Paquete BucketBrigades
Abrir el programa EclipseMirror, en adelante “Eclipse”.
Seleccionar File → new → Project → Java Project.
Dar un nombre al proyecto. Sugerencia : “BucketBrigades”. Presionar Next
En la pestana Libraries presionar Add External Jars. Seleccionar el archivo
“JMarkov.zip”.
Seleccionar la pestana “Order and export”. Chequear todos los archivos que
aparecen en la lista.
Presionar Finish.
68
II.03(2)116
[1,1 1,2 1,32,1 2,2 2,3
]
Tabla 32: Matriz de Velocidades de Proceso µjmpara ejemplo de utilizacion delheurıstico.
En la ventana Package Explorer de Eclipse seleccionar el paquete BucketBri-
gades. Hacer click derecho con el mouse y seleccionar import → file system.
Seleccionar la carpeta “BucketBrigades”. Chequear todos archivos con exten-
sion .class. Tener precaucion de chequear el subfolder “BucketFiles”.
Presionar Finish
11.3. Uso de BucketBrigades.java
En la ventana “Package Explorer” de Eclipse seleccionar Bucket→ BucketFiles
→ Mu.txt. Hacer doble click sobre Mu.txt
Insertar la matriz de velocidad de proceso de los operarios µjm en las maquinas,
de la siguiente forma:
1. Todos los valores deben estar separados horizontalmente por un espacio
de tabulacion.
2. Si los valores son no enteros, los decimales deben ser expresados por un
punto. Por ejemplo, “2.5”
3. Las columnas correspoden a las maquinas, y las filas a los operarios.
4. Por ejemplo, la matriz µ3,2 de la tabla 32 corresponde a un sistema de
3 maquinas y 2 operarios, en el cual el primer operario tiene velocidades
de 1.1,1.2 y 1.3 en las maquinas 1,2, y 3 respectivamente, mientras que
el segundo operario velocidades de 2.1, 2.2 y 2.3 respectivamente .
Correr el programa BucketBrigades.java. Par esto, en la ventana “Package
Explorer” de Eclipse hacer click sobre BucketBrigades →(default package)→BucketBrigades.java. Seleccionar del menu Run→ Run As→ Java Application
69
II.03(2)116
Automaticamente se abre una ventana llamada “JMarkov”, que tiene una serie
de pestanas.
1. En la pestana “Main” se encuentra la descripcion del sistema Bucket
Brigades.
2. En la pestana “States” se encuentra un listado de todos los estados po-
sibles del sistema, su descripcion y su probabilidad en el estado estable.
3. En la pestana “Rates” se encuentra la matriz de tasas Q del sistema
4. En la pestana “MOPs” se encuentran las medidas de desempeno del sis-
tema, incluıda la ocupacion promedio de las maquinas y operarios, y el
porcentaje promedio de tiempo que cada operario permanece en cada
maquina.
5. En la pestana “Events” se encuentra la tasa de produccion del sistema.
6. En la pestana “Output” se encuentra un log de los calculos hechos por el
programa.
11.4. Uso de OptWorkerAlign.java
En la ventana “Package Explorer” de Eclipse seleccionar BucketBrigades →BucketFiles → Mu.txt. Hacer doble click sobre Mu.txt
Insertar la matriz de velocidad de proceso µjmde cada operario en cada maqui-
na, de la misma forma que para BucketBrigades.java. Los operarios pueden
tener cualquier orden. OptWorkerAlign encuentra el orden optimo de los ope-
rarios en el sistema.
Correr el programa OptWorkerAlign.java. Par esto, en la ventana “Package
Explorer” de Eclipse hacer click sobre BucketBrigades →(default package) →OptWorkerAlign. Seleccionar del menu Run → Run As → Java Application
El programa genera dos ventanas automaticamente. Una ventana, llamada
“JMarkov” contiene la informacion descrita en el caso de BucketBrigades.java
70
II.03(2)116
para el orden optimo de trabajadores. La ventana llamada “BucketBrigades
- Optimal Worker Alignment” contiene dos pestanas. La primera, llamada
“S.Description”, contiene la descripcion del sistema. La segunda, llamada
“MOPs”, contiene una lista de las principales medidas de desempeno para
cada uno de los ordenes posibles de operarios en el sistema. La lista se encuen-
tra ordenada de forma descendiente con respecto a la tasa de produccion de
cada orden de operarios del sistema.
Es importante anotar que el orden de los operarios se expresa mendiante nume-
ros entre corchetes. Por ejemplo {2, 1, 3}. Estos numeros corresponen a los ope-
rarios 2, 1 y 3, respectivamente, que aparecen en la pestana “S.Description”.
11.5. Uso de BucketBuffers.java
En la ventana “Package Explorer” de Eclipse seleccionar BucketBrigades →BucketFiles → Mu.txt. Hacer doble click sobre Mu.txt
Insertar la matriz de velocidad de proceso µjm de cada operario en cada maqui-
na, de la misma forma que para BucketBrigades.java.
En la ventana “Package Explorer” de Eclipse seleccionar Bucket→ BucketFiles
→ Buf.txt. Hacer doble click sobre Buf.txt. Insertar la cantidad de espacios
de bufer disponibles en cada maquina de la siguiente forma:
1. Digitar solamente una fila de numeros, separados horizontalmente entre
sı por un espacio de tabulacion.
2. La cantidad de columnas es equivalente al numero de maquinas del sis-
tema menos 1 (M − 1). Se debe recordar que en elmodelaje del sistema
se supone que la primera maquina cuenta un una cantidad infinita de
unidades de materia prima en su bufer.
3. El primer numero de izquierda a derecha corresponde a la cantidad de
espacios de bufer disponible para la segunda maquina, mientras que el
numero M − 1, o el ultimo de izquierda a derecha corresponde al bufer
de la ultima maquina M .
71
II.03(2)116
Correr el programa BucketBuffers.java. Par esto, en la ventana “Package Ex-
plorer” de Eclipse hacer click sobre BucketBrigades0.→(default package)→BucketBuffers.
Seleccionar del menu Run → Run As →Java Application.
Automaticamente se abre una ventana llamada “JMarkov”, que tiene las mis-
mas pestanas que el resultado del programa BucketBrigades.java. La unica
diferencia es que en la pestana MOPs, se encuentra el numero promedio de
unidades en bufer al pie de cada maquina.
72
II.03(2)116
REFERENCIAS
[1] Bartholdi and Eisenstein, “A production line that balances itself,” Opera-
tions Research, Enero 1996.
[2] Bartholdi, Eisenstein, and Foley, “Performance of bucket brigades when
work is stochastic,” Operations Research, vol. 49, Septiembre 2001.
[3] Bartholdi, Eisenstein, Jacobs, and Ratliff, “Design of bucket brigade
production lines,” Georgia Institute of Technology, 1995.
[4] Bischak, D. P., “Performance of a manufacturing module with moving wor-
kers,” IIE Transactions, vol. 28, pp. 723–733, 1996.
[5] Grassmann, W. K., Computational probability. Kluwer Academic, 2000.
[6] Reiser and Lauenverger, “M.V.A. of closed multichain queuing networks,”
Journal of ACM., vol. 27, no. 2, 1980.
[7] Riano, G., JMarkov Package. Universidad de Los Andes, julio 2003.
73