1 / 37

Simulación Dr. Ignacio Ponzoni

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.

Download Presentation

Simulación Dr. Ignacio Ponzoni

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SimulaciónDr. 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

  2. Simulación de Eventos DiscretosConceptos 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.

  3. Simulación de Eventos DiscretosConceptos 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.

  4. Simulación de Eventos DiscretosConceptos 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.

  5. Simulación de Eventos DiscretosConceptos 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.

  6. Simulación de Eventos DiscretosConceptos 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.

  7. Simulación de Eventos DiscretosConceptos 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.

  8. Simulación de Eventos DiscretosConceptos 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.

  9. Actividad Actividad Actividad Simulación de Eventos DiscretosEvolución del Tiempo Primer Evento Segundo Evento Tercer Evento Evento Final Inicio ... tiempo

  10. 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.

  11. 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.

  12. Simulación de Sistemas de Eventos DiscretosVistas 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.

  13. Vistas del MundoEnfoque 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.

  14. Vistas del MundoEnfoque 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.

  15. Días Stock Inicial Producción Demanda Stock Final ... 1ro 200 120 140 180 ... 2do 180 90 100 170 ... 3er 170 130 100 200 ... ... ... ... Enfoque de Barrido de ActividadesTabla 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.

  16. Vistas del MundoEnfoque 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.

  17. Vistas del MundoEnfoque 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.

  18. Tiempo entre Arribo Tiempo entre Arribo Tiempo de Demora Tiempo de Servicio Tiempo de Servicio Vistas del MundoEnfoque de Interacción de ProcesosEvolución del Tiempo: Sistema de Colas con 1 Servidor Tiempo de Arribo Tiempo Inicio de Servicio Tiempo Finalización de Servicio Inicio Cliente 1 tiempo Tiempo Finalización de Servicio Tiempo Inicio de Servicio Tiempo de Arribo Inicio Cliente 2 tiempo

  19. 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 ... ... ... ... Enfoque de Interacción de ProcesosTabla 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.

  20. Vistas del MundoPlanificació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

  21. 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.

  22. Instante Inicial de la Simulacióny 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.

  23. 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”.

  24. Evento Tipo Reloj Clientes Estado Servidor ... 1 arribo 5:42 1 ocupado ... 2 partida 6:99 0 ocioso ... 3 arribo 7:00 1 ocupado ... ... ... ... Planificación de EventosTabla 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.

  25. Planificación de EventosCaso 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?

  26. 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

  27. Generación de Eventos EndógenosTiempos 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.

  28. Fin 5:00 F.P.O. 3:45 Planificación de EventosEjemplo con Tiempos de Fallas: Estado Inicial t2 t1 • Lista de Eventos: • Reloj: 3:00 Tiempo entre fallas Aleatorio: 45 min Evento Tipo Reloj T. Ocioso Acumulado Número de Fallas ... ... ... ... ... ... ...

  29. t1 t2 I.P.O. 4:05 Fin 5:00 Evento Tipo Reloj T. Ocioso Acumulado Número Fallas ... 1 F.P.O. 3:45 0 1 ... ... ... ... ... ... Planificación de EventosEjemplo: Tomo el primer aviso de eventoy genero un evento endógeno de Inicio de P.O. Tiempo de reparación Aleatorio: 20 min • Lista de Eventos: • Reloj: 3:45

  30. t1 t2 F.P.O. 4:10 Fin 5:00 Evento Tipo Reloj T. Ocioso Acumulado Número Fallas ... 1 F.P.O. 3:45 0 1 ... 2 I.P.O. 4:05 0:20 1 ... ... ... ... ... Planificación de EventosEjemplo: Tomo el primer aviso de eventoy genero un evento endógeno de Fin de P.O. Tiempo entre fallas Aleatorio: 5 min • Lista de Eventos: • Reloj: 4:05

  31. t1 t2 I.P.O. 4:35 Fin 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 ... ... ... ... Planificación de EventosEjemplo: Tomo el primer aviso de eventoy genero un evento endógeno de Inicio de P.O. Tiempo de reparación Aleatorio: 25 min • Lista de Eventos: • Reloj: 4:10

  32. Fin 5:00 F.P.O. 5:05 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 ... ... Planificación de EventosEjemplo: Tomo el primer aviso de eventoy genero un evento endógeno de Fin de P.O. t1 t2 Tiempo entre fallas Aleatorio: 30 min • Lista de Eventos: • Reloj: 4:35 0:45 2 ... 4:35 I.P.O.

  33. F.P.O. 5:05 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 5 ... Planificación de EventosEjemplo: Tomo el aviso de evento asociado al Fin de la Simulación y termino la simulación. t1 • Lista de Eventos: • Reloj: 5:00 0:45 2 ... 4:35 I.P.O. 0:45 2 ... 5:00 FIN

  34. Vistas del MundoEnfoque 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.

  35. Vistas del MundoEnfoque 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.

  36. Vistas del MundoEnfoque 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.

  37. Recomendaciones • Lectura sugerida: • Capítulo 3 del libro Discrete-Event System Simulation de Banks, Carson, Nelson y Nicol.

More Related