Discrete-event simulation in javascript
Published: 2021-10-13 15:00:35

Abstract
Simulación de ingreso  de estudiantes a colegio primario durante pandemia con metodología de evento a evento considerando las variables de control la cantidad de alumnos y voluntarios. Se ejecutaron más de 1 millón de simulaciones para detectar el número ideal de voluntarios teniendo como objetivo reducir los tiempos ociosos de los mismos, el tiempo de espera de los estudiantes y el porcentaje de embotellamiento. El estudio demostró que 5 voluntarios es la cantidad óptima  con las funciones de probabilidad relevadas.

Palabras Clave
Simulación, Escuela, Entrada Escalonada, Escuela primaria, Institución educativa, Evento a evento, protocolo covid, alumnos, voluntarios.

Introducción
En marzo del 2020 y en el contexto de la pandemia causada por el virus Sars-Covid-2, el Ministerio de Educación de la Ciudad de Buenos Aires indicó a través de diferentes normativas un protocolo estricto de funcionamiento para las instituciones educativas de la ciudad.
Para poder mantener la distancia y evitar aglomeraciones en los ingresos, se indicó que se tiene que seguir un protocolo llamado “Entradas escalonadas”,  que consiste en asignar un horario específico de entrada a cada alumno.
Desde el primer momento Beth School, una escuela con una matrícula de 420 alumnos , dispuso 3 tandas de entrada de 10 minutos cada una, desde las 8:10am hasta las 8:40am, y en cada una ingresan 140 alumnos.
Para agilizar el proceso, la escuela solicitó a padres que se presenten como voluntarios para cumplir el rol de “abrepuertas”, cuya tarea es acompañar a los estudiantes desde sus vehículos a la puerta del instituto.
La escuela se encuentra en una calle estrecha, en la que entran hasta 16 autos al mismo tiempo, por lo que hay una gran probabilidad de embotellamiento si el procedimiento sufre desperfectos, o hay poco personal voluntario para acompañar a los chicos desde el auto hacia la escuela.
También, el colegio estima que en los próximos años, la cantidad de alumnos crecerá sustancialmente, por lo tanto le interesa estimar cómo se comportará este sistema variando la cantidad de alumnos totales y la cantidad de voluntarios.
Con el objetivo de analizar diferentes escenarios de combinación entre cantidad de alumnos y cantidad de voluntarios se decidió realizar una simulación con metodología evento a evento. Durante el pre análisis, se ejecutaron distintas entrevistas con personas involucradas en la institución, para poder entender el contexto y poder diagramar un modelo de la realidad, para luego definir las variables endógenas y exógenas que están en juego en esta representación de la realidad.
El objetivo de este trabajo es encontrar la combinación de variables de control para que la entrada escalonada de la Escuela Beth sea lo más óptima posible. Definiendo como óptimo un escenario con el menor tiempo ocioso de los voluntarios. el menor porcentaje de embotellamiento y el menor tiempo de espera promedio de los alumnos.

Elementos del Trabajo y metodología

Relevamiento Inicial y definición metodológica
La información que permitió el desarrollo de este modelo fue relevada mediante varias entrevistas con la directora de la escuela. Según las variables identificadas del escenario a tratar, se modeló la simulación de evento a evento, considerando las llegadas de alumnos e ingreso al edificio escolar como los elementos que atiende el sistema en intervalos variables de tiempo. 
Las entradas al sistema se dan a través de la llegada de personas mediante una fila de autos. Donde los estudiantes son acompañados desde el auto a la puerta del colegio por voluntarios, el tiempo de atención es el mismo en todos los cursos exceptuando los de nivel inicial que presenta una demora mayor. De esta manera, la metodología de evento a evento utilizada es la de un sistema con “n” puestos de atención en paralelo, con una única cola, ya que se conoce la fdp del intervalo entre arribo de los estudiantes y el tiempo de atención recién es conocido una vez identificado el curso al que pertenece el alumno.
Debido a la situación real que considera el sistema, es importante aclarar que todos los estudiantes que llegan deben ingresar al sistema, por eso de esta manera, no se considera arrepentimiento en el modelo utilizado. Y se considera que siempre hay vaciamiento.

