Uso De Las Distribuciones De Probabilidad En La Simulacion De Sistemas Productivos

  • Published on
    30-Jun-2015

  • View
    19.306

  • Download
    0

Transcript

  • 1. 4o. Encuentro. Matemticas en todo y para todos.Uso de las distribuciones de probabilidad en la simulacin de sistemasproductivos Leopoldo Eduardo Crdenas Barrn lecarden@itesm.mxDepartamento de Ingeniera Industrial y de Sistemas Instituto Tecnolgico y de Estudios Superiores de MonterreyCampus Monterrey Resumen Este artculo trata sobre las aplicaciones de las distribuciones de probabilidad en lasimulacin de sistemas productivos. Primeramente, se expone el concepto de nmerosaleatorios entre cero y uno, y los mtodos para generar nmeros aleatorios entre cero y uno.Despus, se describe el mtodo de la transformada inversa para construir generadores devariables aleatorias, y se presenta la aplicacin de las distribuciones de probabilidad en lasimulacin de sistemas productivos haciendo uso de los generadores de variables aleatorias ynmeros aleatorios entre cero y uno. Finalmente, se deja al lector una actividad que consta de7 ejercicios para que practique los conceptos adquiridos durante la lectura del presenteartculo. Palabras clave: Simulacin, distribuciones de probabilidad, nmeros aleatorios,generadores de variable aleatoria,I. Introduccin.Para realizar una simulacin se requiere de nmeros aleatorios en el intervalo (0,1), a los cuales les llamaremos ri. Donde los ris son una secuencia de nmeros que contiene n nmeros; donde todos los nmeros ris en la secuencia son diferentes y n recibe el nombre de periodo o ciclo de vida del generador que cre la secuencia. Los ris son el ingrediente bsico de la simulacin de procesos estocsticos y generalmente se usan para generar el comportamiento de variables aleatorias tanto continuas como discretas. Estrictamente los ris son nmeros pseudo aleatorios, debido a que no es posible generar nmeros realmente aleatorios. La razn por la que los ris no son realmente aleatorios es porque son generados por medio de algoritmos determinsticos que requieren de ciertos parmetros. Existen una gran variedad de algoritmos para generar nmeros aleatorios entre cero y uno, tales como congruencial lineal, congruencial multiplicativo, congruencial mixto, multiplicador constante, productos medios, cuadrados medios, entre otros. Cabe mencionar que los lenguajes de programacin, lenguajes de simulacin, paquetes de simualcin y hojas de clculo contienen una funcin para1

