Está en la página 1de 86

1

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 lógicas,
etc.

2
Clases de modelos

 Modelos Determinísticos.

 Modelos Estocásticos

Dado que en la mayor parte de los sistemas


existe incertidumbre, los modelos
estocásticos son en general más
apropiados. Sin embargo, son también
más complejos y requieren de mayor
información para su implmentación.
3
¿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 estadísticos
relacionados con ellas puede ser difícil.

4
Generación de números
aleatorios uniformes
 Antiguamente se utilizaban tablas de
números uniformes.
 Actualmente se utilizan algoritmos
computacionales.
Se trata de números pseudoaleatorios, ya
que se genera una sucesión de números
que pasa todas las pruebas de aleatoriedad.
En realidad se genera una distribución
discreta que aproxima a la verdadera.

5
Generadores Congruneciales
Lineales

Por mucho, los más exitosos generadores de


números aleatorios que se conocen hoy en día son
casos particulares de la recursión

X n +1 = (aX n + c) mod m
X n +1
U n +1 =
m
De los valores de a, c, m y X0 dependen las
propiedades del generador.
6
Propiedades de los GCL
 La secuencia generada por un GCL es
cíclica. El número de elementos
distintos en la sucesión se le denomina
período.
 En general se desea que el periodo sea
grande.
 El máximo período posible para un GCL
es m. ¿Puede decir por qué?

7
Propiedades de los GCL
(cont)
 Teorema 1.- Un GCL tiene período máximo m
si y solo si:
c es un primo relativo de m;
b = a - 1 es un múltiplo de p para todo primo p que
sea divisor de m;
b es un múltiplo de 4 si m es un múltiplo de 4.
 Adicionalmente, el valor de a deber ser
grande de modo que las primeras cifras
significativas luzcan aleatorias.

8
Propiedades de los GCL
(cont)
Por ejemplo, el generador de Ripley (1987)
toma la forma:

X 0 : Semilla Aleatoria
32
X n +1 = (69069 X n + 1) mod 2
−32
U n +1 = 2 X n +1
Verifique que este generador tiene período
máximo.

9
Propiedades de los GCL
(cont)
 La potencia de un GCL con período máximo
esta definida como el menor entero s tal que
bs mod m = 0.
 Esta propiedad está relacionada con la
dependencia entre números consecutivos
del generador, y por lo tanto, es una medida
de la “aletoriedad” del mismo.
 En general, se requiere que s > 4. ¿Cuál es
la potencia del generador de Ripley?

10
Propiedades de los GCL
(cont)
 Para a = 85086, c = 3, m = 425425 (con lo cual s
= 3) al graficar 500 pares ordenados de
números consecutivos se obtiene
1.0
0.8
0.6
0.4
0.2
0.0

0.0 0.2 0.4 0.6 0.8 1.0

11
Generación de variables
aleatorias no uniformes
Todas las técnicas se basan en
generadores uniformes, y por tanto
comparten las características de estos.
El principal método de generación que
estudiares es el método de inversión.
También estudiaremos algunas técnicas
basadas en transformaciones.

12
El método de inversión
 Teorema 2.- Sea F una distribucíon
contínua en R con inversa F-1 definida
por

F (u ) = inf { x : F ( x) ≥ u ,0 < u < 1}


−1

Si U~Uni(0,1) entonces F-1(U) tiene


distribución F. Además, si X tiene
distribución F, entonces F(X) es
uniforme en (0,1).

13
El método de inversión
(cont)
 La prueba de este teorema se basa en
el cálculo de una función de una
variable aleatoria.
 Añadir el ínfimo y la desigualda en la
definición de la inversa son necesarios
para eliminar ambigüedades que se
presentan cuando ciertos intervalos
tienen probabilidad 0 (por ejemplo, en
distribuciones discretas).

14
El método de inversión
(cont)
 ¿Por qué el ínfimo?
Densidad Distribució
n
0.6

1.0
0.5

