Sin título de diapositiva - LIDeCC

Download Report

Transcript Sin título de diapositiva - LIDeCC

Simulación
Dr. Ignacio Ponzoni
Clase IX: Conceptos Básicos de DEVS
Departamento de Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
Año 2005
Simulación de Eventos Discretos
Conceptos Básicos
•
•
•
Sistema: colección de entidades que interactúan en el
tiempo a fin de alcanzar cierto objetivo o meta.
Modelo de Simulación basado en Eventos Discretos: es
una abstracción que representa un sistema. Usualmente
contiene relaciones matemáticas, lógicas o estructurales
que describen el sistema en términos de estado, entidades
y sus atributos, procesos, eventos, actividades y demoras.
Estado del sistema: colección de variables que contienen
toda la información para describir el sistema en
cualquier instante de tiempo.
Simulación
2
Prof. Dr. Ignacio Ponzoni
Simulación de Eventos Discretos
Conceptos Básicos
•
•
•
Entidades: cualquier objeto o componente del sistema
que requiere explícita representación dentro del modelo.
Atributos: propiedades relevantes de las entidades que
integran el modelo bajo construcción.
Repositorios (listas o colas): colecciones permanentes o
temporales de entidades que circulan por el sistema.

En algunos sistemas se caracterizan por ser colas, en
otros simplemente son repositorios de entidades.
Simulación
3
Prof. Dr. Ignacio Ponzoni
Simulación de Eventos Discretos
Conceptos Básicos
•
Evento: una situación que ocurre en un instante de
tiempo y modifica el estado del sistema. Puede estar
asociado a cuando una entidad entra o sale de un
repositorio, o al inicio o finalización de una actividad.

Eventos exógenos: son eventos que provienen del exterior
del sistema, por ejemplo, los tiempos de arribo son ejemplo
de esta clase de eventos.

Eventos endógenos: son eventos que se generan en el
interior del sistema, los tiempo de finalización de servicio
son ejemplos de esta clase de eventos.
Simulación
4
Prof. Dr. Ignacio Ponzoni
Simulación de Eventos Discretos
Conceptos Básicos
•
•
Aviso de evento: es un registro de un evento que está
ocurriendo o que va a pasar en un momento futuro.
Mantiene la información necesaria para ejecutar el
evento.
Lista de eventos: lista formado por los avisos de
eventos que ocurrirán en nuestro sistema.

El orden de los avisos de evento en esta lista tiene en
cuenta el orden cronológico y el tipo de evento.
Simulación
5
Prof. Dr. Ignacio Ponzoni
Simulación de Eventos Discretos
Conceptos Básicos
•
Actividad: representa un tiempo de servicio, un tiempo
entre arribos, o cualquier tiempo de procesamiento que
el modelador haya especificado.

La duración de una actividad puede ser especificada de
distintas maneras:
1. Determinísticamente.
2. Estadísticamente.
3. Una función que depende de variables del sistema y/o
atributos de las entidades.
Simulación
6
Prof. Dr. Ignacio Ponzoni
Simulación de Eventos Discretos
Conceptos Básicos
•
•
•
Proceso: algunas veces es útil agrupar una
secuencia de eventos asociados al ciclo de vida de
una entidad. Básicamente, cada proceso es una
lista de eventos asociada a una entidad del sistema.
Demora: lapso de tiempo indefinido en que una
entidad se encuentra detenida dentro del sistema.
Reloj de Simulación: variable que representa el
tiempo simulado.
Simulación
7
Prof. Dr. Ignacio Ponzoni
Simulación de Eventos Discretos
Conceptos Básicos
•
•
•
La demoras también se conocen como esperas condicionales,
dado que generalmente están asociadas a la liberación de un
recurso, mientras que las actividades se denominan esperas
incondicionales.
La terminación de una actividad constituye un evento,
frecuentemente llamado evento primario, y se maneja
ubicando un aviso de evento en la lista de eventos de la
simulación.
La terminación de una demora suele denominarse evento
condicional o evento secundario, pero no se administra en la
lista de eventos. La información sobre las demoras se maneja
en otras estructuras de datos o variables de la simulación.
Simulación
8
Prof. Dr. Ignacio Ponzoni
Simulación de Eventos Discretos
Evolución del Tiempo
Primer
Evento
Inicio
Segundo
Evento
Tercer
Evento
Evento
Final
...
Actividad
Simulación
Actividad
tiempo
Actividad
9
Prof. Dr. Ignacio Ponzoni
Caracterización de Eventos
Discretos de un Sistema Dinámico
Ejemplo de un Sistema de Colas
• Un
restaurante de comidas rápidas para
automovilistas posee una vía de circulación y
dos empleados (Ana y Jorge) encargados de
atender a los clientes.
Simulación
10
Prof. Dr. Ignacio Ponzoni
•
•
•
•
Simulación
Estado del sistema:
 Cantidad de autos esperando en la cola.
 Estado en que se encuentra Ana (ocupada o libre).
 Estado en que se encuentra Jorge (ocupado o libre).
