Vous êtes sur la page 1sur 86

1

Simulacin de Sistemas
CO-4311 - Estadstica para
la Calidad, Productividad y
Simulacin
2
Componentes de un modelo
Las variables del sistema, las cuales se
clasifican en variables de entrada
(independientes o explicativas) y variables
de salida (dependientes o de respuesta).
Las relaciones entre las variables, las
cuales pueden venir dadas por ecuaciones
diferenciales (funciones de transferencia),
por estructuras lgicas, etc.
3
Clases de modelos
Modelos Determinsticos.

Modelos Estocsticos
Dado que en la mayor parte de los sistemas existe
incertidumbre, los modelos estocsticos son en
general ms apropiados. Sin embargo, son
tambin ms complejos y requieren de mayor
informacin para su implmentacin.
4
Por qu simular?
Calcular las distribuciones de las variables
de salida puede ser complicado o incluso
imposible, incluso para distribuciones
sencillas.
Aun cuando sea posible determinar las
distribuciones, hallar estadsticos
relacionados con ellas puede ser difcil.
5
Generacin de nmeros
aleatorios uniformes
Antiguamente se utilizaban tablas de
nmeros uniformes.
Actualmente se utilizan algoritmos
computacionales.
Se trata de nmeros pseudoaleatorios, ya
que se genera una sucesin de nmeros que
pasa todas las pruebas de aleatoriedad.
En realidad se genera una distribucin
discreta que aproxima a la verdadera.
6
Generadores Congruneciales
Lineales
m
X
U
m c aX X
n
n
n n
1
1
1
mod ) (
+
+
+
=
+ =
Por mucho, los ms exitosos generadores de
nmeros aleatorios que se conocen hoy en da
son casos particulares de la recursin
De los valores de a, c, m y X
0
dependen las
propiedades del generador.
7
Propiedades de los GCL
La secuencia generada por un GCL es
cclica. El nmero de elementos distintos
en la sucesin se le denomina perodo.
En general se desea que el periodo sea
grande.
El mximo perodo posible para un GCL es
m. Puede decir por qu?

8
Propiedades de los GCL
(cont)
Teorema 1.- Un GCL tiene perodo mximo
m si y solo si:
c es un primo relativo de m;
b = a - 1 es un mltiplo de p para todo primo p
que sea divisor de m;
b es un mltiplo de 4 si m es un mltiplo de 4.
Adicionalmente, el valor de a deber ser
grande de modo que las primeras cifras
significativas luzcan aleatorias.
9
Por ejemplo, el generador de Ripley (1987)
toma la forma:




Verifique que este generador tiene perodo
mximo.
Propiedades de los GCL
(cont)
1
32
1
32
1
0
2
2 mod ) 1 69069 (
Aleatoria Semilla :
+

+
+
=
+ =
n n
n n
X U
X X
X
10
Propiedades de los GCL
(cont)
La potencia de un GCL con perodo
mximo esta definida como el menor
entero s tal que b
s
mod m = 0.
Esta propiedad est relacionada con la
dependencia entre nmeros consecutivos
del generador, y por lo tanto, es una
medida de la aletoriedad del mismo.
En general, se requiere que s > 4. Cul
es la potencia del generador de Ripley?
11
Propiedades de los GCL
(cont)
Para a = 85086, c = 3, m = 425425 (con lo
cual s = 3) al graficar 500 pares ordenados
de nmeros consecutivos se obtiene
0.00.20.40.60.81.0
0 . 0
0 . 2
0 . 4
0 . 6
0 . 8
1 . 0
12
Generacin de variables
aleatorias no uniformes
Todas las tcnicas se basan en generadores
uniformes, y por tanto comparten las
caractersticas de estos.
El principal mtodo de generacin que
estudiares es el mtodo de inversin.
Tambin estudiaremos algunas tcnicas
basadas en transformaciones.
13
Teorema 2.- Sea F una distribucon
contnua en R con inversa F
-1
definida por


Si U~Uni(0,1) entonces F
-1
(U) tiene
distribucin F. Adems, si X tiene
distribucin F, entonces F(X) es uniforme
en (0,1).
El mtodo de inversin
{ } 1 0 , ) ( : inf ) (
1
< < > =

u u x F x u F
14
El mtodo de inversin (cont)
La prueba de este teorema se basa en el
clculo de una funcin de una variable
aleatoria.
Aadir el nfimo y la desigualda en la
definicin de la inversa son necesarios
para eliminar ambigedades que se
presentan cuando ciertos intervalos tienen
probabilidad 0 (por ejemplo, en
distribuciones discretas).
15
El mtodo de inversin
(cont)
X
D e n s i d a d
0 1 2 3
0 . 0
0 . 1
0 . 2
0 . 3
0 . 4
0 . 5
0 . 6
X
D i s t r i b u c i o n
0 1 2 3
0 . 0
0 . 2
0 . 4
0 . 6
0 . 8
1 . 0
Densidad Distribucin
Por qu el nfimo?
16
El mtodo de inversin
(cont)
Densidad Distribucin
X
P r o b a b i l i d a d a c u m u l a d a
-1.0 -0.5 0.00.51.01.52.0
0 . 0
0 . 2
0 . 4
0 . 6
0 . 8
1 . 0
X
M a s a d e P r o b a b i l i d a d
-1.0 -0.5 0.00.51.01.52.0
0 . 0
0 . 2
0 . 4
0 . 6
0 . 8
1 . 0
Por qu la desigualdad?
17
Inversin para distribuciones
crecientes
Si la distribucin es estrictamente
creciente entonces no existen
ambigedades en la definicin de F
-1
(U),
lo que simplifica el algortmo a
simplemente evaluar un nmero aleatorio
U~Uni(0,1) en esta funcin.
18
Inversin para distribuciones
crecientes (cont)
Ejemplo 1.- La distribucin exponencial
La densidad exponencial viene dada por


y por tanto su distribucn es

0 exp
1
) ( >
)
`

= x
x
x f
0 exp 1 ) ( ) ( >
)
`