0.8
0.4

Distribucion
Densidad

0.6
0.3

0.4
0.2

0.2
0.1
0.0

0.0

0 1 2 3 0 1 2 3

X X

15
El método de inversión
(cont)
 ¿Por qué la desigualdad?

Densidad Distribució
n
1.0

1.0
0.8

0.8
Probabilidad acumulada
Masa de Probabilidad
0.6

0.6
0.4

0.4
0.2

0.2
0.0

0.0

-1.0 -0.5 0.0 0.5 1.0 1.5 2.0 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0
X X

16
Inversión para
distribuciones crecientes
 Si la distribución es estrictamente
creciente entonces no existen
ambigüedades en la definición de F-1(U),
lo que simplifica el algorítmo a
simplemente evaluar un número
aleatorio U~Uni(0,1) en esta función.

17
Inversión para distribuciones
crecientes (cont)
 Ejemplo 1.- La distribución exponencial
La densidad exponencial viene dada por

1  x
f ( x) = exp −  x≥0
λ  λ
y por tanto su distribucón es

x  x
F ( x) = ∫ f (t )dt = 1 − exp−  x≥0
−∞
 λ
18
Inversión para distribuciones
crecientes (cont)
Así pues si U~Uni(0,1) entonces

−1
X = F (U ) = −λ ln(1 − U )
Esto permite generar números que siguen
una distribución exponencial, si se
dispone de número que siguen una
distribución uniforme en (0,1).

19
Inversión 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

0.30
5 0.7652335 2.8983277 25 0.0556541 0.1145256
6 0.5715611 1.6952142 26 0.707253 2.4568932

0.25
7 0.4516411 1.2016505 27 0.9628628 6.5862706
8 0.7127666 2.4949202 28 0.4406011 1.1617849

0.20
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

0.15
12 0.7469225 2.7481187 32 0.5844835 1.756466
13 0.2864724 0.6750683 33 0.0770037 0.1602602
0.10
14 0.8621584 3.9632998 34 0.678437 2.2691233
15 0.4092148 1.0526054 35 0.5551881 1.6202077
0.05

16 0.5218367 1.4756059 36 0.9629277 6.5897687


17 0.9466389 5.861346 37 0.4472213 1.185595
0.0

18 0.572703 1.7005521 38 0.4995472 1.3844838


19 0.1594303 0.3473509 39 0.5423586 1.5633386 0 2 4 6 8 10 12

20 0.4096355 1.0540302 40 0.8447174 3.7250174 X

20
Inversión para variables
aleatorias discretas
Supongamos que la variable aleatoria X
toma valores sobre un conjunto de
números consecutivos A ⊆ N. En este
caso el algoritmo de inversión se reduce
a:
Generar U~Uni(0,1).
Encontrar X tal que F(X - 1) ≤ U < F(X).
El número X así generado sigue la
distribución dada por F(X).

21
Inversión para variables
aleatorias discretas (cont)
 Ejemplo 2: Distribución de Bernoulli.

1 − p x = 0
f ( x) = P( X = x) = 
 p x =1
 0 x<0

F ( x) = P ( X ≤ x) = 1 − p 0 ≤ x < 1
 1 x ≥1

22
Inversión para variables
aleatorias discretas (cont)
Así pues el algorítmo se reduce a:
❙ Generar U ~ Uni(0,1).
❙ Escoger x = 0 si F(-1) ≤ U < F(0) ⇒
0≤ U<1-p
❙ Escoger x = 1 si F(0) ≤ U < F(1) ⇒
1-p≤ U<1
Hay otras formas adecuadas para
escribir estas condicones, ¿puede
sugerir cuál?
23
Transformaciones
 En muchos casos la variable aleatoria
que se desea generar pude escribirse
como una función de otra variable (u
otras variables) aleatorias que son más
fáciles de generar.
 En estos casos, los algorítmos de
generación son directos.