2. 4o. Encuentro. Matemticas en todo y para todos.generar nmeros entre cero y uno de manera automtica. Por ejemplo, en Excel se usa la funcin =aleatorio() =rand().Ahora, se presenta el algoritmo congruencial lineal, el cual fue propuesto por D.H. Lehmer en 1951, siendo este algoritmo el ms ampliamente usado. Este algoritmo genera una serie de nmeros de nmeros enteros por medio de la siguiente ecuacin recursiva:Xi+1 =(aXi + c)mod(m)i = 0,1,2,3,...,nDonde Xo es la semilla, a es la constante multiplicativa, c es una constante aditiva y m es el mdulo. Xo>0, a>0, c>0 y m>0 deben ser nmeros enteros. La operacin mod m significa multiplicar Xi por a, sumar c, dividir el resultado entre m y Xi+1 ser el residuo. Es importante sealar que la ecuacin recursiva del algoritmo congruencial lineal genera una secuencia de nmeros enteros {0,...,m-1} y para obtener nmeros aleatorios en el intervalo [0,1] se requiere de la siguiente ecuacin:Xri = i i = 1,2,3,...nm -1 Ejemplo: Generar 4 nmeros entre 0 y 1 con los siguientes parmetros: Xo=37, a=19, c=33 y m=100. Solucin:X1 =(19 * 37 + 33)mod 100 = 36 r = 36/99 = 0.3636 1X2 =(19 * 36 + 33)mod 100 = 17 r2 = 17/99 = 0.1717X3 =(19 * 17 + 33)mod 100 = 56 r3 = 56/99 = 0.5656X4 =(19* 56 + 33)mod 100 = 97r4 = 97/99 = 0.9797 Es importante mencionar que los generadores de nmeros simplemente generan un conjunto nmeros, despus hay que verificar que dichos nmeros cumplan con una serie de propiedades tales como: media de , varianza de 1/12, uniformidad e independencia. Para demostrar las propiedades anteriores existen la prueba de medias, la prueba de varianza, la prueba de uniformidad, y la prueba de independencia, respectivamente. Con respecto a las pruebas de uniformidad e independencia existen 2 3. 4o. Encuentro. Matemticas en todo y para todos.varias opciones de pruebas. Por ejemplo, las pruebas de Kolmogorov-Smirnov y Chi- cuadrada son tiles para demostrar la uniformidad de los nmeros ris. En cuanto a la prueba de independencia existen las pruebas de poker, corridas arriba y abajo, corridas arriba y abajo de la media, series, huecos, entre otras. Una vez que los nmeros ris cumplen con las pruebas, el siguiente paso es usarlos en un generador de variable aleatoria.Un generador de variable aleatoria es una expresin matemtica que est en funcin de los nmeros aleatorios ris. Por ejemplo: Temperatura i = 35+10*ri grados centgrados, donde si ri=0.25 entonces podemos simular el comportamiento de la temperatura, en este caso, la temperatura simulada es de 37.5 grados centgrados. Si ahora el nmero aleatorio es ri=0.75, entonces la temperatura es 42.5 grados centgrados, y as podemos repetir el proceso hasta obtener el nmero de veces que deseamos simular la variable temperatura. Para construir un generador de variable aleatoria, es necesario contar con la funcin de densidad probabilidad de la variable. Posteriormente, se construye el generador de variable aleatoria por medio de alguno de los mtodos disponibles tales como el mtodo de la transformada inversa, mtodo de composicin, mtodo de convolucin, y mtodo de aceptacin y rechazo.El mtodo de la transformada inversa consiste bsicamente en 4 pasos: 1) obtener la funcin de densidad de probabilidad f(x), 2) calcular la distribucin de probabilidad acumulada F(x), 3) igualar la funcin de probabilidad acumulada F(x) a ri, 4) despejar la variable aleatoria x. Con los pasos anteriores se obtiene el generador de variable aleatoria que debe ser usado para simular el comportamiento de la variable. Por ejemplo, si la funcin de densidad de probabilidad del tiempo de proceso de una pieza en una mquina tiene la distribucin de probabilidad uniforme: f(t)=1/30 para 10 t 2 = 10 + 30 * 0.1717 = 15.151 minutospieza 3 ==> t 3 = 10 + 30 * 0.5656 = 26.968 minutospieza 4 ==> t 4 = 10 + 30 * 0.9797 = 39.391 minutosAnteriormente, simulamos el tiempo de proceso para cuatro piezas, los valores simulados estn de una manera aislada y no han interactuado con otros valores y reglas lgicas. En muchas ocasiones, los generadores de variables aleatorias no estn aislados, generalmente estn interactuando con otros generadores de variables aleatorias y reglas lgicas. Es decir, en el caso de una mquina que procesa piezas, dichas piezas tal vez vengan de un proceso anterior, el cual estar marcando un tiempo entre llegadas de las piezas a la mquina, por lo tanto, existir un generador de variable aleatoria para generar el tiempo entre llegadas de las piezas. Adems, cuando la mquina est procesando una pieza, y llegar a ocurrir la llegada de otra pieza, dicha pieza debe quedar en espera (fila) a que la mquina termine el proceso de la pieza que est procesando. 4 5. 4o. Encuentro. Matemticas en todo y para todos. Es importante mencionar que para las distribuciones de probabilidad conocidas ya est construido el generador de variable aleatoria, por lo que no es necesario construirlo. Por ejemplo el generador de variable aleatoria para la distribucin de probabilidad exponencial es:X i = media * ln(1 ri ) y para la distribucin de probabilidad uniforme continua es: X i = a + (b a) * riDonde a y b son los lmites inferior y superior de la distribucin de probabilidad uniforme continua, respectivamente.II. Uso de las distribucin de probabilidad en la simulacin de sistemaproduccin. Existe una gran variedad de configuraciones de sistemas de produccin, por ejemplo el sistema de produccin de una sola etapa con una sola mquina como el representado en la figura 1. Las piezas llegan al sistema productivo de una en una con un tiempo entre llegadas que siguen algn tipo de distribucin de probabilidad. Las piezas se acumulan (hacen fila) en la tarima si la mquina est ocupada. La mquina procesa las piezas con un tiempo de proceso distribuido de acuerdo a un tipo de distribucin de probabilidad.Figura 1. Sistema de produccin de una sola etapa con una sola mquina Otros ejemplos sobre configuraciones de sistemas de produccin son mostrados en las figuras 2 y 3. Donde el sistema de produccin representado en la figura 2 es un sistema de produccin de dos etapas en donde en cada etapa existe una sola mquina. En5 6. 4o. Encuentro. Matemticas en todo y para todos.cambio en la figura 3 se representa un sistema de produccin de tres etapas en donde la primera etapa tiene solamente una mquina, la segunda etapa tiene tres mquinas en paralelo, y la tercera etapa tiene dos mquinas en paralelo. Cabe mencionar que podemos generar una infinidad de configuraciones de sistemas productivos, e inclusive generar configuraciones que grficamente parecieran que son iguales, pero en realidad representan sistemas de produccin distintos, debido a que el flujo que siguen los productos que se fabrican dentro del sistema productivo es distinto.Figura 2. Sistema de produccin con dos etapas, una mquina en cada etapa.Es importante mencionar que las mquinas que estn en paralelo pueden considerarse como mquinas idnticas por lo tanto deben tener tiempo de proceso iguales, o mquinas distintas por lo que su tiempo de proceso ser distinto; esto caso ocurre con mucha frecuencia cuando se tienen mquinas en paralelo que procesan el mismo tipo de pieza pero una de las mquinas es manual, otra semiautomtica, de modelo reciente o automtica.Figura 3. Sistema de produccin con tres etapas, algunas etapas con dos o msmquinas en paralelo. 6 7. 4o. Encuentro. Matemticas en todo y para todos. Considerando el sistema productivo esquematizado en la figura 3, podemos mencionar lo siguiente, va a existir un tiempo entre llegadas de piezas al sistema productivo el cual se comportar de acuerdo a un tipo de distribucin de probabilidad. El tiempo de proceso de la mquina que est en la primera etapa tendr un comportamiento acorde a una distribucin de probabilidad. En la segunda etapa existen tres mquinas en paralelo, las cuales pueden ser idnticas y todas tener el mismo tiempo de proceso que siga el mismo tipo de distribucin de probabilidad, o que cada mquina sea distinta en tiempo de proceso (tal vez lo ms comn) y por lo tanto cada mquina tendr tiempo de proceso con su distribucin de probabilidad correspondiente, lo mismo puede ocurrir con la tercera etapa.Ahora se preguntarn y cmo puedo determinar la distribucin de probabilidad que siguen los tiempos de entre llegadas y de proceso en cada mquina. Pues, primeramente deberemos recolectar un poco de historia, es decir, debemos llevar a cabo la recoleccin de los tiempos entre llegadas y de proceso de cada mquina. Segundo, al conjunto de tiempos proponerle una distribucin de probabilidad y realizar algn tipo de prueba estadstica para determinar el tipo de distribucin de probabilidad que siguen los tiempos. Existen varias pruebas para determinar el tipo de distribucin de probabilidad que siguen los datos de los tiempos, por ejemplo existen las pruebas de la Chi-cuadrada, Kolmogorov-Smirnov, y Anderson-Darlin. Afortunadamente, tambin existen paquetes de estadstica que son de gran utilidad en la determinacin del tipo de distribucin de probabilidad que sigue un conjunto de datos. Por ejemplo, tenemos el minitab, stat::fit, entre otros. Ejemplo: Considere el siguiente conjunto de tiempos de proceso (en minutos) por pieza en una mquina: 16.84288 19.45793 21.02074 36.89759 55.69647 26.81033 2.358834 6.7902869.62015 53.22929 18.45535 9.487617 9.8323814.64463 24.64045 17.34166 13.57499 8.989405 38.98915 6.9213247.06555 16.47965 81.0937318.0558 25.35731 6.38511114.4736 39.21019 4.269692 41.499559.20546 37.23383 67.34301 3.632848 31.25733 8.64810422.0958 32.529412.41035 39.14699 36.76116 8.851953 3.043021 6.849029 7.517628 1.083557 9.293769 28.48385 11.19502 36.50804 Por medio del stat::fit podemos determinar cul distribucin de probabilidad puede representar al conjunto de datos. El stat::fit nos muestra resultados que estn mostrados en la figura 4. Estos resultados indican que la distribucin que mejor representa al tiempo de proceso de piezas en la mquina es la distribucin de probabilidad exponencial. En la figura 5 se muestra la grfica de la distribucin de probabilidad exponencial que representa al tiempo de proceso.7 8. 4o. Encuentro. Matemticas en todo y para todos. Figura 4. Resultados del stat::fit Figura 5. Grfica del tiempo de proceso de las piezas8 9. 4o. Encuentro. Matemticas en todo y para todos. Una vez determinado el tipo de distribucin de probabilidad que siguen los tiempos entre llegadas y de proceso de cada mquina, el siguiente paso es construir el modelo de simulacin, el cual puede ser construido en una hoja de clculo (Excel), en un lenguaje de programacin (C, C++,C#, Pascal, Delphi, Fortran, Basic, QBasic, entre otros), en un lenguaje de simulacin (GPSS/H, GPSS/PC, GPSS/World; SLAM, entre otros) o en algn paquete se simulacin (Promodel, Automod, Arena, QUEST, WITNESS, entre otros).El ambiente en donde construir el modelo de simulacin depende de varios factores, por ejemplo si lo que deseamos simular es algo simple y sencillo como el sistema de produccin mostrado en la figura 1, lo podemos realizar en una hoja de clculo. Para sistemas ms complejos, por ejemplo el mostrado en la figura 3, se recomienda el uso de un paquete de simulacin.III. Conclusin En este artculo se han presentado el uso de las distribuciones de probabilidad en la simulacin de sistemas productivos. Primeramente, se expuso el concepto de nmeros aleatorios entre cero y uno, y los mtodos para generar nmeros aleatorios entre cero y uno. Despus se describi el mtodo de la transformada inversa para construir generadores de variables aleatorias, as como tambin se present el uso de las distribuciones de probabilidad en la simulacin de sistemas productivos haciendo uso de los generadores de variables aleatorias y nmeros aleatorios entre cero y uno. Finalmente, se deja al lector una actividad con 7 ejercicios para que practique lo aprendido durante la lectura de este artculo. IV.Anexo Actividad: Ejercicio 1:Por medio del algoritmo congruencial lineal genere 5 nmeros entre cero y uno con los siguientes parmetros: Xo=21, a=13, c=26 y m=64. Ejercicio 2: El algoritmo congruencial lineal se convierte en el algoritmo congruencial multiplicativo cuando c es igual a cero (c=0). Por medio del algoritmo congruencial multiplicativo genere 5 nmeros entre cero y uno con los siguientes parmetros: Xo=11, a=21 y m=128.9 10. 4o. Encuentro. Matemticas en todo y para todos.Ejercicio 3:El tiempo de torneado (en horas) de una pieza tiene la distribucin de probabilidad continua siguiente: 4t 3 f (t ) =0 t 2 horas16Simular el comportamiento del tiempo de torneado de 5 piezas. Para la simulacin utiliza los 5 nmeros aleatorios generados en el ejercicio 1. Ejercicio 4:En una estacin con una sola mquina existen 5 piezas listas para procesarse. El tiempo de proceso de las piezas sigue una distribucin de probabilidad exponencial con media de 15 minutos. Determine el tiempo total que le llevar a la mquina procesar las 5 piezas. Para la simulacin utiliza los 5 nmeros aleatorios generados en el ejercicio 2. Ejercicio 5 El tiempo de corte (expresado en minutos) de un anillo metlico tiene la siguiente distribucin de probabilidad continua:811.975 t 12.10f (t ) = 0en otro valor Simular el tiempo de corte para 3 anillos metlicos. Usar 3 nmeros aleatorios generados por medio del mtodo congruencial lineal con parmetros: a=13, m=256, c=89, Xo=69. Ejercicio 6. La mquina fresadora DITZEN est en funcionamiento durante un tiempo distribuido exponencialmente media de 265 horas y falla, por lo que requiere que sea reparada. Se han recopilado 50 tiempos de reparacin de la mquina DITZEN, los cuales estn expresado en minutos. Con respecto a los tiempos de reparacin de la mquina DITZEN se ha obtenido la siguiente informacin del stat::fit:Auto::Fit of DistributionsdistributionrankacceptanceUniform(15., 19.9) 100 do not rejectLognormal(15., 0.668, 0.918) 0.813 reject10 11. 4o. Encuentro. Matemticas en todo y para todos.descriptive statisticsdata points50minimum15.1161maximum19.9187mean 17.608median 17.7516mode 19.2875standard deviation 1.5055variance 2.26652Determinar en que tiempo (en minutos) la mquina de control numrico DITZEN entrar de nuevo en funcionamiento despus del segundo paro por falla, suponiendo que la mquina empieza en funcionamiento en el tiempo cero. Para simular el tiempo de funcionamiento de la mquina y el tiempo de reparacin de la mquina es necesario calcular 4 nmeros aleatorios en el rango (0,1); utilice el mtodo congruencial multiplicativo con la siguiente informacin: a=11, m=512, Xo=13, para generar los 4 nmeros aleatorios (0,1) y utilice los dos primeros nmeros generados para simular el tiempo de funcionamiento de la mquina y los ltimos dos nmeros generados para simular el tiempo de reparacin de la mquina.Ejercicio 7.Considere los siguientes 50 tiempos de proceso (expresado en minutos) en una mquina fresadora, 16.21041 16.25205 16.17577 18.95439 19.4759216.36975 18.5501415.9486 19.38678 17.7494717.04456 18.71943 18.613 18.27059 19.5332415.19044 19.04788 19.56527 15.28796 19.9186918.66544 17.2988715.329315.1161 19.5131619.62062 18.77906 17.81262 17.75368 17.3228718.0779819.1297 16.02536 17.649 15.5828916.30308 15.6563316.4915 19.43963 16.9823616.39357 15.38137 19.77431 15.49208 17.4679218.11481 18.58606 19.45417 18.02169 16.89999y determine: a) el tipo de distribucin de probabilidad que siguen los tiempos de fresado b) el generador de variable aleatoria correspondiente para simular el tiempo de fresadoc) simule el tiempo de fresado de 20 piezas (utilice nmeros aleatorios generados en Excel)11