= =
}

x
x
dt t f x F
x
19
Inversin para distribuciones
crecientes (cont)
As pues si U~Uni(0,1) entonces


Esto permite generar nmeros que siguen
una distribucin exponencial, si se
dispone de nmero que siguen una
distribucin uniforme en (0,1).
) 1 ln( ) (
1
U U F X = =

20
Inversin para distribuciones
crecientes (cont)
i Ui Xi i Ui Xi
1 0.7900591 3.1218587 21 0.7336764 2.6460865
2 0.6278669 1.9770076 22 0.3302751 0.8017766
3 0.2050905 0.4590539 23 0.7240673 2.5751967
4 0.8747996 4.1556799 24 0.1592881 0.3470125
5 0.7652335 2.8983277 25 0.0556541 0.1145256
6 0.5715611 1.6952142 26 0.707253 2.4568932
7 0.4516411 1.2016505 27 0.9628628 6.5862706
8 0.7127666 2.4949202 28 0.4406011 1.1617849
9 0.3739627 0.9366905 29 0.7201688 2.5471376
10 0.7442577 2.72717 30 0.67399 2.2416545
11 0.8712377 4.0995745 31 0.9948042 10.519823
12 0.7469225 2.7481187 32 0.5844835 1.756466
13 0.2864724 0.6750683 33 0.0770037 0.1602602
14 0.8621584 3.9632998 34 0.678437 2.2691233
15 0.4092148 1.0526054 35 0.5551881 1.6202077
16 0.5218367 1.4756059 36 0.9629277 6.5897687
17 0.9466389 5.861346 37 0.4472213 1.185595
18 0.572703 1.7005521 38 0.4995472 1.3844838
19 0.1594303 0.3473509 39 0.5423586 1.5633386
20 0.4096355 1.0540302 40 0.8447174 3.7250174
0 2 4 6 8 1012
0 . 0
0 . 0 5
0 . 1 0
0 . 1 5
0 . 2 0
0 . 2 5
0 . 3 0
X
21
Inversin para variables
aleatorias discretas
Supongamos que la variable aleatoria X
toma valores sobre un conjunto de
nmeros consecutivos A _ N. En este
caso el algoritmo de inversin se reduce
a:
Generar U~Uni(0,1).
Encontrar X tal que F(X - 1) s U < F(X).
El nmero X as generado sigue la
distribucin dada por F(X).
22
Inversin para variables
aleatorias discretas (cont)
Ejemplo 2: Distribucin de Bernoulli.

=
=
= = =
1
0 1
) ( ) (
x p
x p
x X P x f

>
< s
<
= s =
1 1
1 0 1
0 0
) ( ) (
x
x p
x
x X P x F
23
Inversin para variables
aleatorias discretas (cont)
As pues el algortmo se reduce a:
Generar U ~ Uni(0,1).
Escoger x = 0 si F(-1) s U < F(0)
0 s U < 1 - p
Escoger x = 1 si F(0) s U < F(1)
1 - p s U < 1
Hay otras formas adecuadas para escribir
estas condicones, puede sugerir cul?
24
Transformaciones
En muchos casos la variable aleatoria que
se desea generar pude escribirse como
una funcin de otra variable (u otras
variables) aleatorias que son ms fciles
de generar.
En estos casos, los algortmos de
generacin son directos.
25
Transformaciones (cont)
Ejemplo 3.- Distribucin Gamma.
La variable aleatoria X ~ Gamma(n,) con
densidad


no puede generarse directamente a travs
del mtodo de inversin (verifiquelo).


)
`

I
=

x
n
x
x f
n
n
exp
) (
) (
1
26
Transformaciones (cont)
Sin embargo, si n es entero, la variable
aleatoria gamma puede escribirse como
una suma de n variables aleatorias
exponenciales. Esto nos sugiere el
algoritmo:
Generar n variables aleatorias exponeciales
E
1
, E
2
, .... E
n
con parmetro .
Calcular X = E
1
+ E
2
+ .... + E
n
. Ahora
X

~ Gamma(n, ).

27
Transformaciones (cont)
Una versin computacionalmente ms
eficiente del mismo algoritmo es:
Generar U
1
, U
2
, .... U
n
~ Uni(0,1) e
independientes.
Calcular X = - ln(U
1
U
2
....U
n
). Ahora
X

~ Gamma(n, )
Puede usted decir cmo se obtiene este
algoritmo en base al anterior y por qu es
ms eficiente?
28
Transformaciones (cont)
Ejemplo 4.- Mtodo de Box-Muller (1958)
para densidades normales.
Sean X,Y~N(0,1) y consideremos la
transformacin


de modo que la distribucin conjunta viene
dada por
t s O s O =
< < O =
2 0 sen
0 cos
R Y
R R X
29
Transformaciones (cont)
)
`