24
Transformaciones (cont)
Ejemplo 3.- Distribución Gamma.
La variable aleatoria X ~ Gamma(n,λ ) con
densidad

n −1
x  x
f ( x) = n exp− 
no puede generarse Γ( n)  λatravés
λ directamente
del método de inversión (verifiquelo).

25
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 E1, E2, ....
En con parámetro λ .
Calcular X = E1 + E2 + .... + En. Ahora
X ~ Gamma(n, λ ).

26
Transformaciones (cont)
Una versión computacionalmente más
eficiente del mismo algoritmo es:
Generar U1, U2, .... Un ~ Uni(0,1) e independientes.
Calcular X = - λ ln(U1U2....Un ). Ahora
X ~ Gamma(n, λ )
¿Puede usted decir cómo se obtiene este
algoritmo en base al anterior y por qué es
más eficiente?

27
Transformaciones (cont)
Ejemplo 4.- Método de Box-Muller (1958)
para densidades normales.
Sean X,Y~N(0,1) y consideremos la
transformación

X = R cos Θ 0 < R < ∞


= Rlasen
de modoYque Θ 0≤Θ
distribución ≤ 2π viene
conjunta
dada por

28
Transformaciones (cont)

1  x2 + y2 
f ( x, y ) = exp− 
2π  2 
1  r 2  cos θ sen θ
f (r , θ) = exp−  ⇒
2π  2  − r sen θ r cos θ
1  r 2

f (r , θ) = r exp− 
2π  2

29
Transformaciones (cont)
Así, vemos que las variables R y Θ son
independientes con densidades:

 r2   r2 
f (r ) = r exp−  ⇒ F (r ) = 1 − exp−  ⇒
 2  2
R = − 2 ln U
1 θ
f (θ) = ⇒ F (θ) = ⇒ θ = 2πU
2π 2π

30
Transformaciones (cont)
El algoritmo final es:
 Generar U1 ~ Uni(0,1) y calcular θ =
2π U1.
 Generar U2 ~ Uni(0,1) y calcular
R = (-2ln U2 )1/2.
 Calcular X = R cos θ , Y = R sen θ . Las
variables resultantes X e Y son ambas
normales estandar.

31
Transformaciones (cont)
Ejemplo 5.- Distribución uniforme discreta en
[1,k]. Se desea generar números 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 distribución deseada.
Este método es más rápido que inversión.

32
Relaciones entre algunas
v.a. de uso frecuente.

33
Otras técnicas
 Rechazo. Se generan números
aleatorios según una distribución
“similar”, y se establece una condición
para su aceptación.
 Cociente de uniformes. Corresponde a
una modificación de la técnica de
rechazo.
 Monte Carlo Markov Chains (MCMC).

34
Distribuciones truncadas
 Son aquellas en las que el soporte natural
de la distribución 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 números según
la densidad original y se descartan aquellos
que caigan fuera del soporte truncado
(rechazo).

35
Variable aleatorias
mixtas
 Son aquellas que presentan puntos de
masa en algunos valores y en el resto
corresponden a una v.a. continua.
 La generación se hace en dos etapas:
primero se decide si estamos en un
punto de masa o en una región
continua, y luego se genera localmente
dependiendo de lo anterior.

36
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 año.
¿Puede dibujar la densidad correspondiente?

37
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 U1 ~ Uni(0,1).
Si U1 ≤ 0.05 entonces T = 0. Si U1 > 0.05 entonces
generar U2 ~ Uni(0,1) y hacer
T = - ln (1 - U2).
¿Puede plantear un algoritmo alternativo?

38
Generación de
distribuciones empíricas
A veces los datos correspondientes a alguna
de las variables no se ajustan
adecuadamente a ninguna distribución
conocida. Algunas alternativas son:
Remuestreo (bootstrap) si la muestra es grande.
Generación a partir del histograma.
Estimación de densidades (por ejemplo, a través
de combinaciones lineales de kernels).

