M4L4.Mecanica de Simulación Discreta
M4L4.Mecanica de Simulación Discreta
M4L4.Mecanica de Simulación Discreta
Como se ha visto en las lecturas de este módulo, las simulaciones de eventos discretos son las más usadas para el estudio de líneas de
espera. En ellas, los datos se modifican sólo cuando un cliente entra o sale del sistema, por lo que pueden simularse los cambios en
puntos discretos específicos del tiempo (eventos de llegada y salida). Se verán, a continuación, los mecanismos para hacer avanzar la
variable que represente al tiempo, generando la ocurrencia de los eventos.
Video conceptual
Referencias
Los modelos de simulación de eventos discretos estudian sistemas reales que sufren transformaciones, evolucionando en el tiempo, y modificando su estado en
la medida que ocurra algún evento. Esto hace que su naturaleza sea dinámica, por lo que se vuelve imprescindible la introducción de una variable que simule un
reloj (Law y Kelton, 1991).
Este instrumento de simulación debe registrar tanto el valor actual del tiempo que ha transcurrido desde que comenzó su funcionamiento, como el tiempo
comprendido entre la ocurrencia de los sucesos o eventos. El reloj de simulación no tiene necesariamente las unidades de tiempo de un reloj habitual, sino que
ellas son determinadas por las unidades de las variables propias del sistema modelado.
Existen dos mecanismos para hacer avanzar el tiempo en un proceso de simulación: intervalos de tiempos variables e intervalos de tiempos fijos (Law y Kelton,
1991).
Este mecanismo para hacer avanzar el tiempo es el más utilizado tanto en los ensayos manuales, como en la mayoría de los lenguajes de simulación. Permite
generar un mecanismo de intervalos de tiempos fijos, como otros casos en los que el mecanismo de intervalos de tiempo es variable (Law y Kelton, 1991).
El mecanismo de intervalos de tiempos variables inicia el reloj de simulación en cero (0), y después determina los tiempos en los que ocurren eventos futuros. Una
vez que comienza a estar en funcionamiento, el reloj de simulación avanza hasta que su tiempo coincide con el tiempo del evento más próximo dentro de los
eventos futuros. Cuando eso ocurre, las variables del estado del sistema se actualizan, se registran los valores necesarios (los que son de interés para el estudio
del sistema) y se determinan los momentos (nuevos) de ocurrencia de los futuros eventos. Seguidamente, se avanza el reloj de simulación hasta el (nuevo) evento
más próximo, repitiéndose los procesos que se mencionaron. Este proceso de avanzar el reloj finaliza cuando alguna condición de parada es satisfecha.
Para ilustrar lo visto anteriormente, se observa lo que ocurre en el área de control de calidad de omega, que tiene un solo operario y a la cual llegan productos en
intervalos de tiempo aleatorios. Se desea estimar el tiempo promedio que un producto espera en la cinta hasta que sea controlado.
Este sistema tiene dos eventos. El primero, es la llegada de un artículo que cambia el estado del operario (servidor) de libre a ocupado cuando no hay artículos
esperando, o incrementa en 1 la cantidad de artículos en fila.
El otro evento del sistema es la salida del artículo controlado dejando el servidor libre si no hay artículos en fila o disminuyendo en 1 el número de la fila.
Notación y proceso
Para hacer referencia a los elementos fijos y variables de un sistema de simulación discreto se utilizará la siguiente notación:
Ai = Ti − Ti−1: intervalo de tiempo entre las llegadas de los clientes (i − 1)-ésimo e i-ésimo.
ci = Ti + D i + Si: tiempo que necesita el i-ésimo cliente para completar el servicio y salir del sistema.
ei: tiempo de ocurrencia del evento i-ésimo (de cualquier tipo). Es el i-ésimo valor del reloj de simulación, excluyendo e0 = 0.
los tiempos de servicio Si se denota como FA y FS a sus respectivas funciones de probabilidad acumulada.
En el momento inicial e0 el servidor se encuentra libre y el tiempo T1 que pasa hasta que ocurre la primera llegada es determinado generando A1 a partir de la
función FA y sumando 0 (tiempo inicial). Luego, el reloj de simulación avanza desde e0 hacia el tiempo del evento más próximo e1 = T1. Como el cliente que llega en
este momento es el primero, inmediatamente pasa a ser atendido por el servidor (no hace fila), por lo que su tiempo de espera en la fila es D 1 = 0. El servidor pasa
El tiempo del servicio completo del primer cliente c1 es determinado generando S1 a través de FS y sumándolo a T1. A continuación, se computa el tiempo de
llegada del segundo cliente T2 = T1 + A2, donde el tiempo A2 es generado por la función FA.
Para el paso siguiente, hay dos opciones. Si c1 ≤ T2 significa que el primer cliente completó el servicio antes de la llegada del nuevo cliente, por lo que el reloj de
simulación avanza de e1 a c1. Si T2 < c1, el reloj de simulación avanza de e1 para e2 = T2 (como puede observarse en la Figura 1), y significa que llega el segundo
cliente mientras el primero continúa siendo atendido. Como el servidor se encuentra ocupado, este segundo cliente produce un incremento en el número de
personas en la fila y pasa así de 0 a 1. El tiempo en el que llega este segundo cliente se registra.
El tiempo de llegada del tercer cliente es computado como T3 = T2 + A3, donde A3 es generado a partir de la función de probabilidad acumulada FA.
Si c1 < T3 (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
Así, el reloj de simulación pasa de e2 para e3 = c1 . Así quedan determinados el tiempo de espera en la fila del segundo cliente, dado por D 2 = c1 − T2, y el tiempo de
En el caso que T3 ≤ c1, el reloj avanza del evento e2 hacia el evento más próximo e3 = T3, y el tercer cliente incrementa la fila de 1 a 2 personas.
Este proceso continúa de esta manera hasta que se alcance alguna situación específica o tiempo de simulación determinado.
Resumiendo algunas ideas de los párrafos anteriores, intenta unir las sentencias de la primera columna con la que corresponda en la
segunda columna
Para dar fin a un proceso de simulación es necesario una situación específica o la culminación de un tiempo determinado
determinar… a priori.
La naturaleza dinámica de la simulación de eventos usar instrumento que simule un reloj para registrar tiempos de
discretos es imprescindible espera y entre eventos.
Suma de tiempo de llegada, espera en fila y de servicio de un tiempo que usa un cliente para completar el servicio y salir del
cliente se representa con ci sistema (ci= Ti + Di+Si)
El valor de los Ai , generados aleatoriamente con distribución tiempo entre llegadas de dos clientes, (i − 1)-ésimo e i-ésimo se
exponencial, representa… calcula Ai = Ti − Ti-1
SUBMIT
Simulación de lista de espera de productos en el área “control de calidad de omega” (segunda parte)
Continuando en esta segunda parte con lo visto anteriormente en el área de control de calidad de omega, se considera un sistema en el que hay un solo operario
(servidores = 1) y el tiempo entre llegadas de artículos a controlar tiene una distribución exponencial con media de 10 minutos. El operario demora entre 5 y 10
minutos en completar un control, distribuidos de manera uniforme. La disciplina de la fila de este sistema es FCFS, es decir, primero en llegar, primero en ser
atendido (controlado).
El objetivo del modelo de simulación es calcular las siguientes medidas de desempeño de ésta área:
Se denominará X1 a la variable aleatoria que representa los tiempos entre llegadas, y X2 a la variable aleatoria que representa el tiempo de servicio. Luego, dado un
X1 = −10 ln(z);
X2 = 5 + 5z.
Se implementa el método de la inversa para encontrar las inversas de las funciones de probabilidad acumulada FX1 (exponencial) y de FX2 (uniforme).
Los valores arbitrarios del intervalo (0, 1) fueron generados arbitrariamente y son los que se exponen en la Tabla 1. Se realizará la simulación hasta la llegada del
producto número 5
0.0598 0.3529
0.5869 0.3455
0.6733 0.3646
0.1281 0.4871
0.7968 0.4871
Fuente: elaboración propia.
T será la variable de reloj de simulación mientras que se parte del supuesto general que el primer producto llega en el tiempo T = 0.
Llegada del producto número 1 en el tiempo T1 = 0. El tiempo de llegada del segundo producto es generado por la inversa de la función FX1
usando el primer valor de z1 de la Tabla 1 resulta T2 = 0 + (−10 ln(0,0598)) = 28,18.
Como es el primer producto, el servidor está libre, por lo que comienza de inmediato su atendimiento. El tiempo de atendimiento está dado por:
c = 5 + 5 × 0,3529 = 6,76.
Después de estos primeros cálculos, se estima que la salida del primer producto 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 producto. Por lo tanto, e2 = 6,76.
El evento más próximo es la salida del primer producto en el instante c1 = 6,76. Producida la salida, el servidor queda libre por lo que se registra
el tiempo que el servidor permaneció ocupado: 6,76. Luego, el único futuro evento posible es la llegada del segundo producto.
Llegada del segundo producto en el tiempo T2 = 28, 18 minutos. El tercer producto llegará entonces en el tiempo:
Como el servidor está libre, el segundo producto comienza a ser atendido en el momento en que entra al sistema. Su tiempo de salida está
dado por:
De los futuros eventos posibles (llegada del tercer producto o salida del segundo), el más próximo es la llegada de un nuevo producto al sistema. Luego, e3 = T3.
Llegada del tercer producto en el tiempo T3 = 33, 51. El cuarto producto llegará:
La salida del segundo producto se produce en el tiempo: c2 = 34, 91. En ese momento, el producto 3 pasa a ser atendido, por lo que el tiempo
de espera fue D 3 = c2 − T3 = 34,91 − 33,51 = 1,40.
Los dos eventos futuros posibles son la salida del tercer producto o la llegada del cuarto. Como T4 < c3, el evento más próximo es la llegada del cuarto producto.
Así, e5 = T4.
Llegada del cuarto producto en el tiempo T4 = 37, 46. El quinto sucede en el tiempo:
Los futuros eventos posibles son la salida del tercer producto y la llegada del quinto. Como c3 < T5, el evento más próximo es la salida del tercer producto del
Salida del tercer producto en el tiempo c3 = 40, 33. El cuarto producto comienza a ser atendido, por lo que su tiempo de espera fue:
Como c4 < T5, el evento más próximo es la salida del cuarto. Por lo tanto e7 = T4.
Salida del cuarto producto en el tiempo T4 = 44, 89. El evento más próximo es la llegada del quinto producto en el tiempo T5 = 58,00, por lo que
e8 = T5.
Llegada del quinto producto en el tiempo T5 = 58, 00. El último evento que resta es la salida del último producto, cuyo tiempo está dado por:
La longitud promedio de la cola está dada por la suma de los tiempos de espera, por la cantidad de productos en espera, dividido por el tiempo
total de simulación (Taha, 2004); por lo que, en este caso, solo el tercer y cuarto producto estuvieron en la cola, y fueron los únicos de ella. Así
se tiene que:
Los modelos de simulación de eventos discretos se aplican a una gran variedad de sistemas reales. A pesar de la diversidad de aplicaciones, la mayoría tiene los
siguientes componentes:
Estado del sistema: es el conjunto de las variables de estado que son necesarias para describir el sistema en un determinado tiempo (Kelton y
Law, 1991).
Reloj de simulación: variable que registra el tiempo actual de la simulación (Kelton y Law, 1991).
Lista de sucesos: lista que contiene los tiempos de los futuros posibles sucesos.
Estadística del sistema: son las variables destinadas a recolectar la información estadística sobre el desempeño del sistema.
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.
En los mecanismos de intervalos de tiempos fijos, el reloj de simulación avanza exactamente un valor ∆t de tiempo, el cual es determinado apropiadamente de
acuerdo al modelo. Después de cada avance del reloj de simulación, se debe verificar si se produjo algún evento en el intervalo de tiempo ∆t inmediatamente
anterior. Si se produjo algún evento en ese intervalo previo, se considera que ocurrió el fin del intervalo de tiempo, y la actualización del estado y las estadísticas se
realizan con base en esta consideración.
La simulación de eventos discretos, utilizando un mecanismo de intervalos de tiempos fijos, tiene dos desventajas importantes. La primera es que se genera un
error al considerar que los eventos suceden al final de cada intervalo de tiempo. Se genera así una dificultad al analizar el desempeño del modelo. La segunda
desventaja se da cuando, en el intervalo de tiempo se produce más de un evento, donde hay que decidir cuál se considera primero. En este caso, se podría
disminuir el tamaño del intervalo de tiempo ∆t, pero esto implicaría un mayor costo operacional de la simulación (Kelton y Law, 1991).
En los mecanismos de simulación discreta, los relojes simuladores del tiempo trabajan con intervalos de tiempos fijos y variables.
Verdadero, las simulaciones discretas implementan mecanismos que consideran tiempos fijos y variables aunque las segundas son las más usadas.
Falso, los relojes de simulación tienen predeterminados espacios de tiempos fijos para cada sistema que representen.
SUBMIT
Los relojes de simulación utilizan las mismas unidades de tiempo que los relojes habituales que señalan la hora.
Verdadero, si bien son simuladores de tiempo, sus mecanismos tienen la misma estructura que un reloj corriente que opera con segundos, minutos, horas, etc.
Falso, los instrumentos que en una simulación marcan el paso del tiempo entre eventos o entre cualesquiera dos sucesos tienen unidades de variables que se
ajustan al sistema representado.
SUBMIT
En la organización de un modelo de simulación hay un solo programa que organiza todo el proceso.
Verdadero, es el programa principal de simulación que organiza el proceso desde que se inicia con el ingreso de datos y fórmulas hasta que culmina el proceso por
alguna razón preestablecido o porque se acaba el tiempo de la simulación.
Falso, son varios los programas y subprogramas que intervienen en una simulación, cada uno con una tarea específica.
SUBMIT
Para simulaciones de eventos discretos no es aconsejable usar mecanismos de tiempos fijos porque estos tienen desventajas que
entorpecen el análisis.
Verdadero, cuando se usan mecanismos de intervalos de tiempos fijos los resultados que se obtienen pueden tener errores e, incluso, imprecisiones que quitan
exactitud a los análisis.
Falso, en las simulaciones de eventos discretos es indistinto usar mecanismos con intervalos de tiempos fijos o tiempos variables.
SUBMIT
El tiempo que transcurre entre dos eventos de una simulación es definido previamente con variables aleatorias y sus respectivas
Verdadero, las simulaciones de eventos están basados en la ocurrencia de sucesos, ya sean llegadas o salidas al sistema. El tiempo que transcurre entre ellos es
aleatorio y se genera previamente por algún método de generación de números aleatorios.
Falso, en estas simulaciones los intervalos de tiempo entre los eventos se generan de manera determinística.
SUBMIT
LECCIÓN 2 de 4
Video conceptual
Referencias
Kelton, D., y Law, A. (1991). Simulation Modeling and analysis. Estados Unidos: McGraw-Hill.
Simulación de Montecarlo
–
Cuando se estudia simulación es el Método de Montecarlo uno de los primeros que debe analizarse. Como precursor de la simulación actual y base de otros muchos métodos es
éste uno de los esquemas de modelado que estima valores estocásticos o determinísticos con base en un muestreo aleatorio y que más se ha usado en la creación de modelos.
Tipos de simulación
–
Las simulaciones se construyen para responder a problemáticas muy variadas. Un apartado especial merece aquellas que representan sistemas reales cuyo comportamiento
puede representarse como una función de tiempo. La ocurrencia de los sucesos en ese transcurso de tiempo puede ser clasificados como eventos discretos y eventos continuos.