Variables de simulación
Como se busca conocer la cantidad ideal de voluntarios necesarios para el ingreso escolar de una cantidad de alumnos variable, estas dos variables son consideradas como las de control dentro de las variables exógenas. Y en cuanto a las variables de datos relacionadas con las variables provenientes del exterior, se considera el intervalo de arribo de estudiantes (en segundos) y el tiempo de atención de cada voluntario para acompañar a los estudiantes a la puerta del colegio.
Dentro de las variables endógenas, se identificó a las de estado relacionadas con la cantidad de alumnos dentro del sistema en un momento dado. Y finalmente, las variables de resultado que permiten analizar los distintos escenarios son: tiempo ocioso de los voluntarios, tiempo de espera de los estudiantes y porcentaje de tiempo que se produjo embotellamiento sobre los totales. La última variable mencionada, surge por una restricción dada por la cantidad de autos que permite circular la calle de ingreso sin provocar embotellamiento, es decir, sin impedir la circulación normal.

Diseño de la simulación
Las herramientas utilizadas para construir la simulación fueron Javascript para la simulación propiamente dicha, ejecutada en un ambiente local con node, y para la visualización de los resultados PowerBi. Esta última herramienta se utilizó para presentar los resultados de forma gráfica y dinámica facilitando su análisis para la toma de decisiones.
La simulación se basó en el flujograma diseñado previamente donde el comportamiento del sistema se inicia de manera cíclica con la llegada de un evento al sistema: llegada de un estudiante o liberación de un voluntario. Una vez identificado el evento próximo, se avanza en el tiempo y se procede a realizar el comportamiento requerido por este. Como estos dos eventos son independientes, recién una vez iniciada la atención de los estudiantes se conoce el tiempo requerido del auxiliar. 
Evento
EFNC
EFC
Condición
Llegada de alumno
Llegada de alumno
Atención de voluntario(i)
NS <= V
Atención de voluntario(i)


Atención de voluntario(i)
NS >= V

Tabla 1- Tabla de eventos independientes
En cada llegada de un estudiante, se debe verificar que no se haya producido un embotellamiento, y si es así, contabilizar el tiempo que se produjo a lo largo de la simulación. Como así también, evaluar si hay algún auxiliar libre para la atención inmediata o si debe esperar hasta la liberación de alguno.
La simulación se considera terminada una vez finalizado el ingreso de todos los alumnos. Restricción dada por condiciones del escenario real modelado.
Los rangos de las variables de control de la simulación se basaron en condiciones reales del escenario estudiado, donde los voluntarios varían entre 1 y 6 personas. Y en cuanto a la cantidad de los alumnos, en base a los matriculados (420 alumnos) y un rango de tolerancia de nuevos estudiantes o faltas de un 10% (462 y 378 alumnos).