39
Generación de
distribuciones empíricas
 En el remuestreo se escoge un
subconjunto de los datos originales.
 Para generar a partir del histograma:
Se decide primero a cual categoría pertenece
el dato, generando de una distribución
discreta donde la probabilidad de cada
categoría es igual a su frecuencia observada.
 Se genera X ~ Uni(LI,LS), donde LI y LS son
los valores que delimitan la categoría.

40
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:
 T1 ~ Exponencial (25)
 T2 ~ Weibull (3;20)
 T3 ~ Lognormal(2,5;0,6)

Lo cual quiere decir que las densidades


correspondientes son:

41
Aplicaciones (cont)
1  t1 
f (t1 ) = exp− 
25  25 
3t 22  t 23 
f (t 2 ) = exp− 
20  20 
1 1 
 1  ln t3 − 2.5  
2

f (t3 ) = exp−   
2π 0,6t3 
 2  0,6  
¿Puede decir como generar números aleatorios
que sigan cada una de estas distribuciones?

42
Aplicaciones (cont)
Al estar los componentes conectados en
serie el tiempo de vida del sistema Ts es

Ts = min{T1 , T2 , T3 }
¿Puede ver el por qué de esta relación?

Al simular el comportamiento de 10.000


sistemas de este tipo se obtiene

43
Aplicaciones (cont)
Histograma y diagrama de caja del tiempo de
vida del sistema.
0.08

30
25
0.06

20
0.04

15
10
0.02

5
0.0

Q1 = 5.158 Q2 = 8.301 Q3 = 12.210 ET = 9.000


0 5 10 15 20

Tiempo de vida del sistema


25 30

44
Aplicaciones (cont)
 La distribución es asimétrica.
 El tiempo medio de vida del sistema
completo es de 9 horas.
 A pesar de que en algunos casos el sistema
puede durar incluso más de 20 horas, estos
componentes son muy raros, ya que menos
del 25% excede las 13 horas de vida.

45
Aplicaciones (cont)
Probabilidad de falla en función del tiempo.

4.5
25

4.0
20

3.5
Tiempo de supervivencia (meses)

Tiempo de supervivencia (meses)

3.0
15

2.5
2.0
10

1.5
1.0
5

0.5
0.0
0

¿Puede dar un tiempo de garantía para el


0.0 0.1 0.2 0.3 0.4 0.5 0.6

Probabilidad de Falla
0.7 0.8 0.9 1.0 0.0 0.02 0.04 0.06 0.08 0.10 0.12

Probabilidad de Falla
0.14 0.16 0.18 0.20

sistema?

46
Aplicaciones (cont)
Proporción de fallas debidas a cada
componente.
Proporción de fallas debida a cada componente

0.4

0.3

0.2

0.1

0.0
1 2 3

47
Aplicaciones (cont)
Claramente, el componente 1 es la segunda
causa más 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 más largo, ¿Puede
explicar esta paradoja?

48
Aplicaciones (cont)
 Simular un sistema con tres
componentes idénticos y verificar que
los tres producen la falla con la misma
frecuencia.
 También sería interesante determinar si
alguno de los componentes causa las
fallas más “tempranas” y si alguno las
más “tardías”.

49
Aplicaciones (cont)
Ejemplo 8.- Una tarjeta de circuito
impreso tiene un cierto número de
huecos que se hacen utilizando un
taladro numérico controlado por una
computadora. La computadora tiene un
número de fallas por tarjeta aleatorio
con distribución Poisson (6), y si la
computadora falla, la probabilidad de
que el taladro no haga hueco es 0,15.

50
Aplicaciones (cont)
Sea F el número de fallos por tarjeta que
comete la computadora, y H el número
de huecos no hechos por el taladro en
una tarjeta. Entonces:

F ~ Poisson( 6)
H | F ~ Binomial( F ;0,15)

51
Aplicaciones (cont)

Simulando a partir de estas


distribuciones se obtienen las
siguientes marginales:

0.4
0.15

0.3
0.10

0.2
0.05

0.1
0.00

0.0

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 0 1 2 3 4 5 6

Número de fallos del computador por tarjeta Número de huecos no hechos

52
Aplicaciones (cont)

❚ El número de huecos faltantes por


tarjeta es menor al número de fallos
de la computadora.
❚ La probabilidad de tener una tarjeta
operativa (sin huecos faltantes) es
apenas de 0.399, lo que significa una
proporción de defectos altísima.
¿Puede sugerir una forma de corregir
el problema?
53
Aplicaciones (cont)
Ejemplo 9.- Una planta que trabaja solo bajo
pedidos desea determinar si puede
satisfacer uno de 17 unidades para el
próximo día habil sin usar sobretiempo. La
planta trabaja un número de horas/día T que
sigue una distribución uniforme en (7;8), y el
número de piezas que produce sigue una
distribución de Poisson con parámetro 2,5T
piezas/dia.

54
Aplicaciones (cont)

Una forma de responder podría ser calcular el


número promedio de piezas que se pueden
fabricar en un día.

N = E ( N ) = 2,5 ⋅ E (T ) =
= 2,5 ⋅ 7,5 = 18,75
En apariencia podemos cumplir con el pedido.
¿Es eso verdad?

55
Aplicaciones (cont)
Del enunciado es claro que:

T ~ Uniforme(7;8)
Simulando elN comportamiento ⋅ T sistema
| T ~ Poisson (2,5del )
durante 10.000 días podemos obtener la
distribución

P( N < k ) con k = 0,1,2, 

56
Aplicaciones (cont)
que no es más que la probabilidad de no
fabricar en un día suficientes piezas para un
pedido de tamaño k.
1.0
Probabilidad de no cumplir con el pedido

0.8
0.6
0.4
0.2
0.0

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Tama#o del pedido

57
Aplicaciones (cont)
 Es claro que al menos un 31% de las
veces no podremos cumplir con el
pedido.
 Si el tamaño del pedido aumenta a 19
unidades (solo ligeramente sobre el
promedio), la probabilidad es del 49%.
 El problema podría haber sido incluso
más grave si la distribución hubiese
tenido sesgo contrario.

58
Aplicaciones (cont)
 Este ejemplo muestra la diferencia entre una
planta de producción continua y una bajo
pedido (JIT, teoría de restricciones).
 Normalmente la estimación del número de
piezas a fabricar en un día proviene a su vez
de otra simulación.
 ¿Que hubiese pasado con un pedido más
grande, digamos de 150 unidades en 8 días
hábiles? ¿Por qué?.

59
Tamaño de la Simulación
Un aspecto fundamental es cuántas
iteraciones necesitamos en nuestra
simulación. Está claro que, en términos
generales, entre más mejor. Sin
embargo, existe un tope a partir del cual
las mejoras que se obtienen en la
estimación no compensan el esfuerzo
realizado.

60
Tamaño de la Simulación
(cont)
En muchos casos la experiencia práctica, el
sentido común y/o la disponibilidad de
tiempo y recursos nos pueden dar una cotas
para n.
Tiempo durante el cual operará la planta.
Número de artículos de una determinada serie
que se espera vender antes de modificarla.
Tiempo que tarda correr la simulación.

61
Tamaño de la Simulación
(cont)
Teorema 3.- Ley de los Grandes Números para
proporciones. Sea p la probabilidad del
evento A, y fA = nA/n la frecuencia observada
de A. Entonces, para cualquier número
positivo ε se tiene

p (1 − p )
Pr[ f A − p ≥ ε] ≤
1
2
≤ 2
nε 4nε

62
Tamaño de la Simulación
(cont)
 Escoger ε , la discrepancia máxima que
vamos a permitir, y δ , la cota superior de la
probabilidad de la discrepancia ε .
 Si no se conoce p (lo más común), el número
de simulaciones n viene dado por