Entidades:
 clientes (autos).
 servidores (Ana y Jorge).
Eventos:
 arribos de autos.
 terminación de servicio por parte de Ana.
 terminación de servicio por parte de Jorge.
Actividades:
 tiempo entre arribos.
 tiempo de servicio de Ana.
 tiempo de servicio de Jorge.
11
Prof. Dr. Ignacio Ponzoni
Simulación de Sistemas de Eventos Discretos
Vistas del Mundo
•
Una simulación dinámica discreta puede abordarse
siguiendo distintas vistas o enfoques de modelado:
–Barrido de actividades.
–Interacción de procesos.
–Planificación de eventos.
–Método de las tres fases.
Simulación
12
Prof. Dr. Ignacio Ponzoni
Vistas del Mundo
Enfoque de Barrido de Actividades
•
•
•
•
Este enfoque se concentra en las actividades del
modelo y en las condiciones necesarias para llevar a
cabo dichas actividades.
El reloj avanza en intervalos fijos de k unidades de
tiempo.
Cada vez que el reloj de simulación avanza, se
chequean las condiciones requeridas para realizar
cada actividad.
Si para alguna actividad se satisfacen todas sus
condiciones, se inicia su ejecución.
Simulación
13
Prof. Dr. Ignacio Ponzoni
Vistas del Mundo
Enfoque de Barrido de Actividades
•
•
Este enfoque resulta muy útil en la simulación de
sistemas de inventario dado que generalmente los
niveles de stock son chequeados en intervalos fijos de
tiempo (cada hora, cada día, etc.).
En algunos sistemas complejos este enfoque acarrea
un alto costo en tiempo de ejecución debido a la
sobrecarga generada por los numerosos chequeos que
deben efectuarse.
Simulación
14
Prof. Dr. Ignacio Ponzoni
Enfoque de Barrido de Actividades
Tabla de Simulación
Cuando la simulación se organiza mediante tablas siguiendo
el enfoque de barrido de actividades, las filas representan
el estado del sistema para una dado período.
Días
Stock Inicial Producción
Demanda
Stock Final
...
1ro
200
120
140
180
...
2do
180
90
100
170
...
3er
170
130
100
200
...
...
...
...
Simulación
15
Prof. Dr. Ignacio Ponzoni
Vistas del Mundo
Enfoque de Interacción de Procesos
•
•
En este enfoque el analista define el modelo de
simulación en términos de las entidades u objetos
del sistema y en como fluye el ciclo de vida de
dichas entidades a través del sistema, demandando y
consumiendo recursos.
Un proceso corresponde al ciclo de vida de una
entidad, el cual está conformado por varios eventos
y actividades.
Simulación
16
Prof. Dr. Ignacio Ponzoni
Vistas del Mundo
Enfoque de Interacción de Procesos
•
•
Algunas actividades pueden requerir y consumir
recursos del sistema cuya capacidad es limitada. Estas
y otras situaciones pueden provocar la necesidad de
interacción entre los distintos procesos a fin de
gestionar el acceso a los recursos compartidos (por
ejemplo, el acceso a los servidores).
Varios lenguajes de programación y paquetes para
simulación, tales como Simul8, Simprocess, AutoMod
y MicroSaint, soportan este enfoque de modelado.
Simulación
17
Prof. Dr. Ignacio Ponzoni
Vistas del Mundo
Enfoque de Interacción de Procesos
Evolución del Tiempo: Sistema de Colas con 1 Servidor
Inicio
Tiempo
de Arribo
Tiempo Inicio
de Servicio
Tiempo Finalización
de Servicio
Cliente 1
tiempo
Tiempo
entre Arribo
Inicio
Tiempo
de Servicio
Tiempo Tiempo Inicio Tiempo Finalización
de Servicio
de Arribo de Servicio
Cliente 2
tiempo
Tiempo de
Tiempo
entre Arribo Demora
Simulación
18
Tiempo
de Servicio
Prof. Dr. Ignacio Ponzoni
Enfoque de Interacción de Procesos
Tabla de Simulación
Cuando la simulación se organiza mediante tablas siguiendo
el enfoque de interacción de procesos, cada fila representa el
ciclo de vida de un cliente.
Cliente
Arribo
Inicio de
Servicio
Tiempo de
Servicio
Fin de
Servicio
...
1
4:56
6:13
1:23
7:36
...
2
5:12
7:36
2:51
10:25
...
3
7:25
10:25
1.00
11.25
...
...
...
...
Simulación
19
Prof. Dr. Ignacio Ponzoni
Vistas del Mundo
Planificación de Eventos
•
•
Un mecanismo para avanzar el tiempo de simulación
en este enfoque y garantizar que todos los eventos
ocurran en el orden cronológico correcto consiste en
administrar una lista de eventos.
En un instante t, la lista de eventos contendrá n
eventos con tiempo t1, t2, …, tn. En ese momento, el
reloj de simulación tendrá tiempo t y se debe verificar
que:
t < t1  t2  t3 …  tn
Simulación
20
Prof. Dr. Ignacio Ponzoni
Planificación de Eventos
Avance del Tiempo - Bootstrapping
• La simulación progresará tomando siempre el evento
más inminente, el t1 de la secuencia. Luego:





•
el aviso de evento de t1 es removido de la lista,
el reloj se avanza al tiempo t1,
se ejecuta el evento actualizando el estado del sistema,
y nuevos eventos pueden o no ser generados e
incorporados a la lista preservando el orden
cronológico de la misma.
se actualiza la información estadística.
Estos pasos se repiten hasta terminar la simulación.
Simulación
21
Prof. Dr. Ignacio Ponzoni
Instante Inicial de la Simulación
y Generación de Eventos
•
El estado del sistema en el instante 0 de la simulación
es definido mediante las condiciones iniciales y la
generación de los eventos exógenos provenientes del
entorno de nuestro sistema.
Simulación
22
Prof. Dr. Ignacio Ponzoni
Generación del Evento de
Finalización de la Simulación
Existen dos métodos básicos para establecer la
terminación de una simulación:
•En el instante 0 se genera un tipo de evento especial
de terminación cuyo tiempo t corresponde a la última
unidad de tiempo correspondiente a la duración de
toda la simulación.
•Se
especifica una condición de terminación. Por
ejemplo, “la simulación termina luego de finalizar la
atención del cliente número 100”.
Simulación
23
Prof. Dr. Ignacio Ponzoni
Planificación de Eventos
Tabla de Simulación
Cuando la simulación se organiza mediante tablas siguiendo
el enfoque de planificación de eventos, cada fila representa
la ocurrencia de un evento de la simulación.
Evento
Tipo
Reloj
Clientes
Estado
Servidor
...
1
arribo
5:42
1
ocupado
...
2
partida
6:99
0
ocioso
...
3
arribo
7:00
1
ocupado
...
...
...
...
Simulación
24
Prof. Dr. Ignacio Ponzoni
Planificación de Eventos
Caso de Estudio: Fallas y Reparación de una Máquina
•
•
•
Suponga que se desea estudiar la evolución de un
sistema dinámico formado por una máquina que
sufre regularmente de fallas en su funcionamiento.
Básicamente, está máquina está operativa durante
cierto período de tiempo, luego se produce una falla y
deja de funcionar hasta que es reparada y vuelve a
iniciar un ciclo operativo.
¿Cómo caracterizaría este problema a fin de poder
estudiarlo como un sistema de eventos discretos?
Simulación
25
Prof. Dr. Ignacio Ponzoni
Caso de Estudio: Fallas y Reparación de una Máquina
Caracterización como Sistema de Eventos Discretos
• Estado del sistema:
 Cantidad de fallas producidas.
 Estado en que se encuentra la máquina (operativa u ociosa)
