Professional Documents
Culture Documents
Ross, Sheldon, Simulación, 2da Edición, Pearson-Prentice Hall, 1999 PDF
Ross, Sheldon, Simulación, 2da Edición, Pearson-Prentice Hall, 1999 PDF
a34 Generacion de variables aleatorias discretas Cap. 4
[Ahora tenemos la siguiente nica llamada método de rechazo o método de acptacién
3 techazo, para simlar una variable alatriaX con funcién de masa p,= PL X= J)
Método de rechazo
PASO 1; Simular el valor de ¥, con funcién de masa de probabilidad 4,
PASO 2: Generar un némero aleatorio U.
PASO3: Si U/< pylegy hacer X= ¥y terminar. En caso contraio, regresar al paso.
El método de rechazo se representa en la figura 4.1
‘Ahora demostramos que el método de rechazo funciona,
Teorema El algoritmo de aceptacién y rechazo genera una variable aleatoria X ral
que
PY
=p» 5=9,
demas, el niimero de iteraciones del algoritmo necesarias para obtener X es una
variable aleatoria geométrica con media c.
Demostracién Para comenzar, determinaremos la probabilidad de que una tinica itera-
cig produzca el valor aceptado j.
P(Y= j, aceptada)
Inicio Sf
Generar ¥ oon |
fanci6n de masa g,
St LU s prleay?
Figura 4.1. Aceptaci6n y rechazo
Sec. 44 La téenica de aceptacisn y rechazo 55
{Al sumar sobre je abtiene Ia probabilidad de que una variable aleatora generada sea
aceptada:
yt
Placeptaday = =~
7
Como cada iteracién produce de manera independiente un valor aceptado con proba:
bilidad1/c, vemos que el nmero de iteraiones necesaias es una geométrica con
media ¢. demi,
PIX = j) =, Pl aceptada en Ia iteracion n}
= Dave
=% .
Observaciones
1. Bl lector debe observar qu la forma en que “aceptamos el valor ¥con probabi-
lidad py/eqy” consiste en generar un némero aleatorio U y luego aceptar ¥ si
Us pyleay
2. Como cada iteracién del algritmo produce de manera independiente un valor
aceptado con probabildad P(aceptacién) = K'= He, esto implica que el mero
de iteraciones neceseriastendré una distibucién geométrica con parimetro Ic
¥ por tanto tendré media c. Entonces, mientras més cerca esté c de 1 (nunca
puede ser menor que 1, lo cual se puede ver al escribir Ia desigualdad (42)
como p, cq, y sumar ambos lados) més efieaz seré el método; esto es claro
intuitivamente, pues mientras més cerca estéc de 1, més paecidas serén las dos
funciones de masa (p,) ¥ (qj).
_Ejemplo 4e Suponga que queremos simular el valor de una variable aleatoria X que
toma uno de los valores 1, 2, ..., 10 con probabilidades respectivas 0.11, 0.12, 0.09,
0.08, 0.12, 0.10, 0.09, 0.09, 0,10, 0.10. Una posibilidad es utilizar el algoritmo de la
‘wansformada inversa, pero un planteamiento mejor consiste en usar el método de
rechazo, con como la densidad uniforme discreta en 1, ..., 10. Es decir, = 1/10.
j=l... 10, Para esta eleccién de (q,}, podemos elegir ¢ como
co Max = 12
4
de modo que el algoritmo serta el siguiente56 Generacién de variables aleatorias discretas Cap. 4
Aso 1: Generar un nimero leatorio Uy y hacer Y=
#4302: Generar un segundo nimeroaleatrio Uy
P4503: $i U;Spy/0.12,hacer X= ¥yterminar En caso conta egresar al paso 1
La constante 0.12 del paso 3 se debe a que cy = 1.2/10 = 0.12. En promedio, este
algoritmo requiere slo 12 iteraciones para obtener el valor generado de X. I
int(10U) + 1
La fuerza del método de rechazo, una de cuyas primeras versiones fue propuesta
por el famoso matematico John von Neumann, seré atin més clara cuando considere-
‘mos su anslogo al generar variables aleatorias vontinuas.
lI 5 El método de composicién
SSuponga que tenemos un método eficiene para simularel valor de una variable aleatoria
con una de las dos funciones de masa de probabilidad (p}.j2 0} 0 (p20) ave
Gueremos simular el valor de la variable aleatoria X con foncién de masa
PIX=j) = ap} + (1 ayy, j20 43)
donde 0 < o.< 1. Una forma de simular esta variable aleatoria X es observar que siX;
{y X son variables aleatoris con funciones de masa respectivas (p}) y {pj}, entonces
la variable aleatoria X definida como
ya [Xi con probabiidad
X, con probabilidad 1 -
tendrd su funcién de masa dada por (4.3). Esto implica que para generar el valor de tal
variable aletoria primero generamos un némero aleatorio Vy luego un valor de X, si
U & pare alguna & < n,
Sea a = P{Y > 4] y suponga que se ha caleulado el valor de ct.
(a) Dé el método de transformada inversa para generar ¥.
(b) Dé otro método para generar ¥.
(©) @Para qué valores de cr, pequetios o grandes, serfa ineficiente el algoritmo
en (6)?
Dé un método de simulacign a partir de la funcién de masa de probabitidad p,
5.6... 14, donde
f011 cuando jes impar y $< j-<13
"10.09 cuando j es par y 6 0
donde K =F @) = 24R. Como esta variable alestoria esté conomtrad en el eje
Positivo y tiene media 4, ¢s natural intentar Ia técnica de rechazo con una variable
aleatoria exponencial con la misma media. Por lo tanto, sea
sts) x>0
Ahora,
$2) 3K pingein
ee) 2
Al derivar e igualar a cero la derivada resultante, obtenemos que el valor maximo de
‘este cociente se obtiene cuando
es decir tudo x= Prt tanto,
stax 2
3K ()"e"
a 212
Po pues k= VE
Brey
Como
LE ety
a(x) (a3)
‘vemos que una variable aleatoria gamma (j, 1) se puede generar como sigue:
Sec. 5.2 El método de rechazo @
PASO I: Generar un nimero aleatorio U, y hacer Y= ~(})log Uy.
PASO 2: Generar un nmero aleatorio Us.
PASO3: Si U; < (2eY/3)"e", hacer X= ¥. En caso contrari, regresar al paso 1
BI namero promedio de it
aciones necesarias es
=a) =
c=)" ~ 1297 :
Observacién Aunque la variable aleatoria gamma 1) tiene media 3, no es claro de
inmediato que deberiamos utilizar el rechazo con una exponencial que tenga la mis-
ma media, De hecho, suponga que hacemos
(2) = he
Entonces
fia) _ Kel
2) x
El valor maximo de este cociente se obtiene cuando
get?
‘bien, x= [2(1 ~2)]" [siempre que A-< 1; si 22 1, e8 fil ver que el cociene fx
‘(3) Loma valores aritariamente grandes) Por lo tanto, si tilizamos la éxponencial
‘con media 1”, entonces el adiero promedio de iteracionesnecesaras para el algoit-
c= Mix 42. =
80)
sf, la mejor eleccién de 2 es aquella que minimiza lo anterior 0, en forma equivalen-
te, que maximiza A(1 ~ 2)" El efleulo nos muestra de nuevo que este valor es tal que
Ba -ariret®
forma equivalente,
I-A=2 0 A=
Por lo tanto, la mejor exponencial que se puede utilizar en el método de rechazo pera
‘generar una variable aleatoria gamma (1) es la exponencial con media }, Ml70 Generacién de variables aleatorias continuas Cap. 5
[Nuestro siguiente ejemplo mucsira la forma de aplicar Ia técnica de rechazo para
generar variables aleatorias normale.
Ejemplo Sf Generacién de una variable sleatoria normal. Para generar una variable
aleatoria normal estindar Z (es decir, aquelia con media 0 y varianza 1), primero
‘observe que el valor absoluto de Z tiene la funcién de densidad de probabilidad
f= Geet cree 62)
Primero generamos a partir de la funcién de densidad anterior, valiéndonos del méto-
do de rechazo en el que g es Ia funcién de densidad exponencial con media I, es decir,
ae) O
0, consiste en generar de manera directa los tiempos de evento
Cconsecutivos. Asf, sean S, 5, -. 10s tiempos de eventos consecutivos de tal proceso,
Como es claro que estas variables aleatorias son dependientes, las generamos en se
rie, comenzando con S,, y luego tomarios ef vafor generado de S, para generar Sy
ast sucesivamente,80 GeneraciGn de variables aleatorias continuas Cap. 5
ara comenzar, observamos que si un evento ocurre en el instante 5, entonces,
independientemente de Jo ocurido antes de 5 e impo adiciona hasta el siguiente
evento tiene 1 dsuibucién F,, dada por
F(x) = P(empo desde shasta qu el siguiente eventos menor que x levento ens},
= P(siguiente evento esté antes de x + s|evento en 5)
Plevento ente sy s + xlevento en 5}
= Plevento entre sy 5 + x} por incrementos independientes
1 P(O eventos en (s,s +2))
1 00(-f"" x08)
inoof-[retne
) “n
‘Ahora podemos simular los tiempos de evento 5, S,-.. generando Sa parti dela
Aistribucién Fy; luego, si el valor simulado de Ses s,, generamos $; sumando 5, a un
valor generado a partir de la distribucion Fy; y si esta suma es 3, gencramos Sy
sumando s; 4 un valor generado a partir de'a distribucién Fy; y asf sucesivamente
Por supuesto, el método utilizado para simular a pattir de estas distibuciones depende-
riade su forma, En el siguiente ejemplo, es fécilinvertir las distribuciones F, de modo
‘que se puede aplicar el método de la transformada inversa,
Efemplo Sg Supongamos que Mi) = I(t + a), £2 0, para cierta constante positiva a.
Entonces
7 1 nesta
[rot na= [a i ssi 8)
Por lo tanto, de la ecucidn (58),
Fe) = x+st+a xtsta
Para invertir esto, suponemos que x= Fw), y entonces
“OHO Esta
0, en forma equivalente,
Ejereicios 81
Es decir,
Fri = (s+ a)
T-«
Por Io tanto, para generar los tiempos de evento sucesives 5, S;, . . . gemeramos
rnieros aleatorios Uj, Uy, y defini
5, 0 y A, la siguiente
subrutina genera el valor de T,
Una subrutina para generar T,
rasol: Searms.
74802: Generar U.
P4503: Sear=1— flog U
aso: Genetr U.
Pas0 5: Si US ACM, hacer T= Fy terminar.
aso 6: Teal paso 2.88 El método de simutacién por medio de eventos diseretos Cap. 6
ll 6.2 Sistema de linea de espera con un servidor
Considere una estacién de servicio a la cual los clientes Hegan de acuerdo con un proce-
0 Poisson no homogéneo con funcin de intensidad A(t), 42 0. Hay un Unico servidor,
yal llegar un cliente pasa a servicio si el servidor esté libre en ese momento, 0 bien se
lune a Ia fila de espera si esté ocupado. Cuando el servidor termina de dar servicio a un
cliente, se ocupa de cliente que ha estado esperando mas tempo (la disciplina “primero
en Hlegar, primero en atender”) si hay clientes esperando, o bien, sino los hay, permane-
ce libre hasta la llegada del siguiente cliente. FI tiempo que tarda la atencisn a un cliente
ces una variable aleatoris (independiente de los demés tiempos de servicio y del proceso
de ffegada) con distribucién de probabilidad G. Ademés, hay un tiempo fijo T después
Tn > 0
Restablecer: = fp
Restablecer. a =n —1
Restablecer: Np =Np +190 EE método de simulaci6n por medio de eventos diseretos Cap. 6 Sec. 6.3. Sistema de nea de espera con dos servidores en serie
Sim >0, generar Yy hacer ty =1+ ¥.
Reunir los datos de salida D(Np) = t
Caso 4 minty, fe) > Tm
Reunir los datos de salida T, = méx(t ~ T, 0).
Iustramos fo anterior en el diagrama de flujo de la figura 6.1. Cada vez que llegamos a
tuna caja “terminar” habremos obtenido los datos Ny, el nmero total de legadas, que
sera igual aN, el mero total de saidas. Para cada‘, i= 1,...NytenemosA(@)y D(?)las
horas de llegada y salids del cliente i, respectivamente [y asf D(@ — A(H) representa la
‘cantidad de tiempo que el cliente ha estado dentro de sistema]. Por ultimo, tenemos
1, et tiempo posterior a T en que sale el tltimo cliente, Cada vez que reunimos los
datos anteriores, decimos que ha concluido una ejecucién de la simulaci6n. Después de
cada ejecucisn, podemos reinicilizar y generar otra ejecucién hasta decidir que se
cuenta con los datos suficientes (en el capftulo 7 veremos cusndo terminar una simu-
lacién). El promedio de todos los valores de 7, generados de esta forma seré nuestra
cestimacién del tiempo promedio posterior a Ten que saldré el dltimo cliente; de manera
andloga, el promedio de todos los valores observados de D — A (es decir, el tiempo
promedio que un cliente pasa en el sistema, sobre todos los clientes observados en
ruestras ejecuciones de simulacién) ser nuestra estimacidn del tiempo promedio que ;
un clicte pasa ene sistema, é
Generar
pen
a
Observacién Si queremos ahorrar datos de salida con el mimero de clientes dentro
del sistema en cada instante de tiempo, s6lo se necesita Ia salida formada por el es-
tado del sistema y Ia variable de tiempo (n, 1) siempre que ocurra un evento. Por
ejemplo, i la Salida es (1, 4) y (©, 6), entonces, si n(t) es el nimero de clientes en el 7
sistema en el instante 1, sabriamos que a
n@)=0, si0sted
n=l, sidsr<6
nm) =0, si
+f Dip) 0
2+
No:
Figura 6.1
Generar ¥
sey
n>0
foYou might also like