1 1
δ≤ 2
⇒n≥ 2
4nε 4δ ε

63
Tamaño de la Simulación
(cont)
Ejemplo 10.- Recuerde el ejemplo 6, donde se
quería obtener la proporción de tarjetas
defectuosas. Supongamos ε = 0,01 (como
máximo un error en la segunda cifra
significativa) y que δ = 0,05 (se desea una
probabilidad baja de estar lejos de la
verdadera probabilidad)
1 1
n≥ 2
= 2
= 50.000
4δ ε 4 ⋅ 0,05 ⋅ (0,01)
64
Tamaño de la Simulación
(cont)
Teorema 4.- Ley de los Grandes Números para
promedios. Sean X1,...,Xn variables aleatorias
iid con E(Xi)=µ y Var(Xi) = σ 2. Entonces para
para cualquier número positivo ε se tiene

[ ]
2
σ
Pr X − µ ≥ ε ≤ 2

65
Tamaño de la Simulación
(cont)
 Escoger ε , la discrepancia máxima que vamos
a permitir, y δ , la cota superior de la
probabilidad de la discrepancia ε . Entonces
2 2
σ σ
δ≤ ⇒n≥
 σ2 2
Como en generalnε no se conoce 2
δ ε por lo que se
utiliza un estimador. Esto sugiere un algoritmo
iterativo, ya que la exactitud del estimador
también depende de n.

66
Simulaciones Dinámicas
 Hasta ahora hemos realizado simulaciones
estáticas (donde las variables aleatorias no
dependen del tiempo).
 Para simulaciones dinámicas es importante
definir dos conceptos:
Estados: características relevantes del sistema (ej.
el número de individuos en una cola).
Eventos: acciones que pueden producir cambios
de estado (ej. llegada de una persona a la cola).

67
Simulaciones Dinámicas
 ¿Cómo simular procesos dinámicos? Una
idea atrayente es discretizar el tiempo, y luego
avanzar en él verificando si en cada instante
se produce o no un evento.
Tiempo
 Esta estrategia tiene algunos problemas: la
resolución de la discretización es arbitraria, los
tiempos de ejecución largos, etc.

68
Simulación 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 sucederán
los próximos eventos (LTE). Esto permite
realizar grandes saltos en el tiempo.

A D A A D A D D

69
Simulación de eventos
discretos (cont)
 Para sistemas que cambian de estado
continuamente, como los sistemas químicos o
aquellos dirigidos por ecuaciones diferenciales,
esta metodología no puede ser utilizada.
 Además de la lista de tiempo de eventos futuros
es necesario rastrear el estado del sistema (ES).

70
71

Inicializar t = 0, LTE, ES.


Mientras no se cumpla la
condición de parada
Simulación de eventos

Seleccionar el próximo evento


en LTE (aquel que con el
mínimo tiempo).
discretos (cont)

Actualizar el tiempo del sistema


al tiempo del evento recién
seleccionado.
Analizar el evento seleccionado
y el estado del sistema y
actualizar ambos
Simulación de eventos
discretos (cont)
Ejemplo 9.- Línea de espera con un solo
servidor. Se desea simular una línea 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
límites para el tamaño de la cola y que al
inicio no hay nadie en la fila.

72
Simulación de eventos
discretos (cont)
 En este caso el estado del sistema está dado
por el número 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 =
(tA,tB).
 Dependiendo del objetivo concreto también es
necesario mantener algunos contadores o
acumuladores.

73
Simulación de eventos
discretos (cont)
Asignar t = 0 En caso contrario
Asignar n = 0 Asignar t = tD
Generar tA ~ Exp(4)
Asignar n = n - 1
Asignar tD = ∞
Si n = 0
Repetir mientras min(tA, tD) < 480
Asignar tD = ∞
Si tA < tD
En caso contrario
Asignar t = tA
Generar ∆ tD ~ Exp(3)
Asignar n = n + 1
Generar ∆ tA ~ Exp(4) Asignar tD = t + ∆ tD
Asignar tA = t + ∆ tA
Si n = 1
Generar ∆ tD ~ Exp(3)
Asignar tD = t + ∆ tD