• Entidades:
 fallas
 máquina
• Eventos:
 inicio de período operativo (I.P.O)
 fin de período operativo (F.P.O.)
 terminación de la simulación (FIN)
• Actividades:
 tiempo entre fallas
 tiempo de reparación
Simulación
26
Prof. Dr. Ignacio Ponzoni
Generación de Eventos Endógenos
Tiempos de Fallas
•
•
Cada vez que se remueve de la lista de eventos un aviso
de fin de período operativo de la máquina con tiempo t,
se agrega un aviso de evento de fin de período NO
operativo con tiempo t+s, donde s se obtiene siguiendo
alguna distribución probabilística apropiada para el
tiempo de reparación de la máquina.
De manera similar, cada vez que se remueve un aviso de
fin de período NO operativo, se genera un evento de fin
de período operativo utilizando una distribución
probabilística apropiada para el tiempo entre fallas.
Simulación
27
Prof. Dr. Ignacio Ponzoni
Planificación de Eventos
Ejemplo con Tiempos de Fallas: Estado Inicial
•
•
Lista de Eventos:
Reloj: 3:00
Evento
Tipo
t1
t2
F.P.O.
3:45
Fin
5:00
Reloj
T. Ocioso
Acumulado
Tiempo entre fallas
Aleatorio: 45 min
Número de
Fallas
...
...
...
...
...
...
...
Simulación
28
Prof. Dr. Ignacio Ponzoni
Planificación de Eventos
Ejemplo: Tomo el primer aviso de evento
y genero un evento endógeno de Inicio de P.O.
•
•
t1
Lista de Eventos:
Reloj: 3:45
t2
Fin
5:00
I.P.O.
4:05
Tiempo de reparación
Aleatorio: 20 min
Evento
Tipo
Reloj
T. Ocioso
Acumulado
Número
Fallas
...
1
F.P.O.
3:45
0
1
...
...
...
...
...
...
Simulación
29
Prof. Dr. Ignacio Ponzoni
Planificación de Eventos
Ejemplo: Tomo el primer aviso de evento
y genero un evento endógeno de Fin de P.O.
•
•
t1
Lista de Eventos:
Reloj: 4:05
t2
Fin
5:00
F.P.O.
4:10
Evento
Tipo
Reloj
1
F.P.O.
3:45
2
I.P.O.
4:05
T. Ocioso
Acumulado
Tiempo entre fallas
Aleatorio: 5 min
Número
Fallas
...
0
1
...
0:20
1
...
...
...
...
...
Simulación
30
Prof. Dr. Ignacio Ponzoni
Planificación de Eventos
Ejemplo: Tomo el primer aviso de evento
y genero un evento endógeno de Inicio de P.O.
•
•
t1
Lista de Eventos:
Reloj: 4:10
t2
Fin
5:00
I.P.O.
4:35
Tiempo de reparación
Aleatorio: 25 min
Evento
Tipo
Reloj
T.Ocioso
Acumulado
Número de
Fallas
...
1
F.P.O.
3:45
0
1
...
2
I.P.O.
4:05
0:20
1
...
3
F.P.O.
4:10
0:20
2
...
...
...
...
Simulación
31
Prof. Dr. Ignacio Ponzoni
Planificación de Eventos
Ejemplo: Tomo el primer aviso de evento
y genero un evento endógeno de Fin de P.O.
•
•
t1
Lista de Eventos:
Reloj: 4:35
t2
F.P.O.
5:05
Fin
5:00
Tiempo entre fallas
Aleatorio: 30 min
Evento
Tipo
Reloj
T.Ocioso
Acumulado
Número de
Fallas
...
1
F.P.O.
3:45
0
1
...
2
I.P.O.
4:05
0:20
1
...
3
F.P.O.
4:10
0:20
2
...
4
I.P.O.
4:35
0:45
2
...
...
...
Simulación
32
Prof. Dr. Ignacio Ponzoni
Planificación de Eventos
Ejemplo: Tomo el aviso de evento asociado al
Fin de la Simulación y termino la simulación.
•
•
t1
F.P.O.
5:05
Lista de Eventos:
Reloj: 5:00
Evento
Tipo
Reloj
T.Ocioso
Acumulado
Número de
Fallas
...
1
F.P.O.
3:45
0
1
...
2
I.P.O.
4:05
0:20
1
...
3
F.P.O.
4:10
0:20
2
...
4
I.P.O.
4:35
0:45
2
...
5
FIN
5:00
0:45
2
...
...
Simulación
33
Prof. Dr. Ignacio Ponzoni
Vistas del Mundo
Enfoque de las Tres Fases
•
•
•
Este enfoque combina algunas de las características de
la planificación de eventos con la técnica de barrido de
actividades para lograr un avance del tiempo variable y
evitar el barrido de condiciones cuando no resulta
necesario.
Esta técnica es muy útil en sistemas complejos en donde
la combinación de varios recursos es necesario para
llevar adelante distintas tareas.
En este método los eventos son considerados actividades
con una duración de 0 unidades de tiempo.
Simulación
34
Prof. Dr. Ignacio Ponzoni
Vistas del Mundo
Enfoque de las Tres Fases
•
Con esta definición, las actividades son clasificadas en
dos categorías:

