Está en la página 1de 11

4o. Encuentro. Matemáticas en todo y para todos.

Uso de las distribuciones de probabilidad en la simulación de sistemas


productivos

Leopoldo Eduardo Cárdenas Barrón


lecarden@itesm.mx
Departamento de Ingeniería Industrial y de Sistemas
Instituto Tecnológico y de Estudios Superiores de Monterrey
Campus Monterrey

Resumen

Este artículo trata sobre las aplicaciones de las distribuciones de probabilidad en la


simulación de sistemas productivos. Primeramente, se expone el concepto de números
aleatorios entre cero y uno, y los métodos para generar números aleatorios entre cero y uno.
Después, se describe el método de la transformada inversa para construir generadores de
variables aleatorias, y se presenta la aplicación de las distribuciones de probabilidad en la
simulación de sistemas productivos haciendo uso de los generadores de variables aleatorias y
números aleatorios entre cero y uno. Finalmente, se deja al lector una actividad que consta de
7 ejercicios para que practique los conceptos adquiridos durante la lectura del presente
artículo.

Palabras clave: Simulación, distribuciones de probabilidad, números aleatorios,


generadores de variable aleatoria,

I. Introducción.

Para realizar una simulación se requiere de números aleatorios en el intervalo


(0,1), a los cuales les llamaremos ri. Donde los ri’s son una secuencia de números que
contiene n números; donde todos los números ri’s en la secuencia son diferentes y n
recibe el nombre de periodo o ciclo de vida del generador que creó la secuencia. Los ri’s
son el ingrediente básico de la simulación de procesos estocásticos y generalmente se
usan para generar el comportamiento de variables aleatorias tanto continuas como
discretas. Estrictamente los ri’s son números pseudo aleatorios, debido a que no es
posible generar números realmente aleatorios. La razón por la que los ri’s no son
realmente aleatorios es porque son generados por medio de algoritmos determinísticos
que requieren de ciertos parámetros. Existen una gran variedad de algoritmos para
generar números 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 programación, lenguajes de
simulación, paquetes de simualción y hojas de cálculo contienen una función para

1
4o. Encuentro. Matemáticas en todo y para todos.

generar números entre cero y uno de manera automática. Por ejemplo, en Excel se usa la
función =aleatorio() ó =rand().

Ahora, se presenta el algoritmo congruencial lineal, el cual fue propuesto por


D.H. Lehmer en 1951, siendo este algoritmo el más ampliamente usado. Este algoritmo
genera una serie de números de números enteros por medio de la siguiente ecuación
recursiva:

Xi+1 =(aXi + c)mod(m) i = 0,1,2,3,...,n

Donde Xo es la semilla, a es la constante multiplicativa, c es una constante aditiva


y m es el módulo. Xo>0, a>0, c>0 y m>0 deben ser números enteros. La operación “mod
m” significa multiplicar Xi por a, sumar c, dividir el resultado entre m y Xi+1 será el
residuo. Es importante señalar que la ecuación recursiva del algoritmo congruencial lineal
genera una secuencia de números enteros {0,...,m-1} y para obtener números aleatorios
en el intervalo [0,1] se requiere de la siguiente ecuación:

X
ri = i i = 1,2,3,...n
m -1

Ejemplo: Generar 4 números entre 0 y 1 con los siguientes parámetros: Xo=37,


a=19, c=33 y m=100. Solución:

X1 =(19 * 37 + 33)mod 100 = 36 r1 = 36/99 = 0.3636

X2 =(19 * 36 + 33)mod 100 = 17 r2 = 17/99 = 0.1717

X3 =(19 * 17 + 33)mod 100 = 56 r3 = 56/99 = 0.5656

X4 =(19* 56 + 33)mod 100 = 97 r4 = 97/99 = 0.9797

Es importante mencionar que los generadores de números simplemente generan


un conjunto números, después hay que verificar que dichos números 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
4o. Encuentro. Matemáticas 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 números ri’s. 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 números ri’s
cumplen con las pruebas, el siguiente paso es usarlos en un generador de variable
aleatoria.

Un generador de variable aleatoria es una expresión matemática que está en


función de los números aleatorios ri’s. Por ejemplo: Temperatura i = 35+10*ri grados
centígrados, donde si ri=0.25 entonces podemos simular el comportamiento de la
temperatura, en este caso, la temperatura simulada es de 37.5 grados centígrados. Si
ahora el número aleatorio es ri=0.75, entonces la temperatura es 42.5 grados centígrados,
y así podemos repetir el proceso hasta obtener el número de veces que deseamos simular
la variable temperatura.