t
= u

u u
u u
)
`

t
= u
)
`

t
=
2
exp
2
1
) , (
cos sen
sen cos
2
exp
2
1
) , (
2
exp
2
1
) , (
2
2
2 2
r
r r f
r r
r
r f
y x
y x f
30
Transformaciones (cont)
As, vemos que las variables R y O son
independientes con densidades:
U F f
U R
r
r F
r
r r f
t = u
t
u
= u
t
= u
=

)
`

=
)
`

=
2
2
) (
2
1
) (
ln 2
2
exp 1 ) (
2
exp ) (
2 2
31
Transformaciones (cont)
El algoritmo final es:
Generar U
1
~ Uni(0,1) y calcular u = 2t U
1
.
Generar U
2
~ Uni(0,1) y calcular
R = (-2ln U
2
)
1/2
.
Calcular X = R cos u, Y = R sen u. Las
variables resultantes X e Y son ambas
normales estandar.
32
Transformaciones (cont)
Ejemplo 5.- Distribucin uniforme discreta
en [1,k]. Se desea generar nmeros
enteros entre 1 y k de tal modo que todos
tengan la misma probabilidad. Para ello:
Genere U ~ Uni(0,1).
Haga X = kU + 1.
Entonces X tiene la distribucin deseada.
Este mtodo es ms rpido que inversin.

33
Relaciones entre algunas
v.a. de uso frecuente.
34
Otras tcnicas
Rechazo. Se generan nmeros aleatorios
segn una distribucin similar, y se
establece una condicin para su
aceptacin.
Cociente de uniformes. Corresponde a
una modificacin de la tcnica de rechazo.
Monte Carlo Markov Chains (MCMC).
35
Distribuciones truncadas
Son aquellas en las que el soporte natural
de la distribucin se reduce. Por ejemplo,
una Normal(0,1) que se restringe al
intervalo (-2,2). La densidad resultante es
proporcional a la original.
Para simularla, se generan nmeros
segn la densidad original y se descartan
aquellos que caigan fuera del soporte
truncado (rechazo).
36
Variable aleatorias mixtas
Son aquellas que presentan puntos de
masa en algunos valores y en el resto
corresponden a una v.a. continua.
La generacin se hace en dos etapas:
primero se decide si estamos en un punto
de masa o en una regin continua, y
luego se genera localmente dependiendo
de lo anterior.
37
Variable aleatorias mixtas
(cont)
Ejemplo 6.- Un cierto componente de
repuesto tiene una probabilidad p = 0,05
se venir defectuoso del proveedor.
Cuando el componente no tiene
problemas de manufactura, el tiempo
durante el cual funciona bien sigue una
densidad exponencial con media 1 ao.
Puede dibujar la densidad correspondiente?
38
Variable aleatorias mixtas
(cont)
El tiempo de vida de este componente es un
ejemplo de una variable aleatoria mixta
con un punto de masa en T = 0. El
algoritmo para simularlo es el siguiente:
Generar U
1
~ Uni(0,1).
Si U
1
s 0.05 entonces T = 0. Si U
1
> 0.05
entonces generar U
2
~ Uni(0,1) y hacer
T = - ln (1 - U
2
).
Puede plantear un algoritmo alternativo?

39
Generacin de
distribuciones empricas
A veces los datos correspondientes a alguna
de las variables no se ajustan
adecuadamente a ninguna distribucin
conocida. Algunas alternativas son:
Remuestreo (bootstrap) si la muestra es
grande.
Generacin a partir del histograma.
Estimacin de densidades (por ejemplo, a
travs de combinaciones lineales de kernels).
40
Generacin de
distribuciones empricas
En el remuestreo se escoge un
subconjunto de los datos originales.
Para generar a partir del histograma:
Se decide primero a cual categora pertenece
el dato, generando de una distribucin
discreta donde la probabilidad de cada
categora es igual a su frecuencia observada.
Se genera X

~ Uni(LI,LS), donde LI y LS son
los valores que delimitan la categora.

41
Aplicaciones
Ejemplo 7.- Cierto equipo utiliza tres componentes
conectados en serie. El tiempo de vida (en
meses) para cada uno de ellos viene dado por
las siguientes distribuciones:
T
1
~ Exponencial (25)
T
2
~ Weibull (3;20)
T
3
~ Lognormal(2,5;0,6)
Lo cual quiere decir que las densidades
correspondientes son:
42







Puede decir como generar nmeros aleatorios
que sigan cada una de estas distribuciones?
Aplicaciones (cont)

|
.
|

\
|

t
=
)
`

=
)
`

