Documente Academic
Documente Profesional
Documente Cultură
de eventos
discretos
Herramientas
Matemáticas VI -
Modelos de
Simulación
1
Eventos discretos
La mayoría de los sistemas reales evolucionan (cambian) a lo largo del
tiempo, por lo que debe considerarse en su estudio este componente
dinámico. Los sistemas en que estos cambios se producen en momentos
determinados y separados entre sí se denominan discretos. Los sistemas
discretos cambian un número contable de veces en el tiempo, es decir,
modifican su estado en tiempos particulares (fijos o aleatorios) y se
mantienen constantes en ciertos intervalos de tiempo (Law y Kelton 1991).
Estos cambios del estado del sistema se producen cuando ocurre un
evento. Un evento se define entonces como “una ocurrencia instantánea
que puede cambiar el estado del sistema” (Kelton, y Law, 1991, p. 7).
2
particular del mecanismo de intervalos de tiempos variables (Law, Kelton,
1991).
Ejemplo
3
𝑐𝑖 = 𝑇𝑖 + 𝐷𝑖 + 𝑆𝑖 : tiempo que el 𝑖-ésimo cliente completa el servicio y se
retira del lugar.
𝑒𝑖 : tiempo de ocurrencia del evento 𝑖-ésimo (de cualquier tipo). Es el 𝑖-
ésimo valor del reloj de simulación, excluyendo 𝑒0 = 0.
4
Si 𝑐1 < 𝑇3 (como en la Figura 1), significa que el primer cliente ya completó
su servicio, por lo que se retira del local, y que el segundo pasa ahora a ser
servido, lo que hace que el número de personas en la fila caiga de 0 a 1.
Así, el reloj de simulación pasa de 𝑒2 para 𝑒3 = 𝑐1 . Así, quedan
determinados el tiempo de espera en la fila del segundo cliente, dado por
𝐷2 = 𝑐1 − 𝑇2 , y el tiempo de servicio completo, dado por 𝑐2 = 𝑐1 + 𝑆2,
donde 𝑆2 es generado por 𝐹𝑆 . En el caso que 𝑇3 ≤ 𝑐1, el reloj avanza del
evento 𝑒2 hacia el evento más próximo 𝑒3 = 𝑇3 , y el tercer cliente
incrementa la fila de 1 a 2 personas. Este proceso continúa de esta manera
hasta se alcance alguna situación específica o tiempo de simulación
determinado.
5
Después de estos primeros cálculos, obtenemos que la salida del
primer cliente se produce a los 6,76 minutos, y la llegada del segundo
se produce a los 28,18 minutos. De estos dos eventos, el más próximo
es la salida del primer cliente. Por lo tanto, 𝑒2 = 6,76.
El evento más próximo es la salida del primer cliente en el instante
𝑐1 = 6,76. Producida la salida, el servidor queda libre, y registramos el
tiempo que el servidor permaneció ocupado: 6,76. Luego, el único
futuro evento posible es la llegada del segundo cliente.
Llegada del segundo cliente en el tiempo 𝑻𝟐 = 𝟐𝟖, 𝟏𝟖 minutos. El
tercer cliente llegará entonces en el tiempo
𝑇3 = 𝑇2 + (−10 ln(𝑧)) = 28,18 − 10 ln(0,5869) = 33,51.
Como el servidor está libre, el segundo cliente comienza a ser atendido
en el momento en que entra al banco. Su tiempo de salida está dado
por
𝑐2 = 𝑇2 + 𝑆2 = 28,18 + (5 + 5 × 0,3455) = 34,91.
De los futuros eventos posibles (llegada del tercer cliente o salida del
segundo), el más próximo es la llegada de un nuevo cliente al banco.
Luego, 𝑒3 = 𝑇3 .
Llegada del tercer cliente en el tiempo 𝑻𝟑 = 𝟑𝟑, 𝟓𝟏. El cuarto cliente
llegará
𝑇4 = 𝑇3 + (−10 ln(𝑧)) = 33,51 − 10 ln(0,6733) = 37,46.
Tenemos ahora dos nuevos posibles eventos futuros: la salida del
cliente número 2 y la llegada del cuarto. Como 𝑐2 < 𝑇4 , entonces el
evento más próximo es la salida del segundo cliente, por lo que 𝑒4 =
𝑐2 .
Salida del segundo cliente en el tiempo 𝒄𝟐 = 𝟑𝟒, 𝟗𝟏. En ese momento,
el cliente 3 pasa a ser atendido, por lo que el tiempo de espera fue
𝐷3 = 𝑐2 − 𝑇3 = 34,91 − 33,51 = 1,40.
El tiempo de salida del tercer cliente es
𝑐3 = 𝑇3 + 𝑆3 = 33,51 + (5 + 5 × 0,3646) = 40,33.
Los dos eventos futuros posibles son la salida del tercer cliente o la
llegada del cuarto. Como 𝑇4 < 𝑐3, el evento más próximo es la llegada
del cuarto cliente. Así, 𝑒5 = 𝑇4 .
Llegada del cuarto cliente en el tiempo 𝑻𝟒 = 𝟑𝟕, 𝟒𝟔. El quinto sucede
en el tiempo
𝑇5 = 𝑇4 + (−10 ln(𝑧)) = 37,46 − 10 ln(0,1281) = 58,00.
Los futuros eventos posibles son la salida del tercer cliente y la llegada
del quinto. Como 𝑐3 < 𝑇5 , el evento más próximo es la salida del tercer
cliente del banco. Luego, 𝑒6 = 𝑐3 .
Salida del tercer cliente en el tiempo 𝒄𝟑 = 𝟒𝟎, 𝟑𝟑. El cuarto cliente
comienza a ser atendido, por lo que su tiempo de espera fue
𝐷4 = 𝑐3 − 𝑇4 = 40,33 − 37,46 = 2,87.
El tiempo de salida del cliente 4 es
𝑐4 = 𝑇4 + 𝑆4 = 37,46 + (5 + 5 × 0,4871) = 44,89.
6
Como 𝑐4 < 𝑇5 , el evento más próximo es la salida del cuarto. Por lo
tanto 𝑒7 = 𝑇4 .
Salida del cuarto cliente en el tiempo 𝑻𝟒 = 𝟒𝟒, 𝟖𝟗. El evento más
próximo es la llegada del quinto cliente en el tiempo 𝑇5 = 58,00, por lo
que 𝑒8 = 𝑇5.
Llegada del quinto cliente en el tiempo 𝑻𝟓 = 𝟓𝟖, 𝟎𝟎. El último evento
que resta es la salida del último cliente, cuyo tiempo está dado
𝑐5 = 𝑇5 + 𝑆5 = 58,00 + (5 + 5 × 0,2346) = 64,17.
Ahora podemos responder las preguntas del comienzo. La utilización
promedio de las instalaciones está dada por el tiempo que el servidor
estuvo ocupado, dividido por el tiempo total de la simulación. Tenemos
entonces que el tiempo total de la simulación fue 64,17. Recordemos que
los valores 𝑆𝑖 representan el tiempo que pasa en el atendimiento cada
cliente. Por lo tanto:
𝐷1 + 𝐷2 + 𝐷3 + 𝐷4 + 𝐷5 1,4 + 2,87
̅=
𝐷 = = 0,85.
5 5
7
Lista de sucesos: lista que contiene los tiempos de los futuros posibles
sucesos.
Estadística: son las variables destinadas a recolectar la información
estadística sobre el desempeño del sistema.
Rutina de inicialización: subprograma para iniciar la simulación en el
instante cero.
Rutina de tiempo: subprograma que determina el próximo evento
almacenado en la lista de suceso y hace avanzar el reloj al tiempo en
que se produce dicho evento.
Rutina de sucesos: subprograma que actualiza la lista de sucesos
después de haber ocurrido un evento.
Librería de rutinas: conjunto de subprogramas usados para generar
observaciones aleatorias de las distribuciones de probabilidad, que
corresponden a los eventos aleatorios del sistema.
Generador de informes: subprograma que calcula las estimaciones a
partir de las estadísticas, de las medidas de desempeño del modelo y
genera un reporte cuando la simulación finaliza.
Programa principal: es un subprograma que invoca a la rutina de
tiempo para determinar el próximo evento. Luego llama a la rutina de
sucesos correspondiente para actualizar el estado del sistema. El
programa principal chequea el fin de la simulación y llama al generador
de informes cuando la simulación ha finalizado.
8
Estas dificultades hacen que este mecanismo sea escasamente utilizado en
la simulación de eventos discretos.
9
Referencias
Kelton, D., y Law, A. (1991). Simulation Modeling and analysis. Estados Unidos:
McGraw-Hill.
10