74
Simulación de eventos
discretos (cont)
 Silos sujetos en cola al final del día quedan
en la misma hasta que se reinicien las
actividades (e.j. productos en una fábrica),
este código es suficiente.
 En caso contrario hay que añadir
Repetir mientras n > 0
Asignar t = tD
Asignar n = n - 1
Generar ∆ tD ~ Exp(3)
Asignar tD = t + ∆ tD

75
Simulación de eventos
discretos (cont)
 Si se tratase de una cola de atención al
público, ¿cómo fijaría usted la jordana
de trabajo diaria para sus empleados y
los horarios de atención?
 Si se tratase de una fábrica, ¿cómo
calcularía la capacidad y los requisitos
de materia prima? Considere todos los
casos que crea convenientes.

76
Simulación de eventos
discretos (cont)
 Ejemplo 10: Vamos a considerar el caso de
una taquilla de atención al público 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 distribución exponencial ¿cómo
podría determinar la hora de cierre óptima?

77
Simulación 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
parámetro de la distribución
exponencial).
Ahora bien, ¿qué significa una hora de
cierre “óptima”?

78
Simulación 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 fácil de
determinar en base al sueldo mensual del
cajero y a la ley del trabajo. ¿Puede decir
cuál es la solución óptima si solo se toma en
cuenta este costo?

79
Simulación de eventos
discretos (cont)
El problema se debe a que la función de
costos que hemos definido hasta ahora es
monótona y no cóncava.
Para resolver esto necesitamos adicionar un
término de costos que tienda a decrecer
según se incremente el tiempo de la jornada
laboral. Este término está relacionado con
la satisfacción del cliente, la cual es difícil de
medir monetariamente

80
Simulación de eventos
discretos (cont)
Para saltarnos este problema es entonces
razonable estimar una distribución 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.

81
Simulación de eventos
discretos (cont)
colaunservidor_function(r,secuencia){ td_t+dtd}}
cu_200 else{
costopromedio_rep(0,length(secuencia)) t_td
for(j in 1:length(secuencia)){ n_n-1
costo_rep(0,r) if(n==0){
for(i in 1:r){ td_ta+1000}
t_0 else{
n_0 dtd_rexp(1,1/3)
ta_rexp(1,1/4) td_t+dtd}}}
td_ta+1000 while(n>0){
while(min(ta,td)<secuencia[j]){ t_td
if(ta<td){ n_n-1
t_ta dtd_rexp(1,1/3)
n_n+1 td_t+dtd}
dta_rexp(1,1/4) costo[i]_ifelse(t>480,cu*(t-480),0)}
ta_t+dta costopromedio[j]_mean(costo)}
if(n==1){ return(costopromedio)}
dtd_rexp(1,1/3)

82
Simulación de eventos
discretos (cont)
Usando el anterior código de R se puede
generar una curva de costo promedio, la
cual luce así.
1500
Costo por horas extra

1000
500
0

420 430 440 450 460 470 480

Jornada de atencion al publico

83
Simulación de eventos
discretos (cont)
Si bien una función de costo es la mejor
opción, es muy común en ingeniería que
la misma sea muy difícil de obtener, o
que la misma sea tan subjetiva como las
elecciones que hemos hecho hasta
ahora para determinar óptimos.

84
Simulación de eventos
discretos (cont)
 Modelográfico de una cola con un servidor
usando Extend. El servidor toma a
los clientes y los
hace esperar
count
T U
F #
Exit

V 1 2 3 L W
D
Los clientes Los clientes
Rand Clientes
llegan a la esperan en la
salen del
cola. cola a ser
sistema
atendidos
1 2 3
Calcula
tiempo de
atención

85
Simulación de eventos
discretos (cont)

86