Para construir un generador de variable aleatoria, es necesario contar con la


función de densidad probabilidad de la variable. Posteriormente, se construye el
generador de variable aleatoria por medio de alguno de los métodos disponibles tales
como el método de la transformada inversa, método de composición, método de
convolución, y método de aceptación y rechazo.

El método de la transformada inversa consiste básicamente en 4 pasos: 1) obtener


la función de densidad de probabilidad f(x), 2) calcular la distribución de
probabilidad acumulada F(x), 3) igualar la función 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 función de densidad de probabilidad del tiempo de proceso de una
pieza en una máquina tiene la distribución de probabilidad uniforme: f(t)=1/30 para
10<=t<=40 minutos y cero en cualquier otro valor. Aplicando el método de la
transformada inversa a la función f(t) construiremos un generador de variable aleatoria
para simular del tiempo de proceso de piezas en la máquina.

1) obtener la función de densidad de probabilidad f(t),

⎧1
⎪ si 10 ≤ t ≤ 40 minutos
f (t ) = ⎨ 30
⎪⎩0 en cualquier otro valor

2) calcular la distribución de probabilidad acumulada F(t),

3
4o. Encuentro. Matemáticas en todo y para todos.

ti
ti ti
1 t t i − 10
F(t) = ∫ f (t )dt = ∫ 30 dt = =
30
Lim. inf . 10 30 10

3) igualar la función de probabilidad acumulada F(t) a ri,

t i − 10
= ri
30

4) despejar la variable aleatoria t.


t i − 10 = 30 * ri
t i = 10 + 30 * ri

donde ri es un número aleatorio entre cero y uno.

Una vez obtenido el generador de variable aleatoria, ahora hay que simular.
Considerando los 4 números ri’s generados anteriormente por medio del algoritmo
congruencial lineal (0.3636, 0.1717, 0.5656, y 0.9797) simularemos el tiempo de proceso
de 4 piezas:

pieza 1 ==> t1 = 10 + 30 * 0.3636 = 20.908 minutos

pieza 2 ==> t 2 = 10 + 30 * 0.1717 = 15.151 minutos

pieza 3 ==> t 3 = 10 + 30 * 0.5656 = 26.968 minutos

pieza 4 ==> t 4 = 10 + 30 * 0.9797 = 39.391 minutos

Anteriormente, simulamos el tiempo de proceso para cuatro piezas, los valores


simulados están de una manera aislada y no han interactuado con otros valores y reglas
lógicas. En muchas ocasiones, los generadores de variables aleatorias no están aislados,
generalmente están interactuando con otros generadores de variables aleatorias y reglas
lógicas. Es decir, en el caso de una máquina 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 máquina, por lo tanto, existirá un generador de variable aleatoria para generar
el tiempo entre llegadas de las piezas. Además, cuando la máquina esté procesando una
pieza, y llegará a ocurrir la llegada de otra pieza, dicha pieza debe quedar en espera (fila)
a que la máquina termine el proceso de la pieza que está procesando.

4
4o. Encuentro. Matemáticas 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 distribución de
probabilidad exponencial es:

X i = −media * ln(1 − ri )

y para la distribución de probabilidad uniforme continua es:

X i = a + (b − a) * ri

Donde a y b son los límites inferior y superior de la distribución de


probabilidad uniforme continua, respectivamente.

II. Uso de las distribución de probabilidad en la simulación de sistema


producción.

Existe una gran variedad de configuraciones de sistemas de producción, por


ejemplo el sistema de producción de una sola etapa con una sola máquina como el
representado en la figura 1. Las piezas llegan al sistema productivo de una en una con un
tiempo entre llegadas que siguen algún tipo de distribución de probabilidad. Las piezas
se acumulan (hacen fila) en la tarima si la máquina está ocupada. La máquina procesa las
piezas con un tiempo de proceso distribuido de acuerdo a un tipo de distribución de
probabilidad.

Figura 1. Sistema de producción de una sola etapa con una sola máquina

Otros ejemplos sobre configuraciones de sistemas de producción son mostrados


en las figuras 2 y 3. Donde el sistema de producción representado en la figura 2 es un
sistema de producción de dos etapas en donde en cada etapa existe una sola máquina. En

5
4o. Encuentro. Matemáticas en todo y para todos.

cambio en la figura 3 se representa un sistema de producción de tres etapas en donde la


