Modelado de sistemas de eventos
discretos
Básicamente, la especificación del modelo y del experimento consiste en definir:
MODELO • La estructura lógica y los componentes del modelo.
• Los aspectos matemáticos del modelo.
EXPERIMENTO • Las variables de entrada y de salida.
• Las condiciones iniciales del modelo.
• La condición de finalización de la simulación.
• Los aspectos numéricos de la simulación.
La estructura lógica y los componentes del modelo se definen sobre la base de las hipótesis
de modelado (o aproximaciones de modelado, como se prefiera). En función de la finalidad del
estudio de simulación, se consideran relevantes para ese propósito especı́fico unos aspectos
u otros del comportamiento del sistema, lo cual condiciona las hipótesis de modelado. El
ámbito de validez de las hipótesis de modelado define el marco experimental del modelo.
Las variables de entrada y las condiciones iniciales determinan la forma en que el modelo
es ejercitado durante la simulación. Además, la condición de finalización de la simulación y la
elección de qué variables del modelo desean ser observadas (variables de salida), completan
la definición de qué comportamientos del modelo desean ser estudiados en la simulación.
EVENTO:
FIN DE
SERVICIO
EVENTO:
LLEGADA DE UN
NUEVO CLIENTE
EL CLIENTE SE
MARCHA
No Si
EMPLEADO
LIBRE
No COLA Si
VACIA
EL CLIENTE SE EL CLIENTE
PONE A LA COMIENZA A
COLA SER ATENDIDO EL PRIMER CLIENTE DE EL EMPLEADO
LA COLA COMIENZA A QUEDA LIBRE
SER ATENDIDO
Figura 4.1: Acciones asociadas a cada uno de los dos tipos de evento.
Todo ello forma parte de la especificación del experimento. También es parte del experimento
la especificación de qué métodos numéricos van a emplearse para simular el modelo.
Estructura ´
logica del modelo
A continuación se muestra un ejemplo de la definición de la estructura lógica de un modelo.
Consideremos una oficina de atención al cliente en la que trabaja un único empleado:
• Si llega un nuevo cliente y el empleado está ocupado, el cliente se pone al final de una
cola en espera de su turno. Si el empleado está libre, el cliente es atendido inmediata-
mente.
• Si el empleado termina de atender a un cliente, éste se marcha y comienza a ser atendido
el primer cliente de la cola. Si la cola está vacı́a, el empleado permanece desocupado
hasta la llegada de un nuevo cliente.
De su estructura lógica se deduce que en el modelo hay dos tipos de sucesos o eventos
que desencadenan sendas secuencias de acciones (ver Figura 4.1). Estos dos eventos son:
• La llegada de un nuevo cliente a la oficina.
• La finalización de la atención a un cliente.
Elementos del modelo
Los modelos de tiempo discreto, en el contexto que nos ocupa, constan básicamente de los
siguientes 7 tipos de componentes: las entidades, sus atributos, las variables, los recursos,
las colas, los contadores estadı́sticos y los eventos. A continuación se describen brevemente.
Entidades
Las entidades son objetos dinámicos en la simulación, que son creados y se mueven por
el sistema, cambiando el valor de sus atributos, afectados por otras entidades y por el estado
del sistema. Las entidades pueden abandonar el sistema o bien permanecer indefinidamente
circulando en él.
En el ejemplo anterior de la oficina, existe un único tipo de entidad: “cliente”. Cada cliente
que se encuentra en la oficina es una realización (o instanciación, como se prefiera) de este tipo
de entidad, que es creada a su llegada, circula a través del sistema y es destruida cuando el
cliente abandona la oficina. Si en el modelo se hubieran definido diferentes tipos de clientes,
que requirieran procesos de atención diferentes o a los que se asignara diferente prioridad,
cada tipo de cliente se representarı́a como un tipo diferente de entidad.
Atributos
Los atributos permiten individualizar cada instanciación de una determinada clase de
entidad. Al definir el tipo de entidad, se declaran sus atributos. Se pueden asignar valores
diferentes a los atributos de cada instanciación de la clase de entidad, lo cual permite
especificar las caracterı́sticas particulares de cada uno de ellos.
Por ejemplo, algunos atributos que podrı́an definirse para el tipo de entidad “cliente” son:
la prioridad con que debe ser atendido o determinados datos personales, como son el nombre
y los apellidos, la edad, la nacionalidad, etc. En general, el valor de los atributos diferirá de
un cliente a otro y es lo que permite diferenciarlos.
Variables
Las variables representan caracterı́sticas del sistema que son independientes de los tipos
de entidades o del número de realizaciones existentes en determinado instante. Por tanto,
las variables no están asociadas a entidades en concreto, sino que pertenecen al conjunto
del sistema. Son accesibles desde todas las entidades y pueden ser modificadas por todas las
entidades. Puede considerarse que cada variable es como una pizarra colgada en la pared, en
la que se escribe el valor de la variable. Todas las entidades pueden leer la pizarra, y también
pueden borrar el valor escrito y escribir uno nuevo.
Algunas de las variables son intrı́nsecas a los elementos del modelo y, por ello surgen
en casi todos los modelos de simulación. Algunas de estas son: el número de entidades (en
nuestro caso, clientes) que hay en cada instante en cada cola, el número de recursos (en
nuestro caso, empleados) ocupados, el estado (ocupado o libre) de cada recurso, el valor del
reloj de la simulación (variable que va registrando el tiempo simulado) , etc.
Por el contrario, otras variables surgen debido a necesidades concretas del modelo en
cuestión. Por ejemplo, supóngase que cada cliente tiene que ser atendido consecutivamente
por dos empleados diferentes, situados a cierta distancia, y que el tiempo que emplea la
entidad en ir de un empleado a otro se considera fijo. Entonces, el valor de este tiempo de
“transito” serı́a una variable del modelo.
Las variables permiten parametrizar el modelo, es decir, definir magnitudes que pueden
cambiar para adaptar el modelo a sus diferentes aplicaciones. Por ejemplo, mediante la
modificación del tiempo de tránsito entre los dos puntos de atención, puede adaptarse un
mismo modelo para representar diferentes sistemas.
Asimismo, las variables pueden representar magnitudes cuyo valor cambie durante el
curso de la simulación. Por ejemplo: el número total de clientes que esperan, que están
siendo atendidos y que se encuentran en tránsito entre los dos puntos de atención.
Recursos
Los recursos pueden ser el personal (en nuestro caso, el empleado), las máquinas (por
ejemplo, si las entidades son piezas que deben ser procesadas), el espacio (por ejemplo, en un
almacén), etc. Una entidad captura un recurso cuando éste está disponible, a fin de obtener
un servicio de él, y lo libera una vez ha terminado.
El recurso puede ser individual o estar compuesto por un grupo de elementos individuales,
cada uno de los cuales se llama una unidad del recurso . Por ejemplo, el caso de varios mos-
tradores paralelos e idénticos de atención al público, puede representarse como un recurso
con tantas unidades como puntos de atención. El número de unidades disponibles de un
recurso puede variar durante el curso de la simulación, representando mostradores que son
cerrados o abiertos.
Colas
Cuando una entidad no puede circular, debido tal vez a que necesita usar una unidad de
un recurso que en ese momento no se encuentra disponible, entonces la entidad necesita un
sitio donde esperar: este es el propósito de la cola .
Acumuladores estadı́sticos
A fin de calcular el valor de las variables de salida, es preciso calcular durante el curso de
la simulación el valor de determinadas variables intermedias. Estas se llaman acumuladores
estadı́sticos . Algunos ejemplos son: el número total de clientes atendidos hasta ese momento,
la suma de los tiempos de espera en cola de los clientes hasta ese momento, el número total
de clientes que han comenzado a ser atendidos hasta ese momento, el mayor tiempo de
espera en cola hasta ese momento, etc. Los contadores son inicializados a cero al comenzar
la simulación. Cuando “algo sucede” en la simulación (es decir, se ejecuta un evento), los
contadores estadı́sticos afectados deben ser convenientemente actualizados.
Eventos
Un evento es un suceso que ocurre en un determinado instante de tiempo (simulado) y
que puede cambiar el valor de los atributos, las variables y los acumuladores estadı́sticos.
Se denomina actividad al estado de una entidad en un determinado intervalo de tiempo.
En los modelos de tiempo discreto, los atributos, las variables y los acumuladores es-
tadı́sticos sólo pueden cambiar a consecuencia de la ejecución de los eventos. Los cambios
en sus valores se producen en los instantes en que son activados los eventos, manteniéndose
constantes durante el intervalo de tiempo entre eventos sucesivos.
En nuestro ejemplo, hay cuatro tipos de eventos:
• Inicio de la simulación.
• Llegada a la oficina de un nuevo cliente.
• Fin de servicio a un cliente.
• Final de la simulación
Cada evento tiene asociado dos tipos de información:
• Su condición de activación, es decir, la condición que hace que el evento pase de estar
desactivado a estar activado.
• Las acciones que deben realizarse en el instante en que el evento es activado.
En función del tipo de su condición de activación, los eventos pueden clasificarse en
eventos en el tiempo y eventos en el estado:
• Los eventos en el tiempo son aquellos cuya condición de activación es que el tiempo de
la simulación alcance un determinado valor. El valor del instante de tiempo simulado se
almacena en una variable del modelo llamada reloj de la simulación.
• La condición de activación de los eventos en el estado no es función exclusiva del tiempo,
sino que también es función de variables del sistema.
En los sistemas de tiempo discreto, dado que las variables y atributos permanecen cons-
tantes entre eventos consecutivos, los cambios en las variables necesarios para activar un
evento en el estado sólo pueden producirse como resultado de la ejecución de un evento en
el tiempo. La planificación de los eventos en el tiempo es muy sencilla, ya que se sabe con
antelación en qué instantes se van a producir. Durante el curso de la simulación se lleva
un registro de los instantes de activación de los eventos en el tiempo. Éste se denomina el
calendario de eventos.
En los sistemas de tiempo discreto los cambios en las propiedades del sistema no se
producen de manera continua en el tiempo. Por tanto, a fin de optimizar la simulación de
este tipo de modelos, se hace avanzar el reloj de la simulación a saltos. Normalmente se usan
dos métodos para ello: avance hasta el siguiente evento y avance a incrementos de tiempo
fijos. Se volverá sobre este tema más adelante, al discutir las diferentes estrategias para la
simulación de modelos de eventos discretos.
´
Aspectos matematicos del modelo y las variables de
entrada
Además de la estructura lógica y los componentes, deben especificarse los aspectos ma-
temáticos del modelo, que están igualmente vinculados a las hipótesis de modelado.
En particular, debe decidirse qué comportamientos del modelo se consideran determinis-
tas y cuáles aleatorios. Esta decisión condiciona qué variables de entrada son deterministas
y cuáles aleatorias. En cada caso, la definición de la variable de entrada comprende:
• La dependencia temporal de las variables de entrada deterministas.
• La distribución de probabilidad de las variables de entrada aleatorias.
Continuando con el ejemplo, se consideran dos variables de entrada aleatorias:
• El tiempo que transcurre entre la llegada de un cliente y la llegada del siguiente cliente.
Este tiempo, A, es una variable aleatoria que obedece a una distribución de probabilidad
exponencial de media 1 minuto.
• El tiempo que tarda el empleado en atender a un cliente. Este tiempo, S, es una variable
aleatoria exponencial con media 0.5 minutos.
En general, las distribuciones de probabilidad de las variables A y S deben determinarse,
o bien estudiando los datos medidos del sistema real, o bien a través de consideraciones
teóricas. En cualquier caso, el decidir que las variables de entrada están distribuidas de
una determinada forma es otra hipótesis de modelado. El que el modelo reproduzca más o
menos adecuadamente los aspectos de interés del sistema depende de lo acertado de estas
aproximaciones.
Obsérvese que, al definir en el ejemplo las variables de entrada, se han realizado las
hipótesis siguientes:
• Tanto la distribución de probabilidad de los intervalos entre llegadas, como la distri-
bución de los tiempos de servicio, son independientes del instante de tiempo simulado.
Serı́a fácil imaginar situaciones en las cuales durante determinadas “hora punta” la
afluencia de clientes fuera mayor que durante las “horas valle”. También serı́a factible
que, según avanza la jornada laboral, aumentara el cansancio del empleado, con lo cual
aumentara el tiempo de servicio (o que disminuyera su paciencia, con lo cual el tiempo
de servicio disminuirı́a). Pues bien, se ha realizado la hipótesis de que ninguno de estos
factores, u otros similares, son relevantes.
• Los intervalos entre llegadas de los clientes y el tiempo de servicio son variables alea-
torias estadı́sticamente independientes, es decir, no dependen de ninguna otra variable
del modelo. Como en el caso anterior, es sencillo imaginarse situaciones en las cuales
esto puede no ser ası́. Si el número de clientes esperando en la cola es elevado, el
comportamiento del empleado en respuesta a la “presión” puede ser abreviar en lo
posible los tiempos de atención. Con mayor motivo sucederá esto si se aproxima la
hora de cierre de la oficina.
• Finalmente, se ha supuesto que ambas variables están distribuidas exponencialmente,
y se ha fijado el valor de las medias.
Ası́ pues, un aspecto extremadamente importante a la hora de modelar las variables de
entrada es decidir acerca de su dependencia o independencia, tanto respecto a otras variables
como respecto al tiempo. Si se sabe que el valor de una variable del sistema condiciona “en
cierta medida” el valor de otra, entonces estas dos variables no son independientes estadı́sti-
camente. A la hora de generar observaciones de estas dos variables aleatorias durante la
simulación, debe tenerse en cuenta esta dependencia, ya que de lo contrario los resultados
del estudio pueden no ser válidos.
Decidir qué tipo de dependencias existen entre las variables aleatorias y describir estas
dependencias adecuadamente es sin duda una de las tareas de modelado más delicadas y
difı́ciles.
Medidas del comportamiento
Otra elección vinculada con el propósito del estudio es la de las variables de salida . Una
variable de salida es aleatoria si y sólo si se calcula a partir de al menos una variable aleatoria.
Cuando las variables aleatorias de salida miden el comportamiento del sistema a lo largo de
toda la simulación, suele ser preciso definir en el modelo variables auxiliares, denominadas
acumuladores estadı́sticos (o también contadores estadı́sticos), a partir de las cuales calcular
la variable de salida. A continuación se muestran algunos ejemplos:
• El tiempo medio de espera del cliente en la cola, se define de la forma siguiente:
n
P
Di
dˆ(n) = i:1
(4.1)
n
donde n es el número total del clientes que han abandonado la cola y Di es el tiempo de
espera en la cola del cliente i.
Para calcularlo es preciso llevar registro, a lo largo de la simulación, de:
− El número de clientes que han abandonado la cola hasta ese momento, n.
− La suma del tiempo de espera de los clientes que han abandonado la cola hasta ese
n
P
momento: D (n) = Di .
i:1
• El número medio de clientes que componen la cola se define de la forma siguiente:
RT
0
Q (τ ) · dτ
q̂ (T ) = (4.2)
T
donde T es el tiempo que dura la simulación y Q (τ ) es el número de clientes que hay en
la cola en el instante τ .
Para calcularlo, es preciso llevar registro a lo largo de la simulación de:
Rt
− El valor de la integral: 0 Q (τ ) · dτ . Para ello se define un acumulador estadı́stico,
R (t). Inicialmente R vale cero. Cada vez que cambia el número de clientes de la
cola, debe actualizarse el valor de R: se suma al valor actual de R el producto del
número de clientes de la cola (antes del cambio) por el tiempo transcurrido desde el
anterior cambio. De este modo va calculándose el área bajo la curva Q (t). Para ello,
es preciso definir otro acumulador estadı́stico, tevento , que almacene el instante en
que se produjo el anterior evento.
Obsérvese que hay dos tipos de eventos que pueden modificar el tamaño de la
cola: la llegada de un cliente y el final del servicio a un cliente (el primero de la
cola comienza entonces a ser atendido). Si la condición de finalización no coincide
con uno de estos dos tipos de eventos, al término de la simulación debe también
actualizarse R.
• Para calcular el número total de clientes atendidos, es preciso llevar registro durante la
simulación de:
− El número de clientes que han sido atendidos hasta el momento.
• Para calcular el tiempo máximo de espera en la cola o el número máximo de clientes de la
cola, es preciso conocer durante la simulación, respectivamente, cual es:
− El tiempo de espera y el número de clientes de la cola máximo hasta ese momento.
• El porcentaje del tiempo que el empleado está ocupado puede calcularse de la forma
siguiente:
RT
focupación (τ ) · dτ
fˆocupación (T ) = 0
(4.3)
T
donde el factor de ocupación fˆocupación vale uno cuando el empleado está ocupado y cero
cuando está libre. Para poder realizar el cálculo, es preciso llevar registro, a lo largo de
la simulación, de:
RT
− El valor de la integral: 0 focupacion (τ ) · dτ . Para ello, se define un acumulador que
inicialmente vale cero. Cada vez que el empleado cambia de ocupado a libre se suma
al acumulador el tiempo que ha permanecido ocupado. Para ello debe definirse otro
acumulador que almacene el instante anterior en que el empleado pasó de estar
libre a ocupado.
Normalmente existen muchas posibles medidas del comportamiento del sistema, y proba-
blemente es una buena idea observar tantas como sea (razonablemente) posible, ya que una
vez analizados los resultados es posible ignorar algunos de ellos, sin embargo, no es posible
analizar datos de los que uno no dispone (¡y en algunos casos uno puede llevarse alguna
sorpresa!). La única desventaja de ampliar la recogida de datos es que se penaliza el tiempo
de ejecución de la simulación.
Condiciones ´
inicial y final de la simulacion
La especificación de las condiciones de inicio y de finalización de la simulación es una
parte obligada en la definición del experimento. Es preciso asignar valor inicial únicamente a
aquellas variables del sistema cuyo valor futuro dependa de su valor presente. Estas variables
se denominan variables de estado. Una propiedad de las variables de estado es que su valor
actual representa completamente la “historia” del sistema, es decir, el comportamiento futuro
del sistema puede determinarse únicamente conociendo el valor actual de sus variables de
estado y el valor presente y futuro de las variables de entrada.
Un ejemplo comúnmente empleado para ilustrar el concepto de variable de estado es
el de una partida de ajedrez. Para poder reestablecer la partida desde cualquier jugada es
suficiente con conocer la posición de las fichas en ese momento, no siendo necesario conocer
la secuencia de movimientos que ha conducido a esa situación. Por tanto, la posición de las
fichas describe completamente el estado del sistema.
En nuestro ejemplo existen dos variables cuyo valor futuro depende del valor presente:
• El estado del empleado: E. Toma dos valores: libre (E = 0) u ocupado (E = 1).
• El número de clientes que esperan en la cola: Q (t).
Además, por supuesto, de los acumuladores estadı́sticos, que deben ser inicializados
convenientemente.
Una posible condición inicial es que el empleado se encuentre libre y la cola vacı́a. Sin
embargo, son imaginables otras muchas alternativas. Supóngase, por ejemplo, que los clien-
tes empiezan a llegar antes de que se abra la oficina al público, de modo que cuando ésta
comienza sus funciones el tamaño de la cola no es cero. Es más, si el número de clientes de
la cola en el instante inicial fluctúa significativamente de unos dı́as a otros, éste deberá con-
siderarse una variable aleatoria. En este caso, con cada réplica de la simulación habrı́a que
generar una observación de la variable aleatoria “tamaño inicial de la cola”. También son
posibles otros enfoques, por ejemplo, podrı́a obtenerse el tamaño inicial de la cola modelando
la frecuencia de llegada de los clientes mientras la oficina está cerrada. Todo ello depende,
evidentemente, de las caracterı́sticas del sistema y de las hipótesis de modelado.
Lo mismo sucede con la condición de finalización de la simulación. Esta condición puede
depender únicamente del tiempo simulado (por ejemplo, que el tiempo simulado sea superior
a 8 horas), de que alguna de las variables del modelo alcance determinado valor o de la
satisfacción de ambos tipos de condiciones (en un esquema más “razonable” de atención al
público, que el tiempo sea superior a 8 horas y no queden clientes por atender).
´ del funcionamiento del sistema
Descripcion
Llegado este punto, se han descrito:
• los componentes del sistema (entidades, recursos y colas),
• las variables que los describen (atributos, variables y contadores estadı́sticos), y
• la interacción entre ellos (eventos).
No obstante, todavı́a falta describir en el modelo los detalles acerca del funcionamiento del
sistema. Básicamente, puede realizarse desde dos ópticas distintas:
• la orientación a los eventos, y
• la orientación a los procesos.
Modelado orientado a los eventos
Como su nombre indica, el modelado orientado a los eventos se centra entorno a la
descripción de los eventos, es decir:
• qué tipos de eventos se producen,
• qué condición de activación tiene cada uno, y
• cuál es el flujo lógico de acciones asociadas a la activación de cada evento.
En la Figura 4.2 se muestran los flujos de acciones correspondientes a los eventos del
modelo de la oficina de atención al público: inicialización, llegada de un nuevo cliente; y
marcha de un cliente. La condición de finalización de la simulación es que el número de
clientes que comienzan a ser atendidos, n, sea superior a uno establecido. Por simplicidad,
se supone en este ejemplo que las variables de salida son únicamente:
n
P
Di
D(n)
• El tiempo medio de espera en la cola: dˆ(n) = i:1
n = n .
R T
Q(τ )·dτ R(T )
• El número medio de clientes que componen la cola: q̂ (T ) = 0
T = T .
Dos de las ventajas fundamentales del modelado orientado a los eventos son:
• Permite una flexibilidad total en la descripción del modelo, y
• La realización, empleando un lenguaje de programación, del código de la simulación a
partir de este tipo de descripción del modelo es conceptualmente sencilla.
LLEGADA
CLIENTE i
INICIO
Generar A i+1 Generación del intervalo
Instante de llegada
i entre llegadas
D=0 Inicialización de del cliente i+1
R=0 los contadores llegada = reloj + Ai +1 Actualización de
estadísticos
n=0 la lista de eventos
E =1 E = 0 (libre)
reloj = 0 Inicialización del reloj Actualización E
de la simulación del área bajo
R = R + Q ⋅ (reloj − t evento )
Q(t) E =1 Empleado pasa a
Leer Q estar ocupado
Leer E Asignar valor al estado
inicial del sistema
t evento = 0 Instante de llegada t = reloj Incremento del número de
n = n + 1 clientes que han comenzado
del cliente i i
a ser atendidos
Generación del
Generar A1 intervalo entre Incremento del Q = Q +1 Generar S i Generación del
llegadas tamaño de la cola tiempo de servicio
llegada = A1 Inicialización
marcha = reloj + S i Actualización de
de la lista de
marcha = NO _ DEFINIDO eventos
la lista de eventos
t evento = reloj
RETURN Actualización del instante en
que se produjo el último evento
RETURN
MARCHA
CLIENTE i
se atiende al
Q > 0
cliente i+1 Q = 0 (co la vacía)
Q
Incremento del número de clientes El empleado
que han comenzado a ser atendidos n = n +1 E =0 queda libre
Actualización del tiempo
total de espera en cola D = D + relo j − t i +1 m a rch a = N O _ D E F IN ID O Actualización de la
lista de eventos
R = R + Q ⋅ (reloj − t evento )
Actualización del
área bajo Q(t)
Decremento del número de Q = Q −1
clientes en la cola
Generación del
tiempo de servicio Generar S i +1
Actualización de la lista de eventos.
Instante en que se marcha el cliente i+1 marcha = reloj + S i+1
t even to = relo j
Actualización del instante en que se ha
producido el último evento
RETURN
Figura 4.2: Flujos de acciones asociadas a los eventos.
Sin embargo, la orientación a los eventos presenta también una desventaja importante: la
realización de modelos de grandes dimensiones, con diferentes tipos de eventos, entidades y
recursos, resulta excesivamente compleja. Este enfoque requiere que el programador adquie-
ra el papel de “supervisor omnisapiente”, llevando el control de todos los eventos, entidades,
atributos, variables y acumuladores estadı́sticos.
Modelado orientado a los procesos
Una forma alternativa, más natural y sencilla, de describir el modelo consiste en tomar el
punto de vista de las entidades y describir su circulación a través del sistema. Este enfoque se
centra en los procesos que llevan a cabo las entidades, por ello se llama modelado orientado
a los procesos. Su práctica es posible gracias al empleo de lenguajes de simulación, que
traducen de manera automática la descripción orientada a los procesos a una descripción
orientada a los eventos, y ésta en código escrito en algún lenguaje de programación. En
última instancia, el código ejecutable de la simulación siempre está orientado a los eventos.
El modelo orientado a los procesos de la oficina de atención al público se realiza tomando
el punto de vista de un cliente cualquiera. Como en el caso anterior, las variables de salida
son el tiempo medio de espera en la cola y el número medio de clientes que componen la cola.
Los pasos en el proceso de atención son:
• Llego a la oficina.
• Escribo en mi atributo “Instante de llegada” el valor que tiene en este momento el reloj
de la simulación. Ası́ más tarde podré calcular el tiempo que he estado esperando en la
cola.
• Me pongo al final de la cola e incremento en uno el valor de la variable “Número de
clientes de la cola”.
• Espero hasta que yo sea el primero de la cola y el empleado esté libre (si tengo suerte, el
tiempo de espera será cero).
• En el instante en que abandono la cola, calculo mi tiempo de espera (restando el valor
de mi atributo “Instante de llegada” del valor del reloj de la simulación), decremento en
uno el valor de la variable “Número de clientes de la cola”, incremento en uno la variable
“Número de clientes que abandonan la cola” y comienzo a ser atendido por el empleado.
• El empleado me atiende durante el tiempo que requiero.
• Finaliza mi tiempo de servicio, con lo que dejo libre al empleado y abandono la oficina.
En los dos próximos temas se abordan en detalle las dos metodologı́as de modelado
anteriormente citadas: el modelado orientado a los eventos y el modelado orientado a los
procesos.
PRÁCTICA
4.1 Describa, empleando la metodolog´ıa de la orientaci ´on a los eventos, el modelo de una
gasolinera, con varios surtidores , atendida por varios empleados. En particular, responda
a las cuestiones siguientes:
• Cuáles son los eventos.
• Cuál es la condición de activación de cada evento.
• Cuáles son las acciones asociadas a cada evento.
• Indique cuáles son las condiciones inicial y final de la simulacion.
´
4.2 Describa, empleando la metodolog´ıa de la orientacion ´ a los procesos, el modelo que se
propuso en el ejercicio 1 En particular, responda a las cuestiones siguientes:
• Cuáles son las entidades.
• Cuáles son procesos. Cuál es el recurso de cada proceso.
• En cada proceso, qué acción ejerce la entidad sobre el recurso.
• Describa el flujo de las entidades a través del modelo.