=
2
3
3
3
3
2
2
2
2
1
1
6 , 0
5 . 2 ln
2
1
exp
6 , 0
1
2
1
) (
20
exp
20
3
) (
25
exp
25
1
) (
t
t
t f
t t
t f
t
t f
43
Aplicaciones (cont)
Al estar los componentes conectados en
serie el tiempo de vida del sistema T
s
es


Puede ver el por qu de esta relacin?

Al simular el comportamiento de 10.000
sistemas de este tipo se obtiene
{ }
3 2 1
, , min T T T T
s
=
44
Histograma y diagrama de caja del tiempo
de vida del sistema.





Q
1
= 5.158 Q
2
= 8.301 Q
3
= 12.210 ET = 9.000
Aplicaciones (cont)
0 5 1015202530
0 . 0
0 . 0 2
0 . 0 4
0 . 0 6
0 . 0 8
Tiempo de vida del sistema
0
5
1 0
1 5
2 0
2 5
3 0
45
La distribucin es asimtrica.
El tiempo medio de vida del sistema
completo es de 9 horas.
A pesar de que en algunos casos el
sistema puede durar incluso ms de 20
horas, estos componentes son muy raros,
ya que menos del 25% excede las 13
horas de vida.

Aplicaciones (cont)
46
Probabilidad de falla en funcin del tiempo.





Puede dar un tiempo de garanta para el
sistema?
Aplicaciones (cont)
Probabilidad de Falla
T i e m p o d e s u p e r v i v e n c i a ( m e s e s )
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
0
5
1 0
1 5
2 0
2 5
Probabilidad de Falla
T i e m p o d e s u p e r v i v e n c i a ( m e s e s )
0.0 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0.20
0 . 0
0 . 5
1 . 0
1 . 5
2 . 0
2 . 5
3 . 0
3 . 5
4 . 0
4 . 5
47
Proporcin de fallas debidas a cada
componente.





Aplicaciones (cont)
1 2 3
0.0
0.1
0.2
0.3
0.4
P r o p o r c i n d e f a l l a s d e b i d a a c a d a c o m p o n e n t e
48
Claramente, el componente 1 es la segunda
causa ms importante de fallas, no lejos
del componente 2 . Sin embargo

ET1 = 25,02 ET2 = 17,75 ET3 = 14,53

Es decir, es por mucho el componente con
el tiempo de vida promedio ms largo,
Puede explicar esta paradoja?
Aplicaciones (cont)
49
Aplicaciones (cont)
Simular un sistema con tres componentes
idnticos y verificar que los tres producen
la falla con la misma frecuencia.
Tambin sera interesante determinar si
alguno de los componentes causa las
fallas ms tempranas y si alguno las
ms tardas.
50
Aplicaciones (cont)
Ejemplo 8.- Una tarjeta de circuito impreso
tiene un cierto nmero de huecos que se
hacen utilizando un taladro numrico
controlado por una computadora. La
computadora tiene un nmero de fallas
por tarjeta aleatorio con distribucin
Poisson (6), y si la computadora falla, la
probabilidad de que el taladro no haga
hueco es 0,15.
51
Aplicaciones (cont)
Sea F el nmero de fallos por tarjeta que
comete la computadora, y H el nmero de
huecos no hechos por el taladro en una
tarjeta. Entonces:


) 15 , 0 ; Binomial( ~ |
) 6 Poisson( ~
F F H
F
52
Aplicaciones (cont)
0 . 0 0
0 . 0 5
0 . 1 0
0 . 1 5
01234567891011121314151617
Nmerodefallosdel computadorportarjeta
0 . 0
0 . 1
0 . 2
0 . 3
0 . 4
0 1 2 3 4 5 6
Nmerodehuecosnohechos
Simulando a partir de estas distribuciones
se obtienen las siguientes marginales:
53
Aplicaciones (cont)
El nmero de huecos faltantes por tarjeta
es menor al nmero de fallos de la
computadora.
La probabilidad de tener una tarjeta
operativa (sin huecos faltantes) es apenas
de 0.399, lo que significa una proporcin
de defectos altsima. Puede sugerir una
forma de corregir el problema?
54
Aplicaciones (cont)
Ejemplo 9.- Una planta que trabaja solo
bajo pedidos desea determinar si puede
satisfacer uno de 17 unidades para el
prximo da habil sin usar sobretiempo.
La planta trabaja un nmero de horas/da
T que sigue una distribucin uniforme en
(7;8), y el nmero de piezas que produce
sigue una distribucin de Poisson con
parmetro 2,5T piezas/dia.
55
Aplicaciones (cont)
Una forma de responder podra ser calcular el
nmero promedio de piezas que se pueden
fabricar en un da.



En apariencia podemos cumplir con el pedido.
Es eso verdad?
75 , 18 5 , 7 5 , 2
) ( 5 , 2 ) (
= =
= = = T E N E N
56
Del enunciado es claro que:


Simulando el comportamiento del sistema
durante 10.000 das podemos obtener la
distribucin
Aplicaciones (cont)
) 5 , 2 ( Poisson ~ |
) 8 ; 7 ( Uniforme ~
T T N
T

, 2 , 1 , 0 con ) ( = < k k N P
57
que no es ms que la probabilidad de no
fabricar en un da suficientes piezas para
un pedido de tamao k.

Aplicaciones (cont)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
0 . 0
0 . 2
0 . 4
0 . 6
0 . 8
1 . 0
Tama#o del pedido
P r o b a b i l i d a d d e n o c u m p l i r c o n e l p e d i d o
58
Aplicaciones (cont)
Es claro que al menos un 31% de las
veces no podremos cumplir con el pedido.
Si el tamao del pedido aumenta a 19
unidades (solo ligeramente sobre el
promedio), la probabilidad es del 49%.
El problema podra haber sido incluso ms
grave si la distribucin hubiese tenido
sesgo contrario.
59
Aplicaciones (cont)
Este ejemplo muestra la diferencia entre
una planta de produccin continua y una
bajo pedido (JIT, teora de restricciones).
Normalmente la estimacin del nmero de
piezas a fabricar en un da proviene a su
vez de otra simulacin.
Que hubiese pasado con un pedido ms
grande, digamos de 150 unidades en 8
das hbiles? Por qu?.
60
Tamao de la Simulacin
Un aspecto fundamental es cuntas
iteraciones necesitamos en nuestra
simulacin. Est claro que, en trminos
generales, entre ms mejor. Sin
embargo, existe un tope a partir del cual
las mejoras que se obtienen en la
estimacin no compensan el esfuerzo
realizado.
61
Tamao de la Simulacin
(cont)
En muchos casos la experiencia prctica, el
sentido comn y/o la disponibilidad de
tiempo y recursos nos pueden dar una
cotas para n.
Tiempo durante el cual operar la planta.
Nmero de artculos de una determinada
serie que se espera vender antes de
modificarla.
Tiempo que tarda correr la simulacin.
62
Tamao de la Simulacin
(cont)
Teorema 3.- Ley de los Grandes Nmeros
para proporciones. Sea p la probabilidad
del evento A, y f
A
= n
A
/n la frecuencia
observada de A. Entonces, para cualquier
nmero positivo c se tiene
| |
2 2
4
1 ) 1 (
Pr
c
s
c

s c >
n n
p p
p f
A
63
Tamao de la Simulacin
(cont)
Escoger c, la discrepancia mxima que
vamos a permitir, y o, la cota superior de la
probabilidad de la discrepancia c.
Si no se conoce p (lo ms comn), el
nmero de simulaciones n viene dado por
2 2
4
1
4
1
oc
>
c
s o n
n
64
Tamao de la Simulacin
(cont)
Ejemplo 10.- Recuerde el ejemplo 6, donde
se quera obtener la proporcin de tarjetas
defectuosas. Supongamos c = 0,01 (como
mximo un error en la segunda cifra
significativa) y que o = 0,05 (se desea una
probabilidad baja de estar lejos de la
verdadera probabilidad)
50.000
) 01 , 0 ( 05 , 0 4
1
4
1
2 2
=

=
oc
> n
65
Tamao de la Simulacin
(cont)
Teorema 4.- Ley de los Grandes Nmeros
para promedios. Sean X
1
,...,X
n
variables
aleatorias iid con E(X
i
)= y Var(X
i
) = o
2
.
Entonces para para cualquier nmero
positivo c se tiene
| |
2
2
Pr
c
o
s c >
n
X
66
Tamao de la Simulacin
(cont)
Escoger c, la discrepancia mxima que
vamos a permitir, y o, la cota superior de la
probabilidad de la discrepancia c. Entonces


Como en general o
2
no se conoce por lo
que se utiliza un estimador. Esto sugiere
un algoritmo iterativo, ya que la exactitud
del estimador tambin depende de n.
2
2
2
2
oc
o
>
c
o
s o n
n
67
Simulaciones Dinmicas
Hasta ahora hemos realizado simulaciones
estticas (donde las variables aleatorias no
dependen del tiempo).
Para simulaciones dinmicas es importante
definir dos conceptos:
Estados: caractersticas relevantes del sistema
(ej. el nmero de individuos en una cola).
Eventos: acciones que pueden producir
cambios de estado (ej. llegada de una persona
a la cola).
68
Cmo simular procesos dinmicos? Una
idea atrayente es discretizar el tiempo, y
luego avanzar en l verificando si en cada
instante se produce o no un evento.

Esta estrategia tiene algunos problemas: la
resolucin de la discretizacin es arbitraria,
los tiempos de ejecucin largos, etc.
Simulaciones Dinmicas
Tiempo
69
Simulacin de Eventos
Discretos
En el caso de sistemas con eventos
discretos (aquellos cuyos eventos pueden
suceder solo en tiempos discretos) el truco
es llevar una lista con los tiempos en los
cuales sucedern los prximos eventos
(LTE). Esto permite realizar grandes saltos
en el tiempo.
A D A A D A D D
70
Simulacin de eventos
discretos (cont)
Para sistemas que cambian de estado
continuamente, como los sistemas qumicos
o aquellos dirigidos por ecuaciones
diferenciales, esta metodologa no puede
ser utilizada.
Adems de la lista de tiempo de eventos
futuros es necesario rastrear el estado del
sistema (ES).

71
Simulacin de eventos
discretos (cont)
I
n
i
c
i
a
l
i
z
a
r

t

=

0
,

L
T
E
,

E
S
.

S
e
l
e
c
c
i
o
n
a
r

e
l

p
r

x
i
m
o

e
v
e
n
t
o

e
n

L
T
E

(
a
q
u
e
l

q
u
e

c
o
n

e
l


m

n
i
m
o

t
i
e
m
p
o
)
.

A
c
t
u
a
l
i
z
a
r

e
l

t
i
e
m
p
o

d
e
l

s
i
s
t
e
m
a

a
l

t
i
e
m
p
o

d
e
l

e
v
e
n
t
o

r
e
c
i

n


s
e
l
e
c
c
i
o
n
a
d
o
.

A
n
a
l
i
z
a
r

e
l

e
v
e
n
t
o

s
e
l
e
c
c
i
o
n
a
d
o

y

e
l

e
s
t
a
d
o

d
e
l

s
i
s
t
e
m
a

y


a
c
t
u
a
l
i
z
a
r

a
m
b
o
s

M
i
e
n
t
r
a
s

n
o

s
e

c
u
m
p
l
a

l
a

c
o
n
d
i
c
i

n

d
e

p
a
r
a
d
a

72
Simulacin de eventos
discretos (cont)
Ejemplo 9.- Lnea de espera con un solo
servidor. Se desea simular una lnea de
espera en la cual los tiempos en minutos
entre llegadas de nuevos individuos A ~
Exp(4), mientras que los tiempos de servicio
en minutos D ~ Exp(3). Suponga que el
sistema funciona durante 8 horas, que no
hay lmites para el tamao de la cola y que
al inicio no hay nadie en la fila.
73
Simulacin de eventos
discretos (cont)
En este caso el estado del sistema est
dado por el nmero de personas n que se
encuentran dentro de l (cola + servicio).
En cuanto a los eventos, en este caso son
de solo dos tipos: llegadas y salidas. As
LE = (t
A
,t
B
).
Dependiendo del objetivo concreto tambin
es necesario mantener algunos contadores
o acumuladores.
74
Simulacin de eventos
discretos (cont)
Asignar t = 0
Asignar n = 0
Generar t
A
~ Exp(4)
Asignar t
D
=
Repetir mientras min(t
A
, t
D
) < 480
Si t
A
< t
D

Asignar t = t
A
Asignar n = n + 1
Generar At
A
~ Exp(4)
Asignar t
A
= t + At
A

Si n = 1
Generar At
D
~ Exp(3)
Asignar t
D
= t + At
D





En caso contrario
Asignar t = t
D
Asignar n = n - 1
Si n = 0
Asignar t
D
=
En caso contrario
Generar At
D
~ Exp(3)
Asignar t
D
= t + At
D




75
Simulacin de eventos
discretos (cont)
Si los sujetos en cola al final del da
quedan en la misma hasta que se
reinicien las actividades (e.j. productos en
una fbrica), este cdigo es suficiente.
En caso contrario hay que aadir
Repetir mientras n > 0
Asignar t = t
D
Asignar n = n - 1
Generar At
D
~ Exp(3)
Asignar t
D
= t + At
D


76
Simulacin de eventos
discretos (cont)
Si se tratase de una cola de atencin al
pblico, cmo fijara usted la jordana de
trabajo diaria para sus empleados y los
horarios de atencin?
Si se tratase de una fbrica, cmo
calculara la capacidad y los requisitos de
materia prima? Considere todos los casos
que crea convenientes.
77
Simulacin de eventos
discretos (cont)
Ejemplo 10: Vamos a considerar el caso
de una taquilla de atencin al pblico a la
cual llegan en promedio 2 personas cada
minuto, mientras que el servidor atiende
en promedio tres personas cada minuto.
Si los tiempos entre llegadas y entre
servicios siguen una distribucin
exponencial cmo podra determinar la
hora de cierre ptima?
78
Simulacin de eventos
discretos (cont)
El funcionamiento de este sistema es
esencialmente el mismo que el del
ejemplo 9, ahora con A ~ Exp(1/2),
mientras que D ~ Exp(1/3) (recuerde que
estamos usando a la esperanza como
parmetro de la distribucin exponencial).
Ahora bien, qu significa una hora de
cierre ptima?
79
Simulacin de eventos
discretos (cont)
El primer costo que en el que podemos
incurrir es un costo de sobretiempo: por
ley, la jornada laboral es de 8 horas
diarias, y en caso de excederse, se han de
cancelar horas extras. Este costo es fcil
de determinar en base al sueldo mensual
del cajero y a la ley del trabajo. Puede
decir cul es la solucin ptima si solo se
toma en cuenta este costo?
80
Simulacin de eventos
discretos (cont)
El problema se debe a que la funcin de
costos que hemos definido hasta ahora es
montona y no cncava.
Para resolver esto necesitamos adicionar un
trmino de costos que tienda a decrecer
segn se incremente el tiempo de la
jornada laboral. Este trmino est
relacionado con la satisfaccin del cliente,
la cual es difcil de medir monetariamente
81
Simulacin de eventos
discretos (cont)
Para saltarnos este problema es entonces
razonable estimar una distribucin para el
costo de sobretiempo en cada jornada
posible y escoger en base a nuestro
conocimiento del problema aquella donde
el costo promedio por horas extra tome
un valor razonable.
82
Simulacin de eventos
discretos (cont)
colaunservidor_function(r,secuencia){
cu_200
costopromedio_rep(0,length(secuencia))
for(j in 1:length(secuencia)){
costo_rep(0,r)
for(i in 1:r){
t_0
n_0
ta_rexp(1,1/4)
td_ta+1000
while(min(ta,td)<secuencia[j]){
if(ta<td){
t_ta
n_n+1
dta_rexp(1,1/4)
ta_t+dta
if(n==1){
dtd_rexp(1,1/3)

td_t+dtd}}
else{
t_td
n_n-1
if(n==0){
td_ta+1000}
else{
dtd_rexp(1,1/3)
td_t+dtd}}}
while(n>0){
t_td
n_n-1
dtd_rexp(1,1/3)
td_t+dtd}
costo[i]_ifelse(t>480,cu*(t-480),0)}
costopromedio[j]_mean(costo)}
return(costopromedio)}


83
Simulacin de eventos
discretos (cont)
Usando el anterior cdigo de R se puede
generar una curva de costo promedio, la
cual luce as.
Jornada de atencion al publico
C o s t o p o r h o r a s e x t r a
420 430 440 450 460 470 480
0
5 0 0
1 0 0 0
1 5 0 0
84
Simulacin de eventos
discretos (cont)
Si bien una funcin de costo es la mejor
opcin, es muy comn en ingeniera que
la misma sea muy difcil de obtener, o que
la misma sea tan subjetiva como las
elecciones que hemos hecho hasta ahora
para determinar ptimos.
85
Simulacin de eventos
discretos (cont)
Modelo grfico de una cola con un
servidor usando Extend.
3 V 1 2
F
L W
D
T U
1 2 3
Rand
Exit
#
count
El servidor toma a
los clientes y los
hace esperar
Los clientes
llegan a la
cola.
Calcula
tiempo de
atencin
Los clientes
esperan en la
cola a ser
atendidos
Clientes
salen del
sistema
86
Simulacin de eventos
discretos (cont)

Vous aimerez peut-être aussi