Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..
Existen en la actualidad innumerables métodos para generar números aleatorios
En la literatura disponible se pueden En la literatura disponible se pueden encontrar gran cantidad de algoritmos.
encontrar gran cantidad de algoritmos.
2
Generación de números aleatorios
2con distribución uniforme
Generación de números aleatorios con distribución uniforme
Requisitos para un buen generador de números aleatorios con distribución uniforme:
*
*
La distribución de los números debe ser uniforme La distribución de los números debe ser uniforme en todo el intervalo
en todo el intervalo [ [ 0,1 0,1 ] ] . .
*
*
Los números deben ser independientes dentro de Los números deben ser independientes dentro de toda la serie generada.
toda la serie generada.
*
*
El ciclo del generador debe ser bastante grande. El ciclo del generador debe ser bastante grande.
Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..
§
§
L L a serie debe volverse a repetir. a serie debe volverse a repetir.
§
§
El generador debe ser rápido y usar poco espacio El generador debe ser rápido y usar poco espacio en la memoria.
en la memoria.
§
§
Los más usados pertenecen Los más usados pertenecen a los a los denominados denominados m
mé étodos de congruencia todos de congruencia
4 4
Si
Si r r
11, r , r
22, r , r
33, r , r
44, , ...son los n ...son los nú úmeros de la serie deseadas, meros de la serie deseadas, entonces la f
entonces la fó órmula (aditiva) de congruencia rmula (aditiva) de congruencia correspondiente es:
correspondiente es:
z
z
i+1i+1= ( = (A z A z
i i+ B + B) (mod C) ) (mod C) r
r
i+1 i+1= = z z
i+1i+1/C /C i = 0,1,2,3,
i = 0,1,2,3,... ...
Con
Con z z
00valor inicial(dado), y A, B, C son constantes valor inicial(dado), y A, B, C son constantes
Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..
Estos generadores en realidad no lo son, sin embargo las Estos generadores en realidad no lo son, sin embargo las
series pseudo
series pseudo- -aleatorias poseen ciclos bastante grandes aleatorias poseen ciclos bastante grandes y se aproximan satisfactoriamente.
y se aproximan satisfactoriamente.
Un algoritmo sencillo para generar números con Un algoritmo sencillo para generar números con
distribución uniforme en un intervalo
distribución uniforme en un intervalo [ [ a,b a,b ], ], es: es:
Multiplicar un número aleatorio
Multiplicar un número aleatorio R R (uniforme en (uniforme en [ [ 0,1 0,1 ] ] ) ) por
por (b (b- - a) a) y sumar el valor de y sumar el valor de a. a.
6 6
La siguiente función en Pascal lo realiza:
La siguiente función en Pascal lo realiza:
FUNCTION NUMALEAT(a,b:REAL):real;
FUNCTION NUMALEAT(a,b:REAL):real;
begin begin
numaleat := a + (b
numaleat := a + (b - - a) * random a) * random end;
end;
donde Random es una función sin parámetros que donde Random es una función sin parámetros que
devuelve un valor aleatorio en
devuelve un valor aleatorio en [ [ 0,1 0,1 ] ] ) )
Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..
Distribución exponencial Distribución exponencial
La función de densidad para variables con esta La función de densidad para variables con esta distribución, se puede expresar:
distribución, se puede expresar:
f(x) = A
f(x) = A Exp Exp ( (- -Ax Ax) )
y la función de distribución acumulativa es:
y la función de distribución acumulativa es:
F(x) = 1
F(x) = 1 - - Exp Exp ( (- -Ax Ax) donde A es una constante ) donde A es una constante denotada como
denotada como 1/ 1/ λλ λλ el valor esperado = el valor esperado = 1/A 1/A la Varianza = 1/(A la Varianza = 1/(A
22) )
8 8
f(x) f(x)
x x A
A
11A
A
22Ejemplo de función de Ejemplo de función de densidad para distribución densidad para distribución exponencial
exponencial
Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..
Distribución que tiene muchas aplicaciones en la Distribución que tiene muchas aplicaciones en la simulación de eventos aleatorios, usualmente los simulación de eventos aleatorios, usualmente los flujos de entrada y tiempos de servicio en modelos flujos de entrada y tiempos de servicio en modelos de sistemas de servicio masivo están relacionados de sistemas de servicio masivo están relacionados a la distribución exponencial.
a la distribución exponencial.
Ejemplo Ejemplo
10 10
Los tiempos de llegada son completamente independientes Los tiempos de llegada son completamente independientes
entre sí
entre sí y el intervalo de tiempo entre llegadas el intervalo de tiempo entre llegadas consecutivas tiene distribución exponencial.
consecutivas tiene distribución exponencial.
Este flujo se denomina flujo de tipo Poisson.
Este flujo se denomina flujo de tipo Poisson.
Una propiedad interesante del
Una propiedad interesante del flujo de Poisson flujo de Poisson es que es que cualquiera que sea el momento inicial de la observación cualquiera que sea el momento inicial de la observación el tiempo hasta la próxima llegada tiene
el tiempo hasta la próxima llegada tiene la misma la misma distribución
distribución, independiente del instante de llegada , independiente del instante de llegada anterior.
anterior.
Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..
Empleando un generador de números aleatorios con Empleando un generador de números aleatorios con
distribución uniforme en
distribución uniforme en [0,1], [0,1], se puede generar se puede generar números con distribución exponencial, por el números con distribución exponencial, por el método de transformación inversa:
método de transformación inversa:
FUNCTION EX(a:real):real;
FUNCTION EX(a:real):real;
begin begin
EX :=
EX := - -A*LN( A*LN(Random Random) ) end
end; ;
12 12
Distribución de Poisson Distribución de Poisson
Si consideramos una secuencia de eventos, y ellos son Si consideramos una secuencia de eventos, y ellos son independientes entre sí( ejemplo llegada de clientes a un independientes entre sí( ejemplo llegada de clientes a un servicio), que constituyen un flujo de Poisson, entonces servicio), que constituyen un flujo de Poisson, entonces el intervalo de tiempo entre la ocurrencia de los eventos el intervalo de tiempo entre la ocurrencia de los eventos tiene distribución exponencial, sí calculamos la
tiene distribución exponencial, sí calculamos la probabilidad
probabilidad P P de ocurrencia de de ocurrencia de x x eventos dentro de un eventos dentro de un intervalo
intervalo T T P =
P = Exp Exp( (- -T/A)(T/A) T/A)(T/A)
x x/ x! f(x) = / x! f(x) = Exp Exp( (- -1/A)(1/A) 1/A)(1/A)
x x/ x! / x!
en intervalo T=1
en intervalo T=1
Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..
El valor de una variable aleatoria con
El valor de una variable aleatoria con distribución distribución de Poisson
de Poisson es, por definición, el número de es, por definición, el número de ocurrencias de un evento descrito con el
ocurrencias de un evento descrito con el flujo de flujo de Poisson
Poisson, dentro de un intervalo de tiempo , dentro de un intervalo de tiempo T. T.
Para generar estos números, es posible simular dicho Para generar estos números, es posible simular dicho proceso de ocurrencia o llegadas, Así encontramos proceso de ocurrencia o llegadas, Así encontramos que el número deseado N tiene que cumplir con:
que el número deseado N tiene que cumplir con:
14 14
∑
∑ +
=
≤
≤
=
1
1 T
1
N
i
i i
N
i
v v
La siguiente desigualdad La siguiente desigualdad donde
donde v v
iitiene distribución exponencial tiene distribución exponencial
Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..
Para generar
Para generar v v
iise puede usar un generador de se puede usar un generador de variables
variables r r
i icon distribución uniforme en con distribución uniforme en [0,1] [0,1]
y calcular y calcular
v
v
ii= = - -A ln A ln r r
i isimplificando la desigualdad simplificando la desigualdad anterior se convierte en:
anterior se convierte en:
∏ ∏
=
+
=
≥
≥ N
i
N
i
i
i r
r
1
1
1 (-T/A)
Exp
16 16
Función para generar los valores de Función para generar los valores de N. N.
FUNCTION Poisson(A:Real):
FUNCTION Poisson(A:Real):integer integer; ;
VAR Y, V : Real; N :
VAR Y, V : Real; N : IntegerInteger;; Begin
Begin
Y := 1.0; V :=
Y := 1.0; V := Exp Exp( (- -1.0/A); N := 0; 1.0/A); N := 0;
While
While Y >= V Do Y >= V Do begin begin Y := Y *
Y := Y * Random Random; N := N + 1; ; N := N + 1; end end; ; Poisson := N
Poisson := N
End End;;
Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..
Distribución que es la suma de un número de Distribución que es la suma de un número de
variables aleatorias independientes que poseen la variables aleatorias independientes que poseen la misma distribución exponencial.
misma distribución exponencial.
x x F(x)
F(x)
18 18
Se aplica en modelos de sistemas de servicio masivo, Se aplica en modelos de sistemas de servicio masivo,
ejemplo: En situaciones donde el servicio tiene ejemplo: En situaciones donde el servicio tiene que realizar dos operaciones c/u con tiempo de que realizar dos operaciones c/u con tiempo de servicio exponencial.
servicio exponencial.
Un generador de valores aleatorios con distribución Un generador de valores aleatorios con distribución
de
de Erlang Erlang, para el caso de la suma de N variables , para el caso de la suma de N variables puede ser:
puede ser:
Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..
FUNCTION
FUNCTION Erlang Erlang (N: (N:I Integer nteger; A: ; A:R Real eal): ):Real Real; ; VAR
VAR K : K : Integer Integer; S : ; S : Real Real; ; Begin
Begin S:= 0.0;
S:= 0.0;
FOR
FOR K:= 1 K:= 1 to to N N DO DO S:=S +
S:=S + Exp Exp(A); (A);
Erlang Erlang := S := S End
End; ; [ valor esperado [ valor esperado 1/A 1/A] ]
20 20
Distribución Normal Distribución Normal
Es una de las más importantes distribuciones de Es una de las más importantes distribuciones de probabilidad.
probabilidad.
El teorema del límite dice:
El teorema del límite dice:La distribución de la suma de La distribución de la suma de unas variables aleatorias independientes tiende a la unas variables aleatorias independientes tiende a la distribución normal si el número de las variables tiende distribución normal si el número de las variables tiende a infinito. (Cualquiera sea la distribución de c/u de a infinito. (Cualquiera sea la distribución de c/u de dichas variables)
dichas variables)
Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..
( ) ( ( ) )
[ ]
π 2 S
- - - - - - - f(x)
1
S V - x 1/2
- /
2=
Donde S es el valor esperado y V
Donde S es el valor esperado y V
22Varianza Varianza
22 22
Función de densidad Función de densidad
f(x) f(x)
x
x
Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..
Distribución Gamma Distribución Gamma
Generalización de la distribución de
Generalización de la distribución de Erlang Erlang, en , en donde el número de las variables a sumar (con donde el número de las variables a sumar (con distribución exponencial ya no es un entero) distribución exponencial ya no es un entero) La función de densidad para esta distribución, La función de densidad para esta distribución,
puede tener una variedad de formas según sus puede tener una variedad de formas según sus parámetros.
parámetros.
24 24
Distribución Empírica Distribución Empírica
A menudo la distribución de una variable del modelo, A menudo la distribución de una variable del modelo,
no puede calificarse como ninguna de las no puede calificarse como ninguna de las distribuciones conocidas, y no es posible de distribuciones conocidas, y no es posible de representar por ninguna expresión determinada.
representar por ninguna expresión determinada.
La única información que se dispone sobre la variable La única información que se dispone sobre la variable
son los valores de un número de sus realizaciones.
son los valores de un número de sus realizaciones.
Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..
Por ejemplo: En un servicio se registraron los tiempos Por ejemplo: En un servicio se registraron los tiempos de servicio durante un intervalo de tiempo muy largo.
de servicio durante un intervalo de tiempo muy largo.
Observaciones: Tiempo de servicio Observaciones: Tiempo de servicio
x
x
1 1menor de 5 menor de 5 minutos minutos x
x
2 2entre 5 y 10 minutos entre 5 y 10 minutos x
x
3 3entre 10 y 15 minutos, etc.... entre 10 y 15 minutos, etc....
Al primer intervalo se asigna su valor promedio
Al primer intervalo se asigna su valor promedio y y
1 1= 2.5 = 2.5
26 26
Al segundo intervalo(su valor promedio)
Al segundo intervalo(su valor promedio) y y
2 2= 7.5 = 7.5 Al tercer intervalo (su valor promedio)
Al tercer intervalo (su valor promedio) y y
3 3= 12.5 etc. = 12.5 etc.
Así los resultados de las observaciones forman dos Así los resultados de las observaciones forman dos
arreglos arreglos X = (x
X = (x
1 1, , x x
2 2, ... , ... x x
nn) ) Y = (y Y = (y
1 1, , y y
2 2,.... ,.... y y
nn) ) n =
n = número de intervalos posibles. número de intervalos posibles.
Para hallar la función de densidad (tiempos de servicio) se Para hallar la función de densidad (tiempos de servicio) se
debe normalizar el arreglo
debe normalizar el arreglo X X (cada componente se divide (cada componente se divide por la
por la ΣΣ ΣΣ de los de los x x) )
Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..
La serie normalizada
La serie normalizada X X, tratada como la función , tratada como la función de tiempo de servicio, es una aproximación de la de tiempo de servicio, es una aproximación de la función de densidad para el tiempo de servicio, función de densidad para el tiempo de servicio, moderado con el incremento 5 minutos.
moderado con el incremento 5 minutos.
Luego determinar la función acumulativa Luego determinar la función acumulativa F(T), F(T),
sumando los valores de sumando los valores de f(T). f(T).
Ver figura 3 Ver figura 3
28 28
Función densidad y función acumulativa (distrib. Empírica Función densidad y función acumulativa (distrib. Empírica) )
f(x) f(x)
x x
F(X) F(X)
1.0 1.0
X
Figura Nº 3
X
Escuela de Ingeniería de Transporte Simulación Juan Sán Escuela de Ingeniería de Transporte Simulación Juan Sánchez Rchez R..
La generación de los valores de tiempo de servicio T, La generación de los valores de tiempo de servicio T,
aplicaremos el
aplicaremos el método de transformación inversa. método de transformación inversa.
La función proporciona las realizaciones de la variable La función proporciona las realizaciones de la variable
aleatoria
aleatoria T T con la función acumulativa con la función acumulativa F F, dada por , dada por el arreglo
el arreglo H. H.
30 30
Function
Function Simple(N:
Simple(N:IntegerInteger; ; H,Y:H,Y:TablaTabla):):RealReal;; VARVAR
J:
J:IntegerInteger; ; S, SS, S11:
:RealReal;;B :
B :BooleanBoolean;;BEGIN
BEGIN
B:=
B:= TrueTrue; S:= ; S:= RandomRandom; S; S11
:= Y[N
:= Y[N]; J:= 1; ]; J:= 1;
While
While
B
B ANDAND(J<M)
(J<M) Do DoBegin
Begin IFIF
H[J] >= S
H[J] >= S ThenThenBegin
BeginS
S11
:= Y[K]; K := K +1;
:= Y[K]; K := K +1;B :=
B := False False EndEnd;;
Simple := S
Simple := S11
End
EndEND;
END;