primera etapa tiene solamente una máquina, la segunda etapa tiene tres máquinas en
paralelo, y la tercera etapa tiene dos máquinas en paralelo. Cabe mencionar que podemos
generar una infinidad de configuraciones de sistemas productivos, e inclusive generar
configuraciones que gráficamente parecieran que son iguales, pero en realidad
representan sistemas de producción distintos, debido a que el flujo que siguen los
productos que se fabrican dentro del sistema productivo es distinto.

Figura 2. Sistema de producción con dos etapas, una máquina en cada etapa.

Es importante mencionar que las máquinas que están en paralelo pueden


considerarse como máquinas idénticas por lo tanto deben tener tiempo de proceso
iguales, o máquinas distintas por lo que su tiempo de proceso será distinto; esto caso
ocurre con mucha frecuencia cuando se tienen máquinas en paralelo que procesan el
mismo tipo de pieza pero una de las máquinas es manual, otra semiautomática, de modelo
reciente o automática.

Figura 3. Sistema de producción con tres etapas, algunas etapas con dos o más
máquinas en paralelo.

6
4o. Encuentro. Matemáticas 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 distribución de probabilidad.
El tiempo de proceso de la máquina que está en la primera etapa tendrá un
comportamiento acorde a una distribución de probabilidad. En la segunda etapa existen
tres máquinas en paralelo, las cuales pueden ser idénticas y todas tener el mismo tiempo
de proceso que siga el mismo tipo de distribución de probabilidad, o que cada máquina
sea distinta en tiempo de proceso (tal vez lo más común) y por lo tanto cada máquina
tendrá tiempo de proceso con su distribución de probabilidad correspondiente, lo
mismo puede ocurrir con la tercera etapa.

Ahora se preguntarán y cómo puedo determinar la distribución de probabilidad


que siguen los tiempos de entre llegadas y de proceso en cada máquina. Pues,
primeramente deberemos recolectar un poco de historia, es decir, debemos llevar a cabo
la recolección de los tiempos entre llegadas y de proceso de cada máquina. Segundo, al
conjunto de tiempos proponerle una distribución de probabilidad y realizar algún tipo
de prueba estadística para determinar el tipo de distribución de probabilidad que siguen
los tiempos. Existen varias pruebas para determinar el tipo de distribución de
probabilidad que siguen los datos de los tiempos, por ejemplo existen las pruebas de la
Chi-cuadrada, Kolmogorov-Smirnov, y Anderson-Darlin. Afortunadamente, también
existen paquetes de estadística que son de gran utilidad en la determinación del tipo de
distribución 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 máquina:
16.84288 19.45793 21.02074 36.89759 55.69647
26.81033 2.358834 6.790286 9.62015 53.22929
18.45535 9.487617 9.832381 4.64463 24.64045
17.34166 13.57499 8.989405 38.98915 6.921324
7.06555 16.47965 81.09373 18.0558 25.35731
6.385111 14.4736 39.21019 4.269692 41.49955
9.20546 37.23383 67.34301 3.632848 31.25733
8.648104 22.0958 32.52941 2.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 cuál distribución de probabilidad


puede representar al conjunto de datos. El stat::fit nos muestra resultados que están
mostrados en la figura 4. Estos resultados indican que la distribución que mejor
representa al tiempo de proceso de piezas en la máquina es la distribución de
probabilidad exponencial. En la figura 5 se muestra la gráfica de la distribución de
probabilidad exponencial que representa al tiempo de proceso.

7
4o. Encuentro. Matemáticas en todo y para todos.

Figura 4. Resultados del stat::fit

Figura 5. Gráfica del tiempo de proceso de las piezas

8
4o. Encuentro. Matemáticas en todo y para todos.

Una vez determinado el tipo de distribución de probabilidad que siguen los


tiempos entre llegadas y de proceso de cada máquina, el siguiente paso es construir el
modelo de simulación, el cual puede ser construido en una hoja de cálculo (Excel), en un
lenguaje de programación (C, C++,C#, Pascal, Delphi, Fortran, Basic, QBasic, entre
otros), en un lenguaje de simulación (GPSS/H, GPSS/PC, GPSS/World; SLAM, entre
otros) o en algún paquete se simulación (Promodel, Automod, Arena, QUEST,
WITNESS, entre otros).

El ambiente en donde construir el modelo de simulación depende de varios


factores, por ejemplo si lo que deseamos simular es algo simple y sencillo como el
sistema de producción mostrado en la figura 1, lo podemos realizar en una hoja de
cálculo. Para sistemas más complejos, por ejemplo el mostrado en la figura 3, se
recomienda el uso de un paquete de simulación.

