4 1 GENERACION DE PROCESOS Introducción Hasta el presente sólo hemos estudiado la generación de variables aleatorias distribuidas uniformemente en el intervalo ( 0,1 ), llamadas “números aleatorios”. Sin embargo, en cualquier experimento de simulación no sólo se necesitan variables en el intervalo ( 0,1 ) sino que principalmente estamos interesados en analizar otros procesos que no están descritos por estas variables. Por ejemplo, si estamos interesados en estudiar la forma como se comporta el inventario de un artículo, necesitamos generar la demanda de ese artículo durante cierto tiempo, es decir, debemos asignar valores +a la variable aleatoria que nos describe esa demanda. Si esa demanda está modelada por una distribución de Poisson, entonces debemos generar valores de la distribución de Poisson. Esos valores se generan mediante el uso de los números aleatorios, generados antes. Si estuviéramos interesados en estudiar políticas sobre reemplazamiento de equipos, tal vez necesitemos generar valores de la distribución exponencial. Resumiendo, el interés no se centra en la generación de números aleatorios en sí, sino que va más allá. El interés está en la generación de las variables aleatorias, además de la uniforme ( 0,1 ) que nos describen el proceso de interés. Al generar los valores de las variables aleatorias que describen un proceso, lo que realmente estamos haciendo es un “muestreo artificial”, el cual nos suministra la información necesaria para analizar más a fondo el proceso, información que sería sumamente costosa o imposible de conseguir en la práctica 2 METODOS GENERALES Actualmente existen varios métodos generales para generar variables aleatorias. Los más comunes son: • • • El método de la transformación inversa El método del rechazo y Método de composición El método más conocido es el de la transformación inversa. El método del rechazo tiene su mayor aplicación en la solución de problemas determinísticos. 2.1 2.1.1 Método de la transformación inversa. Caso continuo. El método de la transformación inversa para generar variables aleatorias se basa en la función de distribución de la variable de interés. Si X es una variable aleatoria continua con función de densidad dada por f(x), la función de distribución de X, denotada por F(x) está dada por: X F(x) = P r ( X ≤ x ) = ∫ f( x)dx −α El rango de la función de distribución F(x) es entre cero y uno, lo mismo que el rango de los números aleatorios. Es decir : 0 ≤ F(x) ≤ 1, 0≤r<1 Si R es un número aleatorio, sus funciones de densidad y de distribución están dada por: f(r) = 0≤r<1 1 r F(r) = P(R≤r)= r ∫ f ( t)dt = ∫ dt = r R 0 (1) 0 Ahora, la probabilidad de que un número aleatorio R sea menor o igual que F(x) está dada por: P r [ R ≤ F(x) ] = F(x)), 0 ≤ F(x) ≤ 1 B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4-2 Por lo tanto : P ( X ≤ x ) = F(x) ⇒ r = P ( R ≤ F(x)) Es decir las variables F(x) y R están idénticamente distribuidas, siempre y cuando R esté uniformemente distribuida en el intervalo ( 0,1 ). En el método de transformación inversa se generan números aleatorios en el intervalo ( 0,1 ) y se hacen iguales a la función de distribución de la variable aleatoria X, es decir : R = F(x) → X = F-1 (R) F(x) R El valor de la función inversa F-1 (R) de R es el valor generado de la variable aleatoria de interés. r El valor de X se puede obtener gráficamente, como lo indica la figura 5.1 x’ X Figura 4.1 Dado que 0 ≤ F(x) ≤ 1, y F(x) es continua y ascendente, es claro que existe entre R y F(x) una relación unívoca. R ←→ FX (x) Ejemplo 4.1. Desarrolle un generador del proceso descrito por una variable aleatoria X con función de densidad uniforme entre a y b. Solución : (Ver numeral 3.1) r = F ( x) = x−a ⇒ b−a x = a + (b - a ) r. Así, para generar una variable aleatoria uniforme basta con generar un número aleatorio. Ejemplo 4.2. Desarrolle un generador del proceso descrito por la variable aleatoria X cuya función de densidad es exponencial con parámetro “a”. Solución :(Ver numeral 3.2) r = F( x) = 1 − e − ax ⇒ 1 − r = e − ax ⇒ x = − 1 a Ln(1 − r ) Como la distribución uniforme es simétrica y dado que R y 1 - R tienen la misma distribución (tienen los mismos momentos), entonces en vez de usar 1-r podemos emplear r. Por lo tanto, la distribución exponencial puede generarse mediante la siguiente expresión x=− 1 a Ln( r ) Ejemplo 4.3. Desarrolle un generador del proceso descrito por la variable aleatoria X cuya función de densidad está dada por : 0≤ x<2 2≤ x<3 1 / 6 f(x) = 1 / 3 1 / 12 3≤ x<7 Solución: Lo primero que debemos hacer es construir la función de distribución F(x). Esta función debe construirse en forma separada para cada intervalo, de la siguiente forma: F(x) = P ( X ≤ x ) = 1) X 0 X X −α −α 0 0 ∫ f( x)dx = ∫ f( x)dx + ∫ f( x)dx = ∫ f( x)dx Para 0 ≤ x ≤ 2, se tiene: B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” X F1 (x) = 1 ∫ 6 dx = x / 6 → F 1 4-3 (2) = 1/3, → 0 ≤ F1 (x) < 1/3 0 Para 2 ≤ x ≤ 3, se tiene: 2) F2 (x) = X 2 X 0 0 2 1 ∫ f ( x)dx = ∫ f ( x)dx + ∫ f ( x)dx = 1 / 3 + ∫ 3 dx = 1 / 3 + x / 3 − 2 / 3 F2 (x) = x/3 - 1/3 → F2 (3) = 2/3, 3) X 2 para 2 ≤ x ≤ 3, 1/3 ≤ F(x) < 2/3 Para 3 ≤ x ≤ 7, se tiene: 3 X X 1 dx = 2 / 3 + x / 12 = 2 / 3 + x / 12 − 3 / 12 = ( x + 5) / 12 → F3 (x) = f ( x) dx + 12 3 0 3 ∫ ∫ F2 (7) = 1, → para 3 ≤ x ≤ 7, 2/3 ≤ F(x) < 1 Resumiendo se tiene: x / 6 F(x) = ( x − 1) / 3 ( x + 5) / 12 0 ≤ x ≤ 2, 0 ≤ F(x) < 1 / 3 2 ≤ x ≤ 3, 3 ≤ x ≤ 7, 1 / 3 ≤ F(x) < 2 / 3 2 / 3 ≤ F(x) < 1 El procedimiento para generar una variable aleatoria se expresará entonces como sigue : Se genera un número aleatorio r y se iguala a la función de distribución F(x). Sin embargo, debe tenerse en cuenta el rango en que queda r, así: • • • Si 0 ≤ r < 1/3 ⇒ F(x) = x/6 = r → x = 6r Si 1/3 ≤ r < 2/3 ⇒ F(x) = ( x - 1 )/3 = r → x = 3r + 1 Si 2/3 ≤ r < 1 ⇒ F(x) = ( x + 5 )/12 = r → x = 12r - 5 El procedimiento anterior se puede explicar gráficamente como lo indican las figuras 4.1 y 4.2 de la página siguiente. Figuras 4.2 y 4.3 Ejemplo del método de la Transformación Inversa. Caso Continuo f(x) 1/3 F(x) 1 1/6 2/3 1/12 1/3 0 0 0 1 2 3 4 5 Figura 4.2 6 7 8 0 1 2 3 4 5 Figura 4.3 6 7 8 Ejemplo 4.4. Considere la distribución triangular. Una variable aleatoria sigue una distribución triangular si su función de densidad está dada por: c( x − a), F(x) = c(b − x), a≤ x< a+b 2 a+b ≤x<b 2 f(x) B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” donde c= 4 (b − a)2 a m b x Figura 4.4 Distribución Triangular La función de distribución está dada por : 1) Para a ≤ x ≤ a+b 2 X F(x) = ∫ c( x − a) 2 a + b c b − c → F = 2 2 2 2 c( x − a)dx = a 2) 4-4 Para 2 a+b ≤ x < b, la función de distribución toma la siguiente forma: 2 2 c b − a F(x) = + 2 2 X X 2 c b − a c 2 c(b − x)dx = − (b − x) 2 2 2 a+b c +b ∫ 2 2 2 2 2 c b − a c c a + b c b − a 2 2 F(x) = − (b − x) + b − = c − (b − x) 2 2 2 2 2 2 2 2 b − a =1 2 2 c= b − a F(b) = c 2 Resumiendo se tiene : c 2 2 ( x − a) , F(x) = 2 c b − a − c (b − x) 2 , 2 2 a+b a≤x< , a a+b ≤ x < b, 2 2 0 ≤ F(x) < c b − a , 2 2 0≤r< 2 2 c b − a b − a ≤ F(x) < c , 2 2 2 1 2 1 ≤r <1 2 Para generar una variable aleatoria X, se genera un número aleatorio r, entre 0 y 1, y se iguala a la función de distribución, de acuerdo al rango en que quede, así: 2 1) Si r ≤ 2 2) Si 2 c b − a , es decir si 2 2 r < ½ entonces: F(x) = c x − a =r ⇒ 2 2 2 X=2 2r +a c 2 c b − a c b − a b − a 2 ≤ r < c , es decir si r > .5 entonces F(x) = c − (b − x) = r ⇒ 2 2 2 2 2 2 b − a 2 2 (b − x) 2 = c − r = (1 − r ) c c 2 ⇒ X=b− 2 (1 − r ) c Resumiendo se tiene que : x=a+ 2r , c Si r < ½ x=b− 2 (1 − r ) , c Si r ≥ ½ Existen muchas variables aleatorias para las cuales es sumamente difícil o imposible expresar la función de distribución mediante una expresión cerrada que se pueda manipular fácilmente; o una vez obtenida esta expresión, puede ser complicado expresar la variable X en términos del número aleatorio r. En estos casos, será necesario emplear otro método. 2.1.2 Método de transformación inversa, caso discreto. B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4-5 Cuando la variable aleatoria X no es continua, no puede usarse el método de la transformación inversa en la forma explicada anteriormente, sino que es necesario modificarlo un poco para tener en cuenta la naturaleza discreta de la variable aleatoria. En el caso continuo para cada valor de la variable aleatoria X existe uno y solo un valor del número aleatorio r que genera ese valor de X como se ilustró en la figura 4.1. Es decir, existe una relación biunívoca entre X y R. Esto no es cierto cuando X es discreta. Para ilustrarlo, considere la variable aleatoria cuya función de probabilidad está dada por: 1 / 4 P( x) = 0 x= 1, 2, 3, 4, en otros casos. La función de distribución F(x) está dada por: 1 / 4 1 / 2 F(x) = 3 / 4 1 x=1 x=2 x=3 x=4 o simplemente F(x) = x/4, x=1, 2, 3, 4 f(x) 1/2 F(x) 1 3/4 1/4 1/2 r 1/4 0 0 1 2 3 4 0 1 Figura 4.5 Método de la transformación inversa caso discreto 2 3 4 Al generar un número aleatorio r no podemos hacer r = F(x) ya que R es continua y X es discreta. Por ejemplo : si r = .31 y aplicamos el método de la transformación inversa visto antes el valor correspondiente de X sería : r= x → x = 4r = 124 . 4 Sin embargo el valor x = 1.24 no existe. Sin embargo, si aplicamos el método de la transformación inversa gráficamente, figura 4.5, vemos que el valor de x correspondiente a un r = 0.31 es 2. Si r fuera 0.48, x seguiría siendo 2. Igualmente sería 2 si r fuera 0.49. Si r fuera 0.50, el valor correspondiente a x sería 3. Es decir, el valor x = 2 puede ser generado por muchos valores de r, todos aquellos que sean mayores o iguales a 1/4 y menores de 1/2. El valor de x será entonces el entero aquel que cumpla la siguiente desigualdad : F ( x - 1 ) ≤ r < F(x) (1) En general, si X no varía en intervalos de a 1 sino de µ, el valor x sería aquel que cumpliera la siguiente desigualdad: F ( x - µ ) ≤ r < F(x) (1) Ejemplo 4.5. Para nuestro ejemplo, el generador del proceso sería: 1 2 x= 3 4 si 0 ≤ r < 1/ 4 si 1/ 4 ≤ r < 1/ 2 si 1/ 2 ≤ r < 3 / 4 si 3 / 4 ≤r <1 B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4-6 Así, teóricamente existe un número infinito de valores de r que dan el mismo valor de x. Dado que en el ejemplo anterior la función de distribución tiene una expresión matemática cerrada, podemos tratar de encontrar una forma más explícita para la variable aleatoria X. Así: F(x) = x , 4 x = 1, 2, 3, 4 Dado un valor de r, el correspondiente valor de x será el entero que cumpla ( 1 ) F ( x - 1 ) ≤ r < F(x) es decir: x−1 x ≤r < 4 4 x −1 ≤ r ⇒ x ≤ 4r + 1 4 x r < ⇒ 4r < x → x > 4r 4 Tomando la parte izquierda de la desigualdad se tiene: La parte derecha de la desigualdad nos indica que: (2) (3) Combinando las expresiones ( 2 ) y ( 3 ) se obtiene que el valor X estará dado por: 4r < X ≤ 4r + 1⇒ X = [4 r + 1], donde [Y] = parte entera de Y Si Si Si Si → → → → r = 0.31 r = 0.43 r = 0.49 r = 0.50 1.24 1.92 1.90 2.00 < < < < x x x x ≤ ≤ ≤ ≤ → → → → 2.24 2.92 2.96 3.00 x=2 x=2 x=2 x=3 Ejemplo 4.6. Considere la distribución geométrica. Una variable aleatoria X tiene una distribución geométrica si su función de probabilidad está dada por : P( x) = p(1 − p) x−1, x = 1, 2, ......., donde X puede representar : • • • Número de artículos que es necesario inspeccionar antes de encontrar uno defectuoso. Tiempo (medido en forma discreta) necesario para atender una persona. Número de veces que es necesario jugar una lotería para ganársela donde, para cada caso p puede representar : • • • P = Probabilidad de que un artículo sea defectuoso. p = Probabilidad de que el servicio se termine en una unidad de tiempo. P = Probabilidad de ganarse una lotería La función de distribución está dada por: x F(x) = P( X ≤ x) = ∑ i =1 x −1 ∑ F(x) = p i= 0 F(x) = x P( X = i) = ∑ pq i =1 p(1 − q x ) q = , dado que 1− q i i −1 N ∑ i= 0 Zi = 1 − Z N+1 , si Z ≠ 1 1− Z p(1 − q ) = 1 − q x , x = 1, 2, ....., 1 − (1 − p) x Para generar una variable aleatoria X con distribución geométrica se genera un número aleatorio r. El valor de x será el entero que cumpla : F ( x - 1 ) ≤ r < F(x) x-1 ≤ r < 1 - qx 1-q Trabajando con la parte izquierda de la desigualdad, se obtiene: 1 - qx-1 ≤ r ⇒ 1 - r ≤ qx-1 ⇒ Ln ( 1 - r ) ≤ ( x -1 ) Ln q ⇒ x - 1 ≤ Ln(1 − r ) , Ln. q B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” dado que Ln q < 0 ⇒ x ≤ 4-7 Ln(1 − r ) + 1 (A) Lnq Con la parte derecha de la desigualdad, se obtiene: s x 1-q > r⇒1-r > q ⇒ x > ⇒ Ln ( 1 - r ) > x Ln q ⇒ x > Ln(1 − r ) Lnq Ln(1 − r ) , dado que Ln q < 0 Ln. q (B) De las expresiones (A) y (B) se obtiene que el valor de la variable aleatoria X es el entero que satisfaga la siguiente desigualdad : Ln(1 − r ) Ln(1 − r ) +1 <x ≤ Lnq Lnq Es decir, X es igual a la parte entera que se obtiene de realizar el cálculo 2.2 Ln(1 − r ) +1 Lnq Método del Rechazo El método del rechazo está basado en la función de densidad f(x) y no en la función de distribución F(x), como el de la transformación inversa. Para poder usar este método se requiere que la función de densidad sea acotada y que el rango de variación de la variable aleatoria sea finito, esto es, a≤ x ≤ b. El método se basa en a) encerrar la función de densidad dentro de un rectángulo cuya altura es el valor máximo de dicha función y cuyo base es el rango de variación de la variable aleatoria y b) generar parejas de números aleatorios, y aceptar aquellas parejas que queden bajo la curva definida por la función de densidad de la variable de interés. El procedimiento para aplicar este método es el siguiente. 1) Se normaliza la función de densidad f(x) mediante un factor c tal que su rango de variación esté entre cero y uno, es decir, 0 ≤ c.f(x) ≤ 1, a≤ x ≤ b. Por lo tanto, el valor de c debe ser tal que c. Max f(x) =1 ⇒ c= 1/Max f(x) 2) Se genera la variable aleatoria X correspondiente al rectángulo de base (b-a), es decir, como el valor perteneciente a la función de densidad uniforme entre a y b, a saber, X= a + (b - a) r 3) Se genera una pareja de números aleatorios (r1, r2). 4) Con el primer número aleatorio se genera el valor de X, un rectángulo de base (b - a), es decir, como correspondiente a la distribución uniforme. Por lo tanto X= a + (b -a) r1 y se calcula la ordenada de X correspondiente a la función de densidad normalizada c(f(x). Es decir, se calcula c.f[a + (b -a) r1 ] 5) Se acepta la pareja de números aleatorios si r2 ≤ c.f(x), o sea si, r2 ≤ c.f[a + (b -a) r1 ]. Por lo tanto, se acepta la pareja si la intersección de X con r2 cae bajo la curva definida por c.f(x). Si no se acepta la pareja es necesario generar una nueva pareja, es decir, repetir el procedimiento desde el paso 3. La figura siguiente ilustra el procedimiento c.f(x) 1 r22 r21 B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” a x1 x2 b 4-8 x x1 x2 La pareja (r11, r21), o equivalentemente la pareja (x1, r21) , donde x1 = a + (b - a ) r11, se acepta ya que r21 < c.f(x1), es decir, la intersección de x1 y r21 queda bajo la curva definida por c.f(x1). Sin embargo, la pareja (r12, r22), o equivalentemente la pareja (x2, r22) , donde x2 = a + (b - a ) r12, se rechaza ya que r22 > c.f(x2), es decir, la intersección de x2 y r22 queda fuera de la curva definida por c.f(x2). Se observa que la pareja (r1, r2) genera un par de coordenadas que definen un punto en el rectángulo que tiene como base (b - a) y altura unitaria, y que de estas parejas, las que se aceptan son aquellas que quedan bajo la curva c.f(x). Si se generan N parejas de números aleatorios (r1, r2) y de estas parejas M caen bajo la curva, entonces la probabilidad de que una pareja quede bajo la curva puede estimarse como P = M/N. Si se conoce el área del rectángulo y se desea calcular el área bajo la curva, entonces esta área puede estimarse como el área del rectángulo por la proporción de puntos que caen bajo la curva, es decir, Area bajo la curva = Area del rectángulo x P, donde el área del rectángulos es (b - a) x Máximo f(x) Además, P puede interpretase como la probabilidad de que una pareja sea aceptada. Dependiendo de la forma de f(x), esta probabilidad podría calcularse analíticamente. El método del rechazo se base en el hecho de que la probabilidad de que un número aleatorio R sea menor o igual que c.f(x) está dada por : p[R ≤ r] = r ⇒ p[R ≤ c.f(x)] = c.f(x), 0 ≤ c.f(x) ≤ 1 Por consiguiente, si X se escoge al azar en el rango (a,b) como x = a + (b - a) r, y luego se rechaza si r > c.f(x) entonces a función de densidad de los valores aceptados sería f(x). Determinemos la probabilidad de que un par de números aleatorios produzcan exitosamente una variable aleatoria. Esta probabilidad es igual a la probabilidad de que el primer número genere el valor de X = x, que es igual a dx/(b-a), por la probabilidad de que el segundo número sea menor o igual a c.f(x), la cual es igual a c.f(x), dado que el número aleatorio está uniformemente distribuido entre cero y uno. Por lo tanto, P(pareja exitosa) = ∫ b a c dx . cf ( x) = b−a b−a ∫ b a f ( x) = c b−a El número esperado de ensayos para obtener una pareja exitosa es (b-a)/c. El método del rechazo es ineficiente cuando (b-a)/c es f(x un poco grande, dado que se necesita generar una gran cantidad de números aleatorios antes de encontrar un par exitoso, como sería el caso de tener una distribución como la mostrada en la figura siguiente. a b Ejemplo 4.7. Use el método del rechazo para generar observaciones de una variable aleatoria normal con media cero y varianza unitaria. Una variable aleatoria Z tiene una distribución normal con media cero y varianza uno si su función de densidad está dada por : f ( z) = 1 2π 2 e − z / 2 , -∞ < z < +∞ En principio, el método del rechazo no puede emplearse para generar una distribución normal, dado que su rango de variación no es finito. Sin embargo, si se acota la distribución, sí podría emplearse. Se sabe que el B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4-9 99.73% de una distribución normal se encuentra comprendido en el rango de más o menos tres desviaciones (± 3 para nuestro caso). Es decir, tendríamos la siguiente función de densidad : f ( z) = 1 2π 2 e − z / 2 , -3 < z < +3 Por lo tanto el procedimiento a aplicar sería : 1) Normalizar f(z). El valor de c es 1/Max f(z) = 1/f(0) = Por lo tanto c.f(z) = 2) 3) 4) 5) 2π , dado que el máximo valor de f(z) ocurre en z=0. 2 c. f ( z) = e − z / 2 El valor de Z se calculará como a + (b - a) r = -3 + 6 r Se genera una pareja de números aleatorios (r1,r2). Se calcula Z como z = a + (b - a) r1 y se calcula c. f(z). Se acepta la pareja si r2 ≤ c.f(z), es decir, si r2 ≤ c.f(-3+6r1). Si se acepta la pareja, entonces el valor de la variable sería el z calculado con r1. Si se rechaza la pareja, es decir, si r2 > c.f(z), se repite el paso 3. Ejemplo 4.8. Use el método del rechazo para calcular el área del primer cuadrante de un círculo unitario. Este ejercicio sirve para ilustrar el método de Montecarlo para resolver problemas completamente determinísticos. y Un círculo unitario está definido mediante la siguiente ecuación : 1 x2 + y2 = 1 De la ecuación se obtiene que y = 1 − r 12 . Dado que e l rango de variación de y está entre cero y uno, el factor de normalización sería c = 1. Por lo tanto, el procedimiento sería : 1) Se genera la pareja de números aleatorios r1 y r2. 2) Se expresa x como x = a + (b - a ) r1 =r1 3) Se calcula y = c.f(x) = 0 1 x 1 − r 12 y se acepta la pareja si r2 < c.f(x), o equivalentemente si 2 2 r1 +r2 ≤ 1, es decir si la pareja cae bajo el círculo. Se generan varias parejas de números aleatorios (N) y se cuenta el número de parejas aceptadas M. El área bajo el cuadrante se calcula como el área del rectángulo (la unidad) por la proporción de parejas que caen bajo la curva, es decir, el área del cuadrante se estima como M/N. Matemáticamente se sabe que el área de un círculo está dada por πR2, siendo R es el radio del círculo. Por lo tanto el área exacta del cuadrante será π/4. A medida que se aumente el número de parejas generadas la proporción de las que caen bajo la curva debe tender a π/4. Ejemplo 4.9. Use el método del rechazo para calcular el área bajo la curva Y = 3X, entre 2 y 5. El problema se puede ilustrar gráficamente como se muestra c.f(x) en la gráfica No 5.x 16 El valor máximo de f(x) para el rango de variación dado ocurre en x=5, con un valor de 15, por lo tanto, el valor de c es de 1/15. 12 El procedimiento sería entonces : 8 1) Se normaliza f(x) por el factor c=1/15, por lo tanto c.f(x) = x/5 2) Se genera un par de número aleatorios (r1,r2). Se expresa x como x = 2 + 3 r1 • Si r2 ≤ (2 + 3 r1)/5 se acepta la pareja y se contabiliza • el número de parejas aceptadas (M) • Si r2 > (2 + 3 r1)/5 se rechaza la pareja. 4 0 1 2 3 4 5 6 x B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 10 El área total del rectángulo está dada por (5 - 2) x 15, y el área bajo la línea y = 3 x se estima como el área bajo el rectángulo por la proporción de parejas aceptadas, es decir por : Area_Bajo_Línea = (5 - 2) x 15 x M/N = 45M/N La tabla siguiente resume resultados obtenidos para diferentes valores de las parejas de números generados. Parejas Generadas 25 Parejas Aceptadas 22 Proporción 88.00 50 38 76.00 100 69 66.5 200 133 70.6 500 353 70.6 1000 698 69.8 El área real bajo la curva está dada por la integral de la función 3x entre 2 y 5, y su valor es : 5 Area_Real_Bajo_Línea = ∫ 3xdx = 315. 2 y la proporción del área bajo la curva seria de 31.5 x 100/45= 70%. 2.3 Método de relación con otras variables (Convolución). Un método muy utilizado para generar variables aleatorias es mediante el análisis de la relación matemática de la variable de interés con otras variables conocidas, o analizando el proceso que da origen a una determinada variable. Por ejemplo, la distribución Erlang (α, k) resulta de la convolución de k variables aleatorias distribuidas exponencialmente con valor esperado 1/a. Por lo tanto, para generarla, basta con generar k variables exponenciales con media 1/α y sumarlas. k X =∑ Xi =− i =1 k 1 1 k ln = − ln Ri ∑ Ri α ∏ α i =1 i =1 De igual manera la distribución binomial (n, p) resulta de la convolución (suma) de n variables aleatorias con distribución Bernoulli con parámetro p. Por lo tanto, su generación se puede realizar a partir de la distribución de Bernoulli, como se analizará mas adelante. 3 Generación de procesos continuos. En esta sección se presentará la forma de generar artificialmente las observaciones de las principales variables aleatorias continuas. Para algunas variables se presentarán varios métodos, indicando cuál de ellos puede ser más eficiente. Además, en algunos casos se presentarán algunos métodos que, aunque no sean eficientes desde el punto de vista estadístico o computacional, sirven para ilustrar la aplicación de uno de los métodos generales presentados en la sección anterior. 3.1 Distribución Uniforme Una variable aleatoria X se distribuye uniformemente en el intervalo (a,b) si su función de densidad está dada por : 1 f(x) = b − a 0 a≤x<b en otros casos Su función de distribución F(x) está dada por : 0 x − a F(x) = P(X ≤ x) = = b − a 1 f(x) x<0 a≤x≤b x>b F(x) B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 11 1.0 r a b a x b El valor esperado y la varianza de una distribución uniforme son los siguientes: a+b E ( X) = ∫abxf ( x)dx = 2 (b − a) 2 Var ( X) = ∫ab( x − E ( X)) f ( x) dx = 12 2 Aplicación : Errores de redondeo cuando las mediciones se registran con determinada precisión. Por ejemplo, cuando se registra una calificación, generalmente se aproxima a la décima mas cercana (redondeo simétrico). Entonces la diferencia entre la nota real y la nota registrada es algún número entre -0.05 y +0.05, y el error se distribuye uniformemente en este intervalo. Para generar una variable aleatoria uniforme, se puede hacer uso del método de la transformación inversa de la siguiente manera : Se genera un número aleatorio R = r y se lo iguala a la función de distribución de la siguiente manera : r = F( x ) = x −a b−a ⇒ x = a + (b - a ) r. Así, para generar una variable aleatoria uniforme basta con generar un número aleatorio. Estimación de los parámetros Cuando los parámetros de la distribución no son conocidos, debemos estimarlos con base en datos históricos. La estimación puede hacerse por el método de los momentos o el método de máxima verosimilitud. A través del método de los momentos, como se tienen dos parámetros se deben usar los dos primeros momentos, la media y la varianza. Es decir, igualamos la media µ y la varianza σ2 de la distribución con la media y la varianza muestrales, respectivamente. a +b µˆ = =X 2 2 σˆ = ( b −a ) 12 2 =S2 Despejando a y b de las dos expresiones anteriores se obtiene: â = X − 3 S2 , b̂ = 2 X −â Utilizando el método de máxima verosimilitud, los estimativos de a y b estarán dados por: â =X min , 3.2 b̂ =X max Distribución Exponencial Una variable aleatoria X sigue una distribución exponencial con parámetro λ si su función de densidad tiene la siguiente forma: λ −λx f ( x) = e 0 x ≥0 en otros casos La función de distribución está dada por: F ( x) =1−e−λx B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 12 La media y la varianza están dadas por: 1 E ( X ) =µ = , λ V ( X ) =σ 2= 1 λ 2 Aplicación: Considere un evento cualquiera, un accidente, por ejemplo. Si la probabilidad de que ocurra un evento en un intervalo muy corto de tiempo es pequeña, y si la ocurrencia de este evento es estadísticamente independiente de la ocurrencia de otros eventos, entonces el intervalo de tiempo entre la ocurrencia de eventos de este tipo, se distribuye exponencialmente. Ejemplos de variables distribuidas exponencialmente son: intervalo de tiempo entre accidentes en una carretera, la llegada de órdenes a una fábrica, la llegada de clientes a un supermercado, la duración de un equipo, etc. Estimación del parámetro: El parámetro λ puede estimarse como X . La generación de una variable exponencial puede hacerse por varios métodos, de los cuales el rnás eficiente es el de la transformación inversa. r = F ( x) =1−e−λx ⇒ 1− r =e− λx ⇒ Ln (1 − r ) = −λ x ⇒ x =− 1 λ Ln (1− r ) Dado que la distribución uniforme es simétrica, entonces R y 1 – R tienen la misma distribución, por lo cual los valores generados de r y 1 – r pueden intercambiarse en el proceso de generación de variables aleatorias. De lo anterior se concluye que X puede generarse como: x=− 1 λ Ln r La distribución exponencial se basa en la suposición de que el parámetro λ es constante esto es, se asume que todos los eventos han sido generados por un mismo proceso aleatorio. Esta condición no se cumple a veces en ciertos procesos reales, cuando se trabaja con eventos que son producidos por procesos aleatorios diferentes pero mezclados. Es posible que una muestra sea tomada de dos o mas distribuciones exponenciales, teniendo cada una un valor diferente del parámetro λi. Muchos problemas de fenómenos de espera caen en esta categoría. Por ejemplo, las llegadas pueden ocurrir a tasas λi con probabilidades pi, donde λi = λpi. es el parámetro de la población i, i = 1,2, ..s, tal ∑pi = 1. Tal mezcla de variables exponenciales sigue a su vez una distribución hiperexponencial particular (s = 2) ó hiperexponencial generalizada (S > 2). Si una variable aleatoria sigue una distribución exponencial, entonces su media y su desviación son iguales. Es decir, el coeficiente de variación es 1. El coeficiente de variación de datos no negativos) se define como la razón entre la desviación estándar y el valor medio. El coeficiente de variación da una medida del grado en que los datos están dispersos alrededor de la media. Un coeficiente de cero significa que no hay variación, esto es, que los datos son constantes. Para el caso de una distribución exponencial, como se indicó antes, el coeficiente te de variación es uno. Si el coeficiente de variación de los datos medidos, está cercano a la unidad, es razonable suponer que los datos se ajustan a una distribución exponencial. Cuando el coeficiente de variación es significativamente menor o mayor que la unidad, se usan la distribución especial de Erlang y la distribución hiperexponencial respectivamente. Observación: A veces la distribución exponencial se expresa como f ( x) = 1 − x /θ θ e donde el parámetro θ corresponde al inverso de la tasa λ y es el valor esperado de la distribución. 3.3 Distribución Weibull La distribución exponencial se aplica bastante para describir la duración de un equipo. En este caso, el parámetro λ recibe el nombre de "tasa de fallas" y el inverso 1/λ recibe el nombre de "tiempo medio entre B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 13 fallas". La distribución exponencial se emplea cuando la "función de tasa de fallas" ó "función de riesgo" es constante. Para una distribución continua F, definimos h (t), la función de tasa de fallas como h(t ) = f (t ) 1 − F (t ) donde f(t) es la función de densidad y es igual a f(t) = dF(t)/dt. Si F es la distribución de la vida de un artículo, entonces h(t) representa la densidad de probabilidad de que un equipo con una vida t falle. Esto es, h(t)dt es la probabilidad condicional de que un artículo fallará entre los tiempos t y t + dt dado que ha funcionado hasta el tiempo t. Decimos que F es una distribución con tasa creciente de falla (TCF) si h(t) es una función creciente de t. Similarmente, decimos ese F es una distribución con tasa decreciente de falla (TDF) si h (t) es una función decreciente de t. La distribución exponencial se usa cuando la función de riesgo es constante, esto es h(t) = λ Cuando la tasa de fallas no es constante, debe usarse una distribución diferente de la exponencial. Las distribuciones más frecuentemente usadas son la distribución Weibull y la gama.. La distribución de Weibull se usa con frecuencia para representar la vida de los componentes, pues posee una serie de ventajas sobre las demás. Fue usada por Weibull (1951) para describir las variaciones en la resistencia a la fatiga del acero y posteriormente se ha usado para representar la vida y el servicio de tubos y otros equipos electrónicos. La distribución de Weibull posee, en su forma general, tres parámetros lo que le da una gran flexibilidad. Ellos son: a) Parámetro de posición γ representa el tiempo antes del cual se supone que no ocurre ninguna falla. En la mayoría de los casos se supone γ = 0. b) Parámetro de escala o característica de vida θ c) Parámetro de forma β Seleccionando adecuadamente los valores de los parámetros es posible obtener mejores ajustes que los obtenidos con otras distribuciones. Debe notarse que si el parámetro de forma toma el valor β = 1,se obtiene la distribución exponencial con dos parámetros. Si además γ = 0 se obtiene la distribución exponencial de un parámetro (λ = 1/θ). Sus principales características son las siguientes: a) Función de densidad de probabilidad f(t): β f ( f ) = θ 0 b) t −γ θ β −1 t −γ − e θ β t ≥γ , , t <γ Función de distribución F(t), que representa la probabilidad de que el producto o componente falle antes del tiempo t t −γ − t 1 − F (t ) = P(T ≤ t ) = ∫ f (t )dt = e 0 θ 0 c) , β , t ≥γ t <γ Tasa o intensidad de falla h(t) (tasa instantánea de falla) B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” β h(t ) = θ t −γ θ 4 - 14 β −1 cuya representación gráfica se presenta es la mostrada en la figura. Se observa si β = 1 se tiene una intensidad de fallas constante {h(t) = 1/θ= λ}, típica de la distribución exponencial. Además si β ≈ 3,75 se obtiene una buena aproximación a una distribución normal Una elección adecuada del parámetro de forma β permite usar la distribución de Weibull para casos de intensidad de fallas de decreciente (rodaje o fallas infantiles β < 1), para casos de intensidad de fallas constantes (período de operación normal β = 1) o para casos de intensidad de fallas creciente (período de desgaste con β > 1). d) Tiempo medio entre fallas MTBF (TMEF) o Esperanza de vida, está dado por MTBF = T0 = γ + 1 1 Γ + 1 θ β Varianza de Vida, σ 2 e) V(T) = E[X2] - [E(X)]2 = 1 θ 2 [Γ ( 2 β + 1) − Γ 2 ( 1 β + 1)] Si β > 1 la distribución toma la forma de campana; de lo contrario toma la forma de J como la exponencial. Esta distribución, como se indicó antes, ha encontrado amplio uso al tratar problemas relacionados con pruebas de duración y datos de confiabilidad. Para generar una variable aleatoria que siga una distribución Weibull puede hacerse uso de la transformación inversa, ya que F(x) tiene una forma cerrada. t −γ r = F (t ) =1 − e− θ β ⇒ t −γ Ln (1− r ) = − θ β ⇒ t =γ + θ [− Ln(1−r )]1 / β Al igual que para el caso de la distribución exponencial, podemos reemplazar r por 1 – r, con lo cual la variable Weibull se genera como: t =γ + θ 3.3 [− Lnr )]1 / β Distribuciones Gama y Erlang Una variable aleatoria X tiene una distribución gama si su función de densidad está dada por: ( λt ) k −1 f ( t ) =λ e − λt Γ(k ) t ≥0 donde √(k) representa la función gama de k, que está definida como: ∞ Γ(k ) = ∫ x k −1 e − x dx 0 También se cumple que Γ (k) = (k – 1 ) Γ (k - 1). B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 15 Si el valor de k es entero, se puede demostrar que Γ (k) = (k – 1)!, y en este caso la distribución toma el nombre de distribución de Erlang. El valor esperado y la varianza de la distribución gama están dados por: k E (T ) = µ = , λ V (T ) = σ 2 = k λ 2 La función de distribución F(t), dada por t ∫0 f ( x)dx no puede ser evaluada en forma explícita como una función de t, por lo cual no puede ser manipulada algebraicamente. Cuando k es grande la distribución gama tiende a la distribución normal. Si K = 1 la distribución gama es igual a la distribución exponencial. Si los parámetros λ y k no son conocidos, pueden estimarse mediante el método de los momentos como: X λˆ = 2 , S 3.3.1 2 k̂ = X2 S Distribución de Erlang Si un proceso consta de k eventos sucesivos e independientes y si el tiempo total transcurrido en el proceso puede mirarse como la suma de k variables exponenciales independientes, cada una con parámetro λ, la distribución de esta suma seguirá una distribución Erlang con parámetros λ y k. Matemáticamente, la distribución de Erlang es la convolución (suma) de k distribuciones exponenciales. Es decir, si T1, T2,…Tk son variables aleatorias distribuidas exponencialmente con parámetro λ, entonces T = T1 + T2 + … + Tk tiene una distribución Erlang con parámetros λ y k, cuya función de densidad tiene la siguiente forma: f (t ) = λ e− λt (λt )k −1 t ≥0 (k − 1)! Como la función de distribución no tiene forma explícita, no puede emplearse el método de la transformación inversa. Las variables con distribución Erlang pueden generarse reproduciendo el proceso en que se basa esta distribución, es decir, mediante la suma de k variables exponenciales. Entonces para generar una variable Erlang se puede reproducir el proceso que da origen a la distribución, mediante la generación de k variables exponenciales T1, T2,…Tk cada una con media λ y luego realizando la respectiva suma. Por consiguiente la variable Erlang T puede expresarse como: T = T1 + T2 + … + Tk , donde 1 T i = − λ Ln r i Generación: Para generar una variable Erlang basta con generar k variables aleatorias exponenciales con tasa λ y sumarlas. Es decir: T =T 1+T 2 +...+ T k = − T =− 1 λ Ln r1− 1 λ Lnr 2 − ...− (Ln r1+ Ln r 2+ ...Ln r k )= − λ1 Ln ∏ r i λ 1 1 λ Ln r k ( A) n ( B) i =1 Por lo tanto para generar una variable Erlang, se generan k números aleatorios, se multiplican, al producto se le toma el logaritmo natural y se divide por la tasa λ. El negativo de este resultado será la variable Erlang de B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 16 interés. Esta última forma (B) de generación es mucho mas eficiente que sumar directamente las k variables aleatorias exponenciales (A) ya que el cálculo del logaritmo requiere más tiempo que el efectuar un producto. 3.3.2 Distribución gama El problema de generar variables aleatorias con distribución gama, cuando k no es entero, es un problema no resuelto aún completamente en forma analítica, ya que no hay un modelo estocástico para este caso. Se puede resolver numéricamente. Sin embargo, para resolverlo analíticamente se puede usar el siguiente enfoque aproximado. Si k es un número racional puede expresarse como la suma de un entero y una fracción, tal como k = k1 + p, donde k1 < k < k1+1 y 0 < p < 1. Además, si k2 = k1 + 1, entonces k2 – k1 = 1 - p. Entonces una mezcla de variables gama escogiendo k2 con probabilidad p y k1 con probabilidad 1 - p se aproximará a una distribución gama con parámetro k. Esta aproximación da mejores resultados con valores altos de k. Podría pensarse que el proceso de generación de una variable gama fuera el contrario al expuesto: es decir, escoger k1 con probabilidad p y k2, con probabilidad q = 1 - p. Sin embargo, se requiere que el valor medio escogido sea igual al valor que tiene la distribución, y que expresamos como k = k1 + p. Si escogemos k1 con probabilidad p y K2 = k1 + 1 con probabilidad q, el valor medio generado de k seria: K esperado = k1 p + k2 (1 – p) = k1 p + (k1 + 1) (1 – p) = K1 + 1 – p Por lo tanto, si se escoge k1 con probabilidad q, y k2 con probabilidad p el valor medio de K sería k1 + p. 3.4 Distribución normal 2 Una variable aleatoria X tiene una distribución normal, denotada por N(µ, σ ) si su función de densidad está dada por: f ( x) = 1 σ 2π − /2 e (x − µ ) σ 2 2 , −∞< x + ∞ x f (t )dt no tiene una forma analítica explícita. La función de distribución F ( x) = ∫ −∞ La media y la varianza de la distribución están dadas por: E(X)=µ 2 V(X) = σ Si los parámetros de la distribución normal toman los valores de µ = 0 y σ2 = 1, la distribución es conocida como "la distribución normal estándar o típica" N(0, 1) con función de densidad dada por: f ( z)= 1 2π − e z 2 / 2, − ∞< x<+ ∞ De nuevo, la función de distribución F(z) no se puede calcular analíticamente, pero debido a su extenso uso, la función ha sido calculada numéricamente y se encuentra tabulada para valores que varían, por lo general entre –4 y +4. Cualquier distribución normal N(µ, σ2) puede convertirse en la forma estándar N(0,1) mediante la siguiente transformación: Z= X −µ σ Si se conoce la variable aleatoria Z puede calculares X como X = µ + Zσ. Por lo tanto, puede trabajarse tanto 2 con la variable X que es N(µ, σ ) como con la variable Z que es N(0,1). B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 17 La distribución normal deriva gran parte de su utilidad del teorema central del límite. Este teorema establece que "Si se toma una muestra aleatoria X1, X2,…, Xn de n variables aleatorias, independientes e idénticamente distribuidas con media µ y varianza σ2, entonces la distribución de la media X tiende a distribuirse 2 normalmente con valor esperado igual a µ y varianza igual a σ /n, cuando n es grande. Es decir, si X1, X2,…, 2 Xn es una muestra aleatoria con E (X) = µ y V(X) = σ , entonces 1 n X= ∑Xi n i =1 2 tiende a una distribución normal, cuando n es grande, con E( X ) = = µ y V( X ) = σ /n. O también, la variable Z definida como: Z= X −µ σ n tiende a seguir una distribución normal con media cero y varianza unitaria. Observación: A veces el teorema central del límite se expresa en términos de la suma de las variables aleatorias, y no en términos del promedio, de la siguiente manera: “Si X1, X2,…, Xn es una muestra aleatoria 2 con E (X) = µ y V(X) = σ , entonces la suma S = X1 + X2 +…+ Xn tiende a distribuirse normalmente con valor 2 esperado igual a nµ y varianza igual a nσ , cuando n es grande, ó (S − nµ )) σ n se aproxima a una distribución normal con media cero y varianza unitaria. La distribución normal también es importante como una aproximación a varias distribuciones, entre ellas la binomial y la Poisson. La distribución normal puede generarse por distintos métodos, unos más eficientes que otros, dependiendo del uso que se le vaya a dar. Para el proceso de generación, se generará la variable Z que es N(0,1) y luego se calculará la variable X mediante la transformación X = µ + Zσ. 3.4.1 Método modificado de la transformación inversa, para simulación manual Como la función de distribución F(z) no existe en forma explícita, no es posible emplear la transformación Inversa como tal. Sin embargo, para simulaciones manuales o mediante hojas de cálculo, es posible emplear un procedimiento similar al de la transformación inversa, pero en forma numérica. Sea Z una variable normal con media cero y desviación estándar unitaria. La función de distribución de Z, F(z) está tabulada, para varios valores de z y podemos generar la variable Z usando el método de la transformación inversa, haciendo uso de esta tablas. Entonces, para generar una variable aleatoria normal Z se genera un número aleatorio r, se lo iguala a la función de distribución F(z), y se busca en la tabla el valor de Z que tenga una probabilidad acumulada de r. Sea Zr este valor. r = F(z) ⇒ Zr = F-1(r) donde Zr es el valor de la normal (0, 1) que tiene un área o probabilidad de r hacia la izquierda. La figura siguiente ilustra el procedimiento. Como la variable de interés es X, entonces se generará como X = µ + Zσ = µ + Zrσ Por ejemplo: Si r = 0.10 ⇒ Z = -1.28 Si r = 0.50 ⇒ Z = 0.00 Si r = 0.8577 ⇒ Z = 1.07 Si r = 0.4191 ⇒ Z = -1.04 3.4.2 Método del teorema central del límite B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 18 Sean R1, R2,…, RN un conjunto de n variables aleatorias independientes e idénticamente distribuidas, cada una con distribución uniforme en el intervalo (0,1), con E(R) = 1/2 y V(R) = 1/12. Sea R= 1 N ∑Ri n i =1 . Entonces, en virtud del teorema central del límite R tiende a distribuirse normalmente con E( R ) = 1/2 y Var ( R ) = 1/12N. O también ZR= R − E(R ) σR = 1 N ∑ R −1 / 2 N i =1 i 1 12 N N ∑ Ri − N / 2 = i =1 N 12 12 N = ∑ Ri − N / 2 N i =1 tiende a seguir una distribución normal con media cero y varianza unitaria cuando el valor de N es grande. Para saber que tan grande debe ser el valor de N, debería lograrse un compromiso o balance entre la eficiencia computacional y la exactitud o eficiencia estadística. Desde el punto de vista estadístico, N debería ser muy grande. Las pruebas estadísticas realizadas indican que el valor mínimo aceptable de N para que la aproximación tienda a una distribución normal , es 10, o sea que cualquier valor igual o superior a 10 es aceptable estadísticamente. Desde el punto de vista computacional, considerando el tiempo empleado en la generación de los N números aleatorios necesarios para cada valor de Z, debería usarse un valor pequeño de N. Analizando las operaciones involucradas en el valor de Z, se ha llegado a la conclusión de que un valor recomendable para N es 12, ya que simplifica por completo el cálculo de la variable normal estándar. Por lo tanto, la siguiente variable, sigue una distribución normal típica (0,1) 12 R i −6 = = ZR ∑ i =1 Es decir, para generar una variable normal estándar, basta con generar doce números aleatorios, sumarlos y restarles seis. Como la variable que por lo general interesas es la variable X que es N(µ, σ2), entonces se la genera como: 12 X = µ + Z R σ = µ + σ ∑ Ri − 6 i =1 3.4.3 Enfoque Directo Sean r1 y r2 dos números aleatorios. Se puede demostrar que las variables Z1 ó Z2, definidas por: Z 1=Cos 2π r1 Z 2 = Sen 2π r1 − 2 Ln r 2 ó − 2 Ln r 2 son dos variables aleatorias normalmente distribuidas con media cero y varianza unitaria. Este método produce resultados exactos y tiene una eficiencia computacional similar a la del método basado en el teorema central del limite. La variable X puede generarse usando Z1 ó Z2, como, se muestra a continuación. X = µ + Z1 σ ó 3.4.4 X = µ + Z2 σ Método del Rechazo Dado que una variable distribuida normalmente no tiene un rango finito de variación, en teoría no puede usarse el método del rechazo para generarla. Sin embargo se pueden establecerse unos limites razonablemente confiables entre los cuales se espera que caiga esta variable. Se sabe que el 99.73% de los valores de una distribución normal están en el intervalo definido por la media mas o menos tres desviaciones. Es decir, para la variable Z normal (0,1), se tiene que P(-3 < Z < +3) = 0.9973. B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 19 Entonces se puede emplear el método del rechazo paro generar una variable Z, normal (0,1), limitando o truncando sus valores en ± 3 . (Si se quiere una mayor exactitud se puede ampliar el rango a ± 3.5 ó ± 4.0, reduciendo por consiguiente la eficiencia computacional, al aumentar la región de rechazo). En el ejemplo 4.7 se presentó el procedimiento exacto para la generación de la distribución normal mediante este método. Este método parece ser menos exacto y es más lento que los anteriores. 3.4.5 Método de Marsaglia Bray El método de Marsaglia Bray para generar variables normales usa el siguiente procedimiento: a) b) c) d) Se genera una pareja de números aleatorios R1 y R2 Se calculan las siguientes expresiones V1 = 2 R1 – 1 V2 = 2 R2 – 1 S =V 12 +V 22 Si S > 1 se repite el paso a) Si S ≤ 1 se calculan las siguientes expresiones para Z1 y Z2, que se distribuyen normalmente con media cero y varianza unitaria: Z 1=V 1 − 2 LnS , S Z 2 =V 2 y − 2 LnS S Es de anotar que Z1 y Z2 además de ser normales, son independientes, es decir, que ambas variables pueden emplearse para generar dos procesos normales diferentes, o dos variables diferentes del mismo proceso. Este método es estadísticamente tan bueno como el del enfoque directo. 3.5 Distribución Logarítmica normal Si el logaritmo de una variable aleatoria tiene una distribución normal, dicha variable aleatoria tiene una distribución continua sesgada a la derecha, conocida como la distribución logarítmica normal - lognormal. La distribución lognormal se utiliza en una amplia variedad de aplicaciones. Se puede usar para describir procesos aleatorios que representan el producto de varios eventos pequeños e independientes; esta propiedad de la distribución recibe el nombre de "la ley de los efectos proporcionales" y proporciona la base en la cual nos podemos apoyar para suponer que la distribución lognormal describe una variable aleatoria particular. Esta variable solo toma valores positivos. En hidrología, se la usa frecuentemente para describir la distribución de los caudales de un río en un sitio dado, el cual puede ser la suma de otros caudales más pequeños de los afluentes a dicho río aguas arriba del punto de medición. La variable aleatoria continua X tiene una distribución logarítmica normal si la variable aleatoria Y = ln(X) tiene una distribución normal con media µ y desviación estándar σ . La función de densidad de X que resulta está dada por: f ( x) = − /2 e (ln x −u ) σ xσ 2π 2 1 2 0< x < ∞ , con parámetros -∞ < µ < +∞, 0 < σ < +∞. Los parámetros µ y σ corresponden a la media y desviación estándar del logaritmo de X. La media y la varianza de X están dadas por: 2 E ( X ) =e µ +σ / 2 V ( X ) =e2 µ +σ (eσ −1) =[ E ( X )] (eσ −1) 2 2 2 2 B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 20 La distribución acumulada es bastante simple debido a su relación con la distribución normal, ya que si X es lognormal, ln(X) es normal, y por lo tanto la variable Z definida como se muestra a continuación se distribuye normal con media cero y varianza unitaria. Z= ln( X ) − µ σ Por lo tanto, para generar una variable con distribución logarítmica normal, basta con generar una variable normal (0,1), con cualquiera de los métodos analizados previamente, y a partir de esta variable generar la variable de interés. ln( X ) = µ + Z σ ⇒ X = µ + Z σ e 4 Generación de procesos discretos Si una variable aleatoria es discreta, el método de la transformación inversa nos dice que, para un número aleatorio r, el valor de X será aquel que cumpla la siguiente desigualdad: F(x – u) ≤ r < F(x) cuando la variable aleatoria varia en intervalos de u unidades. Sin embargo, en muchos casos es muy difícil encontrar una expresión cerrada para la función de distribución F(x). En estos casos, se debe acudir a otros métodos, principalmente al de buscar una relación entre la variable aleatoria de interés y otra variable aleatoria que pueda generarse en forma directa (método de convolución). Por ejemplo la variable aleatoria binomial puede generarse basándonos en el hecho de que esta variable aleatoria se puede representar como la suma de variables aleatorias con distribución de Bernoulli. Otro ejemplo: Una variable que siga una distribución de Poisson puede generarse mediante la relación que esta variable tiene con la distribución exponencial. 4.1 Distribución de Bernoulli Una variable aleatoria que tome los valores cero y uno sigue distribución de Bernoulli si su función de probabilidad está dada por: P(x) = px (1 – p)1 – x, x = 0, 1 o simplemente: P(X = 1) = p P(X = 0) = q = 1 - p La media y la varianza están dadas por: E (X) = µ = p 2 V(X) = σ = p q, q = 1 - p La función de distribución F(x) está dada por: F(x) = 1 – p para x = 0 F(x) = 1 para x = 1 Por lo tanto, dado un número aleatorio r, el generador del proceso está dado por: Si r < 1 – p ⇒ x = 0 Si r ≥ 1 – p ⇒ x = 1 (1) 0 {X = 0} 1–p {X = 1} 1 Como habíamos visto en el capítulo 1, el generador de una variable Bernoulli también puede expresarse como (método del rechazo): Si r < p ⇒ x = 1 (2) B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” Si r ≥ p ⇒ x = 0 0 {X = 1} p {X = 0} 4 - 21 1 En ambos caso a X = 1 se le está dando el 100p% de los números aleatorios generados, los últimos 100p% en el primer método, y los primeros 100p% en el segundo caso. Así, por ejemplo, si p = 0.20, en el primer caso el valor X = 1 es generado por todo número aleatorio mayor o igual a 0.8, y en el último caso X = 1 es generado por todo número aleatorio menor a 0.20. Para un valor específico del número aleatorio r el resultado particular cambia, pero para una secuencia larga los resultados son los mismos, ya que como se analizó en capítulos anteriores, el número aleatorio se distribuye uniformemente en el intervalo (0,1). Para generar la variable aleatoria Bernoulli, usaremos el segundo método. La variable aleatoria X puede representar por ejemplo, el resultado de examinar un artículo: Si X = 1 el artículo es defectuoso, y si X = 0 el artículo es aceptable. Otro ejemplo es el relacionado con el resultado obtenido al lanzar una moneda: X = 1 si cae cara, y X = 0 si el resultado es sello. Si p = 0.21, entonces X = 1 si r < 0.21, y X = 0 si r ≥ 0.2l El generador, como se indicó anteriormente, también podría ser: X = 0 si r < 0.79 y X = 1 si r ≥ 0.79. porque en esta forma a X = 1 se le da la misma probabilidad de ocurrencia (21 de un total de 100, a saber: 0.79, 0.80,…,0.99) 4.2 Distribución binomial La variable aleatoria X que representa el número de eventos exitosos en una secuencia de n ensayos independientes de Bernoulli, sigue una distribución binomial. Matemáticamente la distribución binomial es la convolución de n distribuciones de Bernoulli. Si p es la probabilidad de que un evento sea exitoso, la función de probabilidad de la distribución binomial está dada por: n P(x) = x p (1− p ) x n− x , x = 0,1,..., n La función de distribución, dada por la expresión siguiente no tiene una forma explícita. x x n j n− j F ( x) = ∑ p( j ) = ∑ j p (1− p) j =0 j =0 Para valores dados de n y p, la función de distribución podría calcularse numéricamente, y luego generarse usando el método de la transformación inversa para el caso discreto. El valor esperado y la varianza de la variable binomial están dados por: E (X) = µ = n p 2 V(X) = σ = n p q, q = 1 - p Para generar una variable binomial hay diferentes enfoques, dependiendo de los valores de n y p. 4.2.1 Sucesión de eventos de Bernoulli. Si X1, X2,…,Xn es una secuencia de n variables aleatorias independientes que siguen una distribución de Bernoulli con parámetro p, entonces X definida como: n X =∑ X i i =1 B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 22 sigue una distribución binomial con parámetros n y p. Es decir, la distribución binomial surge de la suma de n variables con distribución Bernoulli. La anterior relación da la base para definir un generador del proceso binomial. Esto es, para generar una variable aleatoria binomial con parámetro n y p, sólo necesitamos generar n variables de Bernoulli con parámetro p y luego sumarlas. El procedimiento será entonces a) b) c) d) e) Se inicializa X = 0 Se genera un número aleatorio ri, para i = 1, 2,..., n. Si ri < p, entonces Xi = 1, en caso contrario Xi = 0 Se aumenta X en el nuevo valor de Xi, es decir, X = X + Xi. Se repite el paso b) para cada valor de i. El valor de la variable aleatoria será el último valor resultante del proceso anterior. 4.2.2 Aproximación mediante la distribución normal La distribución normal es una buena aproximación a la distribución binomial para valores grandes de n y de p. Dado que es posible obtener valores negativos en la distribución normal, entonces el valor mínimo de n para usar esta aproximación está dado por la siguiente desigualdad: µ −3σ ≥ 0 ⇒ np −3 n p (1 − p) ≥ 0 ⇒ n ≥9(1− p) / p dado que se considera que aproximadamente cualquier valor de la distribución está comprendido entre la media mas o menos tres desviaciones, o mas exactamente en el rango µ ± 3 σ está comprendido el 99.73% de la población (para efectos prácticos, en muchas aplicaciones se considera que este rango corresponde al 100% de la población). Para que la aproximación de la distribución normal a la binomial sea buena se requiere que el tamaño de muestra sea grande (n ≥ 50) y que el parámetro p esté alrededor de 0.5 (0.4 ≤ p ≤ 0.6), ó también que n sea lo suficientemente grande, sin importar el valor de p (n ≥ 100). 2 La variable binomial se puede aproximar entonces a una normal con µ = np y σ = np(1-p), es decir, Z= X − np n p (1 − p) se distribuye normalmente con media cero y varianza unitaria. Por lo tanto, la variable X se generaría como: X = n p + Z n p (1− p’ donde Z corresponde a la variable normal (0,1), que se generaría mediante uno de los métodos analizados previamente para generar variables normales. Debe tenerse en cuenta que la distribución binomial es discreta, mientras que la distribución normal es continua, por lo tanto, el valor resultante para X debe ser entero. Por lo tanto, para generar la variable binomial mediante la aproximación normal, se recomienda usar el factor de corrección de continuidad de ½ para aproximar distribuciones discretas mediante distribuciones continuas (usando redondeo simétrico). De acuerdo con lo anterior, el valor de la variable binomial X estará dado por: X =[n p + Z n p (1− p ) + 1 / 2] donde [Y] quiere decir que se toma la parte entera de Y. 4.2.3 Aproximación a través de la distribución de Poisson B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 23 Si p es pequeño (p ≤ 0.1) y n es grande (n ≥ 50), la distribución binomial puede aproximarse por la distribución de Poisson con parámetro λ = np. Es decir, X puede generarse en igual forma que la distribución de Poisson, según los métodos que se explicarán posteriormente. Sin embargo este método no es muy eficiente. 4.3 Distribución Geométrica Una variable aleatoria X tiene una distribución geométrica si su función de probabilidad está dada por: P(x) = p (1 – p) x-1, x= 1,.2,…, donde p representa la probabilidad de que un evento o ensayo de Bernoulli sea exitoso. La variable aleatoria X puede interpretarse como el número de eventos que es necesario realizar antes de obtener el primer éxito. Algunas aplicaciones de esta distribución pueden ser: • • • • X puede representar el número de lanzamientos requeridos de una moneda antes de obtener la primera cara; en este caso p representa la probabilidad de que la moneda caiga en cara. X puede representar el número de artículos que es necesario inspeccionar antes de obtener el primero que sea defectuoso; en este caso p representa la probabilidad de que un artículo sea defectuoso. X puede representar el tiempo requerido para terminar una reparación, medido en unidades discretas; en este caso p representa la probabilidad de que la reparación se termine en una unidad de tiempo. X puede representar el número de veces que un jugador debe comprar una lotería antes de ganarse la primera; en este caso p representa la probabilidad de que el jugador se gane una lotería. La función de distribución está dada por: x F ( x) = P( X ≤ x) = ∑ p (1− p) j −1 j =1 x −1 i =p ∑ i =0 q =p 1− q x 1− q =1− q x La media y la varianza de la distribución geométrica están dadas por: E (X) = µ = 1 / p, V(X) = σ2 = q / p2, q = 1 - p La variable aleatoria geométrica puede generarse por diversos métodos. 4.3.1 Método de la transformación inversa Como se demostró antes, el valor de la variable aleatoria X será el entero que satisfaga la siguiente desigualdad F(x – 1) ≤ r < F(x) y como se demostró en el ejemplo 4.6 el valor de X es el entero que cumple la siguiente desigualdad: Ln (1− r ) Ln(1− r ) Ln(1− r ) < x≤ +1 ⇒ x es la parte entera de +1 Ln q Ln q Ln q Ver ejemplo 4.6 4.3.2 Método del rechazo Como la variable aleatoria X puede interpretarse como el número de eventos que es necesario realizar antes de obtener el primer éxito, entonces una variación de la técnica del rechazo puede emplearse para generar la variable geométrica, simplemente mediante la reproducción de ensayos de Bernoulli. Para ello se generan números aleatorios hasta encontrar el primero que sea menor que p; la variable aleatoria X corresponde al total de números aleatorios generados, que es equivalente al número de ensayos de Bernoulli realizados. El procedimiento se puede resumir en los siguientes pasos: a) Se inicializa la variable aleatoria en el valor de 1: x = 1(mínimo hay que hacer un ensayo) b) Se genera un número aleatorio r. B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 24 c) Si r ≥ p, se hace x = x + 1 y se genera un nuevo número aleatorio (se repite b). d) Si r ≥ p, se para el proceso. El valor de la variable aleatoria será el último que tenga la variable x. Este método es preferido cuando el valor de p es relativamente alto, y cuando se desee una mayor exactitud. Recuérdese que el valor esperado de la variable es 1/p. Así, si p = 0.01, usando el método del rechazo se espera tener que generar 100 números aleatorias para obtener el valor de una sola variable aleatoria. Si definimos Y como la variable que representa el número de fracasos necesarios para obtener el primer éxito, la función de probabilidad estará dado por: P(y) = p (1 – p) y-1, y= 0,1,.2,…, Entonces se dice que Y = X - 1 sigue una distribución geométrica modificada. La función de distribución, la media y la varianza de la distribución geométrica modificada están dadas por: F ( y ) = P(Y ≤ y ) =1− q y −1 E (Y) = E(X – 1) = µ = q / p 2 2 V(Y) = V(X – 1) = σ = q / p , q = 1 - p Para generar esta variable aleatoria se usan los mismos métodos de la distribución geométrica, con los siguientes resultados: a) Método de lo transformación inversa El valor de Y es el entero que satisfaga la siguiente desigualdad: Ln (1− r ) Ln(1− r ) Ln(1− r ) −1 < x ≤ ⇒ Y es la parte entera que resulta de efectuar el siguiente cálculo: Ln q Ln q Ln q Por ejemplo, si p = 0.20, y se tienen los siguientes números aleatorios, entonces: Si r = 0.402 Si r = 0.525 Si r = 0.149 Si r = 0.408 Si r = 0.488 Si r = 0.698 b. ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ 1.30 < x ≤ 2.30 2.34 < x ≤ 3.34 -0.38 < x ≤ 0.72 1.35 < x ≤ 2.35 2.00 < x ≤ 3.00 4.37 < x ≤ 5.37 ⇒x=2 ⇒x=3 ⇒x=0 ⇒x=2 ⇒x=3 ⇒x=5 Método del rechazo El procedimiento es idéntico al de la variable geométrica X, excepto que el contador se inicia en cero y no en uno. 4.4 Distribución binomial negativa o de Pascal Cuando estamos interesados en el número de ensayos x necesarios para obtener k éxitos (k > 1), entonces la variable aleatoria que denota ese número de ensayos tiene una distribución binomial negativa o de pascal. Matemáticamente, la distribución binomial negativa es la convolución de k distribuciones geométricas. En este caso k es un entero, y la distribución recibe también el nombre de Distribución de Pascal. La distribución geométrica es un caso especial de lo distribución de Pascal para k = 1. La función de probabilidad de la distribución binomial negativa está dada por: B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” x −1 k p (1 − p) k , p( x, k )= k − 1 4 - 25 x = k,k + 1,k + 2,..., El valor esperado y la varianza de X están dados por: E (X) = µ = k / p 2 2 V(X) = σ = k q / p , q = 1 - p Como k es entero, la variable de Pascal puede generarse mediante el proceso matemático que da origen a la k distribución, es decir, mediante la suma de k variables geométricas, es decir, X = ∑ X i , donde las Xi siguen i =1 una distribución geométrica con parámetro p, la cual se genera mediante uno de los dos métodos analizados previamente. Recordemos que la variable aleatoria representa el número de ensayos requeridos para obtener los k primeros éxitos (Por ejemplo, X puede ser el tiempo requerido para terminar k tareas) Observación. Si Y representa el número de fracasos que se presentan antes de obtener k éxitos, entonces Y = X – K ⇒ X = Y + K. La función de probabilidad de Y estará dada por: y + k −1 k p (1 − p) y , p( y, k ) = k − 1 y =0,1,2,..., y + k −1 y + k −1 dado que = k −1 y Ahora como se cumple que n n ⇒ = x n− x la función de densidad toma la siguiente forma: y + k −1 k p (1 − p) y , p( y, k ) = y y =0,1,2,..., donde k es el número total de éxitos en y + k ensayos, y “ y ” es el número de fracasos que se presentan antes de que ocurran los k primeros éxitos. El valor esperado y lo varianza de Y están dados por: E (Y) = µ = k q / p 2 2 V(Y) = σ = k q / p , q = 1 - p Para generar la variable Y basta con generar k variables geométricas modificadas y sumarlas. 4.4 Distribución hipergeométrica Considere una población que consta de N elementos, los cuales pueden clasificarse en dos categorías: categoría I (elementos defectuosos) y categoría II (elementos buenos). El número de elementos que pertenecen a la categoría I es M, por lo tanto el número de elementos que pertenecen a la categoría II es N - M. Sea X el número de elementos de la categoría I que hay en una muestra aleatoria de n elementos tomada de la población total N, n ≤ N. Además, el muestreo se hace sin reemplazamiento. Entonces la variable aleatoria X tiene una distribución hipergeométrica cuya función de probabilidad está dada por: M N − M x n − x , p( x) = N n x = 0,1,..., n, x ≤ M B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 26 donde x, N y M son enteros. La fracción de artículos defectuosos de la población (o elementos que pertenecen a la categoría I) está dada por: p = M/N. El valor esperado y la varianza de la distribución hipergeométrica están dados por: E ( X )=n p V ( X )=n p q N −n N −1 La distribución binomial se usa cuando se hace muestreo, con o sin reemplazamiento, de una población infinita (o de un proceso). En cambio, la distribución hipergeométrica se aplica cuando se está haciendo muestreo de una población finita, sin reemplazamiento de los elementos previamente seleccionados. Es decir, la muestra obtenida resulta de realizar n ensayos de bernoulli, con la diferencia con respecto a la distribución binomial que la probabilidad de éxito p (fracción de artículos defectuosos) depende de los resultados obtenidos previamente. La generación de variables hipergeométricas involucra la simulación de un experimento de muestreo sin reemplazamiento. Por lo tanto, tenemos que modificar el método de generar ensayos de Bernoulli para tener en cuento que el tamaño de la población N y el número de elementos tipo I que quedan en la población M varían a medida que se va realizando el muestreo y por consiguiente p depende del número de elementos de la categoría l que se vayan obteniendo. A medida que se selecciona cada elemento de la muestra, el valor original de N se reduce en uno de acuerdo a la fórmula: Ni = Ni-1 – 1, para i = 1, 2, …, n, y N0 = N En igual forma el valor de M se modifica según el resultado obtenido en el muestreo. Se reduce en 1 si el valor extraído de la muestra pertenece a la categoría I, y queda igual si pertenece a la categoría II. El valor de p debe recalcularse siempre a medida que se van sacando los elementos de la muestra. Mi = = Mi-1 – 1 si el elemento i pertenece a la categoría I Mi-1 si el elemento i no pertenece a la categoría I. El procedimiento completo será: a) b) c) 4.5 Se definen los valores iniciales: N0 = N, M0 = M, x = 0, p = M/N (p =M0 / N0.) Para i = 1, 2,…, n se genera un número aleatorio ri, y se efectúan las siguientes operaciones: • Ni = Ni-1 – 1 • Si ri < p, entonces Mi = Mi-1 – 1, x = x + 1 • Si ri ≥ p entonces no se modifican ni Mi ni x • Se recalcula p como p = Mi / Ni. Se repite el proceso b) hasta seleccionar los n elementos de la muestra. Distribución de Poisson Considere el problema de contar el número de personas N(t) ó X que llegan a recibir servicio a una estación de gasolina en un intervalo de tiempo t. Si el número medio de personas que llegan por unidad de tiempo es λ, entonces la variable aleatoria N(t) (ó X) que denota el número de eventos que ocurren en el tiempo t será un proceso de Poisson con parámetro λ. Por consiguiente, la función de probabilidad estará dada por: x (λt ) − λ t p( x) = , x = 0,1, 2,...ç e x! La función de distribución está dada por la siguiente expresión, que no puede evaluarse en una forma analítica:: j x − λt (λt ) F ( x) = P( X ≤ x) = ∑e j! j =0 La función de distribución también puede expresar en forma recursiva como: B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” F ( x ) = F ( x −1) + p ( x −1) λt donde x 4 - 27 F (0) =e− λt El valor esperado y la varianza están dados por: E (X) = µ = λt, V(X) = σ = λt 2 La distribución de Poisson se aplica en aquellos procesos de conteo en los cuales el número de eventos depende únicamente de la longitud del intervalo de tiempo. Por ejemplo, el número de personas que llegan a recibir servicio en un intervalo de tiempo fijo, el número de llamados por minuto que entran a un conmutador, el número de defectos por metro de tela, etc. Para generar variables aleatorios que sigan una distribución de Poisson, no es posible usar el método de la transformación inversa en su forma original, ya que F(x) no tiene uno forma explícita. Se puede emplear una versión modificada de dicho método o en forma numérica, como si fuera una distribución empírica. El método más común para generar una variable Poisson es usando la relación que existe entre las distribuciones de Poisson y la exponencial : Esa relación establece que "si el número de eventos que ocurren en un intervalo de tiempo t es un proceso de Poisson con parámetro λ, entonces el tiempo entre la ocurrencia de dos eventos sucesivos sigue una distribución exponencial, con media 1/λ". 4.5.1 Mediante relación con la exponencial Esta relación entre los variables aleatorias Poisson y exponencial provee un método para generar variables aleatorios distribuidas poissonianamente. Si X eventos ocurren en el intervalo de tiempo t, entonces la suma de los tiempos de ocurrencia de los X eventos debe ser menor que t. Es decir, si T1 es el tiempo de ocurrencia del primer evento, T2 es el tiempo entre la ocurrencia del primero y el segundo eventos, Ti el tiempo entre el evento i - 1 y el evento i, entonces se debe cumplir que: x +1 x ∑ T i ≤t < ∑ T i i =1 i =1 Se sabe que cada Ti, i = 1, 2,..., se distribuye exponencialmente con parámetro λ. Entonces para generar un valor de x simplemente basta con generar valores sucesivos de Ti. hasta que la suma sea mayor de t. Dado que estamos interesados en conocer el número de eventos que ocurren en el tiempo t, generamos valores de Ti hasta que se cumpla por primera vez que: x +1 ∑ T i >t , donde Ti = -Ln ri / λ i =1 entonces el valor de x será el número de variables Ti generadas menos una (dado que el último evento ocurre después de t). El valor x = 0 se genera cuando T1 > t, es decir, el primer valor generado es mayor que t. x +1 x Esto es, x es el número de eventos tal que ∑ T i ≤t < ∑ T i , donde la sumatoria se inicializa en cero (0.0). Es i =1 i =1 decir, los primeros x eventos ocurren antes de ó en el tiempo t y el evento x + 1 ocurre después del tiempo t, lo cual implica que en el tiempo t ocurren x eventos. Como Ti = -Ln ri / λ, se tiene que: x +1 x 1 x 1 x +1 x x +1 i =1 i =1 ∑ T i ≤t < ∑ T i ⇒ − λ ∑ Ln r i <t ≤ − λ ∑ Ln r i ⇒ − ∑ Ln r i ≤ λ t ≤ − ∑ Ln r i i =0 ⇒ i =0 i =1 x x +1 i =1 i =1 i =1 ∏ r i <e−λt ≤ ∏ r i Por lo tanto, y de acuerdo con la expresión anterior, para generar una variable Poisson, basta con generar números aleatorios, multiplicarlos, y suspender el proceso cuando dicho producto sea menor que e-λt. El valor de la variable aleatoria x es igual a la cantidad de números aleatorios generados menos 1. La productoria se B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 28 -λt inicializa en uno (1.0). El valor x = 0 se produce cuando r1 < e , es decir, cuando el primer número aleatorio -λt generado es menor que e . La generación de variables aleatorias mediante la fórmula anterior es más eficiente ya que no se requiere calcular los logaritmos. 4.5.2 Mediante la transformación inversa Calculando la función de distribución en forma numérica y recursiva se puede generar variables aleatorias Poisson, mediante el método de la transformación inversa. El procedimiento es el siguiente, para una distribución de Poisson con tasa α: Se inicializa x = 0 Se calcula p = e -α, F = p Se genera un número aleatorio r Mientras r≥ F p =p α x F = F+ p x= x +1 Fin mientras 4.5.3 Mediante relación con la aproximación normal Cuando la media de la distribución λt es relativamente grande (λt ≥30) la distribución de Poisson puede aproximarse por la distribución normal con media y varianza dados por : µ = σ2 = λt Por lo tanto, X puede generarse como: X =[ µ + Z σ + 1 / 2]=[λ t + Z λ t + 1 / 2] donde Z corresponde a la variable normal (0,1), que se generaría mediante uno de los métodos analizados previamente para generar variables normales. Observación. El proceso acabado de presentar se aplica cuando se va a generar un proceso de Poisson, descrito mediante una distribución de Poisson con media λt, y que describe el número de eventos que ocurren en un tiempo t, y λ es la tasa media de ocurrencia de eventos por unidad de tiempo (y t puede ser variable). Por lo general la distribución de Poisson se aplica al número de eventos que ocurren en un intervalo fijo de tiempo, y el parámetro del proceso se refiere al “numero medio de eventos que ocurren en ese intervalo de tiempo de interés. En este caso la distribución de Poisson se expresa de la siguiente forma, que es la forma normal o estándar que toma esta distribución: x (a) − a p( x) = , x = 0,1, 2,...ç e x! En este caso la variable aleatoria se genera usando exactamente el mismo procedimiento, pero considerando t = 1. 5 Distribuciones empíricas Cuando se tiene un conjunto de datos sobre una variable aleatoria, debemos tratar de ajustar esos datos a una distribución estándar, de las estudiadas antes. Para determinar si los datos se ajustan a la distribución que se supone, hay disponibles varias pruebas estadísticas, conocidas como pruebas de bondad de ajuste, tales como la chi cuadrado y la de Smirnov-Kolmogorov, estudiadas antes. Si no es posible describir la función de probabilidad de a muestra mediante una de las distribuciones estándares, es necesario trabajar entonces con la distribución empírica que muestran los datos. Para generar estas variables se puede emplear el método B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 29 de la transformación inversa para el caso discreto o una versión modificada de este método propuesta por Marsaglia. 5.1 Método de la transformación inversa Si X es una variable aleatoria con función de probabilidad empírica p(x) y función de distribución F(x), entonces para generar observaciones artificiales de esta variable, se puede usar el método de la transformación inversa para el caso discreto. Si la variable aleatoria puede tomar únicamente los valores xi, (variable tipo discreta) con probabilidad p(xi) y función de distribución empírica F(xi), para i = 1, 2,…,N, entonces, dado un número aleatorio r, el valor de la variable aleatoria X será aquel que satisface la siguiente desigualdad: F(xi-1) ≤ x < F(xi) Ejemplo 4.10. La demanda de un producto durante 55 semanas fue la siguiente: Demanda Frecuencia 10 10 15 21 20 17 25 6 30 1 Con base en la frecuencia absoluta, podemos calcular la frecuencia relativa, dividiendo la frecuencia absoluta por la frecuencia total. Esta frecuencia relativa -p(xi)- nos da la probabilidad (empírica) de que la demanda en una semana sea igual a xi. Con la frecuencia relativa podemos calcular la frecuencia relativa acumulada que corresponde a la función de distribución empírica. Estos valores están dados por: p( xi ) = f ( xi ) N i F ( xi ) = ∑ p ( xi ) = F ( xi −1) + p ( xi ) j =1 La tabla siguiente presenta la información referida anteriormente. Demanda - xi Frecuencia relativa - f(xi) Frecuencia relativa acumulada F(xi) 10 0.18 0.18 15 0.38 0.56 20 0.31 0.87 25 0.11 0.98 30 0.02 1.00 Si la demanda sólo puede tomar los valores anteriores, el generador del proceso usando el método de la transformación inversa sería el siguiente: Se genera un número aleatorio R = r Si r < F(x1) ⇒ x = x1 Si F(x1) ≤ r ≤ F(x2) ⇒ x = x2 …………………………………………………. x = xi Si F(xi-1) ≤ r ≤ F(xi) ⇒ ………………………………………………………………………………. Si r ≥ F(xN) ⇒ x = xN Para el ejemplo que estamos analizando el proceso sería el siguiente: Gráficamente el proceso sería el siguiente: Se genera un número aleatorio R = r Si r < 0.18 ⇒ x = 10 Si 0.18 ≤ r ≤ 0.56 ⇒ x = 15 x = 20 Si 0.56 ≤ r ≤ 0.87 ⇒ Si 0.87 ≤ r ≤ 0.98 ⇒ x = 25 Si r ≥ 0.98 ⇒ x = 30 5.2 Interpolación lineal B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 30 Cuando la variable aleatoria X es continua, no discreta, y puede tomar cualquier valor ente xi-1 y xi es posible usar la interpolación lineal para encontrar el valor de x. E proceso de generación sería el siguiente: Se genera un número aleatorio R = r Si r < F(x1) ⇒ x = x1 …………………………………………………. Si x = xi −1+ F(xi-1) ≤ r ≤ F(xi) ⇒ (xi − xi −1) (r − ) (F ( xi)− F ( xi −1) xi −1 i ………………………………………………………………………………. Si r ≥ F(xN) ⇒ 5.3 Método de Marsaglia x = xN El método de Marsaglia está diseñado para ser usado en el computador. El método define un bloque o vector V de N posiciones, a las cuales se le asignan los valores de la variable aleatoria X, y el numero de posiciones asignadas a cada valor de xi es proporcional a su probabilidad p(xi). Para el ejemplo que estamos considerando, al valor x = 5 se le asigna el 18% de las posiciones del vector, al valor x = 10 el 38%,…, y al valor x = 30 el 2%. La tabla siguiente ilustra la forma como quedaría el vector. Posición Valor 1 2 3 10 10 10 .. .. 17 18 19 20 10 10 15 15 .. .. 56 57 58 15 15 20 .. .. 86 87 88 89 20 20 25 25 .. .. 98 99 25 30 100 30 El número de posiciones N del vector debe ser tal que a cada valor de xi se le asigne un número entero de posiciones, de tal forma que se preserve la respectiva probabilidad. El número de posiciones asignadas a cada valor de xi está dado por Np(xi). Por lo tanto, el número de posiciones del vector N debe ser tal que: Np(xi) = entero, para todo i . Para nuestro caso, el valor de N debería ser 100. Si las probabilidades las hubiéramos tomado con tres cifras decimales, hubiéramos requerido un total de 1000 posiciones de memoria, en vez de 100. Una vez definido y llenado el vector con las N posiciones, entonces para generar una observación de esa variable aleatoria, se selecciona al azar una de las N posiciones del vector, y el valor de la variable será el valor que ocupa la posición seleccionada. Es decir, si R es el número aleatorio generado, la posición escogida j y el valor de la variable están dados por: Posición = j = [N r + 1] Variable aleatoria = Vector(j) El procedimiento para generar la variable X consta de los siguientes pasos:: 1) Se define un campo de N posiciones en la memoria del computador. 2) Al valor de xi se le asignan Np(xi) posiciones del total de N, desde la posición F(xi-1) +1 hasta la posición NF(xi), para i = 1,2.,,,N. 3) Se genera un número aleatorio r, se calcula la posición correspondiente al valor generado, y se extrae el respectivo valor. Este es el valor de la variable x. Los pasos 1 y 2 se realizan solo una vez, al inicializar la simulación, y el paso 3 se repite tantas veces cuantas variables haya que generar. Para el ejemplo analizado, los pasos 1 y 2 son los siguientes: 1. 2. Se define el vector de N = 100 posiciones Se llenan las 100 posiciones de la siguiente manera: 2.1. Al valor de x1 = 10 se le asignan 18 posiciones, desde la No 1 hasta la No 18. B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 3. 4 - 31 2.2. Al valor de x2 = 15 se le asignan 38 posiciones, desde la No 19 hasta la No 56. 2.3. Al valor de x3 = 20 se le asignan 31 posiciones, desde la No 57 hasta la No 87. 2.4. Al valor de x4 = 25 se le asignan 11 posiciones, desde la No 88 hasta la No 98. 2.5. Al valor de x5 = 30 se le asignan 2 posiciones, las posiciones 99 y 100. Por cada variable aleatoria que se necesite, se genera un número aleatoria, y el valor de la variable corresponde al número almacenado en la posición j = [100 r +1], El siguiente seudocódigo ilustra el procedimiento anterior: Posición inicial = 1 Para i = 1, n Posición final = Posición inicial + N p(xi) Para posición = posición inicial hasta posición final Vector(posición) = xi Siguiente posición Posición inicial = posición final + 1 Siguiente i El procedimiento para generar las observaciones artificiales de la variable aleatoria sería el siguiente Generar número aleatorio (r) Posición = j = [N * r +1] X = vector(j) 6 Generación de variables aleatorias con Excel La hoja de cálculo excel tiene varias funciones para generar variables aleatorias de diferentes tipos. Estas funciones son las siguientes: 6.1 Distribución Beta DISTR.BETA.INV Devuelve, para una probabilidad dada, el valor de la variable aleatoria siguiendo una distribución beta. La distribución beta puede emplearse en la organización de proyectos para crear modelos con fechas de finalización probables, de acuerdo con un plazo de finalización y variabilidad esperados. Sintaxis: DISTR.BETA.INV(probabilidad;alfa;beta;A;B) • • • Probabilidad: es una probabilidad asociada con la distribución beta. Para la simulación corresponde a un número aleatorio. Alfa y Beta son los parámetros de la distribución. A y B corresponden a los límites inferior y superior, respectivamente, de los valores de x. DISTR.BETA.INV usa una técnica iterativa para calcular la función. Dado un valor de probabilidad, DISTR.BETA.INV itera hasta que el resultado tenga una exactitud de ±3x10-7. Si DISTR.BETA.INV no converge después de 100 iteraciones, la función devuelve el valor de error #N/A. Ejemplo DISTR.BETA.INV(0,685470581;8;10;1;3) es igual a 2 6.2 Distribución F DISTR.F.INV Devuelve el inverso de la distribución de probabilidad F. Si el argumento p = DISTR.F(x,...), entonces DISTR.F.INV(p,...) = x. La distribución F puede usarse en una prueba F que compare el grado de variabilidad en dos conjuntos de datos. Por ejemplo, podría analizar las distribuciones de ingresos en Venezuela y Colombia para determinar si ambos países tienen un grado de diversidad similar. Sintaxis: DISTR.F.INV(probabilitdad;grados_de_libertad1;grados_de_libertad2) B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” • • • 4 - 32 Probabilidad es una probabilidad asociada con la función de distribución acumulativa F. Para la simulación corresponde a un número aleatorio. Grados_de_libertad1 es el número de grados de libertad del numerador. Grados_de_libertad2 es el número de grados de libertad del denominador. DISTR.F.INV puede usarse para devolver valores críticos de la distribución F. Por ejemplo, el resultado de un cálculo AN.VAR generalmente incluye datos para la estadística F, la probabilidad F y el valor crítico F con un nivel de significación de 0,05. Use el nivel de significación como argumento probabilidad de DISTR.F.INV para devolver el valor crítico de F. DISTR.F.INV usa una técnica iterativa para calcular la función. Dado un valor de probabilidad, DISTR.F.INV reitera hasta que el resultado alcance una exactitud de ± 3x10-7. Si DISTR.F.INV no converge después de 100 iteraciones, la función devuelve el valor de error #N/A. Ejemplo DISTR.F.INV(0,01;6;4) es igual a 15,20675 6.3 Distribución Gamma DISTR.GAMMA.INV Devuelve, para una probabilidad dada, el valor de la variable aleatoria siguiendo una distribución gamma. Si p = DISTR.GAMMA(x,...), entonces DISTR.GAMMA.INV(p,...) = x Utilice esta función para estudiar variables cuya distribución podría ser asimétrica. Sintaxis: DISTR.GAMMA.INV(prob; alfa; beta) • • • Prob es la probabilidad asociada con la distribución gamma. Para la simulación corresponde a un número aleatorio. Alfa es un parámetro de la distribución. Beta es un parámetro de la distribución. Si beta = 1, DISTR.GAMMA.INV devuelve el valor de la variable aleatoria siguiendo una distribución gamma estándar. Ejemplo DISTR.GAMMA.INV(0,068094;9;2) es igual a 10 6.4 Distribución logarítmica normal DISTR.LOG.INV Devuelve el inverso de la probabilidad para una variable aleatoria X que sigue una distribución logarítmica normal, donde ln(x) se distribuye normalmente con los parámetros media y desv_estándar. Si p = DISTR.LOG.NORM(x,...) entonces DISTR.LOG.INV(p,...) = x. La distribución logarítmica normal se emplea para analizar datos transformados logarítmicamente. Sintaxis: DISTR.LOG.INV(probabilidad;media;desv_estándar) • • • Probabilidad es una probabilidad asociada con la distribución logarítmico-normal. Para la simulación corresponde a un número aleatorio. Media es la media de ln(x). Desv_estándar es la desviación estándar de ln(x). Ejemplo: DISTR.LOG.INV(0,039084; 3,5; 1,2) es igual a 4,000014 6.5 Distribución normal estándar N(0,1) DISTR.NORM.ESTAND.INV Devuelve, para una probabilidad dada, el valor de la variable aleatoria que sigue una distribución normal estándar. La distribución tiene una media de cero y una desviación estándar de uno. Sintaxis: DISTR.NORM.ESTAND.INV(probabilidad) B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” • 4 - 33 Probabilidad es una probabilidad que corresponde a la distribución normal. Para la simulación corresponde a un número aleatorio. La función DISTR.NORM.ESTAND.INV se calcula utilizando una técnica iterativa. Dado un valor del argumento probabilidad, DISTR.NORM.ESTAND.INV itera hasta que el resultado tenga una exactitud de ± 3x10-7. Si DISTR.NORM.ESTAND.INV no converge después de 100 iteraciones, la función devuelve el valor de error #N/A. Ejemplo: DISTR.NORM.ESTAND.INV(0,908789) es igual a 1,3333 6.6 Distribución normal DISTR.NORM.INV Devuelve, para una probabilidad dada, el valor de la variable aleatoria que sigue una distribución normal con la media y desviación estándar especificadas. Sintaxis: DISTR.NORM.INV(prob;media;desv_estándar) • • • Prob es una probabilidad asociada a la distribución normal. Para la simulación corresponde a un número aleatorio. Media es la media aritmética de la distribución. Desv_estándar es la desviación estándar de la distribución. DISTR.NORM.INV utiliza la distribución normal estándar si el argumento media = 0 y si el argumento desv_estándar = 1 (vea DISTR.NORM.ESTAND.INV). DISTR.NORM.INV se calcula utilizando una técnica iterativa. Dado un valor del argumento probabilidad, la función DISTR.NORM.INV iterará hasta que el resultado obtenido tenga una exactitud de ± 3x10-7. Si DISTR.NORM.INV no converge después de 100 iteraciones, la función devuelve el valor de error #N/A. Ejemplo: DISTR.NORM.INV(0,908789;40;1,5) es igual a 42 6.7 Distribución T DISTR.T.INV Devuelve, para una probabilidad dada, el valor de la variable aleatoria siguiendo una distribución t de Student para los grados de libertad especificados. Sintaxis: DISTR.T.INV(probabilidad;grados_de_libertad) • • Probabilidad es la probabilidad asociada con la distribución t de Student dos colas. Para la simulación corresponde a un número aleatorio. Grados_de_libertad es el número de grados de libertad para diferenciar la distribución. DISTR.T.INV se calcula como DISTR.T.INV=p( t<X ), donde X es una variable aleatoria que sigue la distribución t. DISTR.T.INV se calcula utilizando una técnica iterativa. Dado un valor del argumento probabilidad, DISTR.T.INV reitera hasta obtener un resultado con una exactitud de ± 3x10-7. Si DISTR.T.INV no converge después de 100 iteraciones, la función devuelve el valor de error #N/A. Ejemplo: DISTR.T.INV(0,054645;60) es igual a 1,96 6.8 Distribuciones empíricas BUSCARV Busca un valor específico en la columna más a izquierda de una matriz y devuelve el valor correspondiente en la misma fila de una columna especificada en la tabla. Se utiliza BUSCARV cuando los valores de comparación se encuentren en una columna situada a la izquierda de los datos que desea encontrar; cuando los valores de comparación se encuentren en una fila, se debe usar BUSCARH. Sintaxis: BUSCARV(valor_buscado;matriz_de_comparación;indicador_columnas;ordenado) B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” • • • 4 - 34 Valor_buscado es el valor que se busca en la primera columna de la matriz. Valor_buscado puede ser un valor, una referencia o una cadena de texto. Para la simulación corresponde a un número aleatorio. Matriz_de_comparación es el conjunto de información donde se buscan los datos. Se define mediante una referencia a un rango o un nombre de rango, como por ejemplo Base_de_datos o Lista, $C2:$E15. Indicador_columnas es el número de la columna de la matriz_de_comparación desde la cual debe devolverse el valor de la variable. Si el argumento indicador_columnas es igual a 1, la función devuelve el valor de la primera columna del argumento matriz_de_comparación; si el argumento indicador_columnas es igual a 2, devuelve el valor de la segunda columna de matriz_de_comparación y así sucesivamente. Los valores de la primera columna del argumento matriz_de_comparación deben colocarse en orden ascendente (corresponden a la función de distribución). Los valores de la primera columna de matriz_de_comparación pueden ser texto, números o valores lógicos. El texto escrito en mayúsculas y minúsculas es equivalente. Ordenado Es un valor lógico que indica si desea que la función BUSCARV busque un valor igual o aproximado al valor especificado. Si el argumento ordenado es VERDADERO o se omite, la función devuelve un valor aproximado, es decir, si no encuentra un valor exacto, devolverá el valor inmediatamente menor que valor_buscado. Si ordenado es FALSO, BUSCARV devuelve el valor buscado. Si no encuentra ningún valor, devuelve el valor de error #N/A. Observación. Si BUSCARV no puede encontrar valor_buscado y ordenado es VERDADERO, utiliza el valor más grande que sea menor o igual a valor_buscado. Ejemplo. Considere la variable aleatoria analizada en la sección 5.1, cuya información se resume a continuación: Demanda – xi 10 15 20 25 30 Frecuencia relativa - f(xi) 0.18 0.38 0.31 0.11 0.02 Frecuencia relativa acumulada - F(xi) 0.18 0.56 0.87 0.98 1.00 Para generar la variable aleatoria mediante la función BUSCARV, la información podría organizarse como se muestra en la siguiente tabla, y el comando podría ser el siguiente: Sintaxis: BUSCARV(aleatorio(),$D10:$F$14,3) Se genera el número aleatorio con la función =aleatorio() Si r < 0.18 ⇒ x = 10 Si r < 0.56 ⇒ x = 15 x = 20 Si r < 0.87 ⇒ Si r < 0.98 ⇒ x = 25 Si r ≥ 0.98 ⇒ x = 30 Para cada valor de Xi se asocia la probabilidad acumulada anterior. Fila\Columna 1 … 10 11 12 13 14 15 A . . D . E . F . 0 0.18 0.56 0.87 0.98 0.18 0.56 0.87 0.98 1.0 10 15 20 25 30 G . . LA función BUSCARH funciona en id’ntica forma, con la diferencia de que la información a buscar está dada por filas, y no por columnas. Su sintaxis es la siguiente: BUSCARH(valor_buscado;matriz_buscar_en;indicador_filas; ordenado) Donde Valor_buscado es el valor que se busca en la primera fila de matriz_buscar_en. B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 35 La siguiente tabla resume las funciones generadores de variables dadas en el excel. Distribución Beta F Gama Normal estándar N(0,1) Normal T 7.1 Parámetros Probabilidad ó número aleatorio DISTR.F.INV Probabilidad ó número aleatorio Probabilidad ó número aleatorio Probabilidad ó número aleatorio DISTR.GAMMA.INV Logarítmica Normal 7 Nombre función DISTR.BETA.INV DISTR.LOG.INV Alfa Beta Grados de libertad 1 ν1 Alfa Grados de libertad 2 ν2 Beta AyB (Valores mínimo y máximo) Desviación Media del logaritmo de estándar del ln x x DISTR.NORM.ESTAND.IIIN Probabilidad V número aleatorio DISTR.NORM.INV DISTR.T.INV Probabilidad ó número aleatorio Probabilidad ó número aleatorio Media Desviación estándar Grados de libertad ν Otros ejemplos Ejemplo 4.11 Viaje entre dos puntos. Se desea un generador que simule el viaje entre dos puntos A y B. entre los cuales hay dos rutas posibles. La probabilidad de tomar la ruta 1 es p. Las funciones de densidad del tiempo de viaje en cada ruta son : 1 −λ x λ e 1 f ( x) = 1 1 e− λ2 x λ 2 x > 0, ruta1 x > 0, ruta 2 Solución : Los tiempos de viaje en cada ruta están dados por : 1 ln R − 1 X= − 1 ln R 2 λ , ruta 1 λ , ruta 2 Para encontrar el tiempo que dura un viaje cualquiera se debe seleccionar primero la ruta, y luego el tiempo de viaje en esa ruta. Deben generarse entonces dos números aleatorios (r1, r2). El primero se usa para determinar ;a ruta que se ha de tomar, y el segundo para determinar el tiempo en la ruta seleccionada. Por lo tanto, el generador del tiempo de tiempo será : − X= − 1 λ1 1 λ2 ln R 2 , si R 1 < p . ln R 2 , si R 1 < p B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 36 Observación : Sería válido generar solamente un número aleatorio r, el cual nos da primero la ruta que debe seleccionarse, y luego ese mismo número nos generaría el tiempo en la ruta seleccionada ?. Es decir, puede usarse el siguiente generador ? Si r < p tome la ruta No 1 y el tiempo de viaje sería -Ln r/λ1 Si r < p tome la ruta No 2 y el tiempo de viaje sería -Ln r/λ2 La figura No 4. presenta el seudocódigo para simular el tiempo de viaje entre dos putos, cuando se supone que el tiempo de viaje en cada ruta se distribuye exponencialmente con tiempos esperados de 25 y 40 minutos, y la probabilidad de tomar la ruta No 1 es 0.60. Definir Número de viajes Nro_Viajes Definir tasas medias y otros parámetros Inicializar contadores Para cada viaje v = 1 hasta Nro_Viajes Genere Número Aleatorio R1 Si R1 < p, entonces Ruta ← 1 Si no Ruta ← 2 Fin Si Genera R2 Calcule tiempo de viaje Actualiza Contadodres Siguiente viaje Cálculos y generación del reporte Fin Read(1, “Número de viajes”)Nro_Viajes Read(1, “Número de viajes”)Semilla Tasa(ruta1)=1/25 Tasa(Ruta2)=1/40 p=0.60 Suma_Tiempos=0 Do V = 1,Nro_Viajes Call num_Aleat(semilla,R1) If(R1.lt.p) then Ruta=1 else Ruta = 2 End if Call Num_Aleat(Semilla, R2) Tiempo_Viaje = -Ln R2/Tasa(Ruta) Suma_Tiempos = Suma_Tiempos + Tiempo_Viaje End Do Tiempo_Medio = Suma_Tiempos/Nro_Viajes Write(2,10x, ”Número de viajes”, i5/10x,’Tiempo medio”,f6.1) Nro_Viajes, Tiempo_Medio End La tabla siguiente presenta los resultados de la simulación de 500 viajes, para dos semillas diferentes. En la primera simulación se usó una semilla de 377 para seleccionar la ruta y una de 1425 para calcular el tiempo de viaje. El programa se implementó en Fortran, y se imprimían los resultados parciales cada 20 viajes. Concepto Semillas Tiempo medio de viaje Tiempo mínimo de viaje Tiempo Máximo de viaje Desviación estándar Número de viajes Simulación No 1 No 2 377 y 1425 1797 y 971 30.6 30.1 0.02 0.07 237.3 241.1 32.0 31.0 500 500 El tiempo medio de viaje calculado analíticamente está dado por: E(T) = P x E(T1) + (1 - P) x E(T2) = ).6 x 25 +0.4 x 40 = 31.0 La figura No muestras la forma en que varía el tiempo medio de viaje a medida que aumenta el tamaño de la muestra (número de viajes simulados). Se observa como a medida que aumenta el número de viajes el tiempo medio tiende a estabilizarse. (ver capítulo No 8, sección relacionada con la determinación del tamaño de la muestra) 7.2 Ejemplo 4.11 Un problema de inventarios : El problema del vendedor de periódicos B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 37 Un voceador de prensa compra periódicos a $300 cada uno y los vende a $400 la unidad. Al final de cada día el agente de publicaciones le paga $130 por cada periódico que no haya vendido. La demanda diaria de periódicos (X) tiene la siguiente función de probabilidad : x p(x) 75 0.02 80 0.07 85 0.08 90 0.20 95 0.19 100 0.14 105 0.12 110 0.09 115 0.06 120 0.03 Se desea determinar por simulación el número óptimo de periódicas que el vendedor debe ordenar cada día. Solución. El objetivo es definir cuantos periódicos debe ordenar diariamente el voceador de tal forma que se maximice la utilidad esperada con la venta de los periódicos. Este problema tiene solución analítica. El objetivo será resolverlo analíticamente y por simulación y comparar las soluciones obtenidas con ambas metodologías. 7.2.1 Solución analítica. Para la solución analítica y por simulación usaremos la siguiente metodología. X: Variable aleatoria que describe la demanda diaria de periódicos. p(x( ó f(x) : Función de probabilidad o de densidad de demanda diaria de periódicos. F(x) : Función de distribución C: Costo por periódico = $ 300/periódico V: Precio unitario de venta = $ 400/periódico S: Valor de salvamento o cantidad reconocida por periódico no vendido = $ 130/unidad. Q: Cantidad a pedir diariamente Q* : Cantidad óptima a pedir para maximizar la utilidad esperada. La utilidad obtenida Si se piden Q periódicos está dada por Utilidad de periódicos vendidos - Pérdida por periódicos no vendidos o también por : Ingresos - egresos Si el voceador ordena Q periódicos, al final del día puede encontrarse con dos situaciones : a) La demanda diaria fue menor que o igual a la cantidad pedida : x ≤ Q En este caso se obtiene una utilidad por los periódicos vendidos (x) y una pérdida por los periódicos no vendidos (Q-x). La utilidad está dada por : U(Q) = x (V - C) - (Q - x) (C - S) b) ,x≤Q (1) La demanda es superior a la cantidad pedida : x > Q En este caso sólo se obtiene la utilidad por los periódicos vendidos, y no se presenta ninguna pérdida. La utilidad está dada por : U(Q) = x (V - C) ,x>Q (2) Como la demanda es una variable aleatoria, entonces es necesario calcular la utilidad esperada, la cual estará dada por la siguiente expresión, dado que se la está tratando como una variable discreta : E[ U(Q)] = x=Q ∑ [ x( V − C) − ( Q − x)(C − S)]p( x) + x=0 ∞ ∑ Q ( V − c) p ( x ) (3) x=Q+ u cuando X es discreta y varía en intervalos de u unidades. Si Q* es la cantidad a pedir que maximiza la utilidad, entonces se tienen condiciones : E[U(Q*)] ≥ E[U(Q* - u)] E[U(Q*)] ≥ E[U(Q* + u)] (4) (5) que cumplir las siguientes B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 38 Aplicando separadamente las condiciones (4) y (5) a la ecuación (3) se encuentra que el valor óptimo Q* es aquel que satisface la siguiente desigualdad : Q* ∑ p ( x) ≤ x = Xmin V−C V−S (5) Si X es continua la utilidad estará dada por : E[ U(Q)] = ∫ Q Xmin [ x( V − c) − (Q − x)(C − S)]f ( x)dx + ∫ ∞ Q xf ( x)dx (6) El valor de Q que maximiza la utilidad esperada es aquel que hace igual a cero la primera derivada de la ecuación anterior con respecto a Q . Esto es : dE[ U( Q)] = 0 ⇒ el valor óptimo de Q es aquel que satisface la siguiente ecuación : dQ F (Q*) = ∫ V −C Q* f ( x )dx ≥ Xmin V −S (7) Para nuestro caso se tiene : x p(x) F(x) Ahora 75 0.02 0.02 80 0.07 0.09 85 0.08 0.17 90 0.20 0.37 95 0.19 0.56 100 0.14 0.70 105 0.12 0.82 110 0.09 0.91 115 0.06 0.97 120 0.03 1.00 V − C 400 − 300 100 = = = 0.37 ⇒ que la solución óptima es pedir 90 periódicos, si se desea V − S 400 − 130 270 maximizar la utilidad esperada por la venta de los periódicos. 7.2.2 Solución por simulación Para determinar por medio de la simulación qué cantidad debe ordenarse, es necesario simular la operación del sistema (venta de periódicos) durante varios días (N) para diferentes alternativas de la cantidad a pedir (Q1, Q2,...,QM) y escoger aquella cantidad que maximice la utilidad esperada por día. Para simular la operación del sistema, dada una cantidad fija a pedir Q, es necesario formular un modelo para realizar los pasos o etapas que se darían en un día cualquiera si estuviéramos realizando la venta de periódicos. Este modelo para un día cualquiera está representado mediante las ecuaciones (1) y (2) formuladas anteriormente. Este procedimiento sería necesario repetirlo para varios días, y luego obtener la utilidad promedio diaria, que es el mejor estimativo de la utilidad esperada. El procedimiento a seguir para simular la operación del sistema para una cantidad fija a pedir Q es el presentado a continuación : 1) 2) 3) 4) Se define cuantos días se van a simular (N). Se inicializan los registros o contadores para recoger información (la utilidad promedio, en nuestro caso ∑U=0). Para cada día i a simular se realizan los siguientes pasos : 3.1) Se genera la demanda de ese día, de acuerdo con la la función de probabilidad de la demanda. 3.2) Se calcula la utilidad diaria, según que la demanda sea menor o igual a la cantidad pedida, o que sea mayor, usando las expresiones (1) y (2) ya definidas, a saber : Ui = x (V - C) - (Q - x) (C - S) x≤Q Ui = x (V - C) x>Q 3.3) Se actualiza la utilidad acumulada, según la utilidad obtenida : ∑U=∑U+ Ui Una vez se han simulado todos los días se calcula la utilidad promedio diaria, dada por ∑U/N La tabla siguiente presenta el seudocódigo del procedimiento anterior. B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 39 Definir Número de días N Definir cantidad Q Día = 1 Mientras Día ≤ N Generar Demanda Si No Si Demanda ≤ Q U = x (V - C) - (Q – x) (C - S) U = x (V - C) Actualizar utilidad acumulada ∑U=∑U+ Ui Día - Día + 1 Utilidad Media UM = ∑U/N Fin Simulación El procedimiento anterior es necesario repetirlo para las diferentes cantidades a simular, y de todos ellas se escoge la que maximice la utilidad promedio. Para generar la demanda diaria se puede utilizar el método de la transformación inversa, con base en la función de distribución, de la siguiente manera. Se genera un número aleatorio r. El valor de la demanda será igual a: Valor de Demanda 75 80 85 90 95 100 105 110 115 120 Condición r ∠ 0.02 0.02 ≤ r ∠ 0.09 0.09 ≤ r ∠ 0.17 0.17 ≤ r ∠ 0.37 0.37 ≤ r ∠ 0.56 0.56 ≤ r ∠ 0.70 0.70 ≤ r ∠ 0.82 0.82 ≤ r ∠ 0.91 0.91 ≤ r ∠ 0.97 r ≥ 0.97 Para definir la cantidad óptima, es decir, la que maximice la utilidad esperada, se puede usar un método de búsqueda. Si en estudios de simulación se desea optimizar una función, deben emplearse métodos numéricos de optimización, y los mas empleados son los métodos de búsqueda. Para nuestro caso, la cantidad mínima a pedir sería de 75 unidades, por lo tanto podemos empezar el proceso de búsqueda en 75 (Q0 = 75), usando un incremento o paso de 5 unidades (∆Q = 5). Se suspende el proceso de búsqueda cuando la utilidad esperada empiece a decrecer. En resumen, el procedimiento de optimización sería : 1) 2) Se simula pidiendo una cantidad inicial Q = Q0 = Xmin = 75 y se obtiene la utilidad media UM(Q0). Se hace la simulación ordenado una cantidad Q1 = Q0 + ∆Q, y se calcula la utilidad media UM(Q1). 2.1) Si UMQ1) ≤ UM(Q0), entonces termina la búsqueda y la cantidad optima a pedir sería Q= Q0 = 75. 2.2 Si UMQ1) > UM(Q0), entonces se realizan las simulaciones ordenando las siguientes cantidades : Q2 = Q1 + ∆Q, y se obtiene la utilidad media UM(Q2). Q3 = Q2 + ∆Q, y se obtiene la utilidad media UM(Q3). ...................... Qk = Qk-1 + ∆Q, y se obtiene la utilidad media UM(Qk). donde en Qk la función de utilidad no responde, es decir, UM(Qk) ≤ UM(Qk-1). La cantidad óptima a pedir sería de Q* = Qk-1 La gráfica de la página siguiente presenta el diagrama de flujo completo de la simulación para determinar la cantidad óptima a pedir. La tabla siguiente resume los resultados de realizar varias simulaciones para determinar la cantidad óptima. Además, se presenta los resultados para varios replicados de las corridas (un replicado es el resultado de una corrida, pero cambiando las semillas usadas para generar los números aleatorios). B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” CANTIDAD 75 80 85 90 95 100 SEMILLA 4 - 40 UTILIDAD MEDIA DIARIA ($) PARA VARIAS SIMULACIONES No 1 No 2 No 3 7500.0 7500.0 7500.0 7974.4 7977.1 7971.7 8344.8 8362.3 8355.6 8623.4 8639.6 8628.8 8623.9 8656.3 8671.1 8411.1 8407.0 8374.6 9713 1597 475 Para cada corrida se realizaron 1.000 simulaciones. Puede considerarse que la cantidad óptima a pedir diariamente es de 95 periódicos. Con el fin de decidir entre 90 y 95 se realizaron corridas de 2000 simulaciones, cuyos resultados se presentan en la tabla siguiente, los cuales llevan a la misma decisión. B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 41 UTILIDAD MEDIA DIARIA ($) PARA VARIAS SIMULACIONES No 1 No 2 No 3 8647.7 8642.3 8612.6 8656.3 8646.8 8599.6 9713 1597 475 CANTIDAD 90 95 SEMILLA Para realizar un seguimiento a una simulación, en la tabla siguiente se presentas los resultados de varias simulaciones para diferentes valores de Q, realizadas em excel, para un total de 30 días. Simulación del problema del vendedor de periódicos para varios valores del tamaño del pedido Número Pedido Q = 85 Pedido Q = 90 Pedido Q = 95 Día Aleatorio Demanda Periódicos Vedidos Utilidad Periódicos Vedidos Utilidad Periódicos Vedidos Utilidad 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Total Promedi o 0.0370 0.9553 0.5208 0.0656 0.7514 0.7971 0.9048 0.0747 0.2364 0.6483 0.6962 0.2358 0.0335 0.4260 0.1117 0.5401 0.6454 0.2605 0.4186 0.9268 0.8607 0.0872 0.7895 0.6240 0.9751 0.6145 0.4680 0.6953 0.0680 0.3132 80 115 95 80 105 105 110 80 90 100 100 90 80 95 85 95 100 90 95 115 110 80 105 100 120 100 95 100 80 90 2885 96.2 80 85 85 80 85 85 85 80 85 85 85 85 80 85 85 85 85 85 85 85 85 80 85 85 85 85 85 85 80 85 2520 84.0 7000 8500 8500 7000 8500 8500 8500 7000 8500 8500 8500 8500 7000 8500 8500 8500 8500 8500 8500 8500 8500 7000 8500 8500 8500 8500 8500 8500 7000 8500 246,000 8200.0 80 90 90 80 90 90 90 80 90 90 90 90 80 90 85 90 90 90 90 90 90 80 90 90 90 90 90 90 80 90 2635 87.8 6000 9000 9000 6000 9000 9000 9000 6000 9000 9000 9000 9000 6000 9000 7500 9000 9000 9000 9000 9000 9000 6000 9000 9000 9000 9000 9000 9000 6000 9000 250,500 8350.0 80 95 95 80 95 95 95 80 90 95 95 90 80 95 85 95 95 90 95 95 95 80 95 95 95 95 95 95 80 90 2730 91.0 5000 9500 9500 5000 9500 9500 9500 5000 8000 9500 9500 8000 5000 9500 6500 9500 9500 8000 9500 9500 9500 5000 9500 9500 9500 9500 9500 9500 5000 8000 249,000 8300.0 0.4927 B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 8 4 - 42 Problemas 4.1 Usando los mismos números aleatorios generados en el problema 3.1, genere igual número de variables aleatorios que sigan las siguientes distribuciones: a) Exponencial con parámetro unitario (exponencial normalizada). b) Poisson con mismo parámetro de 10 c) Aplique las pruebas chi-cuadrado y de kolmogorov-Smirnov a las variables obtenidos en a) y b). 4.2 Genere 100 variables aleatorias con una distribución normal cualquiera. Aplique las pruebas de “bondad de ajuste” chi-cuadrado y de Kolmogorov-Smirnov. Dibuje el histograma respectivo. 4.3 Genere unos 200 números aleatorios con distribución exponencial, para distintos parámetros, y luego dibuje el histograma de frecuencia respectivos, y obtenga conclusiones con respecto a la forma de la distribución a medida que el parámetro crece. A qué distribución tiende?. 4.4 Repita el problema anterior, pero con la distribución de Poisson. 4.5 Desarrolle un generador de proceso para una variable aleatoria que siga una distribución chi-cuadrado. 4.6 Desarrolle un generador de procesos para una variable aleatoria que con una distribución F. 4.7 Desarrolle un generador de un proceso que produzca variables aleatorias que sigan una distribución t ó de “student”. 4.8 Desarrolle generadores de procesos para las siguientes funciones de densidad x/100 a. 0 < x < 10 f (x) = (20 - x)/100 b. f(x) = (b + 1) ( 1 - x) 10 < x < 20 b 0<x<1 4.9 Desarrolle generadores de procesos para cada una de las variables definidas por las siguientes funciones de probabilidad: p (1- p) x-1 ------------------, 1 - (1 - p) n a. p(x) = b. p(x) = x/6, x = 1, 2,..., n x = 1, 2,..., 6 4.10 La distribución del tiempo entre llegadas de órdenes a un depósito es exponencial con media de un día. La distribución del numero de unidades requeridas en cada orden es geométrica con p = 0.5. Desarrolle un generador que produzca la variable aleatoria que representa el número total de unidades pedidas en un día de ocho horas. 4.11 Una línea de producción debe ser mantenida por una cuadrilla de reparación. La línea puede fallar por varias causas. Cuando el sistema falla, el equipo de reparación corrige el problema que ocasionó la falla y hace los ajustes necesarios en la línea para reducir la probabilidad de que la línea falle por cualquiera de las restantes causas, es decir, cuando se hace un ajuste por un problema, se corrigen las tres causas. Sea Ti el tiempo en horas hasta que el sistema falle por la i-ésima causa, medida desde el último ajuste. La función de densidad de Ti está dada por la siguiente expresión, con los parámetros dados en la tabla adjunta: λe i f(ti) = − λt i i ( λ i t i) ni −1 (n − 1) ! , ti > 0, i = 1, 2, 3. i i 1 2 3 B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” λi ni 0.25 4 0.10 8 4 - 43 0.25 2 La función de densidad del tiempo requerido para completar las reparaciones está dado por: g (x) = 5 e -5x x>0 donde el tiempo de reparación es independiente del tiempo de falla. Se quiere determinar por simulación a) El porcentaje de tiempo que el sistema está inactivo durante un año y b) El porcentaje de fallas causadas por cada causa.. 4.12 Un fabricante produce uno de sus productos en lotes de 300. Loas programas de producción se hacen con 10 días de adelanto. Para cada unidad producida se requiere una unidad de materia prima. La materia prima requerida es comprada a un proveedor y la orden por la materia prima debe colocarse dentro de los 10 días precedentes al comienzo programado de la producción. La orden puede colocarse en uno cualquiera de estos 10 días. Si la orden se coloca demasiado tarde la producción se retrasa a un costo de $ 200.000 por año de retraso. Sin embargo, si la orden se coloca demasiado pronto, la materia prima debe mantenerse en inventario a un costo de $ 200 por unidad año. La distribución del tiempo de espera, en años, es Erlang con n = 200, K = 4. Se pide determinar cuándo deben colocarse las órdenes por la materia prima. 4.13 Todos los días un hombre deja su casa (A) y va a trabajar a (H). Sin embargo, no siempre toma la misma ruta. El diagrama siguiente indica las rutas que puede tomar. El valor que hay encima de cada ruta es la probabilidad de tomarla, y el valor que hay debajo identifica la ruta. 0.8 0.8 B E 3 .7 0.3 0.5 1 0.2 0.6 7 10 9 1A 4 1. H G D 13 .5 .6 . 5 0.4 0.4 11 .6 2 8 12 .4 F C 6 La distribución del tiempo gastado en cada ruta es normal, con los siguientes parámetros: Ruta 1 2 3 4 5 6 Media(min) 20 15 5 7 6 10 Desviación 1.0 2.0 0.5 1.0 1.5 2.0 Ruta 7 8 9 10 11 12 13 Media (min) 4 5 3 6 5 7 6 Desviac. 0.6 0.8 0.25 1.0 0.8 1.1 1.0 Determine el tiempo medio de viaje entre (A) y (H), después de 500 viajes y compárelo con la solución analítica. 4.14 La distribución de la producción diaria de un artículo es normal, con una media de 6.000 artículos y una desviación de 500. Cada día se debe desechar cierto porcentaje (100p) de la producción total. Esto es si el porcentaje de deshechos es 100p y si la producción diaria es x, la producción neta será y = x - px. La función de densidad de la fracción defectuosa p está dada por: g(p) = 99 (1- p) 98, 0<p<1 Desarrolle un generador para la producción neta por día; genere la producción durante 500 días y demuestre, usando la prueba chi-cuadrado o la Smirnov-Kolmogorov que la producción neta diaria es normal. Use α = 0.05. 4.15 Se ha diseñado el siguiente sistema de control de calidad para controlar una dimensión particular. Se selecciona una muestra de 9 artículos de un lote de 1.000 unidades. Se mide la dimensión de cada unidad de la muestra y luego se calcula la dimensión media x como: B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 44 N ∑ Xi X = i =1 N siendo xi la dimensión del i -ésimo artículo de la muestra y N = 9. Si x cae entre 4.5 y 5.5 el lote es aceptado; en caso contrario el lote es rechazado. La dimensión deseada es 5. La distribución de la dimensión de cada artículo del lote es normal, con media m y desviación estándar 0.7 La distribución de la media del lote m es normal con media 5 y desviación de 0.1. Simulando la inspección de 1000 lotes determine la probabilidad de rechazar un lote. 4.16 Un sistema electrónico está compuesto de tres componentes 1,2 y 3 tal que si cualquier componente falla, el sistema falla (sistema en serie). La distribución del tiempo hasta la falla de cada componente es normal con la media y la desviación estándar dados en la tabla dada al final de este problema. Este sistema debe funcionar en forma continua durante un año. La confiabilidad del sistema (definida como probabilidad de que sobreviva este período de tiempo) es la probabilidad de que cada uno de los componentes dure al menos un año, y está dada por: Confiabilidad = P( T1 ≥ 1) x P( T2 ≥ 1) x P( T3 ≥ 1) = (0.9772) (0.9961) (0.8413) = 0.8189 Una confiabilidad del 81.89% no se la considera lo suficientemente alta. Para aumentar la confiabilidad del sistema se pueden agregar componentes en estado de alerta de respaldo, los cuales pueden desempeñar la misma función del componente principal cuando éste falle, extendiendo así la vida del sistema. La distribución de cada componente adicional (o de respaldo) es exponencial, con la media dada en la tabla mencionada. Se pueden agregar cualquier número de componentes, pero al costo dado en la misma tabla. Determine por simulación el número y el arreglo de los componentes que lleven la confiabilidad del sistema a al 98% (al mínimo costo). Componente 1 2 3 COMPONENTE PRINCIPAL Vida Media Desviación (años) Estándar (años) 1.2 0.10 1.4 0.15 1.1 0.10 COMPONENTES DE RESPALDO Vida media Costo/unidad (años) agregada 0.05 200 0.07 300 0.04 250 4.17 Un centro de cómputo opera 24 horas al día y requiere tres operarios de computador por turno de 8 horas. A cada operario se le pagan $30 la hora. Si un operario no puede trabajar su turno, debe ser reemplazado en ese turno o el equipo que maneja debe apagarse, a un costo de $ 1.000 por hora. Para asegurarse contra la posibilidad de pérdidas de tiempo de máquina se ha propuesto que varios de los operarios sean mantenidos “bajo alerta” para ser llamados en aquellos turnos en que no están trabajando. Se propone que a estos operarios se les pague una bonificación de $4.00 por hora para que estén disponibles. Cuando se llame a uno de estos operarios a trabajar se les debe pagar un recargo del 50%. La probabilidad de que un operario pueda trabajar su turno es 0.95 y la probabilidad de que un operario bajo alerta puede ser localizado cuando se lo necesite es de 0.90. Determine el número óptimo de operarios que deben mantenerse “bajo alerta”, de tal manera que se minimice el costo total. Asuma que a cada operario que esté bajo alerta se le pagan los $ 4 por hora sea que se le necesite o no. 4.18 El departamento de control de calidad ha adoptado un plan de muestreo para lotes que se reciben de un proveedor externo. Las unidades se seleccionan una a una. Si se encuentran dos unidades defectuosas., el lote debe rechazarse. Si el número de defectuosos encontrados después de inspeccionar diez artículos es cero o uno, el lote es aceptado. La fracción defectuosa p sigue la distribución siguiente, con a = 10. f (p) = (a+1) (1-p)a ,0<p<1 Cada inspección cuesta $ 10 por artículo. El costo esperado de inspección ha sido estimado en $ 85 por lote inspeccionado. Determine por simulación si este estimativo puede aceptarse. Use α = 0.05 4.19 Una compañía produce mezcladores eléctricos a una tasa anual de 1 000. Cada mezclador está garantizado por un período de 4 años. El costo de producir un mezclador que tenga una vida media de m años está dado por: c = a + bm + cm2 donde a = $ 250, b = $ 200, c = $ 10 B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 45 El tiempo de funcionamiento de un mezclador hasta que falla se distribuye exponencialmente con la media m. Cada falla que ocurre durante la garantía le cuesta al productor $ 333.50. Se quiere determinar por simulación el valor óptimo de m. 4.20 Resuelva el problema anterior cuando el costo de una falla (C) durante el período de garantía es una variable aleatoria con la siguiente función de densidad: f (c) = 0.25 (20 - c) 0 < c < 20 4.21 En el problema 18 se espera que el costo de producción por unidad aumente a una tasa promedio de 7% por año para los próximos 5 años y el costo por fallas se espera que aumente en un 10% por año durante el mismo período. Encuentre el valor óptimo de m. 4.22 La tasa de nacimiento de una población se distribuye normalmente con un valor medio de 5% y una desviación estándar de 0.5%. La tasa de muerte también se distribuye normalmente con media 6% y desviación estándar 1%. Calcule los cambios en la población para 5 años a intervalos de un año. 4.23 Un recipiente contiene 1.000.000 de galones de agua y se vacía a una tasa estable de 10.000 galones por día. Las lluvias ocurren con una distribución de Poisson a una tasa media de una en 10 días. La cantidad de agua que cae al tanque en cada lluvia está distribuida normalmente con una media de 80.000 galones y una desviación estándar de 5.000 galones. a) b) Determine el contenido del recipiente después de 60 años. Asuma que el recipiente empieza lleno y que el agua excede la capacidad del recipiente se pierde. Cuántos galones de agua fueron desaprovechados? 4.24 Los carros llegan aleatoriamente a una cabina y pagan el peaje. Si es necesario, esperan en la cola de acuerdo al orden de llegada. El tiempo entre llegadas se distribuye uniformemente entre 0 y 9, inclusive (aproxime al segundo más cercano). El tiempo para pagar es también aleatorio y entre 0 y 9 segundos, pero con la siguiente distribución de probabilidad: f(t) = t - 1/2 /6, 0 < t <9 Determine los tiempos de llegada y los tiempos que necesitan para pagar los 10 primeros carros. A qué hora termina de pagar el quinto carro?. El séptimo?. Trunque todos los números calculados al entero más cercano. 4.25 Un repartidor compra periódicos en paquetes de veinte a dos pesos cada uno y los vende a tres pesos. Los periódicos no vendidos carecen de valor. Al analizar las ventas del pasado se descubre que existen tres distribuciones de la demanda, dependiendo de las noticias que figuran en el periódico. Un día de “Buenas” noticias da como resultado encabezados interesantes para muchos clientes potenciales; los días “normales” y “malos” tienen encabezados de menor interés. Históricamente, el 20% de los días han sido buenos, el 50% “normales” y el 30% “malos”. Las distribuciones de la demanda se resumen a continuación: Demanda diaria 40 50 60 70 80 90 100 110 120 130 140 150 Malo 0.05 0.20 0.41 0.26 0.08 Tipo de día, según las noticias Normal 0.03 0.07 0.28 0.30 0.25 0.07 Bueno 0.02 0.15 0.28 0.24 0.12 0.09 0.06 0.04 Determine la cantidad que debe pedirse. 4.26 Una empresa de alquiler de autos está tratando de determinar el número óptimo de autos a comprar. El costo promedio anual de un auto es de $ 11 000 000. Además, esta compañía ha recopilado las siguientes estadísticas sobre las operaciones de carros : B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” Número de autos alquilados por día Probabilidad 0 0.10 Número de días rentados por auto Probabilidad 1 0.40 1 0.10 4 - 46 2 0.25 2 0.35 3 0.30 3 0.15 4 0.25 4 0.10 Si la renta diaria por auto es de $52 000, el costo de no tener un auto disponible cuando se lo solicita es de $30 000, y el costo de tener un carro ocioso durante un día es de $7 500, cuantos autos deberá comprar la compañía ?. Suponga que un auto que se alquila por un día está disponible al día siguiente. 4.27 Un vendedor de revistas compra mensualmente una revista el día primero de cada mes. El costo de cada ejemplar es $6 000. La demanda de esta revista en los primeros diez días del mes tiene la distribución de probabilidad dada a continuación: Demanda Probabilidad 5 0.05 6 0.05 7 0.10 8 0.15 9 0.25 10 0.25 11 0.15 Al final del décimo día, el vendedor puede regresar cualquier cantidad de revistas al proveedor, quien se las pagará a 3 600 el ejemplar, o puede comprar mas revistas a un costo de $4 800 el ejemplar. La demanda en los siguientes 20 días está dada por la siguiente distribución de probabilidad: Demanda Probabilidad 4 0.15 5 0.20 6 0.30 7 0.20 8 0.15 Al final del mes, el vendedor puede regresar al proveedor las revistas que le sobren, las cuales se le pagarán a $3 600 el ejemplar. Finalmente, se supone que después de un mes ya no existe demanda por parte del público, puesto que para ese entonces ya habrá aparecido el nuevo ejemplar. Si el precio al público de la revista es $ 8 000 por ejemplar, determine la política óptima de compra. 4.28 Debido a un aumento en las ventas, cierta compañía productora necesita mas espacio en su fábrica. La solución que se ha propuesto es la construcción de un nuevo depósito para almacenar los productos terminados. Este depósito estará localizado a 35 kilómetros de la planta. Además, de acuerdo con este nuevo plan, se requiere que al final del día se envíe la producción terminada al nuevo depósito. Por otra parte, con base en información histórica, se ha estimado que la producción diaria de la empresa tiene la siguiente distribución de probabilidad: Producción diaria (toneladas) Probabilidad 50 - 55 0.10 55 - 60 0.15 60 – 65 0.30 65 - 70 0.35 70 - 75 0.08 75 - 80 0.02 También se sabe que el tipo de camiones que se deben utilizar para transportar esta producción tienen capacidad de 5 toneladas. La cantidad de viajes que se pueden realizar cada día (jornada de 8 horas), depende del tiempo de carga y descarga, como también del tiempo que se requiere para recorrer la distancia entre la planta y el depósito. Por lo tanto, la cantidad de producto terminado que un camión puede transportar de la planta al depósito, es una variable aleatoria cuya distribución de probabilidad es la siguiente: Toneladas diarias transportadas/camión Probabilidad 4.0 –4.5 0.30 4.5 – 5.0 0.40 5.0 –5.5 0.20 5.5 – 6.0 0.10 Si la cantidad diaria producida es mayor que la cantidad que puede transportar la flotilla de camiones, el excedente debe ser enviado a través de camiones de otra compañía transportadora a un costo de $20 000 la tonelada. Además el costo promedio anual de un camión nuevo es de $ 20 000 000. Si se trabajan 250 días al año, cual es el número óptimo de camiones que la empresa debe comprar? B. Calderón. Introducción a la Simulación. Cap 4. “Generación de Procesos” 4 - 47 METODOS DE BUSQUEDA Los métodos numéricos de búsqueda se clasifican, en general, en dos clases : 1) Búsqueda en un rango no restringido, cuando no se conoce el rango en que se encuentra el valor óptimo, y 2) Búsqueda en un rango restringido cuando se sabe que el óptimo se encuentra en un rango finito, por ejemplo, entre a y b. Inicia la simulación Definir : Número de días, semillas, costos, demanda y probabilidades Inicializar : Pedido inicial Q0 = Xmin = 75 Incremento = psao =∆Q = 5