Professional Documents
Culture Documents
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
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
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
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
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
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) λatravé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
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)
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?
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
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)
3.0
15
2.5
2.0
10
1.5
1.0
5
0.5
0.0
0
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
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)
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
52
Aplicaciones (cont)
54
Aplicaciones (cont)
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
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
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
nε
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
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
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