III. Conclusión

En este artículo se han presentado el uso de las distribuciones de probabilidad


en la simulación de sistemas productivos. Primeramente, se expuso el concepto de
números aleatorios entre cero y uno, y los métodos para generar números aleatorios entre
cero y uno. Después se describió el método de la transformada inversa para construir
generadores de variables aleatorias, así como también se presentó el uso de las
distribuciones de probabilidad en la simulación de sistemas productivos haciendo uso
de los generadores de variables aleatorias y números 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 artículo.

IV. Anexo

Actividad:

Ejercicio 1:

Por medio del algoritmo congruencial lineal genere 5 números entre cero y uno
con los siguientes parámetros: 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 números entre cero y uno con los siguientes parámetros: Xo=11,
a=21 y m=128.

9
4o. Encuentro. Matemáticas en todo y para todos.

Ejercicio 3:

El tiempo de torneado (en horas) de una pieza tiene la distribución de


probabilidad continua siguiente:

4t 3
f (t ) = 0 ≤ t ≤ 2 horas
16
Simular el comportamiento del tiempo de torneado de 5 piezas. Para la simulación
utiliza los 5 números aleatorios generados en el ejercicio 1.

Ejercicio 4:

En una estación con una sola máquina existen 5 piezas listas para procesarse. El
tiempo de proceso de las piezas sigue una distribución de probabilidad exponencial
con media de 15 minutos. Determine el tiempo total que le llevará a la máquina procesar
las 5 piezas. Para la simulación utiliza los 5 números aleatorios generados en el ejercicio
2.

Ejercicio 5

El tiempo de corte (expresado en minutos) de un anillo metálico tiene la siguiente


distribución de probabilidad continua:

⎧8 11.975 ≤ t ≤ 12.10
f (t ) = ⎨
⎩0 en otro valor

Simular el tiempo de corte para 3 anillos metálicos. Usar 3 números aleatorios


generados por medio del método congruencial lineal con parámetros: a=13, m=256,
c=89, Xo=69.

Ejercicio 6. La máquina 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 reparación de la máquina DITZEN, los
cuales están expresado en minutos. Con respecto a los tiempos de reparación de la
máquina DITZEN se ha obtenido la siguiente información del stat::fit:

Auto::Fit of Distributions
distribution rank acceptance
Uniform(15., 19.9) 100 do not reject
Lognormal(15., 0.668, 0.918) 0.813 reject

10
4o. Encuentro. Matemáticas en todo y para todos.

descriptive statistics
data points 50
minimum 15.1161
maximum 19.9187
mean 17.608
median 17.7516
mode 19.2875
standard deviation 1.5055
variance 2.26652

Determinar en que tiempo (en minutos) la máquina de control numérico DITZEN


entrará de nuevo en funcionamiento después del segundo paro por falla, suponiendo que
la máquina empieza en funcionamiento en el tiempo cero. Para simular el tiempo de
funcionamiento de la máquina y el tiempo de reparación de la máquina es necesario
calcular 4 números aleatorios en el rango (0,1); utilice el método congruencial
multiplicativo con la siguiente información: a=11, m=512, Xo=13, para generar los 4
números aleatorios (0,1) y utilice los dos primeros números generados para simular el
tiempo de funcionamiento de la máquina y los últimos dos números generados para
simular el tiempo de reparación de la máquina.

Ejercicio 7.

Considere los siguientes 50 tiempos de proceso (expresado en minutos) en una


máquina fresadora,

16.21041 16.25205 16.17577 18.95439 19.47592


16.36975 18.55014 15.9486 19.38678 17.74947
17.04456 18.71943 18.613 18.27059 19.53324
15.19044 19.04788 19.56527 15.28796 19.91869
18.66544 17.29887 15.3293 15.1161 19.51316
19.62062 18.77906 17.81262 17.75368 17.32287
18.07798 19.1297 16.02536 17.649 15.58289
16.30308 15.65633 16.4915 19.43963 16.98236
16.39357 15.38137 19.77431 15.49208 17.46792
18.11481 18.58606 19.45417 18.02169 16.89999

y determine:
a) el tipo de distribución de probabilidad que siguen los tiempos de fresado
b) el generador de variable aleatoria correspondiente para simular el tiempo de
fresado
c) simule el tiempo de fresado de 20 piezas (utilice números aleatorios generados
en Excel)

11

También podría gustarte