Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Teoria Unidad 4
Teoria Unidad 4
Unidad 4
Fundamentos bsicos
Los componentes bsicos de un modelo de simulacin de eventos discretos son:
1. La representacin de arribos de nuevas entidades (clientes, piezas, etc.).
2. La representacin de lo que sucede con las entidades dentro del sistema.
3. El mecanismo de finalizacin de la simulacin (tiempo, cantidades de entidades atendidas,
etc.)
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
Cuando se habla de problemas de cola simples, en general se estn refiriendo a sistemas donde las
principales estadsticas de las llegadas o del servicio no cambian a lo largo del tiempo.
En cambio en problemas de colas complejos, se producirn variaciones como por ejemplo la
aparicin de horas pico para las llegadas, o el incremento de la capacidad de servicio cuando la
cola pasa de cierta longitud.
Para simular este tipo de problemas, en general, se hace que algn parmetro adecuado de la
distribucin estadstica cambie, por ejemplo la media.
Se encontrar que aparece adems otro tipo de palabras vinculadas a los problemas de colas, por
ejemplo retirarse se refiere a entidades que se van de la cola si el tiempo es demasiado; otro
ejemplo es sondeo que es el fenmeno del tipo de ms de una cola para un mismo servicio como
en un colectivo que va actuando sobre colas distintas en las distintas esquinas.
Cuando se simulan sistemas donde aparecen fenmenos de formacin de colas hay varios
descriptores tiles para obtener informacin del sistema a partir de la simulacin. Algunos de ellos
son:
Nmero promedio de entidades que estn en la cola, algunas veces las que esperan ms la
que est en servicio, la cola termina cuando la entidad sale. En todo caso esto ser una
definicin asumida de antemano.
Tiempo medio de espera por entidad.
Grado de servicio: % de entidades que esperan cierto tiempo para ser atendidas.
Probabilidad de entrar al sistema en un instante determinado y encontrar que existen n
entidades en el sistema (o menos de n entidades).
La duracin de la corrida simulada, si se fij que la simulacin se ejecuta para un cierto
nmero de trabajos (entidades).
El nmero de entidades atendidas, si se fij un tiempo de simulacin.
La influencia del tiempo de espera de la entidad n2, cuando n2 lleg despus de n1.
La influencia de la longitud de la cola en el tiempo t1 sobre la longitud de la cola en el
tiempo t2 =t1 + t
La periodicidad del comportamiento a lo largo de la cola.
Pgina 2 de 18
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
Ejemplo
En la figura se representa un problema simple de un servidor con una cola de atencin.
Llegada
Cola
3
2
1
0
Servidor
Ocupado
Libre
Salida
Tiempo
10
20
30
40
50
60
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
El primer mtodo detecta los eventos que ocurren en el intervalo (t, t+t) slo en el tiempo t+t,
introduciendo errores en la simulacin.
Otro problema de este enfoque de simulacin, es que si dos eventos estn separados por un largo
perodo de tiempo comparado al t elegido, para la actualizacin del tiempo, el simulador
proceder a travs de sucesivos incrementos de tiempo improductivos (perodos de inactividad) y
se gastar un esfuerzo computacional intilmente, ya que no se producir ningn cambio de
estado en el sistema.
Pgina 4 de 18
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
El otro mtodo involucra tiempos de activacin ordenados en una lista de tiempos y eventos
actuales y futuros.
En general, la mayora de los lenguajes de simulacin usan incrementos variables de tiempo. Los
incrementos fijos de tiempo se usan en simulaciones continuas.
Dentro de la orientacin al intervalo, con incremento variable de tiempo, hay 3 puntos de vista
diferentes para enfocar la estructura de los programas de simulacin o estrategias:
Orientada al Intervalo
Orientada al Evento
Interaccin de Procesos
Bsqueda de Actividad
Pgina 5 de 18
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
Dentro de los lenguajes de simulacin existentes, se pueden mencionar los siguientes segn la
estrategia seguida:
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. El simulador mantiene una lista ordenada de tiempos t 1, t2,..., tu, y eventos 1,2,...,
u. Y en el tiempo ti, se corre la rutina i correspondiente al evento que debe ejecutarse en
ese tiempo segn la lista. 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 lenguajes que usan esta
estrategia son SIMSCRIPT (Markowitz et al., 1963) y GASP (Pritsker, 1975).
Examen de la actividad: Revisin de todas las actividades para ver cual puede iniciarse o
terminarse cuando ocurre un evento. Es el menos difundido de los enfoques y un lenguaje
que lo soporta es el CLS (Buxton, 1966).
Interaccin del Proceso: Describe el progreso de una entidad a travs de un sistema desde el
evento de su llegada hasta el de su partida. Recordando las definiciones dadas, el
comportamiento del sistema se puede describir como un conjunto de procesos que
consisten de una coleccin de actividades mutuamente excluyentes. No se puede iniciar
ms de una actividad en un instante de tiempo determinado.
El sistema modelado se describe a travs de la interaccin entre los procesos que pueden
solaparse, como por ejemplo: varios procesos cliente compitiendo por los recursos (servidores) del
sistema. Por lo tanto, esta estrategia est basada en la descripcin de las actividades que deben
seguir las entidades (transaccin o proceso) a travs del modelo, en el tiempo, a lo largo de los
caminos de operacin creados por cada uno de los procesos paralelos.
El nfasis se da sobre la programacin de los procesos y los eventos son detectados y manejados
en forma implcita. Se mantiene una lista de procesos, cada una ordenada de acuerdo al tiempo de
ocurrencia del siguiente evento, y la coleccin de todos las secuencias de eventos juntas describen
todos los eventos que suceden en el sistema. Por lo que, la generacin del siguiente evento y la
programacin el prximo evento se activa indirectamente activando los procesos en el tope de la
lista.
Pgina 6 de 18
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
Un proceso puede ser interrumpido, y las rutinas tienen varios puntos de entrada, llamados
puntos de reactivacin. Los conflictos entre los procesos solapados se resuelven mediante
sentencias de espera (esperar en cola hasta ser seleccionado) y demora (por el tiempo de
servicio).
El tiempo est explcitamente incluido en la descripcin de la rutina de cada uno de los procesos.
Los lenguajes que siguen esta estrategia son GPSS (Scriber, 1974) y SIMULA (Birtwistle et al.,
1973). SIMSCRIPT II.5 (Russell, 1983) ofrece la posibilidad de elegir la estrategia de Programacin
Temporal de Eventos, como la de Interaccin de Procesos.
El subsistema seleccionado tiene las entidades pieza A, pieza B, pieza C, pieza D, Mquina
Ensamble 1 y Mquina Ensamble 2
Cules son los eventos?
Pgina 7 de 18
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
Pgina 8 de 18
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
total (lo que ocurra primero) en una simulacin de combate. TE es el tiempo en el que un
centro de distribucin enva la ltima caja en las rdenes diarias.
En el caso 2, TE no es conocido a priori. De hecho, es uno de los estadsticos de inters principal a
producir por la simulacin.
Pgina 9 de 18
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
Enfoques de Simulacin
Programacin Temporal de Eventos
En el enfoque de la programacin temporal de eventos, se confecciona un diagrama de flujo por
cada evento que ocurre. Sin embargo, si hay eventos que dependen de otros, puede inclurselos
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. 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.
Pgina 10 de 18
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
Aclaraciones:
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 extrae 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.
Para seleccionar una pieza de la cola habr que tener en cuenta la disciplina de cola elegida,
si se eligiera por ejemplo: tiempo mnimo de servicio o un nmero prioridad, debe
considerarse a este como un atributo de la pieza y estar incluido en el diagrama de
entrada, adems se debe prever alternativas para cuando existe empate en la seleccin. Por
ejemplo cuando varias entidades tienen igual nmero de prioridad.
Falta incluir en el diagrama todos los puntos donde se guardan datos o se actualizarn
variables que luego permiten obtener la informacin deseada, como por ejemplo: un
contador que lleve cuntas piezas se atendieron en la simulacin. Tambin debe notarse
que cada vez que entra una pieza, se activa un registro con los atributos de esta pieza, esto
hace que la cantidad de registros al final de la simulacin sea muy grande. Puede optarse
por destruir este registro cada vez que la pieza sale, lo que debe prever el diagrama del
evento salida.
Pgina 11 de 18
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
Pgina 12 de 18
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
Cola = cola + 1
Esperar hasta que sea seleccionada para el servicio
Sacar el registro de la cola
Destruir el registro
Cola = cola - 1
Fin si
Mquina = ocupada
Determinar tiempo de servicio
Avanzar el tiempo de acuerdo al tiempo de servicio
operario = desocupado
Pgina 13 de 18
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
Empleado Ocupado
Desocupado
Clientes
atributos
Eventos
Entrar (incond.)
Comenzar a esperar (cond.)
Comenzar a ser atendido (cond.)
Salir (incond.)
Atributos
Tiempos de llegada (dato)
Tiempos de espera (incgnita)
Tiempos de atencin (dato)
Tiempos de espera a los clientes (incgnita) (no se pide en el objetivo)
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
Ejemplo 2
Sea una farmacia donde arriban clientes cada 6 3 minutos. Luego que el cliente ingresa es
atendido por alguno de los dos farmacuticos disponibles con un tiempo de atencin de 16 8
Pgina 15 de 18
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
minutos. Si ambos estuvieran ocupados los clientes deben sacar un nmero y esperar su turno.
Una vez que el cliente realiza la compra de los medicamentos debe pasar por caja para abonarlos
donde demora 4 3 minutos.
Simular la llegada de 1000 clientes a la farmacia, obteniendo el tiempo promedio de atencin de
los clientes (considerando los farmacuticos y el cajero).
Se utiliza la tcnica de programacin temporal de eventos.
Eventos incondicionales:
Arribo de un cliente a la farmacia.
Fin de atencin de alguno de los farmacuticos.
Fin de atencin de la caja.
Evento incondicional: arribo de un cliente.
Programar el siguiente arribo
NCLI = NCLI + 1
Archivar tiempo de ingreso a la farmacia (TI = TS)
Si CANT-FARM = 0
Crear registro del cliente
Archivarlo en cola de espera del farmacutico
Colaf = colaf + 1
Sino
CANT-FARM = CANT-FARM - 1
Determinar tiempo de servicio del farmacutico
Programar fin de atencin del farmacutico (en base a evaluacin tiempo de servicio) a tabla de
eventos
Finsi
Seleccionar el evento siguiente.
Evento incondicional: fin de atencin del farmacutico
Si colaf > 0
Seleccionar un cliente de la cola de espera del farmacutico
Sacar cliente seleccionado de la cola de espera
Determinar tiempo de servicio del farmacutico
Programar fin de atencin del farmacutico (en base a evaluacin tiempo de servicio) a tabla de
eventos
Colaf = colaf - 1
Sino
CANT-FARM = CANT-FARM + 1
Finsi
Si cajero = ocupado
Archivar en cola de espera del cajero
Colac = colac + 1
Sino
Cajero = ocupado
Determinar tiempo de servicio del cajero
Programar fin de atencin del cajero (en base a evaluacin tiempo de servicio) a tabla de
eventos
Pgina 16 de 18
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
Finsi
Seleccionar el evento siguiente.
Evento incondicional: fin de atencin del cajero
NATEN = NATEN + 1
TTATEN = TTATEN + (TS - TI)
Si colac > 0
Seleccionar un cliente de la cola de espera del cajero
Sacar cliente seleccionado de la cola de espera
Determinar tiempo de servicio del cajero
Programar fin de atencin del cajero (en base a evaluacin tiempo de servicio) a tabla de
eventos
Colac = colac - 1
Sino
Cajero = desocupado
Finsi
Seleccionar el evento siguiente.
Programa principal:
Se considera que la variable TS corresponde al tiempo de simulacin.
NCLI = 0
* Nmero de clientes que arribaron
NATEN = 0
* Nmero de clientes atendidos
TTATEN = 0 * Tiempo total de atencin
NATEN = 0
* Nmero de clientes atendidos
Colac = 0
* Cola del cajero
Colaf = 0
* Cola de los farmacuticos
Cajero = desocupado
CANT-FARM = 2
Programar el primer arribo a tabla de eventos
Mientras (NCLI < 1000)
Consultar tabla eventos
Actualizar reloj
Ejecutar el evento
Finmientras
Imprimir tiempo de atencin promedio de clientes (TTATEN / NATEN)
Pgina 17 de 18
SIMULACIN
Ingeniera Sistemas de Informacin
Unidad 4
Bibliografa
Simulation Modeling and Analysis, Averil M. Law y W. David Kelton, Ed. Mc. Graw-Hill, (1991).
Discret-Event System Simulation, Jerry Banks, John S. Carson II, Barry Nelson, Fifth Edition, Ed.
Prentice-Hall, (2010).
Discret-Event System Simulation, Jerry Banks, John S. Carson II, Barry Nelson, Ed. Prentice-Hall,
(1996).
Discrete systems simulation, B. Koshnevis, McGraw-Hill, (1994).
The Art of Computer System Performance Analysis Techniques for Experimental Design,
Measurement, Simulation and Modeling, Raj Jain, Ed. John Willey & Sons, (1991).
Computer Simulation and Modelling, F. Neelamkavil, Ed. John Willey & Sons, (1987).
Pgina 18 de 18