Resultados
Para obtener resultados útiles, se corrió la simulación con distintos valores de alumnos y de voluntarios. Los valores de alumnos probados fueron 378, 420 y 462, y la cantidad de voluntarios probados varió de 1 a 6. Se decidió combinar de manera cruzada cada uno de estos valores para obtener 18 ejecuciones diferentes, y cada ejecución se corrió 100.000 veces, y se promediaron los resultados.
La simulación tiene una duración de 30 minutos, donde la unidad de tiempo que se utiliza es 1 segundo, y la ejecución termina luego de 30 minutos, o cuando entre el último chico a la escuela. Lo que ocurra primero.
En primera instancia, se observa que independientemente de la cantidad de alumnos totales, si se dispone de 1 solo voluntario, el porcentaje de tiempo ocioso del voluntario cae a 0 (este resultado tiene sentido, ya que el voluntario nunca descansa), se observa además que el tiempo promedio de espera de los alumnos es máximo (tiene un rango de 2702 a 3227 segundos dependiendo de la cantidad total de alumnos), y también se observa un porcentaje de embotellamientos altísimo de 95%, es decir que el 95% del tiempo total existe embotellamiento en la calle (independientemente de la cantidad de alumnos totales). 
En segunda instancia, teniendo 2 voluntarios totales, independientemente de la cantidad de alumnos totales, el porcentaje de tiempo ocioso por voluntario sigue siendo casi nulo, el tiempo promedio de espera por alumno se reduce dramáticamente en un 65% comparado con el escenario anterior, pero el porcentaje de embotellamiento no cambia comparado con el escenario anterior. Existe embotellamiento en un 93% del tiempo total.
Lo mismo sucede agregando un nuevo voluntario, llevando el total a 3. Independientemente de la cantidad de alumnos totales, el porcentaje de tiempo ocioso por voluntario sigue siendo prácticamente nulo, el tiempo promedio de espera por alumno se reduce dramáticamente en un 73% comparado con el escenario anterior, pero el porcentaje de embotellamiento no cambia comparado con el escenario anterior. Existe embotellamiento en un 90% del tiempo total.
Se empiezan a notar cambios sumando un nuevo voluntario, llevando el total a 4, donde el embotellamiento se reduce a un 78%, el tiempo de espera de alumnos se reduce aún más, a 130 segundos de promedio, pero todavía no se observan tiempos ociosos en los voluntarios (menor al 1%).
Finalmente, el salto comparativo más grande se observa con 5 voluntarios. En este escenario, independientemente de la cantidad de alumnos totales, el porcentaje de embotellamiento cae a 0, el porcentaje de tiempo ocioso de los voluntarios sube al 8%, y el tiempo promedio de espera de los alumnos cae drásticamente a menos de 1 segundo en promedio.
Por último, contando con 6 voluntarios, independientemente de la cantidad de alumnos totales, el porcentaje de embotellamiento sigue siendo nulo, el tiempo promedio de espera de los alumnos es infinitesimal (son atendidos instantáneamente),  y el porcentaje de tiempo ocioso de los voluntarios es 23%.



Tabla 2- Variación Tiempo de Espera Promedio por Voluntarios \ Alumnos

Tabla 3- Variación Tiempo Ocioso del Voluntario por Voluntarios \ Alumnos


Tabla 4- Variación Porcentaje de Embotellamiento por Voluntarios \ Alumnos

Discusión

En primer lugar, se observa que al variar la cantidad de alumnos totales al ser una variable de control, no altera los resultados de la simulación para igual cantidad de voluntarios. Para cada cantidad de voluntarios, se probaron 3 cantidades distintas de alumnos, y las desviaciones observadas son mínimas.
En segundo lugar, se observa que el salto más significativo en los resultados se da cuando se pasa de 4 a 5 voluntarios. Al hacer este salto, se elimina por completo el embotellamiento, el tiempo de espera de los alumnos pasa a ser menor a 1 segundo, y el tiempo ocioso de los voluntarios pasa a ser 8%. 
En tercer lugar, se observa que entre 1 y 4 voluntarios, los resultados son parecidos entre sí. Existe un porcentaje de embotellamiento considerable, los alumnos esperan una gran cantidad de tiempo, y los voluntarios tienen menos del 1% de porcentaje de tiempo ocioso.
En cuarto lugar, se observa que el salto cuantitativo entre 5 y 6 voluntarios es significativo en cuanto a el tiempo ocioso de los voluntarios, pero no es significativo en cuanto al embotellamiento (se mantiene nulo), y el tiempo promedio de espera de alumno.


Conclusión
A partir de los resultados obtenidos, se puede observar que el resultado óptimo de esta simulación es 5 voluntarios. Usando este parámetro, el embotellamiento es inexistente, el promedio de espera de alumnos es casi nulo y el porcentaje de tiempo ocioso de los voluntarios es 8 %. Es importante aclarar que los voluntarios hacen esta tarea de buena voluntad, y tomamos en cuenta que no queremos someterlos a una situación de explotación, por lo tanto disponemos que un porcentaje de tiempo ocioso arriba del 5% les daría tiempo a los voluntarios de tomarse un respiro entre viaje y viaje. También tomamos en cuenta que el tiempo que un alumno puede esperar adentro del auto sin desesperarse no puede superar los 30 segundos. Y este cambio lo notamos a partir de 5 voluntarios.
Es importante el detalle de que la cantidad de alumnos totales no influye considerablemente en el resultado. A la hora de realizar el relevamiento, esta variable de control fue causal de nerviosismo por parte de la escuela, y comunicar estos resultados, les será de utilidad para poder proyectar mejor la futura planificación de la entrada escalonada en el 2022.