2. Simulación es ...
• A grandes rasgos, imitación de un sistema con
un computador
• Necesita un modelo — validación?
• No es una alternativa a una solución analítica
– No se obtienen resultados exactos (malo)
– Trabaja con modelos complejos y realistas (bueno)
Simulation with
Arena C1/2
3. Algunas áreas de aplicación
• Fabricación
• Servicios
– Bancos, restaurantes, parques temáticos, ...
• Distribución y logística
• Sistemas de ordenadores
• Telecomunicaciones
• Militares
Simulation with
Arena C1/3
4. ¿Qué modelo lógico usar ?
• Si el modelo es suficientemente simple, un
modelo matemático tradicional (teoría de colas,
Cadenas de Markov,…)
– Bueno en el sentido que se obtienen respuestas exactas
– Suele requerir muchas simplificaciones para hacer el
problema tratable analíticamente.
• Muchos sistemas complejos no admiten estas
simplificaciones — Se necesita la SIMULACIÓN
Simulation with
Arena C1/4
5. Tipos de simulación
• Estática vs. Dinámica
– ¿ Juega un papel el tiempo en el modelo?
• Continuo vs. Discreto
– ¿ Cambia el “estado del sistema” de forma continua o solo
en algunos instantes de tiempo ?
• Deterministico vs. Estocástico
– ¿ Hay incertidumbres ?
• En nuestro caso:
– Dinámico, Discreto, estocástico
Simulation with
Arena C1/5
6. Simulación a mano:
El problema de la aguja de Buffon
• Estimar π (George Louis Leclerc, c. 1733)
• Lanzar una aguja de longitud l sobre una mesa
con bandas de anchura d (>l)
2l
• Prob. (aguja cruce una línea) = πd
• Repetir; contando p = proporción de veces en
que se cruza una línea
2l
• Estimar π by
pd Simulation with
Arena C1/6
7. El problema de Buffon
• El problema puede parecer tonto, pero encierra
conceptos importantes de simulación :
– Experimenta para estimar algo difícil de calcular
exactamente (en 1733)
– Aleatoriedad, por tanto la estimación no será exacta
– Réplicas (mientras más mejor) para reducir el error
Simulation with
Arena C1/7
8. Simulando S.E.D.
• Lenguajes de propósito general (FORTRAN, C)
– Tedioso, complejo, bajo nivel
– Muy flexibles
• Lenguajes de simulación
– GPSS, SIMSCRIPT, SLAM, SIMAN
– Muy populares y extendidos
• Simuladores de alto nivel
– Muy fáciles de usar, entorno gráfico
– Aplicación restringida (fabricación, comunicaciones)
– Flexibilidad limitada — validación del modelo?
Simulation with
Arena C1/8
9. Un sistema de producción simple
• Objetivo:
– Estimar la producción esperada
– Tiempo en cola, longitud de la cola, nivel de ocupación de la
máquina
Simulation with
Arena C1/9
10. Características del modelo
• Inicialmente (tiempo 0) vacío y desocupado
• Unidades de tiempo: minutos
• Instante de llegada: 0.00, 6.84, 9.24, 11.94, 14.53
– Tiempo entre llegadas: 6.84, 2.40, 2.70, 2.59, 0.73
• Tiempo de servicio: 4.58, 2.96, 5.86, 3.21, 3.11
• Fin cuando transcurran 15 minutos de tiempo
(simulado)
Simulation with
Arena C1/10
11. Objetivos del estudio:
Evaluación de las prestaciones
• Producción total de piezas (P)
• Tiempo medio de espera de piezas en cola:
N
N = no. Total de piezas en cola
∑ Di Di = tiempo de espera en cola de la i-ésima pieza
i =1 Conocido: D1 = 0
N N>1
• Tiempo máximo de espera de piezas en cola:
max Di
i =1,N
, Simulation with
Arena C1/11
12. Objetivo del estudio:
Evaluación de prestaciones (cont’d.)
• Número medio de piezas en cola :
15
Q(t) = número de piezas en cola
∫ Q(t ) dt en el instante t
0
15
• Número máximo de piezas en cola:
max Q(t )
0 ≤t ≤15
• Tiempo en proceso medio y maximo de piezas
(tiempo en el sistema, tiempo de ciclo)
∑ P=1Fi P ,
i max Fi Fi = tiempo en proceso de la pieza i
Simulation with
i =1,,P
Arena C1/12
13. Objetivo del estudio:
Evaluación de prestaciones (cont’d.)
• Utilización de la máquina (porcentaje de tiempo
ocupado)
15
∫ B(t ) dt 1 if the machine is busy at time t
B(t ) =
0 0 if the machine is idle at time t
15
• Otras posibilidades
Simulation with
Arena C1/13
14. Mecanismo de Simulación
• Las operaciones (llegadas, tiempo de servicio)
ocurrirán como en la realidad
• Las operaciones, cambios,.. Ocurrirán en el
instante adecuado y en el orden cronológico
correcto
• Las diferentes piezas interaccionan
• Se definirán “observadores”para obtener
medidas estadísticas de prestaciones
Simulation with
Arena C1/14
15. Elementos de la simulación
• Entidades
– Objetos que se mueven, cambian de estado o afectan y son
afectados por otras entidades
– Objetos dinámicos — Se crean, hacen cosas y
problablemente desaparecen
– Normalmente representan objetos reales
• En el ejemplo: Son entidades las piezas
– Suele haber muchas entidades del mismo tipo
simultáneamente
– Puede haber diferentes tipos de entidades
Simulation with
Arena C1/15
16. Elementos de la simulación (cont’d.)
• Atributos
– Características de las entidades:
– Todas las entidades tienen los mismos “campos” pero
diferentes valores para cada una, por ejemplo:
• Instante de llegada
• Instante de salida
• Prioridad en la cola
• Color
– En Arena las entidades tienen atributos predefinidos y
definidos por el usuario
Simulation with
Arena C1/16
17. Elementos de la simulación (cont’d.)
• Variables (Globales)
– Representan características del sistema independientemente
de las entidades
– Nombre, valor de las cuales sólo hay una copia para el modelo
completo
– No están asociadas a entidades
– Las entidades pueden acceder y modificar variables
• Tiempo de desplazamiento entre estaciones
• Número de piezas en el sistema
• Reloj de simulación
– En ARENA, existen predefinidas y de usuario
Simulation with
Arena C1/17
18. Elementos de la simulación (cont’d.)
• Recursos
– Elementos por los que las entidades “compiten”
• Maquinas
• Operario
• Espacio físico
– Las entidades solicitan un recurso, lo usan, lo liberan
– Un recurso puede tener varias unidades de capacidad
• Asientos en la mesa de un restaurante
• Mostradores de facturación en un aeropuerto
– El número de unidades puede ser cambiado durante la
simulación
Simulation with
Arena C1/18
19. Elementos de la simulación (cont’d.)
• Colas
– Lugar donde las entidades esperan mientras que el recurso
solicitado no está disponible
– Normalmente están asociadas a su correspondiente recurso
– Pueden tener capacidad finita (en la práctica cualquier
almacén es finito)— Es necesario modelar que ocurra
cuendo una entidad llega a una cola llena
– Suele ser de interés estadísticas sobre la longitud de la cola
y el tiempo de espera en cola
Simulation with
Arena C1/19
20. Elementos de la simulación (cont’d.)
• Acumuladores estadísticos
– Variables que “observan” que está pasando
– Son variables “Pasivas” enel modelo — no intervienen, sólo
“observan” y se actualizan
– La mayor parte se actualizan automáticamente
– Al finalizar la simulación, sirven para calcular los valores de las
prestaciones del sistema
Simulation with
Arena C1/20
21. Dinámica de la simulación: Eventos
• Identificar eventos — Instantes en los que
cambia el estado del modelo
• Determinar los cambios de estado para cada
tipo de evento
• Mantener un reloj de simulación y un
calendario de eventos futuros
• Saltar de un evento al siguiente, actualizar
estado, estadísticas y calendario de eventos
• Regla de fin de simulación
Simulation with
Arena C1/21
22. Eventos en el ejemplo
• Llegada de una nueva pieza al sistema
– Actualizar atributo instante de llegada con el valor actual del
reloj de simulación
– Si la máquina está desocupada:
• Comienza el procesado (planificar el fin de procesado),
máquina ocupada
– Else (la máquina está ocupada):
• Poner la pieza al final de la cola. Incrementar la longitud de la
cola
– Planificar el próximo evento de llegada
Simulation with
Arena C1/22
23. Eventos en el ejemplo (cont’d.)
• Fin de procesado
– Si la cola no está vacía:
• Coger la primera pieza de la cola y comenzar el procesado
(planificar evento de fin de procesado)
– Else (cola vacía):
• Máquina desocupada
Simulation with
Arena C1/23
24. Otros elementos en el ejemplo
• Reloj de simulación (interno en Arena)
• Calendario de eventos: Lista de eventos
registrados
– [Entity No., Event Time, Event Type]
– Mantener ordenados en orden cronológico
– Inicialmente, planificar la primera llegada y el fin de
simulación
• Variables de estado: describen el estado actual
– Estado de la máquina B(t) = 1 ocupado, 0 disponible
– Número de clientes en cola Q(t)
– Instantes de llegada de cada with actualmente en cola
Simulation cliente
Arena C1/24
25. Simulación a mano
System Clock B(t) Q(t) Arrival times of Event calendar
custs in queue
No. of completed Total of times in queue Area under B(t) Area under Q(t)
times in queue
B(t) graph
1
0 t
Q(t) graph
3
2
1
0 t
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
Simulation with
Arena C1/25
26. Simulación a mano:
Inicio en t = 0.00
System Clock B(t) Q(t) Arrival times of Event calendar
custs in queue [1, 0.00,Arr]
0.00 0 0 <empty> [-, 15.00, End]
No. of completed Total of times in queue Area under B(t) Area under Q(t)
times in queue
0 0.00 0.00 0.00
B(t) graph
1
0 t
Q(t) graph
3
2
1
0 t
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
Simulation with
Arena C1/26
27. Simulacíón a mano:
Llegada de Pieza 1 en t = 0.00
System Clock B(t) Q(t) Arrival times of Event calendar
custs in queue [1, 4.58,Dep]
11 0.00 1 0 <empty> [2, 6.84,Arr]
[-, 15.00, End]
No. of completed Total of times in queue Area under B(t) Area under Q(t)
times in queue
1 0.00 0.00 0.00
B(t) graph
1
0 t
Q(t) graph
3
2
1
0 t
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
Simulation with
Arena C1/27
28. Simulación a mano:
Fin de Servicio de pieza 1 en t = 4.58
System Clock B(t) Q(t) Arrival times of Event calendar
custs in queue [2, 6.84,Arr]
4.58 0 0 <empty> [-, 15.00, End]
No. of completed Total of times in queue Area under B(t) Area under Q(t)
times in queue
1 0.00 4.58 0.00
B(t) graph
1
0 t
Q(t) graph
3
2
1
0 t
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
Simulation with
Arena C1/28
29. Simulación a mano:
Llegada de pieza 2 en t = 6.84
System Clock B(t) Q(t) Arrival times of Event calendar
custs in queue [3, 9.24,Arr]
2 6.84 1 0 <empty> [2, 9.80,Dep]
[-, 15.00, End]
No. of completed Total of times in queue Area under B(t) Area under Q(t)
times in queue
2 0.00 4.58 0.00
B(t) graph
1
0 t
Q(t) graph
3
2
1
0 t
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
Simulation with
Arena C1/29
30. Simulación a mano:
Llegada de pieza 3 en t = 9.24
System Clock B(t) Q(t) Arrival times of Event calendar
custs in queue [2, 9.80,Dep]
3 2 9.24 1 1 9.24 [4, 11.94, Arr]
[-, 15.00, End]
No. of completed Total of times in queue Area under B(t) Area under Q(t)
times in queue
2 0.00 6.98 0.00
B(t) graph
1
0 t
Q(t) graph
3
2
1
0 t
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
Simulation with
Arena C1/30
31. Simulación a mano:
Fin de servicio de pieza 2 en t = 9.80
System Clock B(t) Q(t) Arrival times of Event calendar
custs in queue [4, 11.94, Arr]
3 9.80 1 0 <empty> [-, 15.00, End]
[3, 15.66, Dep]
No. of completed Total of times in queue Area under B(t) Area under Q(t)
times in queue
3 0.56 7.54 0.56
B(t) graph
1
0 t
Q(t) graph
3
2
1
0 t
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
Simulation with
Arena C1/31
32. Simulación a mano:
Llegadade pieza 4 en t = 11.94
System Clock B(t) Q(t) Arrival times of Event calendar
custs in queue [5, 14.53, Arr]
4 3 11.94 1 1 11.94 [-, 15.00, End]
[3, 15.66, Dep]
No. of completed Total of times in queue Area under B(t) Area under Q(t)
times in queue
3 0.56 9.68 0.56
B(t) graph
1
0 t
Q(t) graph 3
2
1
0 t
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
Simulation with
Arena C1/32
33. Simulación amano:
Llegada de pieza 5 en t = 14.53
System Clock B(t) Q(t) Arrival times of Event calendar
custs in queue [-, 15.00, End]
5 4 3 14.53 1 2 14.53, 11.94 [6, 15,26, Arr]
[3, 15.66, Dep
No. of completed Total of times in queue Area under B(t) Area under Q(t)
times in queue
3 0.56 12.27 3.15
B(t) graph
1
0 t
Q(t) graph
3
2
1
0 t
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
Simulation with
Arena C1/33
34. Simulación a mano:
Fin en t = 15.00
System Clock B(t) Q(t) Arrival times of Event calendar
custs in queue [6, 15,26, Arr]
5 4 3 15.00 1 2 14.53, 11.94 [3, 15.66, Dep]
No. of completed Total of times in queue Area under B(t) Area under Q(t)
times in queue
3 0.56 12.74 4.09
B(t) graph
1
0 t
Q(t) graph
3
2
1
0 t
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
Simulation with
Arena C1/34
35. Simulación a mano: Finalización
• Tiempo medio en cola:
Total of times in queue 0.56
= = 0.19 min./part
No. of times in queue completed 3
• Número medio de piezas en cola:
Area under Q(t ) curve 4.09
= = 0.27 part
Final clock value 15
• Porcentaje de utilización de la máquina
Area under B(t ) curve 12.74
= = 0.85 (dimensionless)
Final clock value Simulation with
15
Arena C1/35
37. Aleatoriedad en la Simulación
• Hasta ahora solo se ha realizado un experimento
(insuficiente para tomar decisiones)
• Si hacemos 5 experimentos:
Replication 1 2 3 4 5 Avg. Std.Dev.
Avg. time 0.19 1.12 3.72 0.00 0.00 1.01 1.59
in queue
Avg. no. in 0.27 0.30 0.99 0.00 0.00 0.31 0.41
queue
Machine 0.85 0.93 1.00 0.32 0.37 0.69 0.32
Utilization
• Se realizan análisis estadísticos sobre ellos (p.e.
Intervalos de confianza) i.c. 95%
159
.
101± 2.776
. , or 101± 197
. .
5
Simulation with
Arena C1/37
38. Comparación de alternativas
• Normalmente, la simulación se usa para más de
una configuración del sistema
• Se pretende comparar alternativas, seleccionar la
mejor (de acuerdo a algún criterio)
• En el ejemplo: ¿ Qué ocurriría si el flujo de
llegadas de pieza fuera el doble ?
– Los tiempo entre llegadas se reducen a la mitad
– Ejecutar de nuevo el modelo
– Realizar 5 experimentos
Simulation with
Arena C1/38
39. Resultados:
Original vs. Doble número de llegadas
1 Original Model
0 1 2 3
1
4
Double-Time Model
• Variación de resultados
Total Production
1 Original Model
• Peligro de tomar
1 Double-Time Model
decisiones basadas en
un experimento
0 1 2 3 4 5
Average Time in Queue
1 Original Model
1
Double-Time Model • Difícil de ver si hay
diferencias
3 4 5 6 7 8 9 10 11
Average Flowtime
Original Model
• Necesidad: Análisis
1
1
Double-Time Model
0 1 2
Average Number in Queue
3 4
estadístico de los datos
1 Original Model
Double-Time Model
de salida
1
Simulation with
0.4 0.6 0.8 1.0
Machine Utilization
Arena C1/39