Вы находитесь на странице: 1из 13

Simulacin

Ingeniera en Sistemas de Informacin

Etapas de un Modelo de Simulacin


Determinacin del sistema, modelo y parmetros
Recoleccin de datos y estimacin de parmetros

Unidad 4: Simulacin de Sistemas de Eventos Discretos

Validacin Programacin del modelo Verificacin Validacin


Diseo de experimentos y corridas de simulacin

Anlisis de resultados Documentacin, presentacin e implementacin


2

Enfoques de Simulacin
Pueden clasificarse segn la evolucin de los sistemas en el tiempo:

Simulacin de Sistemas de Eventos Discretos


Modelos de Eventos Discretos El sistema cambia de estado en ciertos instantes de tiempo (Eventos).

Sistemas Discretos Sistemas Continuos Sistemas combinados


A3

A2

A1

A2

MEDICO Ocupado A2 A1

SA1

Simulacin - Unidad 4

Componentes de un Modelo de Simulacin de Sistemas Discretos


Representacin de arribos de nuevas entidades. Representacin de lo que sucede con las entidades dentro del sistema Mecanismo de Avance del tiempo Mecanismo de Finalizacin de la simulacin

Estructura de la Simulacin de un Sistema Discreto


Evento: es el cambio de estado de una entidad. Estado: es la configuracin de un sistema en un instante de tiempo dado. Mecanismo de avance de tiempos en los sistemas discretos: los estados permanecen constantes entre los eventos; esto permite que los lenguajes de simulacin de sistemas discretos utilicen la tcnica del evento siguiente (se ignora el tiempo transcurrido entre eventos consecutivos).

Estructura de la Simulacin de un Sistema Discreto


Proceso: es toda secuencia de eventos ordenada
temporalmente (sucesin de estados de una entidad sobre uno o ms intervalos sucesivos)

Actividad: es el conjunto de operaciones que cambian el estado de una entidad. Comnmente se define la actividad como las acciones entre dos eventos sucesivos, en el sistema o en la entidad. Recordemos que los eventos sucesivos en un sistema pueden o no pertenecer a la misma entidad.

Evento 1, 2 y 5: llegada. Evento 3, 4 y 6: fin servicio. Evento 3: inicia servicio C2.

Simulacin - Unidad 4

Evolucin del tiempo en la simulacin


Llegada 10 Cola
3 2 1

Grfica de Eventos, Procesos y Actividades


Cli 2: Proceso Cli 2: actividad, Cli 2: actividad, esperar recibir servicio Cli 1: Proceso Cli 1: actividad, recibir servicio Cli1 llega Cli1 termina Cli2 recibe servicio Cli2 llega Cli2 espera Cli2 termina Eventos

20

30

40

50

60

70

10 Servidor Ocupado

20

30

40

50

60

70

Libre 10 Salida 20 30 40 50 60 70

Cli1 recibe servicio

10

20

30

40

50

60

70 Tiempo

Simulacin de Sistemas Discretos


Caracterstica Predominante: Congestin o Formacin de colas. Caractersticas de los Sistemas de Colas: - Patrn de Llegadas - Proceso de Servicio

Simulacin de Sistemas Discretos


El proceso de servicio que se caracteriza por : El tiempo que dura el servicio o frecuencia. La capacidad o cantidad de entidades a atender simultneamente. La disponibilidad El nmero de servicios por entidad si existe ms de una estacin La disciplina de la cola

Simulacin - Unidad 4

Simulacin de Sistemas Discretos


Existen varios tipos clsicos de disciplinas de colas: PEPS (FIFO) UEPS (LIFO) ALEATORIA: una entre varias con igualdad de probabilidades CON PRIORIDADES: primero la que requiere ms tiempo de servicio atendiendo a un nmero de prioridad en particular que tenga cada trabajo para el servicio

Representacin del Tiempo en Sistemas Discretos


Los mecanismos de avance de tiempo tienen que ser eficientes en la generacin del tiempo de los eventos involucrados en el sistema y en el tipo de evento siguiente que se producir. Los tiempos de servicio o de inter arribos se generan con mtodos apropiados. La actualizacin del tiempo simulado del sistema debe ser correctamente realizada para que la simulacin brinde resultados crebles.

Representacin del Tiempo en Sistemas Discretos


Variable Tiempo de reloj o simulacin" (TS), significa el tiempo de reloj indicado en el simulador y no el tiempo que se necesita para realizar la simulacin. Se inicia en cero y registra las unidades del tiempo simulado al final de la simulacin.

Generacin de Tiempos como Variables Aleatorias


Cmo se puede simular el tiempo en que tarda un empleado en atender a un camin, sabiendo que en la realidad estos tiempos no son fijos, que en determinados momentos se forma una cola de espera, o que el tiempo entre arribos de los camiones al lugar del servidor es aleatorio?

Simulacin - Unidad 4

Ejemplo
Generar 3 tiempos de arribos con distribucin exponencial con media de 5 minutos y 3 tiempos de servicio distribuido uniformemente entre 10 y 15 minutos.
Tiempos entre arribos: R=0,13 x = - 5 ln (0,13) = 10, 20 minutos
R=0,79 x = - 5 ln (0,79) = 1,18 minutos R=0,47 x = - 5 ln (0,47) = 3,79 minutos Tiempos de servicio: R=0,62 x = (15-10)0,62+10 =13,1 minutos R=0,02 x = (15-10)0,02+10 =10,1 minutos R=0,81 x = (15-10)0,81+10 =14,1 minutos

Ejemplo
Si se inicia el tiempo en cero y el sistema estaba vaco y el reloj marca las 8:00 hs, entonces tenemos el orden de los eventos: Primer arribo a las 8:10:12 hs Comienzo de atencin a las 8:10: 12 hs. Segundo arribo a las 8:11: 10 hs Tercer arribo a las 8: 14: 47 hs Fin de atencin del primer arribo a las 8:23:18 hs. Comienzo de atencin del segundo arribo a las 8:23:18 hs Fin de atencin del segundo arribo a las 8:33:24 hs. Comienzo de atencin del tercer arribo a las 8:33:24 hs. Fin de atencin del tercer arribo a las 8:47:30 hs.

Mtodos Bsicos de Actualizacin del Reloj


Orientado a intervalos o mtodo de incremento de tiempo uniforme (incremento de tiempo fijo): el tiempo de simulacin avanza en intervalos regulares y determina en cada intervalo si debe ocurrir un evento.

Preguntas

Simulacin - Unidad 4

Mtodos Bsicos de Actualizacin del Reloj


Comenzar Inicializar el Reloj de Simulacin

Mtodos Bsicos de Actualizacin del Reloj


e1 0 t e2 e3 2t 3t e4e5 4t 5t 6t 7t

Condicin fin Simulacin

Verdadero

Falso
Cambio de estado del sistema si ocurri un evento

Colectar Estadsticas

Incrementar Reloj en t

Se explora si en ese intervalo ocurrieron eventos. Los ejecuta si los hay. Actualiza los estadsticos Avanza otro t. En el intervalo [0, t]: ocurri e1 y se ejecuta en el tiempo t.

Imprimir resultados

Fin

Mtodos Bsicos de Actualizacin del Reloj


Se detectan los eventos que ocurren en el intervalo (t, t+ t ) slo en el tiempo t+ t, introduciendo errores en la simulacin. Si dos eventos estn separados por un largo perodo de tiempo comparado al t elegido, se deben avanzar y comparar varios t para la actualizacin del tiempo.

Mtodos Bsicos de Actualizacin del Reloj


Orientado al evento o mtodo de incremento de tiempo variable: el tiempo de simulacin avanza al tiempo necesario para alcanzar el prximo evento (el evento ms inminente), cualquiera sea ese incremento. Si hay eventos coincidentes se establecen prioridades

e1

e2 e3

e4e5

Simulacin - Unidad 4

Mtodos Bsicos de Actualizacin del Reloj


Comenzar Inicializar el Reloj de Simulacin

Mtodos Bsicos de Actualizacin del Reloj


Los cambios de estado se realizan cada vez que se avanza el tiempo de simulacin porque ocurre un evento que afecta el estado del sistema. Los perodos entre los eventos son tratados como perodos de inactividad.

Condicin fin Simulacin

Verdadero

Falso Avance el reloj al tiempo del evento siguiente

Cambiar el esta do del sistema

Colectar Estadsticas

Imprimir resultados

Fin

Mtodos Bsicos de Actualizacin del Reloj


En general, la mayora de los lenguajes de simulacin usan incrementos variables de tiempo. Los incrementos fijos de tiempo se usan en simulaciones continuas

Estructuras de control en los programas de simulacin


En el tiempo 0, programar un evento de parada de la simulacin a un tiempo especificado en el futuro, TE . Antes que comience la simulacin se sabe que la misma correr en el intervalo [0, TE ] Ejemplos:
- simular una caja de un banco por TE = 40 horas - simular el trnsito en sistema de peajes por TE = 1 semana - simular el procesamiento de un producto por TE = 1 turno de 8 horas.

Simulacin - Unidad 4

Estructuras de control en los programas de simulacin


La longitud de la corrida de la simulacin est determinada por la misma corrida. Generalmente, TE es el tiempo de ocurrencia de algn evento especificado. Ejemplos:
es el tiempo de parada de un sistema complejo - TE es el tiempo de retirada o de destruccin total en una simulacin de combate - TE es el tiempo en el que una empresa produce 3000 unidades. - Te es el tiempo en el que se atendi al cliente 100
- TE

Enfoques de Simulacin
Simulacin de Sistemas Discretos

Orientada al Intervalo

Orientada al Evento

Programacin Temporal de Eventos

Interaccin de Procesos

Bsqueda de Actividad

Programacin Temporal de Eventos


Describe los pasos que ocurren cuando tiene lugar un evento incondicional. El tiempo se avanza al tiempo de ocurrencia del evento siguiente y la simulacin se lleva a cabo mediante la ejecucin ordenada en el tiempo de la secuencia de eventos.

Programacin Temporal de Eventos


Qu eventos son incondicionales?. - Entrar - Salir = terminar de atender - Ocurrir una falla Qu eventos son condicionales? Comenzar a atender , comenzar a ser atendida

Simulacin - Unidad 4

Programacin Temporal de Eventos


Mtodo para modelizar Confeccionar un diagrama de flujo por cada evento incondicional. Un diagrama de control de simulacin. Una tabla de eventos con sus tiempos.

Programacin Temporal de Eventos


Se confecciona un diagrama de flujo por cada evento incondicional que ocurre. Los eventos condicionales se incluyen en los diagramas de flujo de los eventos de los que dependen (debe existir un diagrama por cada evento Incondicional). Cada diagrama concluye con un bloque que dice Seleccionar el evento siguiente. Cada vez que se programa un evento, se archiva un registro de identificacin del evento y del tiempo en que ocurre en una lista especial.

Programacin Temporal de Eventos


Cuando se encuentra con la instruccin seleccionar el evento siguiente, el programa busca esta lista para ejecutar el que corresponde en el tiempo de programacin ms prximo, esto es, salta el tiempo, se est usando la tcnica del evento siguiente. Como los eventos se programan, puede ocurrir que al ir a buscar en la lista, la computadora encuentre que dos de ellos ocurren simultneamente, entonces hay que establecer precedencias: por ejemplo si el tiempo de una entrada y una salida coincide, que primero ejecute la entrada y despus la salida.

Programacin Temporal de Eventos


Este enfoque de simulacin da una descripcin completa de los cambios de estado que se producen en el sistema cuando ocurre un evento, y los eventos estn ordenados especficamente por orden de ocurrencia. Los primeros lenguajes de simulacin que implementaron esta estrategia son SIMSCRIPT (Markowitz et al., 1963) y GASP (Pritsker, 1975).

Simulacin - Unidad 4

Programacin Temporal de Eventos. Ejemplo: sistema de descarga de un camin


Un camin con mercadera llega a un galpn atendido por un operario. Si el operario est ocupado cuando el camin ingresa a zona de descarga, pasa a una lnea de espera para luego recibir el servicio. Si el operario est desocupado, recibe el camin e inicia el servicio inmediatamente. Cuando sale el camin, el operario queda desocupado. Si existe lnea de espera vuelve a ocuparse Si no existe lnea de espera, queda desocupado hasta que ingrese un nuevo camin al sistema.

Programacin Temporal de Eventos. Ejemplo: sistema de descarga de un camin


Cules son las entidades del sistema? - los camiones - el operario. La cola es un conjunto al cual pertenecern los camiones. Cules son los eventos ? Llegada o entrada y salida de camiones Comienzo / fin de atencin al camin

Evento Incondicional: entrada de un camin para descarga en depsito


Cada camin ingresa con el atributo tiempo de llegada

Evento Incondicional: salida de un camin descargado

Se adiciona el tiempo de llegada al tiempo de servicio y se establece un evento de salida con un tiempo determinado que Ir a parar al registro de eventos para que el programa lo seleccione Cuando corresponda

Simulacin - Unidad 4

10

Programacin Temporal de Eventos


Tener en cuenta la disciplina de cola elegida. Incluir los puntos donde se guardan datos o actualizan variables. Tambin debe notarse que cada vez que entra un camin, se activa un registro con los atributos de este camin, esto hace que la cantidad de registros al final de la simulacin sea muy grande. Puede optarse por destruir este registro cada vez que el camin sale, lo que debe prever el diagrama del evento salida.

Programacin Temporal de Eventos. Otro Ejemplo


Ejemplo: Sistema de un Taller con un operario. Una pieza que requiere un servicio llega a un taller que tiene un operario. Si el operario est ocupado cuando ingresa la pieza, la misma pasa a una lnea de espera para luego recibir el servicio. Si el operario est desocupado, recibe la pieza e inicia el servicio inmediatamente. Cuando sale una pieza, el operario queda desocupado; si existe lnea de espera vuelve a ocuparse, si no existe lnea de espera, queda desocupado hasta que ingrese una nueva pieza al sistema. Considerar un tiempo de simulacin de 8 horas (480 minutos).

Programacin Temporal de Eventos.


Llegan piezas c/ x1 x2 minutos Atencin de una pieza z1 z2 minutos (operario)
ENTIDADES

Programacin Temporal de Eventos.


Evento Incondicional : ENTRADA DE UNA PIEZA.
Programar la siguiente entrada a tabla de eventos Si operario = ocupado crear registro de la pieza archivarlo en cola de espera cola = cola + 1 sino operario = ocupado determinar tiempo de servicio programar salida de la pieza(en base a evaluacin de tiempo de servicio) a tabla de eventos finsi Seleccionar el evento siguiente.

ESTADOS En espera En proceso Ocupado Desocupado

EVENTOS Llegar (incond.) Comenzar a ser atendida (cond.) Salir (incond.) Comenzar a atender (cond.) Terminar de atender (incond.)

PIEZAs

OPERARIO

Simulacin - Unidad 4

11

Programacin Temporal de Eventos.


Evento Incondicional : SALIDA DE UNA PIEZA. Si cola > 0 seleccionar una pieza de la cola de espera sacar pieza seleccionada de la cola de espera determinar tiempo de servicio programar salida de la pieza (en base a evaluacin de tiempo de
servicio) a tabla de eventos

Programacin Temporal de Eventos.


Programa principal: Se considera que la variable TS corresponde al tiempo de simulacin. Cantpiezas = 0 Programar la primera llegada a tabla de eventos Mientras (TS < 480) Consultar tabla eventos Actualizar reloj Ejecutar el evento Finmientras Imprimir estadsticas

cola = cola 1 Cantpiezas = Cantpiezas + 1 sino operario = desocupado finsi Seleccionar el evento siguiente.

Programacin Temporal de Eventos.


Tabla de eventos: Cada vez que hay una orden a tabla de eventos, hay que ordenar la tabla por tiempos Opcional Los tiempos de llegada y de servicio siguen distribuciones de probabilidades. Cada pieza ingresa con el atributo de tiempo de llegada. Cuando pasa por "determinar tiempo de servicio", se lo estima de la distribucin de tiempos de servicio el que corresponde . Luego continua en programar salida de la pieza donde se adiciona el tiempo de llegada al tiempo de servicio y se establece un evento salida con un tiempo determinado que ir a parar al registro de eventos para que el programa lo seleccione cuando corresponda.

Programacin Temporal de Eventos.


Ejercicio de prctica ejemplo parcial
Ejercicio N 1 Sean las primera y segunda semana de clases del primer cuatrimestre, cuando los alumnos van a la fotocopiadora para conseguir apuntes de Simulacin que no estn publicados en la pgina Web. El stock inicial es de 10 apuntes y el tiempo de pedidos de apuntes es exponencial con media de 30 minutos, en el horario de atencin de 15 a 23 hs. Si no hay apuntes los alumnos pueden encargarlos (70 %) o esperan para fotocopiarlos (30 %) con colas promedio de espera de 25 clientes y tiempos promedios de atencin de 10 minutos por alumno. Los empleados (4) de fotocopiadora tienen que satisfacer los pedidos de espera pero pueden fotocopiar entre 5 a 7 apuntes por da cada uno. El objetivo es disponer de un nivel ptimo de apuntes por da para satisfacer las demandas.

Simulacin - Unidad 4

12

Programacin Temporal de Eventos.


Entidades Atributos Estado Actividades Eventos Esperando apuntes Tiempo entre pedidos Arribo de alumnos a fotocopiadora Nmero de alumnos Stock inicial de apuntes Empleado de Fotocopiadora Finalizar atencin de alumno Cantidad de alumnos esperando apuntes Empleado Ocupado Tiempo total en el sistema Encargar apunte Iniciar atencin Salir Esperando alumno para atender Tiempo de espera en cola Cantidad de empleados Cantidad de apuntes en stock X

Programacin Temporal de Incondicionales: Arribo de alumnos, Finalizar atencin = Eventos. Salir


Ejercicio N 4 Para el problema del ejercicio N 1 identificar los eventos incondicionales y condicionales del subsistema de venta de apuntes de Simulacin. 4.1. Cuntos diagramas o rutinas debe realizar para resolver el problema por programacin temporal de eventos? 4.2. Realice los diagramas de los arribos de entidades al sistema 4.3. Cuntos fines de servicio debera programar si el tiempo de atencin de cada empleado es distinto? 4.4. Realice el diagrama para el fin de atencin para el empleado i 4.5. Realice el programa principal considerando que debe simular el sistema para 10 3 diagramas o 1 fin de servicio horas de trabajo. rutinas por cada empleado 4.6. Cmo maneja los eventos este programa? Escriba como lo hara para 5 eventos.
Condicional: Iniciar atencin

X X

Simulacin de Sistemas de Eventos Discretos

Preguntas

Fin clase 1 Unidad 4

Simulacin - Unidad 4

13

Вам также может понравиться