qué es la simulación
DESCRIPTION
esto es simulacionTRANSCRIPT
1
Simulación de Eventos Discretos
Simulation with ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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)
• Prob. (aguja cruce una línea) =
• Repetir; contando = proporción de veces en que se cruza una línea
• Estimar π by
2ldπ
p
2lpd
Simulation with ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/11
Objetivos del estudio:Evaluación de las prestaciones
• Producción total de piezas (P)
• Tiempo medio de espera de piezas en cola:
• Tiempo máximo de espera de piezas en cola:
D
N
ii
N
=∑
1
N = no. Total de piezas en colaDi = tiempo de espera en cola de la i-ésima piezaConocido: D1 = 0
N > 1
max, ,i N
iD=1
Simulation with ArenaWhat is Simulation?
C1/12
Objetivo del estudio:Evaluación de prestaciones (cont’d.)
• Número medio de piezas en cola :
• Número máximo de piezas en cola:
• Tiempo en proceso medio y maximo de piezas (tiempo en el sistema, tiempo de ciclo)
Q(t) = número de piezas en cola en el instante t
max ( )0 15≤ ≤t
Q t
F P FiiP
i Pi= =
∑ 11
, max, ,
Fi = tiempo en proceso de la pieza i
Q t dt( )0
15
15
∫
Simulation with ArenaWhat is Simulation?
C1/13
Objetivo del estudio:Evaluación de prestaciones (cont’d.)
• Utilización de la máquina (porcentaje de tiempo ocupado)
• Otras posibilidades
B t dt( )0
15
15
∫ B tt
t( ) =
1
0
if the machine is busy at time
if the machine is idle at time
Simulation with ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/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 cliente actualmente en cola
Simulation with ArenaWhat is Simulation?
C1/25
Simulación a mano
System Clock B(t) Q(t) Arrival times ofcusts in queue
Event calendar
No. of completedtimes in queue
Total of times in queue Area under B(t) Area under Q(t)
B(t) graph
Q(t) graph
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
t01
t0123
Simulation with ArenaWhat is Simulation?
C1/26
Simulación a mano:Inicio en t = 0.00
System Clock
0.00
B(t)
0
Q(t)
0
Arrival times ofcusts in queue<empty>
Event calendar[1, 0.00,Arr][-, 15.00, End]
No. of completedtimes in queue0
Total of times in queue
0.00
Area under B(t)
0.00
Area under Q(t)
0.00
B(t) graph
Q(t) graph
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
t0
1
t0123
Simulation with ArenaWhat is Simulation?
C1/27
Simulacíón a mano:Llegada de Pieza 1 en t = 0.00
System Clock
0.00
B(t)
1
Q(t)
0
Arrival times ofcusts in queue<empty>
Event calendar[1, 4.58,Dep][2, 6.84,Arr][-, 15.00, End]
No. of completedtimes in queue1
Total of times in queue
0.00
Area under B(t)
0.00
Area under Q(t)
0.00
B(t) graph
Q(t) graph
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
1
t0123
t0
1
1
Simulation with ArenaWhat is Simulation?
C1/28
Simulación a mano:Fin de Servicio de pieza 1 en t = 4.58
System Clock
4.58
B(t)
0
Q(t)
0
Arrival times ofcusts in queue<empty>
Event calendar[2, 6.84,Arr][-, 15.00, End]
No. of completedtimes in queue1
Total of times in queue
0.00
Area under B(t)
4.58
Area under Q(t)
0.00
B(t) graph
Q(t) graph
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
t0
1
t0123
Simulation with ArenaWhat is Simulation?
C1/29
Simulación a mano:Llegada de pieza 2 en t = 6.84
System Clock
6.84
B(t)
1
Q(t)
0
Arrival times ofcusts in queue<empty>
Event calendar[3, 9.24,Arr][2, 9.80,Dep][-, 15.00, End]
No. of completedtimes in queue2
Total of times in queue
0.00
Area under B(t)
4.58
Area under Q(t)
0.00
B(t) graph
Q(t) graph
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
2
t01
t0123
Simulation with ArenaWhat is Simulation?
C1/30
Simulación a mano:Llegada de pieza 3 en t = 9.24
System Clock
9.24
B(t)
1
Q(t)
1
Arrival times ofcusts in queue9.24
Event calendar[2, 9.80,Dep][4, 11.94, Arr][-, 15.00, End]
No. of completedtimes in queue2
Total of times in queue
0.00
Area under B(t)
6.98
Area under Q(t)
0.00
B(t) graph
Q(t) graph
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
23
t01
t0123
Simulation with ArenaWhat is Simulation?
C1/31
Simulación a mano:Fin de servicio de pieza 2 en t = 9.80
System Clock
9.80
B(t)
1
Q(t)
0
Arrival times ofcusts in queue<empty>
Event calendar[4, 11.94, Arr][-, 15.00, End][3, 15.66, Dep]
No. of completedtimes in queue3
Total of times in queue
0.56
Area under B(t)
7.54
Area under Q(t)
0.56
B(t) graph
Q(t) graph
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
3
t01
t0123
Simulation with ArenaWhat is Simulation?
C1/32
Simulación a mano:Llegadade pieza 4 en t = 11.94
System Clock
11.94
B(t)
1
Q(t)
1
Arrival times ofcusts in queue11.94
Event calendar[5, 14.53, Arr][-, 15.00, End][3, 15.66, Dep]
No. of completedtimes in queue3
Total of times in queue
0.56
Area under B(t)
9.68
Area under Q(t)
0.56
B(t) graph
Q(t) graph
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
34
t01
t0123
Simulation with ArenaWhat is Simulation?
C1/33
Simulación amano:Llegada de pieza 5 en t = 14.53
System Clock
14.53
B(t)
1
Q(t)
2
Arrival times ofcusts in queue14.53, 11.94
Event calendar[-, 15.00, End][6, 15,26, Arr][3, 15.66, Dep
No. of completedtimes in queue3
Total of times in queue
0.56
Area under B(t)
12.27
Area under Q(t)
3.15
B(t) graph
Q(t) graph
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
35 4
t0
1
t0123
Simulation with ArenaWhat is Simulation?
C1/34
Simulación a mano:Fin en t = 15.00
System Clock
15.00
B(t)
1
Q(t)
2
Arrival times ofcusts in queue14.53, 11.94
Event calendar[6, 15,26, Arr][3, 15.66, Dep]
No. of completedtimes in queue3
Total of times in queue
0.56
Area under B(t)
12.74
Area under Q(t)
4.09
B(t) graph
Q(t) graph
Interarrival times 6.84 2.40 2.70 2.59 0.73
Service times 4.58 2.96 5.86 3.21 3.11
35 4
t0
1
t0123
Simulation with ArenaWhat is Simulation?
C1/35
Simulación a mano: Finalización
• Tiempo medio en cola:
• Número medio de piezas en cola:
• Porcentaje de utilización de la máquina
Total of times in queueNo. of times in queue completed
min./part= =0 563
019.
.
Area under ( ) curveFinal clock value
partQ t = =4 09
150 27
..
Area under ( ) curveFinal clock value
(dimensionless)B t = =1274
150 85
..
Simulation with ArenaWhat is Simulation?
C1/36
Registro completo de la simulación
Just-Finished Event Variables Attributes Statistical Accumulators Event CalendarEntityNo.
Timet
EventType Q(t) B(t)
Arrival Times:(In Queue) In Service P N ΣD D* ΣF F* ∫Q Q* ∫B [Entity No., Time, Type]
– 0.00 Init 0 0 ( ) ___ 0 0 0.00 0.00 0.00 0.00 0.00 0 0.00[1,[–,
0.00,15.00,
Arr]End]
1 0.00 Arr 0 1 ( ) 0.00 0 1 0.00 0.00 0.00 0.00 0.00 0 0.00[1,[2,[–,
4.58,6.84,
15.00,
Dep]Arr]End]
1 4.58 Dep 0 0 ( ) ___ 1 1 0.00 0.00 4.58 4.58 0.00 0 4.58[2,[–,
6.84,15.00,
Arr]End]
2 6.84 Arr 0 1 ( ) 6.84 1 2 0.00 0.00 4.58 4.58 0.00 0 4.58[3,[2,[–,
9.24,9.80,
15.00,
Arr]Dep]End]
3 9.24 Arr 1 1 (9.24) 6.84 1 2 0.00 0.00 4.58 4.58 0.00 1 6.98[2,[4,[–,
9.80,11.94,15.00,
Dep]Arr]End]
2 9.80 Dep 0 1 ( ) 9.24 2 3 0.56 0.56 7.54 4.58 0.56 1 7.54[4,[–,[3,
11.94,15.00,15.66,
Arr]End]Dep]
4 11.94 Arr 1 1 (11.94) 9.24 2 3 0.56 0.56 7.54 4.58 0.56 1 9.68[5,[–,[3,
14.53,15.00,15.66,
Arr]End]Dep]
5 14.53 Arr 2 1 (14.53, 11.94) 9.24 2 3 0.56 0.56 7.54 4.58 3.15 2 12.27[–,[6,[3,
15.00,15.26,15.66,
End]Arr]
Dep]
– 15.00 End 2 1 (14.53, 11.94) 9.24 2 3 0.56 0.56 7.54 4.58 4.09 2 12.74[6,[3,
15.26,15.66,
Arr]Dep]
Simulation with ArenaWhat is Simulation?
C1/37
Aleatoriedad en la Simulación
• Hasta ahora solo se ha realizado un experimento (insuficiente para tomar decisiones)
• Si hacemos 5 experimentos:
• Se realizan análisis estadísticos sobre ellos (p.e.
Intervalos de confianza) i.c. 95%
Replication 1 2 3 4 5 Avg. Std.Dev.
Avg. timein queue
0.19 1.12 3.72 0.00 0.00 1.01 1.59
Avg. no. inqueue
0.27 0.30 0.99 0.00 0.00 0.31 0.41
MachineUtilization
0.85 0.93 1.00 0.32 0.37 0.69 0.32
101 2 776159
5101 197. .
., . .± ± or
Simulation with ArenaWhat is Simulation?
C1/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 ArenaWhat is Simulation?
C1/39
Resultados: Original vs. Doble número de llegadas
• Variación de resultados
• Peligro de tomar decisiones basadas en un experimento
• Difícil de ver si hay diferencias
• Necesidad: Análisis estadístico de los datos de salida
0 1 2 3 4
Original Model
Double-Time Model1
1
Total Production
0 1 2 3 4
Original Model
Double-Time Model
Average Time in Queue5
1
1
3 54 8 9
Original Model
Double-Time Model
Average Flowtime11
1
1
76 10
0 1 2 3 4
Original Model
Double-Time Model1
Average Number in Queue
1
0.4 0.6 0.8 1.0
Original Model
Double-Time Model1
1
Machine Utilization