Qué es la simulación

39
1 Simulación de Eventos Discretos

description

esto es simulacion

Transcript of Qué es la simulación

Page 1: Qué es la simulación

1

Simulación de Eventos Discretos

Page 2: Qué es la simulación

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)

Page 3: Qué es la simulación

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

Page 4: Qué es la simulación

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

Page 5: Qué es 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

Page 6: Qué es la simulación

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

Page 7: Qué es la simulación

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

Page 8: Qué es la simulación

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?

Page 9: Qué es la simulación

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

Page 10: Qué es la simulación

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)

Page 11: Qué es la simulación

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

Page 12: Qué es la simulación

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

Page 13: Qué es la simulación

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

Page 14: Qué es la simulación

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

Page 15: Qué es la simulación

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

Page 16: Qué es la simulación

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

Page 17: Qué es la simulación

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

Page 18: Qué es la simulación

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

Page 19: Qué es 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

Page 20: Qué es la simulación

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

Page 21: Qué es la simulación

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

Page 22: Qué es la 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

Page 23: Qué es la simulación

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

Page 24: Qué es la simulación

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

Page 25: Qué es la simulación

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

Page 26: Qué es la simulación

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

Page 27: Qué es la simulación

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

Page 28: Qué es la simulación

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

Page 29: Qué es la simulación

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

Page 30: Qué es la simulación

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

Page 31: Qué es la simulación

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

Page 32: Qué es la simulación

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

Page 33: Qué es la simulación

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

Page 34: Qué es la simulación

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

Page 35: Qué es la simulación

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

..

Page 36: Qué es la simulación

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]

Page 37: Qué es la simulación

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

Page 38: Qué es la simulación

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

Page 39: Qué es la simulación

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