Actividades B: actividades ligadas a un suceso,
todos los eventos primarios y actividades no
condicionales corresponden a este grupo. Este tipo
de actividades se mantiene en una lista de eventos.

Actividades C: actividades o eventos que sólo se
producirán cuando se verifiquen ciertas situaciones.
Simulación
35
Prof. Dr. Ignacio Ponzoni
Vistas del Mundo
Enfoque de las Tres Fases
•
El método consiste en repetir las siguientes fases:

FASE A: Remover de la lista de eventos el próximo evento y
avanzar el tiempo de reloj al tiempo de dicho evento. Remover de la
lista cualquier otro evento que tenga el mismo tiempo que el reloj.

FASE B: Ejecutar todas los eventos removidos de la lista en la fase
anterior (estos eventos corresponden a Actividades B). La ejecución
de estos eventos puede provocar modificaciones en el estado del
sistema.

FASE C: Chequear el cumplimiento de las condiciones para cada
una de las Actividades C. Ejecutar todas aquellas actividades cuyas
condiciones hayan sido verificadas. Repetir el barrido de chequeos
hasta que ninguna actividad adicional de clase C pueda ser
ejecutada, en dicho caso se retorna a la FASE A.
Simulación
36
Prof. Dr. Ignacio Ponzoni
Recomendaciones
• Lectura sugerida:

Simulación
Capítulo 3 del libro Discrete-Event System
Simulation de Banks, Carson, Nelson y Nicol.
37
Prof. Dr. Ignacio Ponzoni