Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Simulación
Unidad II. Simulación de Variables Aleatorias
1. Números aleatorios.
Los sistemas reales frecuentemente tienen valores de tiempo y cantidades que varían
dentro de un rango y de acuerdo a una función específica de densidad, definida por una
distribución de probabilidad. Por ejemplo, si el tiempo que se tarda una máquina en
procesar una pieza se distribuye entre 2.2 minutos y 4.5 minutos, esto se definirá como
una distribución de probabilidad en el modelo de simulación. Durante la simulación, cada
vez que una pieza entre a esta máquina y sea procesada, el simulador generará un
número al azar entre 2.2 y 4.5 minutos para simular el tiempo de procesamiento de esa
pieza. Cada vez que generamos un valor a partir de una distribución, a ese valor se le
llama variable aleatoria. Para generar variables aleatorias, es necesario utilizar números
aleatorios.
f(x)
1.0
1.0 X
0
Distribución Uniforme U(0,1)
Existen varios métodos para generar números pseudoaleatorios. La gran mayoría de los
generadores de números pseudoaleatorios que se usan en la actualidad son generadores
congruenciales lineales, introducidos por Lehmer en 1951. Los generadores
congruenciales lineales generan una secuencia de números pseudoaleatorios en la cual el
próximo número pseudoaleatorio es determinado a partir del último número generado. A
continuación se presentan los dos más importantes: el método congruencial mixto lineal y
el método congruencial multiplicativo lineal.
1
Unidad II. Simulación de Variables Aleatorias
Fórmula:
n 1 a n c mod m
donde:
X0 = La semilla (X0 > 0)
a = El multiplicador (a > 0)
c = Constante aditiva (c > 0)
m = Módulo (m > X0 ; m >a ; m > c)
Los valores posibles de Xn+1 son 0,1,2,3,..., m-1, es decir, m representa el número posible
de valores diferentes que pueden ser generados.
a = 5; c = 7; X0 = 4; m = 8
Solución:
a = X0 = c = 7, m = 10
Solución:
n Xn Xn+1=(7Xn+7) mod 10 Número U(0-1)
(Xn+1/m)
0 7 6 6/10 = 0.60
1
2
3
4
Periodo del generador =
2
Unidad II. Simulación de Variables Aleatorias
Fórmula:
n 1 a n mod m
a = 5; X0 = 5; m = 32
Solución:
Suponga que se desea generar una variable aleatoria X que es continua y tiene una
función de distribución F que es continua y estrictamente creciente cuando 0<F(x)<1.
3
Unidad II. Simulación de Variables Aleatorias
Nota: En caso de que el problema tenga definida la función de densidad f(x), entonces es
necesario encontrar primero la función de distribución F(x), integrando la función de
densidad, y luego aplicar el método de la transformada inversa.
Recuerde que:
x
F ( x) f (t )dt
F(x)
0
X = F-1(U) X
0
f(x) = 2x 0 X 1
Solución:
4
Unidad II. Simulación de Variables Aleatorias
x 2 x
2t
F ( x) 2tdt x 2 02 x 2 0 X 1
0
2 0
F(x) = x2
U = F(X)
U = x2
X U 0 U 1
F(x)
0.25
X
0 0.50 1
Ejemplo 5: Sea X una variable aleatoria exponencial con media Aplique el método de la
transformada inversa para generar variables aleatorias exponenciales sabiendo que la
función de distribución exponencial F(x) es la siguiente:
1 – e-x/ X>=0
F(x) =
0 de otra forma
Solución:
5
Unidad II. Simulación de Variables Aleatorias
U = F(X)
U = 1 – e-x/
U-1 = -e-x/
1-U = e-x/
ln(1-U) = -x/
ln(1-U) = -x
x = -ln(1-U) 0 U 1
Box and Muller desarrollaron un método especial de inversión para generar variables
aleatorias a partir de una distribución normal estándar (=0 y =1). Las fórmulas que
aplican Box and Muller son las siguientes:
Note como este método necesita dos números uniformes U(0,1) para generar dos
variables aleatorias normales estándar independientes N(0,1).
Solución:
6
Unidad II. Simulación de Variables Aleatorias
El método de convolución
El método de convolución asume que existen Y1, Y2,…, Ym variables aleatorias, tal que la
suma de todas ellas tiene la misma distribución que X, entonces se calcula:
X = Y1 + Y2 +… Ym
Ejemplo 7: La variable aleatoria X m-Erlang con media puede definirse como la suma
de m variables aleatorias exponenciales IID con una media común /m. Entonces para
generar X, debemos primero generar Y1, Y2,…, Ym variables exponenciales IID con media
/m, y posteriormente calcular X = Y1+Y2+…+Ym.
Por ejemplo, genere una variable aleatoria X 5-Erlang con media 12 usando el método
de convolución.
Solución:
Formula: Yi = -(/m) ln(1-u)
I Ui Yi = -(12/5) ln(1-u)
1 0.786571
2 0.942356
3 0.113521
4 0.657723
5 0.384123
SUMA
La simulación de Montecarlo ha tenido una gran aceptación en la vida real debido al poder
analítico que presenta sin la necesidad de matemáticas complejas, ya que usa tablas
sencillas.
7
Unidad II. Simulación de Variables Aleatorias
Ejemplo 8: Se tiene un proyecto que se desea realizar cuyos costos estimados para que
el proyecto se ponga en marcha se presentan a continuación con sus respectivas
probabilidades.
Solución: