Beruflich Dokumente
Kultur Dokumente
Competencia
Emplea eficientementesus conocimientos previos sobre teoría de colas en la modelac
ión de
sistemas de eventos discretos.
Modelado de un sistema en términos de sus estados en cada instante de tiempo y de varios eventos cuya
ocurrencia provoca un cambio en los estados del sistema.
Estado,
Atributos de entidades,
Número de entidades activas,
Contenido de las colas,
Actividades,
Retrasos.
Esto implica que debe haber un mecanismo que lleve registro de todos estos elementos a lo largo de una
simulación. Este mecanismo se le llama RELOJ de la simulación, el cual se explicará más adelante.
La definición de los componentes del modelo proporciona una relación estática del mismo; sin embargo, las
relaciones dinámicas son necesarias conocerlas para la simulación. Para ello es necesario definir lo
siguiente:
Concepto Definición
Sistema Colección de entidades que interactúan entre sí a lo largo del
tiempo para realizar uno o varios objetivos.
Modelo Representación abstracta de un sistema (relaciones lógicas y/o
matemáticas) para describir al sistema en términos de sus
estados, entidades y sus atributos, conjuntos o colas, eventos,
actividades y retrasos.
Estado del Sistema Una colección de variables que contiene toda la información
necesaria para describir al sistema en cualquier instante de
tiempo.
Entidad Cualquier objeto o componente que requiere una representación
explícita en el modelo.
Atributos Las propiedades de una entidad dada (prioridad de un cliente
esperando, ruteo de una pieza en un taller, etc.).
Conjunto o Cola Una colección (permanente o temporal) de entidades asociadas,
ordenadas en una forma lógica (FIFO, LIFO, cola con prioridad,
etc.).
Evento Una ocurrencia instantánea que cambia el estado del sistema
(llegada de un nuevo cliente).
Actividad Un intervalo de tiempo específico (tiempo de servicio o tiempo
entre arribos) cuya duración es conocida y cuándo inicia (aún
cuando sea aleatoria).
Retraso Un intervalo de tiempo de duración no especificada, cuya duración
no se conoce hasta que acaba (retraso de un cliente en una cola
esperando su turno).
__________________________________________________________________
Ing. Carla Escobar Olivares
27
4.2 LISTA DE EVENTOS FUTUROS
La simulación de eventos discretos produce un conjunto de FOTOS que representan la evolución del
sistema en el tiempo. Cada una de ellas contiene la información sobre los estados del sistema, los eventos
que van a ocurrir en el futuro, el registro del tiempo, las estadísticas que se necesiten para el criterio de
desempeño, etc. Un elemento clave para toda simulación de eventos discretos es la LISTA DE EVENTOS
FUTUROS, la cual consiste de llevar un registro sobre cuál evento se va a iniciar o terminar y en qué
instante de tiempo ocurrirá. A continuación, se presenta una foto ejemplificando esto.
(2,t n)
El avance del tiempo y la garantía de que todos los eventos ocurran en su orden correcto cronológico
depende de la LISTA DE EVENTOS FUTUROS (LEF). Esta lista contiene todos los eventos programados
que van a ocurrir en el futuro.
Programar un evento quiere decir que cuando se inicia una actividad, se calcula su duración y el evento fin
de actividad junto con su instante de ocurrencia se mete a la LEF. Esta lista contiene a los eventos
ordenados en orden cronológico:
t £ t 1 £ t 2 £ ... £ t n ...
El evento asociado a t1 se le conoce como el evento inminente. Cuando el reloj avanza a este instante, se
produce otra foto y así sucede hasta acabar la simulación. Al mecanismo encargado de mover el reloj y
construir una nueva foto se le conoce como algoritmo de programación de eventos y avance de tiempo.
Las operaciones que se pueden realizar sobre la LEF son:
a) remoción del evento inminente,
b) adición de un nuevo evento y,
c) remoción de un evento cancelado.
La LEF es una lista ordenada con algoritmos muy eficientes de búsqueda y recorrido
__________________________________________________________________
Ing. Carla Escobar Olivares
28
Ejemplo de avance de tiempo y actualización de fotos. Para fines de ejemplo, considere la foto mostrada
en la Tabla 3:
Toda simulación debe tener un evento de paro, el cual define cuánto tiempo Tp durará la simulación. Hay
dos formas de programar un paro, a saber:
__________________________________________________________________
Ing. Carla Escobar Olivares
29
4.3 EJEMPLOS DE SIMULACION DE EVENTOS DISCRETOS
Ejemplo 1. Cola de un sólo canal. Considere una tienda con una sola caja. Los clientes llegan a la caja
aleatoriamente separados entre 1 y 8 minutos, con la misma probabilidad (tabla5). El tiempo de servicio
varía entre 1 y 6 minutos, de acuerdo con la probabilidad mostrada en la tabla6. En la tabla7 se muestran
los números aleatorios que se usarán en esta simulación. Simular el comportamiento del sistema para 60
minutos.
__________________________________________________________________
Ing. Carla Escobar Olivares
30
Tabla6. Distribución de tiempos de servicio.
Solución. Una vez que se tienen definidas las condiciones el problema, es necesario establecer el
modelo que represente a esta situación. En este caso, el modelo estará formado por la definición de
sus componentes que sean relevantes al caso y la lógica que gobernará a los eventos de arribo y
despacho de clientes del sistema. El modelo tiene las siguientes componentes:
* Estado (LC(t),LS(t)),
LC(t) número de clientes esperando y LS(t) número de clientes siendo
atendidos (0 ó 1) en tiempo t.
__________________________________________________________________
Ing. Carla Escobar Olivares
31
La lógica de ejecución de un evento de arribo se muestra en la Figura 6.1; asimismo, la lógica para la
ejecución de un despacho, aparece en la Figura 6.2. La lista de eventos futuros (LEF) indica a los eventos
como sigue
(tipo de evento, tiempo del evento)
En la tabla 6.8 se presenta la tabla de simulación para los primeros eventos, usando la tabla de
números aleatorios. Las condiciones iniciales son que el primer cliente arriba en tiempo 0 y se inicia el
servicio: LC(0) = 0, LS(0)=1. También en este instante se programa el paro al tiempo 60. Sólo dos
estadísticas se usarán: utilización del servidor y la cola máxima de clientes (MC). La utilización del
servidor se representará por el cociente del tiempo de utilización (U) entre el tiempo total.
__________________________________________________________________
Ing. Carla Escobar Olivares
32
EVENTO ARRIBO
Ocurre en reloj = t
Paso 3 Paso 3
No Es Sí
Haz LS(t)=1 LS(t)=1 Incremento
? LQ(t) en 1
Tiempo s* de generación
del servicio; horario de
nueva partida del evento
en tiempo t + s*
Paso 4
Generación interarribo tiempo a *;
horario de arribo del siguiente evento
en tiempo t + a*
Paso 5
Reunir estadísticas
__________________________________________________________________
Ing. Carla Escobar Olivares
33
EVENTO PARTIDA
ocurre en reloj = t
Paso 3 Paso 3
No Sí
Es
Haz LS(t)=0 LQ(t)> Reduce LQ(t)
0 en 1
?
Paso 4
Tiempo s* de generación
de servicio; horario de
nueva partida del evento en
tiempo t + s*
Paso 5
Reunir estadísticas
Ejemplo 2. Considere el mismo ejemplo anterior, pero ahora se desea estimar el tiempo medio de
respuesta y la proporción media de clientes que emplean 4 ó más minutos en el sistema.
Solución. El tiempo de respuesta es el tiempo que un cliente emplea dentro del sistema. Para este fin,
es necesario modificar el modelo para calcular las medias de los clientes. Es decir es necesario
conocer el tiempo de arribo y de partida de un cliente en particular. Por lo tanto, una entidad cliente
con atributo tiempo de llegada se agregará al modelo. Por ello, es necesario agregar un conjunto
llamado cola de pago, cuyos elementos serán los clientes Ci. Para este efecto, la notación (D,4,C1)
significa que el cliente 1 partirá al tiempo 4. Las adiciones al modelo anterior serán las siguientes:
S suma de los tiempos de respuesta del cliente para todos los clientes que hayan
partido en el tiempo actual.
A continuación se muestra en la tabla 6.8 el estado de la simulación de este ejemplo, suponiendo los
mismos tiempos que el ejemplo anterior.
__________________________________________________________________
Ing. Carla Escobar Olivares
36
4.4 PRESENTACIÓN DE UNA HERRAMIENTA DE SIMULACIÓN
PROGRAMACIÓN EN SIMSCRIPT
Programación en SIMSCRIPT del ejemplo 2. Con el fin de ilustrar el uso del lenguaje SIMSCRIPT para la
simulación de eventos discretos, se presenta el listado correspondiente al ejemplo 2, analizado
anteriormente.
PREAMBLE
NORMALLY, MODE IS INTEGER
DEFINE Departing.Customer TO MEAN Atrb1
DEFINE Arrival.Time TO MEAN Atrb2
TEMPORARY ENTITIES
EVERY Customer HAS AN Arrival.Time AND
MAY BELONG TO THE Queue
MAIN
SCHEDULE AN Arrival NOW
START SIMULATION
END
EVENT ARRIVAL
CREATE A CUSTOMER NOW
LET Arrival.Time = TIME.V
ELSE
FILE Customer IN Queue
REGARDLESS
ADD TO Number.of.Departures
__________________________________________________________________
Ing. Carla Escobar Olivares
38
IF Number.of.Departures IS GE NCust,
CALL Report.Generator
ALWAYS
IF Queue IS EMPTY,
LET Server = Idle
OTHERWISE
REGARDLESS
RETURN
END
ROUTINE Report.Generator
__________________________________________________________________
Ing. Carla Escobar Olivares
40