Professional Documents
Culture Documents
1. Ejemplo e introduccin a la simulacin 2. Ventajas e inconvenientes de la simulacin 3. Tipos de sistemas y simulaciones 4. Elementos de la simulacin por eventos discretos 5. Simulacin por incremento de tiempo fijo y por eventos 6. Estructura y traza de un modelo de simulacin 7. Generacin de muestras uniformes 8. Generacin de nmeros pseudoaleatorios 9. Generacin de distribuciones discretas y continuas
SIMULACIN
Ejemplo
Se desea construir una carretera y para ello se ha de hacer un tnel a travs de una montaa. Existen dos puntos posibles donde hacer el tnel, correspondientes a dos montaas distintas M1 y M2 cercanas. Supongamos que se tiene que decidir si hacerlo en un punto o en otro. Mediante estudios preliminares se sabe que en el punto M1 la longitud del tnel habra de ser L1, y en la montaa M2, L2. En la primera de ellas, por las caractersticas del terreno, se perforara a razn de x1 unidades por jornada de trabajo, mientras que en la otra montaa sera a razn de x2 unidades. La empresa debe recibir una maquinaria nueva con una probabilidad 0.71. La probabilidad de que la nueva maquinaria se avere en M1 es 0.14 y en M2 es 0.16. Para la maquinaria vieja estas probabilidades son, respectivamente, 0.28 y 0.19. Las averas pueden ser de dos tipos: graves con probabilidad 0.35 y 4 jornadas de trabajo de reparacin o leves con 1 jornada de trabajo de reparacin. Dnde se debe perforar el tnel para tardar lo menos posible en la construccin de la carretera?
SIMULACIN
Perforacin M1
0.71 SI p=0.14
0.29 NO p=0.28
Avera
1-p NO
Tipo avera
DA=4
DA=1
DA=0
DT=L1/x1+DA
SIMULACIN
Modelo de simulacin
1. Se definen los parmetros aleatorios (llegada de nueva maquinaria, avera, gravedad de la avera) 2. Se simulan o muestrean los parmetros aleatorios 3. Se recopilan los resultados 4. Se detiene el proceso de muestreo
SIMULACIN
Introduccin
Sistema: Elementos (componentes) cuyo comportamiento se representa en trminos de variables para cada estado posible Relaciones (reglas de operacin lgicas) entre elementos Simulacin: Proceso de diseo de un modelo estocstico de un sistema real y realizacin de experimentos para reproducir su funcionamiento (muestreo estocstico de un modelo) Objetivo: Modelado y simulacin de sistemas estocsticos donde los eventos que ocurren en el sistema se generan mediante distribuciones de probabilidad
SIMULACIN
SIMULACIN
Inconvenientes de la simulacin
Incluso la construccin del modelo puede ser compleja y costosa (aunque esto siempre ocurre en el desarrollo de cualquier modelo; por ejemplo se pueden olvidar relaciones entre los elementos del sistema a modelar) Dificultad de establecer la precisin de los resultados, pues los resultados son muestras y se deben utilizar tcnicas estadsticas
SIMULACIN
Tipos de sistemas
1. CONTINUOS Las variables de estado cambian de forma continua con el tiempo. Por ejemplo, el movimiento de un tren por una va, en donde las variables de estado son la posicin, la velocidad y la aceleracin
2. DISCRETOS Las variables de estado cambian en ciertos instantes de tiempo. Por ejemplo, un sistema de atencin a clientes atendido por un solo servidor, la variable de estado es el nmero de clientes que hay en el centro de servicio.
SIMULACIN
Tipos de simulacin
Segn la evolucin del tiempo - Estticos: representan un sistema en un instante particular. A menudo se denomina simulacin de Monte Carlo. - Dinmicos: representan un sistema que evoluciona con el tiempo. Segn la aleatoriedad - Deterministas: no incluyen variables aleatorias. Dados unos datos de entrada, existe un nico conjunto posible de datos de salida. - Probabilistas o estocsticos: contienen variables aleatorias, siendo las salidas tambin aleatorias (estimaciones de las verdaderas caractersticas). Segn las variables de estado - Continuos: si todas las variables de estado cambian de forma contina con el tiempo. - Discretos: si todas las variables de estado cambian en determinados instantes de tiempo. - Hbridos o combinados: si incluyen variables de estado continuas y discretas. Nos centraremos en los modelos de simulacin dinmicos, estocsticos y discretos, denominados modelos de simulacin de eventos discretos.
SIMULACIN
SIMULACIN
10
3. RELOJ DE SIMULACIN Mide el tiempo simulado para el sistema. Mecanismos de avance: INCREMENTO DE TIEMPO FIJO (time step) Se avanza un intervalo fijo (pequeo) de tiempo y se actualiza el estado del sistema (se comprueba si ha ocurrido algn evento en el sistema). Se considera que los eventos ocurren al final del intervalo. Problemas asociados a simultaneidad de eventos (ver transparencia 14 cuando Pe = Ps ). INCREMENTO POR EVENTO (event step) Se avanza el tiempo hasta el prximo evento y se actualiza el estado del sistema. Se genera el intervalo de tiempo hasta el prximo evento. En todos los intervalos hay un evento luego ms eficiente que incremento por tiempo fijo (en donde si el incremento del tiempo es pequeo, puede no haber ningn evento).
SIMULACIN
11
4. LISTA DE EVENTOS Necesaria para saber cules son los eventos futuros que se deben incluir en la actualizacin del sistema (ya sea con incremento de tiempo fijo o por evento) y en qu instantes se van a dar, al menos los ms inmediatos 5. CONTADORES ESTADSTICOS Variables utilizadas para almacenar informacin sobre el comportamiento del sistema y que al final, mediante algn clculo matemtico, darn respuesta al objetivo del estudio.
SIMULACIN
12
t tiempo del sistema N(t) estado del sistema (nmero de clientes en el sistema = clientes en cola + clientes en servicio)
Eventos: llegada de un cliente, final del servicio a un cliente Transicin entre estados N(t) = N(t) + 1 llega un cliente al sistema en el tiempo t sale un cliente del sistema en el tiempo t N(t) = N(t) 1 Estado inicial: ningn cliente en el sistema
SIMULACIN
13
Si T es una exponencial() que mide el tiempo de salidas, la probabilidad de salida en t Ps = P {T t + t | T > t} = 1 e t = 1 e 0.5 = 0.39
Estas probabilidades permiten determinar qu evento ocurre en cada intervalo [t,t+t]: Generador de evento generador nmero aleatorio uniformemente distribuido U[0,1]
SIMULACIN 14
U 0.26 U 0.39
Ntese que para que no haya simultaneidad de eventos es necesario Pe Ps . En el caso en que aun siendo Pe Ps se produzca una llegada y una salida en [t,t+t], se puede proceder: Obviando cada caso con simultaneidad de eventos (se vuelve a generar U[0,1]). Dado que la probabilidad Pe Ps de que se produzca simultaneidad tiende a 0 con t mucho ms rpidamente que Pe o Ps , decrementando t. El problema es que si se decrementa en exceso pudiera no ocurrir nada en [t,t+t] (dado que Pe y Ps pequeos).
SIMULACIN
15
Resultados de la simulacin
Se van calculando para cada instante discreto las medidas del sistema (por ejemplo en un modelo de colas las medidas de eficiencia: clientes en cola, clientes en servicio, etc.)
SIMULACIN
16
SIMULACIN
17
Rutina inicializacin
Determinar tipo prximo evento i 1 Llamar rutina tiempo Programa principal Avanzar reloj de simulacin Rutina tiempo Actualizar estado 2 Llamar rutina evento Actualizar contadores Generar futuros eventos y actualizar lista de eventos Rutina evento i Fin de simulacin? SI Generador resultados Clculos finales (estimaciones) Imprimir informe
Regla de parada
NO
SIMULACIN
18
SIMULACIN
19
SIMULACIN
20
SIMULACIN
21
SIMULACIN
22
Datos de tiempo entre llegadas DL: 3, 2, 5, 1, 2, 6, 6, 2, 8 Datos de tiempo de servicio DS: 4, 1, 3, 1, 3, 2, 3, 5 Tiempo de simulacin T= 35 N evento Reloj Simulacin Tipo evento 0 0 Inicio 1 3 Llegada 2 5 Llegada 3 7 Servicio 4 8 Servicio 5 10 Llegada 6 11 Llegada 7 13 Llegada 8 14 Servicio 9 15 Servicio 10 18 Servicio 11 19 Llegada 12 21 Servicio 13 25 Llegada
SIMULACIN
N 0 1 2 1 0 1 2 3 2 1 0 1 0 1
TL 3 5 10 10 10 11 13 19 19 19 19 25 25 27
TS 7 7 8 14 14 14 15 18 21 28
SUMA 0 0+03=0 0+12=2 2+22=6 6+11=7 7+0=7 7+11=8 8+22=12 12+31=15 15+21=17 17+31=20 20+0=20 20+12=22 22+0=22
23
14 15 16 17
27 28 33 35
SIMULACIN
24
7 8
10 11
13 14 15
18
Si el tiempo mximo de simulacin hubiera sido T= 18 [ N ] = 20 = 1.11 Nmero medio de clientes en el sistema: E 18 El tiempo de simulacin influye en los resultados.
SIMULACIN
25
SIMULACIN
26
Variables de estado: 1 componente en funcionamiento xi 0 componente en reparacin 1 sistema en funcionamiento ES estado del sistema 0 sistema en fallo Variables principales: TM tiempo del reloj de simulacin TFi muestra de la distribucin de tiempo entre fallos del componente i TRi muestra de la distribucin de tiempo de reparacin del componente i Variables auxiliares: TPi instante en el que se produce el siguiente evento del componente i TPS tiempo (no instante) total de parada del sistema TI instante de la ltima parada del sistema
SIMULACIN
27
Proceso de simulacin
1. Inicializacin de variables TM = 0 TPS = 0 2. Definir estado inicial xi = 1 todos los componentes estn disponibles ES = 1 el sistema est disponible 3. Generar muestra de distribucin de tiempo entre fallos TFi 4. TPi = TFi 5. Rutina de tiempo: Determinar mnimo de TPi (cundo), el componente al que afecta (a quin), y el evento de fallo o reparacin (qu) Actualizar el tiempo de simulacin TM = TPi Dependiendo de la respuesta a qui y a qu (la respuesta a qu se deduce del valor que tenga xi ) vamos al paso 6 o al 7.
SIMULACIN
28
6. Rutina de evento de fallo del componente i: En caso de fallo del componente i xi = 0 Y estar fallados el resto de componentes se declara indisponible el sistema ES = 0 y TI=TM Generar muestra de distribucin de tiempo de reparacin TRi TPi = TPi + TRi 7. Rutina de evento de fin de reparacin del componente i: En caso de reparacin del componente i xi = 1 Si el sistema estaba indisponible (ES = 0) se contabiliza el tiempo de parada del sistema TPS = TPS + (TM-TI) y se declara disponible el sistema ES = 1 Generar muestra de distribucin de tiempo entre fallos TFi TPi = TPi + TFi 8. Comprobar que TM < T. En caso contrario ir a 10 9. Continuar la simulacin. Ir a 5 10. Final. ndice de disponibilidad = 1-TPS / TM
SIMULACIN
29
SIMULACIN
30
Los generadores tienen que cumplir propiedades estadsticas (caracterstica 2): uniformidad e independencia de las secuencias. Para ello se han generado distintas secuencias y se les ha hecho pasar contrastes de bondad de ajuste para la uniformidad y la independencia.
SIMULACIN
31
Mtodo de los cuadrados medios Se toma un nmero al azar, x , de 2n cifras. Se eleva al cuadrado y se toman de este resultado las 2n cifras centrales siendo el nuevo nmero x1 a partir del cual se repite el proceso. Ejemplo: x =4122 x =16|9908|84 x =9908 x =98|1684|64 x =1684 x =2|8358|56
0
2 0
2 1
2 2
La secuencia 4122, 9908, 1684, ... puede ser considerada, al menos a partir de un cierto intervalo, como una secuencia de nmeros pseudoaleatorios. Cada nmero puede considerarse los decimales de un nmero uniforme (0,1). El principal problema de este mtodo es que los nmeros pueden repetirse a partir de una secuencia muy corta. Por ejemplo, si x = 3708 se tiene que x = 6100 = x , lo cual no es controlable (no cumple con la caracterstica 6).
0 4 8
SIMULACIN
32
Mtodo de Lehmer Sea x un nmero al azar de n cifras. Se multiplica por otro k (fijo del generador) de k cifras, dando lugar a uno de n + k . Se quitan las k cifras de la izquierda, obteniendo uno de n cifras al que se resta el de k cifras que se haba separado siendo el nuevo nmero x1 a partir del cual se repite el proceso. Ejemplo: x =4122 k =76 4122 76=31|3272 3272-31=3241 x =3241 k =76 3241 76=24|6316 6316-24=6292
0
Cada nmero puede considerarse los decimales de un nmero uniforme (0,1). Este mtodo acaba degenerando a 0 (no cumple con la caracterstica 2).
SIMULACIN
33
Mtodo congruencial mixto Obtiene una secuencia de nmeros pseudoaleatorios en el conjunto {0,K, m 1} calculados a
partir del anterior. xk +1 = ( axk + b) mod m x0 semilla conocida m longitud del ciclo
Si b = 0 el mtodo se denomina congruencial multiplicativo Sean x, y, m . Se dice que x es congruente con y en mdulo m si y slo si x e y dan el mismo resto al dividir por m . Se representa por x y . Ejemplo: m = 9 , a = 5 , b = 1, x0 = 1 Secuencia generada: 6, 4, 3, 7, 0, 1
y1 = 5 1 + 1 = 6 y2 = 5 6 + 1 = 31
y3 = 5 4 + 1 = 21 y 4 = 5 3 + 1 = 16 y5 = 5 7 + 1 = 36 y6 = 5 0 + 1 = 1
(m)
x1 = 6
x2 = 4 x3 = 3 x4 = 7 x5 = 0 x6 = 1 = x0
SIMULACIN
34
Respecto al ciclo no repetitivo (caracterstica 6) en el mismo ejemplo se puede ver que es muy corto. De hecho, la mxima longitud que se puede lograr sin repetir es de m , ya que es la mayor cantidad de nmeros diferentes que se puede obtener y una vez que se obtiene un nmero repetido toda la secuencia se repite. Para seguir generando nmeros aleatorios sin ciclos se puede modificar el valor de a y b en el momento de la repeticin. Se puede afirmar que los dos generadores multiplicativos con m = 2 1 y multiplicador a = 16807 o bien a = 63036016 generan valores con la propiedad de la uniformidad y la independencia y con ciclo no repetitivo maximal (el ciclo con mayor nmero de elementos9: El primero es ms rpido y tiene menor riesgo de desbordamiento de memoria. El segundo tiene mejores propiedades estadsticas.
31
Muestras uniformes en el intervalo (0,1) se obtienen con el cociente de dividir cada nmero
k generado por el mdulo m ( uk = m
n ).
SIMULACIN
35
p1
p1+p2 p1+p2+p3 1
p
k
=1
u U (0,1)
X = xi
si
p
k =1
i 1
u < pk
k =1
Fx ( xi 1 ) u < Fx ( xi )
SIMULACIN
36
0 1 X = 2 3
con prob p1 = 0.1 con prob p2 = 0.2 con prob p3 = 0.5 con prob p4 = 0.2
SIMULACIN
37
Mtodo de la distribucin binomial (n, p) Se basa en la propiedad segn la cual la distribucin de la suma de v.a.i.i.d. con distribucin de Bernoulli de parmetro p es Binomial (n, p) . Luego, para generar valores de una variable con distribucin Binomial (n, p) , se pueden generar n Bernoulli de parmetro p y sumarlas. Algoritmo:
SIMULACIN
38
Mtodo de la distribucin Geomtrica (p) La distribucin geomtrica corresponde al nmero de ensayo en que aparece el primer xito al repetir un experimento de Bernoulli de parmetro p . As que para generar valores con esa distribucin es posible hacerlo con el mtodo tradicional o aprovechando esta propiedad. Con el mtodo tradicional, basta aplicarlo con su funcin de distribucin [ F (x ) = 1 (1 p)x x = 1, 2,... ] para ver que la expresin sera:
ln(1 u ) d = 1 + ln(u ) x =1+ ln(1 p) ln(1 p)
Utilizando la propiedad que la relaciona con los experimentos de Bernoulli el algoritmo sera: 1. x 0 2. Hacer hasta que u p
x x +1
Generar u U (0,1) 3. Salida: X se distribuye segn Geomtrica (p) Este mtodo es bueno cuando el valor de p es grande (en caso contrario poca eficiencia dado que se alargara en exceso el proceso hasta llegar al xito).
SIMULACIN 39
1.
F(x
Procedimiento: 1. Generar nmero aleatorio uniforme entre 0 y 1, r r 2. F ( x ) = r se determina x Se puede aplicar a la uniforme, exponencial, Weibull Ejemplo: Distribucin exponencial 0 x F ( x ) = 1 e x x0 1 media de la distribucin ln(1 r ) x= F ( x) = r . Dado que la suma de k (k entero) exponenciales
1 x = es Gamma (o Erlang) de parmetro k para su generacin basta
i =1,..,k
ln(1 r )
i
0 x 1 x f ( x ) = 1 ( x 1) 1 x 2 0 fuera de [0,2]
Procedimiento: 1. Generar r1 = U (0,1) y r2 = U (0,1) 2. x = 2 r1 y = r2 3. Aceptar x si y f ( x) , rechazar si y > f ( x) y volver a paso 1 El rectngulo puede tener altura c igual a Max { f ( x ) : x ( a1 , a2 )} (en el ejemplo c=1) o puede ser mayor o igual que dicho valor. Inconveniente: Es necesario encontrar un rectngulo envolvente (no es posible para distribuciones con soporte no acotado como la normal)
SIMULACIN 41
En general para cualquier funcin f ( x) con soporte en (a1,a2) el procedimiento sera: 1. Generar r1 = U (0,1) y r2 = U (0,1) 2. x = a1 + ( a2 a1 ) r1 y = cr2 3. Aceptar x si y f ( x) , rechazar si y > f ( x) y volver a paso 1 Siendo c Max { f ( x ) : x ( a1 , a2 )}
SIMULACIN
42
El soporte de la funcin de densidad f(x) puede ser no acotado. Se considera una funcin (envolvente) g(.) tal que multiplicada por una constante a>1 de valores superiores o iguales a los de f(.) en cada punto. Procedimiento: 1. Se genera un valor para x a partir de g(.) 2. Se genera un valor para y a partir de una U(0, a g(x)) 3. Se calcula el valor de f(x) y si y > f(x) se vuelve a 1. 4. Si y <f(x) se considera que x se distribuye segn f(x).
SIMULACIN
43
ag(x)
f(x)
g(x) multiplicada por a>1
y(0,ag(x))
g(x)
x xg
a2
Ntese que este mtodo generaliza al simple de aceptacin-rechazo para funciones de densidad f(x) acotadas (por ejemplo con soporte (a1,a2)) sin ms que hacer g(x)=1/(a2-a1) (es f ( x) : x ( a1 , a2 ) , es decir: decir, gU(a1,a2)) y escogiendo a tal que a Max g ( x)
a ( a2 a1 ) Max { f ( x ) : x ( a1 , a2 )} ( luego c = a / ( a2 a1 ) )
Inconveniente: para cada distribucin hay que determinar una envolvente apropiada y esto no es nada fcil (ver un ejemplo para la normal en apuntes de la asignatura).
SIMULACIN 44
Mtodo de la distribucin normal No permite aplicar el mtodo de la transformada inversa porque la funcin de distribucin de una normal no tiene expresin analtica exacta (aunque existen aproximaciones analticas).
n i =1
X i n
N (0,1) cuando
U
i =1
n 12
SIMULACIN
45
Mtodo del Box-Mller Este mtodo se basa en una transformacin de variables aleatorias segn la cual si u1 , u2 son v.a.i.i.d., entonces x = 2 ln u1 cos(2 u2 ) e y = 2 ln u1 sen(2 u2 ) son v.a.i.i.d. con distribucin N (0,1) . As el procedimiento a seguir sera: 1. Generar u1 , u2 U (0,1) 2. Salida x = 2 ln u1 cos(2 u2 ) o bien y = 2 ln u1 sen(2 u2 ) son v.a.i.i.d. N (0,1)
SIMULACIN
46