Full text
TREBAJO FINAL DE GRADO TÍTULO DEL TFG: Comparativa estrategias de embarque en una situación de pandemia mediante simulación basada en agentes. TITULACIÓN: Grado en ingeniería de Aeronavegación AUTOR: Lois Gómez González DIRECTOR: César Trapote Barreira Fecha: 02/01/2021
2 Resumen El nuevo coronavirus (SARS-CoV-2) ha impuesto la necesidad de una serie de medidas de restricción en todo el mundo para reducir los efectos de la pandemia de la COVID-19. Estas medidas también afectan el mundo de la aviación, y en concreto el proceso de embarque al avión. Por lo tanto, los métodos de embarque deben evaluarse tanto en términos de las normas de distanciamiento social, para reducir la posibilidad de contagio, y la eficiencia resultante para las aerolíneas en términos de tiempo. Este trabajo analiza el impacto de una serie de restricciones impuestas en todo el mundo sobre el proceso del turnaround de un avión comercial, y en concreto, se centrará en analizar el proceso de embarque. Para comparar la eficiencia de las siete estrategias de embarque propuestas se han empleado diversas métricas, tales como el tiempo de embarque, el número de interferencias y el riesgo de contagio que supone para el pasaje el proceso de embarque. Se emplea un modelo basado en agentes implementada en NetLogo para probar siete métodos de embarque comunes bajo diversas condiciones. La pirámide inversa, junto con el método WiLMA y Steffen proporcionan el tiempo más corto para completar el abordaje del avión, así como el menor riesgo para la salud derivado de una posible infección resultante de las interferencias del asiento. El método de embarque de atrás hacia adelante por filas presenta un alto tiempo para completar el embarque, pero tiene la ventaja de proporcionar un bajo riesgo de salud ya que se evita que los pasajeros que acceden puedan infectar a los pasajeros que estaban sentados anteriormente en las filas que atraviesan. Las aerolíneas tienen la difícil tarea de negociar entre productividad y el impacto para la salud.
3 Abstract The novel coronavirus (SARS-CoV-2) has imposed the need for a series of restrictions worldwide to mitigate the effect of the COVID-19 pandemic. This also applies to the aviation, including airplane boarding. Therefore, boarding methods must be evaluated both in terms of social distancing rules, to reduce the possibility of contagion, and the resulting efficiency for airlines in terms of time. This study analyzes the impact of a series of restrictions imposed around the world on the turnaround process of a commercial aircraft, and in particular, it will focus on analyzing the boarding process. To compare the efficiency of the seven proposed boarding strategies, various metrics have been used, such as boarding time, the number of interferences, and the risk of contagion that the boarding process poses for the passenger. An agent-based model implemented in NetLogo is used to test seven common boarding methods under various conditions. The reverse pyramid, together with the WiLMA and Steffen methods, provide the shortest time to complete boarding, as well as the lowest health risk from possible infection resulting from seat interference. The back-to-front row boarding method presents a long time to complete boarding but has the advantage of providing a low health risk as it prevents passengers from infecting passengers who were previously seated in the rows that traverse. Airlines have the difficult task of making a tradeoff between productivity and health impact.
4 Índice Resumen ..................................................................................................................... 2 Abstract ...................................................................................................................... 3 1. Introducción ........................................................................................................ 6 1.1. Objetivo.................................................................................................................. 6 1.2. Estructura del documento ................................................................................... 7 2. Marco teórico ...................................................................................................... 8 2.1. Estudios previos ................................................................................................... 8 2.2. Medidas anti-COVID ............................................................................................. 9 2.3. Aircraft Turnaround............................................................................................ 10 2.3.1. Desinfección ...................................................................................................................... 12 2.3.2. Desembarque .................................................................................................................... 13 2.3.3. Embarque ........................................................................................................................... 13 2.3.3.1. Consecuencias del COVID-19 en el embarque .................................................... 15 2.4. ¿Por qué simulación? ........................................................................................ 16 2.4.1. Modelo basado en agentes (MBA) ............................................................................... 17 2.4.2. MBA en Netlogo ................................................................................................................ 18 3. Modelo de simulación ..................................................................................... 19 3.1. Escenario ............................................................................................................. 19 3.1.1. Tipo de embarque ............................................................................................................ 19 3.1.2. Comportamiento de los pasajeros .............................................................................. 23 3.1.2.1. Ocupación y número de puertas ............................................................................. 23 3.1.2.2. Equipaje de mano ........................................................................................................ 23 3.1.2.3. Velocidad ....................................................................................................................... 24 3.1.2.4. Distancia entre pasajeros ......................................................................................... 25 3.2. Métricas ............................................................................................................... 25 3.2.1. Interferencias durante el embarque ............................................................................ 25 3.2.2. Tiempo de embarque....................................................................................................... 26 3.2.3. Riesgo de contagio .......................................................................................................... 26 4. Implementación del modelo ........................................................................... 29 4.1.1. Variables de los agentes ................................................................................................ 30 4.1.2. Parámetros de implementación ................................................................................... 31 5. Simulación ........................................................................................................ 34 5.1. Tiempo ................................................................................................................. 34 5.2. Riesgo .................................................................................................................. 35 6. Resultados ........................................................................................................ 37 6.1. Análisis de sensibilidad ..................................................................................... 37 7. Conclusión ........................................................................................................ 40 8. Futuras líneas de investigación ..................................................................... 42
5 Bibliografía ............................................................................................................... 43 Anexo A .................................................................................................................... 45 Anexo B .................................................................................................................... 63 Índice de ilustraciones FIGURA 1.1: GRÁFICA PREDICCIÓN RECUPERACIÓN TRÁFICO AÉREO. .............................. 6 FIGURA 2.1: FILTROS HEPA. ...................................................................................... 10 FIGURA 2.2: PROCESO TURNAROUND AVIÓN COMERCIAL. ............................................ 11 FIGURA 2.3: CRITICAL PATH TURNAROUND SITUACIÓN PRE-COVID................................. 12 FIGURA 2.4: FLUJOGRAMA PROCESO DE EMBARQUE. ................................................... 13 FIGURA 2.5 : MEDIDAS SALA DE EMBARQUE. ................................................................ 14 FIGURA 2.6: CRITICAL PATH DE TURNAROUN SITUACIÓN POST-COVID. ........................... 16 FIGURA 3.1: ESQUEMA ESTRATEGIAS DE EMBARQUE. ................................................... 19 FIGURA 3.2: WILMA. .................................................................................................. 20 FIGURA 3.3: PIRÁMIDE INVERSA. ................................................................................. 20 FIGURA 3.4: STEFFEN. ................................................................................................ 21 FIGURA 3.5: ATRÁS HACIA ADELANTE. ......................................................................... 21 FIGURA 3.6: ATRÁS HACIA DELANTE FILAS. .................................................................. 21 FIGURA 3.7: ADELANTE HACIA ATRÁS. ......................................................................... 22 FIGURA 3.8: ADELANTE HACIA ATRÁS FILAS. ................................................................. 22 FIGURA 3.9: ALEATORIO. ............................................................................................. 23 FIGURA 3.10: INTERFERENCIAS DE ASIENTO. ................................................................ 26 FIGURA 3.11: PROBABILIDAD DE TRANSMISIÓN LONGITUDINAL (X) Y LATERAL (Y) Y BIDIMENSIONAL. ................................................................................................... 28 FIGURA 4.1:PASOS DE SIMULACIÓN. ............................................................................ 30 FIGURA 4.2: INTERFAZ DE SIMULACIÓN. ....................................................................... 33 FIGURA 5.1: GRÁFICA VARIACIÓN TIEMPO .................................................................... 35 FIGURA 5.2: VARIACIÓN RIESGO DURANTE EMBARQUE. ................................................ 36 FIGURA 6.1: ANÁLISIS SENSIBILIDAD TIEMPO/OCUPACIÓN ............................................. 37 FIGURA 6.2: ANÁLISIS SENSIBILIDAD RIESGO/OCUPACIÓN. ............................................ 38 FIGURA 6.3: ANÁLISIS SENSIBILIDAD TIEMPO/MALETAS. ................................................ 39 FIGURA 6.4: ANÁLISIS SENSIBILIDAD RIESGO/MALETAS. ................................................ 39 Índice de tablas TABLA 4.1: ESCENARIOS DE SIMULACIÓN .................................................................... 32 TABLA 5.1: RESULTADOS TIEMPO SIMULACIÓN. ............................................................ 34 TABLA 5.2: RESULTADOS RIESGO SIMULACIÓN. ........................................................... 36
6 1. Introducción 1.1. Objetivo La pandemia de COVID-19 está provocando una crisis sin antecedentes en la industria de la aviación a nivel internacional. Parte de esta crisis se debe, en gran medida, a las numerosas restricciones de movilidad aplicadas en los diferentes países. Desde el inicio de la pandemia, el número de vuelos se ha reducido notablemente, alcanzando una reducción de hasta un 90% con respecto a los vuelos del año anterior. Además, cabe destacar que la previsión de recuperación según Statfor es lenta y se prolongará en el tiempo, llegando a predecir que hasta 2024, en el mejor escenario, no se recuperarán los niveles de 2019 [1]. Figura 1.1: Gráfica predicción recuperación tráfico aéreo. Fuente: Eurocontrol,2020 [1] Para evitar la propagación del virus y velar por la seguridad el Grupo Asesor Médico de la Asociación Internacional de Transporte Aéreo (IATA) ha publicado recientemente un documento con recomendaciones para reiniciar la aviación de manera segura en presencia de COVID-19 [2]. La implementación de estas medidas conlleva una alteración de los procesos aeroportuarios, aumentando el espacio, así como el tiempo necesario para pasar dichos procesos. Actualmente, si bien los factores de carga son bajos, se espera que se vaya recuperando los niveles de ocupación. En ese escenario de recuperación, uno de los procesos más sensibles a sufrir retrasos es el tiempo que el avión pasa en tierra.
7 Por ello, el objetivo de este estudio se centrará en analizar como afectan las medidas adoptadas en este proceso. En este estudio se analizarán como afectan las medidas anti covid-19 a los procesos de desembarque, embarque y desinfección del avión. En concreto se profundizará en el proceso de embarque. Para ello se compararán los métodos de embarque más empleados por las aerolíneas con el fin de determinar que método es el más adecuado en relación con el tiempo de embarque, espacio necesario en las salas de embarque y el riesgo de contagio. Para dicha comparación se realizará una simulación mediante un modelo basado en agentes. Gracias a esta simulación se obtendrán unos resultados con los que, además de obtener cual es el método de embarque óptimo, se podrá comprobar si realmente son eficientes las medidas adaptadas por las autoridades competentes. 1.2. Estructura del documento El documento se divide en seis capítulos a parte de la introducción. En el capítulo dos, se recogen algunos de los estudios previos realizados en este ámbito, se profundiza en el concepto de aircraft turnaround y su importancia en la operativa, así como en las medidas implementadas debido a la COVID-19. La sección tres se centran en el modelo matemático propuesto, así como en las métricas y escenarios empleados. El apartado cuatro y cinco trata la implementación y simulación del modelo basado en agentes. A continuación, los dos siguientes apartados se dedican a la presentación de los resultados obtenidos y las conclusiones que se extraen de estos. Por último, se recoge las futuras vías de investigación que se pueden llevar a cabo a partir de este estudio.
8 2. Marco teórico 2.1. Estudios previos La eficiencia de los métodos de embarque se ha discutido en numerosos estudios desde diferentes puntos de vista. La mayor parte de la literatura se centra en reducir el tiempo necesario para completar el embarque de un avión en determinadas condiciones: la presencia de pasarelas, como en el estudio realizado por Neumann [3] en el cual se recopilan los principales estudios previos; la posibilidad de tener diferentes áreas de preembarque en las que los pasajeros pueden reunirse de manera ordenada, como el concepto de Flying Carpet; el uso de ambas puertas del avión, condición que recogen Jaehn and Neumann en su estudio [3], así como Schultz en su propuesta de modelo estocástico [4]; la posibilidad de embarque como grupo para los pasajeros que viajan juntos, como recogen dos estudios previos Milne et al.; Milne y Salari [5] [6], que se centran en optimizar el tiempo de embarque en un escenario de embarque en grupos. Además, existen varios métodos para decidir cuál es el mejor método de embarque: cellular Discrete-Event System Specification (Cell-DEVS), empleado por Jafer y Mi para comparar las distintas estrategias de embarque [7]; autómatas celulares, usado por Schultz and Soolaki en su estudio centrado en el embarque durante la pandemia [8]; programación lineal, empleada por Bazargan para determinar las interferencias de los pasajeros durante el proceso de acceso al asiento [9]; modelo de simulación basado en cuadrícula, Schultz lo utiliza en su estudio sobre el efecto que tienen las interferencias de asiento en el proceso de embarque [10]; algoritmo de optimización de Monte Carlo, mediante el cual Steffen desarrolla una estrategia de embarque asumiendo que el manejo del equipaje de mano es un factor de impacto importante para el tiempo de embarque; y pruebas empíricas del rendimiento de los métodos de embarque considerados, como las que emplea Steffen para demostrar que su propuesta de estrategia de embarque es la óptima [11]. Cabe mencionar que la mayoría de las simulaciones por ordenador de embarques consideran la situación en la que el avión está completamente cargado de pasajeros, mientras que son pocos los artículos que han abordado el tema de los aviones embarcados parcialmente. Recientemente, Schultz ha realizado dos estudios centrados en el proceso de embarque durante la pandemia de la COVID-19. En el primero de los estudios de Schultz y Fuchte [12] se ha implementado un modelo de transmisión en un entorno de aeronave virtual para evaluar las interacciones individuales entre pasajeros durante el proceso de embarque y desembarque de la aeronave. Este estudio busca, por lo tanto, determinar el riesgo de contagio por interacciones que existe en un avión en diferentes escenarios y mostrar como el aumento de la distancia entre pasajeros, así como la reducción del equipaje de mano reduce el riesgo de contagio.
9 Un segundo estudio [8], diseña un método de embarque en grupo óptimo utilizando un modelo de autómatas celulares estocásticos para los movimientos de pasajeros, que se amplía incorpora el modelo de transmisión mencionado anteriormente. Además, en el estudio se desarrolla un nuevo modelo matemático para determinar una distribución de asientos adecuada para grupos, para ello se ha empleado un modelo de programación lineal de enteros mixtos, cuya resolución se ha llevado acabo a través de algoritmo genético. Este segundo estudio lo realiza junto Soolaki, quien ya anteriormente había propuesto un modelo de optimización del tiempo de embarque mediante el uso de algoritmo genético [13]. 2.2. Medidas anti-COVID Los diversos organismos competentes (EASA, CAAC, FAA) siguiendo las recomendaciones de la OMS [2] e IATA, y en coordinación con las aerolíneas han desarrollado una serie de protocolos para evitar la propagación del virus. Entre las normas de seguridad recomendadas se encuentran: la realización de pruebas diagnósticas de COVID-19 antes de subirse a el avión, uso de mascarillas, distanciamiento físico, limpieza y desinfección, así como una serie de medidas creadas para ayudar a la localización de contactos y la prevención de los riesgos derivados de posibles contagios. Recomendaciones compartidas por la AESA [14]. En términos de distanciamiento físico, el informe de IATA recomienda una distancia ideal entre los pasajeros que puede oscilar entre 1 y 2 m, además de modificar los procesos de facturación, seguridad, inmigración, sala de embarque y embarque a el avión, para garantizar distanciamiento. Otra de las recomendaciones de IATA es la reducción del número de viajeros en cada avión, aconsejando dejar vacío el asiento central en todas las filas para así asegurar el distanciamiento social. Esta recomendación no supone un impacto en el escenario actual debido a la baja ocupación que presentan los vuelos. A esta recomendación se suma la de evitar la venta de snacks y bebidas abordo. Además, entre las medidas estrictamente relacionadas con el distanciamiento físico al abordar el avión, se establece que el proceso de embarque debería ser secuencial a partir de pasajeros con asientos en la parte trasera del avión y asientos en las ventanas. Para de este modo, reducir el número de pasajeros que se cruzan. A su vez la IATA aboga por que se establezca un límite de equipajes de mano. Por su parte, IATA afirma en un estudio conjunto con los principales fabricantes aeronáuticos, que la posibilidad de contagio en el interior de avión es de 1 entre 27 millones. La baja tasa de contagio se debe a las medidas adoptadas, entre las que destacan: la limitación de movimiento de los pasajeros; el respaldo de los asientos, que actúa como una barrera natural que evita que el aire circule entre filas; diseño de flujo segmentado que se dirige generalmente hacia abajo, desde el techo hasta
16 Tal y como se muestra en el gráfico siguiente, las medidas anti-COVID establecidas conllevan un aumento en el TAT. Debido a la baja demanda de vuelos, el tiempo de rotación de flota no se convierte en un problema, ya que todas las aerolíneas tienen parte de su flota parada. Este hecho, que a nivel económico es desastroso, tiene como ventaja la bajada de la presión de entorno a nivel operacional. Figura 2.6: Critical path de turnaroun situación post-covid. Fuente: Eurocontrol,2020 [17] 2.4. ¿Por qué simulación? Como se ha mencionado anteriormente, existen diferentes métodos para analizar el proceso de embarque. La elección de simulación frente a un método analítico determina en gran medida los resultados que obtendremos y la interpretación que se debe hacer de los mismos. Esto hace que sea importante saber las ventajas y desventajas que puede conllevar el uso de esta herramienta. La simulación, utilizando sistemas informáticos, consiste en aplicar programas en los que podamos comprobar cómo funcionar un determinado sistema o testar comportamientos a través de este tipo de simulaciones. Lo que se intenta a través de esta técnica es recrear sistemas reales e hipotéticos a través de la recreación de un entorno artificial. Del mismo modo, la creación de entornos artificiales basados en escenarios reales nos permite analizar comportamientos humanos ante determinadas situaciones. La simulación posee ventajas tales como realizar modificaciones en el análisis sin la necesidad de comprometer recursos; la posibilidad de comprimir y expandir el tiempo, esto permite acelerar o ralentizar los fenómenos para que se puedan investigar a fondo; permitir realizar un examen microscópico del sistema para determinar por qué ocurre el fenómeno.
17 Además, una vez que se ha desarrollado un modelo de imitación válido, se pueden explorar nuevos procedimientos operativos o métodos sin el gasto y la dificultad de experimentar con el sistema real. Por su contra, el resultado de la simulación puede ser difícil de interpretar. Dado que la mayoría de las salidas de la simulación son variables esencialmente aleatorias (normalmente se basan en entradas aleatorias), por lo que puede ser difícil determinar si una observación es el resultado de interrelaciones del sistema o aleatoriedad. Teniendo en cuenta esto, la elección de un modelo de simulación frente a un modelo analítico se debe a que la simulación nos permite agregar modelos no lineales y complejos, así como permitir la posibilidad de añadir probabilidad aleatoria basada en el comportamiento humano. Además, teniendo en cuenta que el embarque es un proceso no lineal, ya que en determinado punto el tiempo de embarque crece exponencialmente debido al bloqueo provocado por la acumulación de pasajeros, es difícil formular de manera analítica este proceso 2.4.1. Modelo basado en agentes (MBA) Dentro de los modelos de simulación existen diversos tipos: simulación discreta o continua, estática o dinámica, basada en eventos, basada en procesos o basada en agentes. La simulación del proceso de embarque se realizará mediante la implementación de un modelo basado en agentes. La simulación basada en agentes se define como un método informático que permite construir modelos constituidos por agentes que interaccionan entre sí dentro de un entorno para llevar a cabo experimentos virtuales. Pese a la simplicidad del modelo, un modelo basado en agentes puede exhibir patrones de comportamiento complejos y proporcionar información sobre la dinámica del entorno que se simula. En comparación con otras técnicas de modelado, el modelo basado en agentes proporciona la base necesaria para imitar los detalles de un mecanismo o un proceso sin involucrar demasiado modelado estadístico o matemático. Además, según Bonabeau [18] los beneficios de MBA sobre otras técnicas de modelado se pueden capturar en tres afirmaciones: un MBA captura fenómenos emergentes, esto es, fenómenos que resultan de las interacciones de entidades individuales; MBA proporciona una descripción natural de un sistema; y un MBA es flexible. Esta última característica cobra una gran importancia a la hora de escoger este tipo de modelo, ya que esta flexibilidad nos permite agregar más agentes a un modelo con facilidad, así como ajustar la complejidad de los agentes con relación a su comportamiento o a reglas de interacción.
18 2.4.2. MBA en Netlogo NetLogo es un ambiente para la programación de modelos en el cual se pueden simular fenómenos sociales y naturales. NetLogo es especialmente útil para modelar sistemas complejos que evolucionan con el tiempo, como es nuestro caso de estudio. Además, el programa hace posible explorar la conexión entre la conducta de los individuos a nivel micro y los patrones que emergen a nivel macro como resultado de las interacciones entre dichos agentes. Esto se debe a que NetLogo permite dar instrucciones a los agentes que operan independientemente. NetLogo no es sólo un lenguaje de programación, sino que es un ambiente computacional que incluye como núcleo central un lenguaje de programación para la creación de Modelos Basados en Agentes. La elección de Netlogo como lenguaje de programación frente a otros softwares de simulación más avanzados como puede ser Anylogic o STELLA, se debe, en primer lugar, a que el software empleado es de libre distribución, mientras que para usar Anylogic se debe adquirir una licencia. Además, Netlogo se caracteriza por su simpleza a la hora de programar, mientras que para programar en STELLA se requieren conocimientos previos del entorno. Además, NetLogo posee una extensa documentación y tutoriales, que permiten a los usuarios comprender mejor la forma en que se puede usar el programa. Cabe destacar que NetLogo posee una flexibilidad que permite adaptar los modelos ya prestablecidos a las necesidades del entorno. Por lo tanto, el software se adapta a la perfección a las necesidades de simulación de un estudio de ámbito académico como este.
19 3. Modelo de simulación 3.1. Escenario Entenderemos como escenario cada una de las configuraciones de niveles en los factores (parámetros) con los que deseamos evaluar o simular nuestro sistema. En concreto, los parámetros que se tendrán en cuenta serán la estrategia de embarque adoptada, la ocupación de la aeronave o la cantidad de equipaje de mano que llevan a bordo los pasajeros. 3.1.1. Tipo de embarque Según la literatura de investigación sobre métodos de embarque en aviones, existen más de 20 métodos que han sido creados y probados bajo diferentes supuestos. En este estudio se empleará el documento de Delcea et al. [23] como referencia. Las estrategias de embarque se pueden dividir en dos categorías principales según la asignación de asientos: con asignación de asiento fija o sin asignación de asiento (también llamadas estrategias de asientos abiertos). A su vez, estos grupos se pueden dividir según la entrada de los pasajeros en el avión en: por fila, por grupo o por asiento. En el siguiente esquema se muestra dicha clasificación. Figura 3.1: Esquema estrategias de embarque. Dentro de esta clasificación existen numerosos métodos diferentes de embarque, pero el estudio se centrará en analizar los siguientes métodos, todos ellos pertenecientes a embarques de asiento asignado: - WILMA: Los pasajeros embarcan divididos en tres grupos según el asiento que le ha sido asignado. El orden de embarque es el siguiente: primero los pasajeros con asientos cerca la ventana, luego los pasajeros con asientos intermedios y finalmente los pasajeros con asientos en el pasillo. En el momento en que comienza el embarque, todos los pasajeros del primer Embarque Asiento asignado Aleatorio Por grupo Por asiento Asiento abierto Aleatorio Por grupo
20 grupo son llamados a abordar en una secuencia aleatoria dentro del grupo. Una vez que el último pasajero perteneciente al primer grupo haya procedido a abordar, el segundo grupo está llamado a embarque. Al igual que en el grupo anterior, los pasajeros pertenecientes a este segmento embarcan en una secuencia aleatoria dentro del grupo. Por último, el tercer grupo embarca siguiendo el mismo patrón que los dos grupos anteriores. Figura 3.2: WiLMA. Fuente: Delcea et al,2018 [23]. - Pirámide inversa: Embarque por grupos en el que se utiliza un esquema de embarque diagonal, comenzando con los pasajeros que tienen asientos con ventana ubicados en las filas traseras del avión y terminando con los que tienen asientos de pasillo en las primeras filas del avión. Figura 3.3: Pirámide inversa. Fuente: Delcea et al,2018 [23]. - Método Steffen: Método de embarque por asientos, esto es, los pasajeros son llamados a embarcar uno por uno. El primer pasajero que sube tiene un asiento cerca de la ventana de la última fila del avión, luego el segundo tiene un asiento cerca de la ventana dos filas por delante del primer pasajero. Una vez que los pasajeros con asientos en la ventana en filas pares a un lado del avión han embarcado, el proceso continúa embarcando pasajeros sentados a dos filas de distancia en el otro lado del avión. Los asientos centrales y de pasillo siguen el mismo procedimiento. Este método de optimización del tiempo de embarque ha sido propuesto por Jason H. Steffen [11]. En este método se determina que el factor más dominante a la hora de embarcar es el tiempo que se necesita para colocar el equipaje de mano, por lo tanto, la distribución de entrada del pasaje busca minimizar las interferencias producidas por este hecho.
21 Figura 3.4: Steffen. Fuente: Delcea et al,2018 [23]. - De atrás hacia adelante: Los pasajeros se dividen en grupos según la ubicación de sus asientos, habitualmente se divide el pasaje en cinco grupos. El primer grupo en abordar está formado por pasajeros que tienen asientos en la parte trasera, mientras que el último grupo en abordar contiene pasajeros con asientos en la parte delantera. Este método es el propuesto por la IATA para reducir el riesgo de contagio. Figura 3.5: Atrás hacia adelante. Fuente: Delcea et al,2018 [23]. - De atrás hacia adelante por filas: Los pasajeros acceden al avión según la fila en la que se encuentre su asiento. El primer grupo en abordar está formado por pasajeros que tienen asientos en la última fila, los siguientes pasajeros se corresponderán a asientos de la penúltima fila y así sucesivamente hasta completar el avión. Figura 3.6: Atrás hacia delante filas. Fuente: Delcea et al,2018 [23].
22 - De adelante hacia atrás: Los pasajeros se dividen en grupos según la ubicación de sus asientos, habitualmente se divide el pasaje en cinco grupos. El primer grupo en abordar está formado por pasajeros que tienen asientos en la parte delantera, mientras que el último grupo en abordar contiene pasajeros con asientos en la parte trasera. Figura 3.7: Adelante hacia atrás. Fuente: Delcea et al,2018 [23]. - De delante hacia atrás por filas: Los pasajeros acceden al avión según la fila en la que se encuentre su asiento. El primer grupo en abordar está formado por pasajeros que tienen asientos en la primera fila, los siguientes pasajeros se corresponderán a asientos de la segunda fila y así sucesivamente hasta llegar a la última fila del avión. Figura 3.8: Adelante hacia atrás filas. Fuente: Delcea et al,2018 [23]. Cabe mencionar la estrategia aleatoria con asientos asignados, en la que los pasajeros suben al avión de manera aleatoria (por orden de llegada) y una vez dentro, proceden al número de asiento y fila asignado en la tarjeta de embarque
23 Figura 3.9: Aleatorio. Fuente: Delcea et al,2018 [23]. Este método de embarque es el más empleado en un escenario de normalidad. Pero debido a la complejidad de este para organizar el pasaje y el alto número de interferencias que este provoca, la IATA lo desaconseja. Por lo tanto, no se contemplará en la simulación. 3.1.2. Comportamiento de los pasajeros Un escenario de simulación de embarque se define por el número de pasajeros a abordar (factor de carga), el número de puertas disponibles, el tiempo que se tarda en ordenar el equipaje de mano, la velocidad de los pasajeros en el avión y la estrategia de embarque específica (tratadas en el apartado anterior). 3.1.2.1. Ocupación y número de puertas La ocupación de las aeronaves debido a la situación de crisis provocada por la pandemia es baja, pero las previsiones a largo plazo pronostican la recuperación del sector. Debido a esto, se simularán tres casos, uno con una ocupación baja del 50%, una situación más favorable del 75% y un último escenario donde el avión esté completo. En cuanto al número de puertas del avión que se emplearán para embarcar, se ha decidido que la simulación solo contemplará el embarque por la puerta delantera. Esto se debe a que siguiendo las recomendaciones de la IATA se busca evitar el uso de autobuses para acercar a los pasajeros al avión y que el embarque sea directo desde la puerta de embarque del aeropuerto a el avión. 3.1.2.2. Equipaje de mano Según los estudios realizados por Jason H. Steffen [11] acerca del proceso de embarque, la principal causa de retraso se debe al tiempo que tarda un pasajero en colocar su equipaje en el compartimento. El tiempo que necesita un pasajero para colocar su equipaje, depende de diversos factores. Entre estos factores destacan la
24 cantidad de equipaje de mano que lleva el pasajero y la cantidad de equipajes que están ya depositadas en el compartimento, así lo describe la fórmula de Audenaert et al. [19]. 𝑡𝑠𝑙= (𝑛𝑏𝑖𝑛+𝑛𝑙 2 𝑥 𝑛𝑙)𝑥 𝑇𝑟𝑜𝑤 (1) Donde el número tiempo necesarios para guardar todo el equipaje, tsl depende tanto del número de piezas de equipaje de mano ya en el compartimento, es decir, nbin y la cantidad de piezas de equipaje de mano que el pasajero desea almacenar, es decir, nl. Por su parte, Trow es una característica individual y modela el hecho de que los pasajeros que se mueven a un ritmo más lento también serán más lentos para guardar su equipaje. En nuestro caso, siguiendo la recomendación de IATA acerca de la reducción de equipaje de mano se contemplará el caso de que los pasajeros puedan llevar solamente una o ninguna maleta. Siguiendo los estudios realizados por Sch en el aeropuerto de Zúrich [20], el tiempo que emplea un pasajero en depositar su equipaje varía entre 3s y 17s. 3.1.2.3. Velocidad La velocidad de los pasajeros depende de su sexo, edad y condición, además, los pasajeros que portan maleta caminarán más despacio. Siguiendo los parámetros empleados por Milne and Salari [6] la velocidad de un pasajero se define en 0.33 m/s mientras que en caso de llevar maletas se establece un rango entre 0.2 - 0.3 m/s. También es importante remarcar que la velocidad de un pasajero nunca podrá ser superior a la del pasajero de delante, tal y como se muestra en la siguiente fórmula. 𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑖 = {𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑖 ,𝑠𝑖 𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑗 ≥𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑖 𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑗,𝑠𝑖 𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑗 ≤𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑𝑖 0, 𝑠𝑖 𝑒𝑥𝑖𝑠𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑓𝑒𝑟𝑒𝑛𝑐𝑖𝑎 Siendo j, el pasajero que precede a i. La velocidad de los pasajeros siempre tendrá signo positivo, ya que en el modelo no se contempla que los pasajeros puedan ir en contraflujo. De este modo, excluye del modelo la posibilidad de que los pasajeros caminen por el pasillo en ambas direcciones, en busca de un sitio para alojar sus maletas o debido a una equivocación en el asiento que ha ocupado.
25 3.1.2.4. Distancia entre pasajeros En condiciones normales la distancia entre pasajeros para considerar un embarque confortable sería de 0,4m . En este caso, debido a la situación epidemiológica actual se seguirán las directrices marcadas por la OMS, y es por esto que en el modelo se establece como distancia mínima entre pasajeros 2 m. Esta distancia se deberá de mantener en todo el proceso de ambarque hasta ocupar el asiento asignado. 3.2. Métricas Los diferentes escenarios presentados en el apartado anterior se analizarán teniendo en cuenta los siguientes parámetros directamente relacionados con las medidas adoptadas para minimizar la propagación del virus, así como el efecto que estas puedan tener en la operativa. 3.2.1. Interferencias durante el embarque El modelo no pretende parametrizar las interferencias existentes en el proceso de embarque, sino que se busca estudiar la conflictividad e interactividad de los pasajeros durante el proceso. Y para ello, se emplearán las modelizaciones de interferencias ya analizadas en estudios anteriores por Schultz [4]. Existen dos tipos principales de interferencias, las consideradas interferencias de pasillo y las de asiento. Estas consisten en: - La interferencia del pasillo se define como la situación en la que un pasajero bloquea el pasillo durante el tiempo de embarque. Esta situación surge, en la mayoría de los casos, debido a que uno de los pasajeros necesita tiempo para guardar el equipaje en el compartimento superior. Por lo tanto, el tiempo derivado de esta interferencia dependerá del tiempo que necesite un pasajero para guardar su equipaje. - La interferencia en los asientos ocurre cuando los pasajeros sentados cerca del pasillo necesitan dejar sus asientos para permitir que un pasajero que aborda más tarde ocupe su asiento más cerca de la ventana en la misma fila y en el mismo lado del avión. Como se muestra en la siguiente imagen existen 4 tipos de interferencias en los asientos.
32 Como se ha mencionado en el apartado anterior se simulan tres escenarios con relación al porcentaje de ocupación. (50%,75% y 100%). Además, se tendrá en cuenta que ningún pasajero lleve equipaje de mano, atendiendo así a las recomendaciones de ICAO, y que un reducido número de pasajeros puedan llevar equipaje de mano, esto es, el 50% del pasaje. En la siguiente tabla se muestran las siete estrategias de embarque junto con los seis escenarios, en relación con configuración y ocupación de la aeronave, que se analizarán. Tipo de embarque Configuración de aeronave y ocupación Aeronave Ocupación Pasajeros con equipaje Escenario Steffen WILMA Pirámide inversa Atrás/adelante grupos Atrás/adelante filas Adelante/atrás grupos Adelante/atrás filas A320 50% 0% S1 50% S2 75% 0% S3 50% S4 100% 0% S5 50% S6 Tabla 4.1: Escenarios de simulación La selección de todos estos parámetros se realiza en el GUI de Netlogo, tal y como se muestra en la siguiente imagen de la interfaz. Además de la selección de las entradas, en la interfaz también se muestra por monitor y en gráficos el riesgo, tiempo y número de interferencias.
33 Ilustración4.2: Interfaz de simulación. Figura 4.2: Interfaz de simulación.
34 5. Simulación Usamos la herramienta BehaviourSpace proporcionada por NetLogo para ejecutar 10,000 simulaciones para cada uno de los escenarios mencionados anteriormente. La realización de 10.000 repeticiones para cada escenario tiene como objetivo obtener una simulación que converja, ya que, debido a que a la salida de cada repetición obtenemos una variable aleatoria, una sola escala no nos aportaría un valor significativo en la salida de los tiempos. A continuación, presentamos los valores promedio de tiempo y riesgo para cada escenario en los tres aviones empleados. En el anexo B se muestra un ejemplo del fichero de datos obtenido para cada escenario. 5.1. Tiempo 50% 75% 100% S1 S2 S3 S4 S5 S6 Steffen 2,70 7,94 3,60 10,50 4,46 12,17 WILMA 2,76 8,39 3,70 10,93 4,66 13,25 Pirámide inversa 2,64 7,79 3,76 11,38 4,28 12,95 Atrás/adelante grupos 7,68 12,52 11,61 18,26 15,73 24,75 Atrás/adelante filas 7,95 15,31 11,40 21,60 14,90 27,88 Adelante/atrás grupos 7,85 13,40 12,39 21,05 15,67 26,11 Adelante/atrás filas 9,43 17,92 14,38 26,69 19,04 36,00 Tabla 5.1: Resultados tiempo simulación en minutos.
35 Figura 5.1: Variación de tiempo para cada uno de los escenarios. Si comparamos los valores de la tabla y la gráfica, podemos observar como existe una diferencia reseñable entre los métodos modernos (Steffen, WILMA y pirámide inversa) y los métodos clásicos. Como se puede apreciar los métodos modernos son mucho más rapados, siendo el método de embarque de pirámide inversa el más eficiente en cuanto tiempo, con un tiempo mínimo de 2 min 39 s y un máximo de 12 min y 57s. Por la contra, el método más lento sería el embarque de adelante hacia atrás en filas con un tiempo que varía entre los 9 min y 26s y los 36 min. Cabe destacar también que el método propuesto por IATA, atrás adelante en grupos es mucho más lento que los métodos modernos (7 min y 41s – 24 min y 45s). 5.2. Riesgo En cuanto al riesgo de contagio producido por interacciones entre pasajeros debido a interferencias durante el embarque, se obtienen conclusiones similares a las obtenidas para la salida del tiempo, tal y como se muestra en la siguiente tabla. De nuevo, los métodos modernos muestran los mejores resultados. Esto se debe, a que estos métodos evitan las interferencias de asiento, reduciendo así los contactos entre pasajeros. Entre los métodos clásicos se puede apreciar como no existe grandes diferencias entre ellas, pero el método que más riesgo de contagio supone para los pasajeros sería un embarque de adelante hacia atrás. Método muy común en las aerolíneas antes de la pandemia. Además, a este riesgo se le debe sumar que en un embarque de estas características los pasajeros que embarcan de últimos pasarán por filas que ya están ocupadas, por lo que el riesgo de contagio
36 con los pasajeros ya sentados puede aumentar. Esto hace, que dentro de los embarques clásicos es aconsejable realizarlo de atrás hacia adelante. 50% 75% 100% S1 S2 S3 S4 S5 S6 Steffen 0,00 40,50 0,00 56,70 0,00 80,60 WILMA 0,00 40,50 0,00 56,70 0,00 80,60 Pirámide inversa 0,00 40,50 0,00 56,70 0,00 80,60 Atrás/adelante grupos 78,20 115,30 132,20 212,80 150,90 223,70 Atrás/adelante filas 82,30 143,60 157,20 231,10 218,70 257,20 Adelante/atrás grupos 87,22 152,40 142,00 217,00 179,80 245,50 Adelante/atrás filas 95,40 148,10 141,90 186,60 192,70 260,50 Tabla 5.2: Resultados riesgo simulación (adimensional). Figura 5.2: Variación riesgo durante embarque.
37 6. Resultados 6.1. Análisis de sensibilidad Una vez obtenido los valores de las simulaciones, se realizará un análisis de sensibilidad empleando el mejor método de embarque, pirámide inversa, y el método propuesto por IATA, de atrás hacia adelante por grupos. El análisis consistirá en fijar el método de embarque y ver como se comporta este en los diferentes escenarios, para ello, se modificarán las diferentes variables que conforman el escenario. El objetivo de este análisis es tratar de entender como afecta al embarque la ocupación y la cantidad de equipaje de mano de los pasajeros. El primer caso de estudio se centra en analizar el efecto que tiene en el tiempo y riesgo el aumento de la ocupación del avión. Para ello, se comparará el tiempo y riesgo medio de embarque en los escenarios 1,3 y 4, es decir, en un embarque sin equipaje de mano. Figura 6.1: Análisis sensibilidad tiempo/ocupación para escenarios 1 (50%), 3 (70%) y 4 (100%) El incremento de tiempo de embarque entre una ocupación del 50% y un avión lleno es del 66,66% para una estrategia de pirámide inversa. Por su parte, el aumento del tiempo en una estrategia de atrás hacia adelante se incrementa un 105%. Por lo tanto, se puede apreciar como la repercusión que tiene en el tiempo la ocupación del avión varía dependiendo de la estrategia empleada. Además, podemos observar como a medida que crece la ocupación del avión, el tiempo de embarque se incrementa de manera constante. De la gráfica se deduce 0 5 10 15 20 Pirámide inversa Atrás/adelante Tiempo (min) Estrategias de emabarque Tiempo de embarque 50% 70% 100%
38 que, entre variaciones pequeñas en el porcentaje de ocupación, la diferencia de tiempo será poco significativa. En cuanto al riesgo, tal y como se muestra en la siguiente gráfica, en el caso de embarque mediante pirámide inversa, como en todas las estrategias modernas, la ocupación no tiene efecto ninguno en el aumento del riesgo. Esto se debe a que el riesgo va asociado al número de interferencias, y gracias a que estos métodos evitan las interferencias de asiento, el número de interferencias, y, por lo tanto, el riesgo no aumenta al aumentar el número de pasajeros. En las estrategias de embarque convencionales, como es el caso de la reflejada en la gráfica, el número de interferencias aumenta con el aumento de la ocupación. Esto trae como consecuencia que el riesgo en un avión lleno sea tres veces mayor que el riesgo en un avión mediado. La ocupación, por lo tanto, es un factor crítico en términos de riesgo de contagio para las estrategias de embarque convencionales, es decir, en las estrategias en las que se producen numerosas interferencias de asiento. Figura 6.2: Análisis sensibilidad riesgo/ocupación. El segundo escenario de estudio se establece para analizar el comportamiento de tiempo y riesgo con relación a la cantidad de maletas que llevan los usuarios. Para ello se fijará una ocupación del 75% y se modificará el porcentaje de pasajeros que llevan maletas, 0% y 50% del pasaje. 0 50 100 150 200 250 Pirámide inversa Atrás/adelante Riesgo (adimensional) Estrategias de emabarque Riesgo de contagio 50% 70% 100%
39 Figura 6.3: Análisis sensibilidad tiempo/maletas. La gráfica del tiempo muestra como pasar de un avión en la que nadie lleve equipaje de mano a un escenario en el que la mitad del pasaje lleva equipaje de mano incrementa el doble el tiempo de embarque indistintamente del método de embarque. Esto se debe a que es no es posible por parte de la aerolínea minimizar el tiempo que tarda cada pasajero en colocar su equipaje en el compartimento superior. Por su parte, el riesgo, tal y como se muestra en la siguiente gráfica, al contrario de lo que sucedía en el escenario anterior donde se variaba la ocupación, el riesgo en el caso del embarque mediante pirámide inversa si presenta riesgo. Este aumento del riesgo debido a la presencia de equipaje de mano se debe a la interacción que se produce entre pasajeros a la hora de colocar el equipaje en el compartimento. Es por ello, que la no presencia de equipaje de mano reduce ostensiblemente el riesgo de contagio durante el embarque, llegando a ser cero en el caso de un embarque sin interferencias de asiento. Figura 6.4: Análisis sensibilidad riesgo/maletas. 0 5 10 15 20 Pirámide inversa Atrás/adelante Tiempo (min) Estrategias de emabarque Tiempo de embarque 0% 50% 0 50 100 150 200 250 Pirámide inversa Atrás/adelante Riesgo (adimensional) Estrategias de emabarque Riesgo de contagio 0% 50%
40 7. Conclusión En este trabajo, una serie de medidas, relacionadas con el proceso de embarque, se evalúan en términos de tiempo de embarque y riesgo para la salud de los pasajeros. Para el análisis de estas medidas se ha implementado un modelo basado en agentes en NetLogo para simular los procesos de embarque de pasajeros bajo el nuevo supuesto de distanciamiento social y así poder probar siete de los métodos métodos de embarque utilizados en la práctica por las aerolíneas. Como resultado, observamos que el método que proporcionó el mejor tiempo de embarque fue la estrategia de pirámide inversa, seguida de WilMA y Steffen. El método con el mayor tiempo de embarque fue de adelante hacia atrás por fila, seguido de las demás estrategias clásicas de embarque. Con esto se concluye que el método propuesto por la IATA, embarque de atrás hacia adelante, no es el método más eficiente en términos de tiempo. En cuanto al incremento del tiempo de embarque debido al tiempo que emplean los pasajeros en almacenar el equipaje, se ha observado que no existe ningún método que optimice este aumento del tiempo. Esta métrica es de vital importancia para determinar el tiempo que los pasajeros pueden estar tocando el equipaje de otros pasajeros, arriesgándose a exponerse al tocar una superficie que pueden contener gotas de COVID-19. Otra métrica, relativa a la salud de los pasajeros, abordó las interferencias en los asientos. Concluyendo que tanto la estrategia de embarque mediante pirámide inversa y los métodos de embarque WilMA y Steffen aseguraran que no hay interferencias entre los pasajeros que tienen asientos en la misma fila. Esta ausencia de interferencias reduce el riesgo de contagio entre pasajeros. Por la contra, el embarque de atrás hacia adelante tanto por filas o por grupos sí presenta interferencias de asientos. Con relación al riesgo de contagio, cabe mencionar que este modelo solo tiene en cuenta el aumento del riesgo producido por interacciones durante interferencias, para obtener una métrica más completa se deberá analizar el riesgo que tienen para las personas que ya están sentadas en el avión el paso de los demás pasajeros a su lado, así como el riesgo que los pasajeros que se dirigen hacia sus asientos y que infectan a los pasajeros ya sentado en filas anteriores. Estos parámetros son estudiados por Schultz en su estudio acerca del proceso de embarque durante la pandemia [8]. Combinando los resultados de ambas métricas de riesgo, observamos que los métodos de mejor rendimiento son los métodos en los que se evita la interferencia de asiento, como es el caso de la pirámide inversa y los métodos que evitan que los pasajeros pasen por un avión lleno de pasajeros hasta llegar a su fila, este es caso del método de atrás hacia adelante por fila, y de atrás hacia adelante por grupo.
41 Los métodos clásicos por grupos y filas son más fáciles de organizar que los métodos de embarque por personas, los cuales suponen una dificultad extra a la hora de organizar el embarque. Por la contra, los métodos de embarque por persona reducen el contagio debido a la eliminación de interferencias. En la misma línea, un embarque de adelante hacia atrás es más rápido, pero supone más riesgo que un embarque de atrás hacia adelante. Como resultado, los siete métodos de embarque analizados en el documento tienen ventajas y desventajas en términos de tiempo de embarque, organización y seguridad de los pasajeros durante la pandemia COVID-19. Por tanto, las aerolíneas tienen la difícil tarea de hacer balance un entre los beneficios económicos que tiene un proceso de embarque rápido, reduciendo así el turnaround, y el impacto en la salud de sus pasajeros.
48 set seat-row patch-cabin-world-cord / 2 + 1 ] ] ] ] setup_airplane_door end to setup_airplane_door set airplane-door-x-cor cabin-x-origin - 2 set airplane-door-y-cor 0 end to setup-passengers create-turtles passenger-number [ set shape "person" set heading 90 set xcor airplane-door-x-cor set ycor airplane-door-y-cor set seated? false set luggage? false set speed 1 set default-speed speed ] let passenger-with-luggage-number round ( passenger-number * Passenger-withluggage-percent / 100 ) ask n-of passenger-with-luggage-number turtles [ set shape "person business" set luggage? true set Aisle-Interference Aisle-Interference + 1 set luggage-store-ticks 3 + random 12 set risc risc + 0.1 * luggage-store-ticks set speed 0.6 + random-float 0.3 set default-speed speed ] if Boarding-method = "Outside-in (WILMA)" [setup-passengers-wilma] if Boarding-method = "Reverse-pyramid" [setup-passengers-reverse-pyramid] if Boarding-method = "Front-to-back" [setup-front-to-back] if Boarding-method = "Back-to-front" [setup-back-to-front] if Boarding-method = "By-row-back-to-front" [setup-by-row-back-to-front] if Boarding-method = "By-row-front-to-back" [setup-by-row-front-to-back] if Boarding-method = "Steffen"[setup-passengers-steffen]
49 end to setup-front-to-back let zone-1-seats patches with [ isSeat? = true and (pycor = -3 or pycor = -2 or pycor = -1 or pycor = 3 or pycor = 2 or pycor = 1) and (seat-row < Number-of-seat-rows * 1 / 5) ] let zone-2-seats patches with [ isSeat? = true and (pycor = -3 or pycor = -2 or pycor = -1 or pycor = 3 or pycor = 2 or pycor = 1) and (seat-row < Number-of-seat-rows * 2 / 5 and seat-row >= Number-of-seatrows * 1 / 5) ] let zone-3-seats patches with [ isSeat? = true and (pycor = -3 or pycor = -2 or pycor = -1 or pycor = 3 or pycor = 2 or pycor = 1) and (seat-row < Number-of-seat-rows * 3 / 5 and seat-row >= Number-of-seatrows * 2 / 5) ] let zone-4-seats patches with [ isSeat? = true and (pycor = -3 or pycor = -2 or pycor = -1 or pycor = 3 or pycor = 2 or pycor = 1) and (seat-row < Number-of-seat-rows * 4 / 5 and seat-row >= Number-of-seatrows * 3 / 5) ] let zone-5-seats patches with [ isSeat? = true and (pycor = -3 or pycor = -2 or pycor = -1 or pycor = 3 or pycor = 2 or pycor = 1) and (seat-row < Number-of-seat-rows * 5 / 5 and seat-row >= Number-of-seatrows * 4 / 5) ] (foreach (sort turtles) [a -> ask a [ let assigned-seat 0 if any? zone-1-seats [ set assigned-seat one-of zone-1-seats set zone-1-seats zone-1-seats with [self != assigned-seat]
50 set color yellow ] if assigned-seat = 0 and any? zone-2-seats [ set assigned-seat one-of zone-2-seats set zone-2-seats zone-2-seats with [self != assigned-seat] set color green ] if assigned-seat = 0 and any? zone-3-seats [ set assigned-seat one-of zone-3-seats set zone-3-seats zone-3-seats with [self != assigned-seat] set color blue ] if assigned-seat = 0 and any? zone-4-seats [ set assigned-seat one-of zone-4-seats set zone-4-seats zone-4-seats with [self != assigned-seat] set color orange ] if assigned-seat = 0 and any? zone-5-seats [ set assigned-seat one-of zone-5-seats set zone-5-seats zone-5-seats with [self != assigned-seat] set color red ] set assigned-seat-row [seat-row] of assigned-seat set assigned-seat-number [pycor] of assigned-seat ] ]) end to setup-back-to-front let zone-1-seats patches with [ isSeat? = true and (pycor = -3 or pycor = -2 or pycor = -1 or pycor = 3 or pycor = 2 or pycor = 1) and (seat-row > Number-of-seat-rows * 4 / 5) ] let zone-2-seats patches with [
51 isSeat? = true and (pycor = -3 or pycor = -2 or pycor = -1 or pycor = 3 or pycor = 2 or pycor = 1) and (seat-row > Number-of-seat-rows * 3 / 5 and seat-row <= Number-of-seatrows * 4 / 5) ] let zone-3-seats patches with [ isSeat? = true and (pycor = -3 or pycor = -2 or pycor = -1 or pycor = 3 or pycor = 2 or pycor = 1) and (seat-row > Number-of-seat-rows * 2 / 5 and seat-row <= Number-of-seatrows * 3 / 5) ] let zone-4-seats patches with [ isSeat? = true and (pycor = -3 or pycor = -2 or pycor = -1 or pycor = 3 or pycor = 2 or pycor = 1) and (seat-row > Number-of-seat-rows * 1 / 5 and seat-row <= Number-of-seatrows * 2 / 5) ] let zone-5-seats patches with [ isSeat? = true and (pycor = -3 or pycor = -2 or pycor = -1 or pycor = 3 or pycor = 2 or pycor = 1) and (seat-row <= Number-of-seat-rows * 1 / 5) ] (foreach (sort turtles) [a -> ask a [ let assigned-seat 0 if any? zone-1-seats [ set assigned-seat one-of zone-1-seats set zone-1-seats zone-1-seats with [self != assigned-seat] set color yellow ] if assigned-seat = 0 and any? zone-2-seats [ set assigned-seat one-of zone-2-seats set zone-2-seats zone-2-seats with [self != assigned-seat] set color green ] if assigned-seat = 0 and any? zone-3-seats [
52 set assigned-seat one-of zone-3-seats set zone-3-seats zone-3-seats with [self != assigned-seat] set color blue ] if assigned-seat = 0 and any? zone-4-seats [ set assigned-seat one-of zone-4-seats set zone-4-seats zone-4-seats with [self != assigned-seat] set color orange ] if assigned-seat = 0 and any? zone-5-seats [ set assigned-seat one-of zone-5-seats set zone-5-seats zone-5-seats with [self != assigned-seat] set color red ] set assigned-seat-row [seat-row] of assigned-seat set assigned-seat-number [pycor] of assigned-seat ] ]) end to setup-passengers-reverse-pyramid let window-seat-1-percent 60 let window-seat-2-percent 20 let window-seat-3-percent 100 - window-seat-2-percent - window-seat-2-percent let middle-seat-2-percent 40 let middle-seat-3-percent 40 let middle-seat-4-percent 100 - middle-seat-2-percent - middle-seat-3-percent let asile-seat-4-percent 30 let asile-seat-5-percent 100 - asile-seat-4-percent let window-seat-1-startRow floor (Number-of-seat-rows * (100 - window-seat-1percent) / 100) let window-seat-2-startRow floor (window-seat-1-startRow - Number-of-seat-rows * window-seat-2-percent / 100) let middle-seat-2-startRow floor (Number-of-seat-rows * (100 - middle-seat-2percent) / 100)
53 let middle-seat-3-startRow floor (middle-seat-2-startRow - Number-of-seat-rows * middle-seat-3-percent / 100) let asile-seat-4-startRow floor (Number-of-seat-rows * (100 - asile-seat-4-percent) / 100) let zone-1-seats patches with [ isSeat? = true and (pycor = -3 or pycor = 3) and (seat-row >= window-seat-1-startRow) ] let zone-2-seats patches with [ isSeat? = true and ( ((pycor = -3 or pycor = 3) and seat-row >= window-seat-2-startRow and seat-row < window-seat-1-startRow) or ((pycor = -2 or pycor = 2) and seat-row >= middle-seat-2-startRow) ) ] let zone-3-seats patches with [ isSeat? = true and ( ((pycor = -3 or pycor = 3) and seat-row < window-seat-2-startRow) or ((pycor = -2 or pycor = 2) and seat-row >= middle-seat-3-startRow and seatrow < middle-seat-2-startRow) ) ] let zone-4-seats patches with [ isSeat? = true and ( ((pycor = -2 or pycor = 2) and seat-row < middle-seat-3-startRow) or ((pycor = -1 or pycor = 1) and seat-row >= asile-seat-4-startRow) ) ] let zone-5-seats patches with [ isSeat? = true and ( ((pycor = -1 or pycor = 1) and seat-row < asile-seat-4-startRow) ) ]
54 (foreach (sort turtles) [a -> ask a [ let assigned-seat 0 if any? zone-1-seats [ set assigned-seat one-of zone-1-seats set zone-1-seats zone-1-seats with [self != assigned-seat] set color yellow ] if assigned-seat = 0 and any? zone-2-seats [ set assigned-seat one-of zone-2-seats set zone-2-seats zone-2-seats with [self != assigned-seat] set color green ] if assigned-seat = 0 and any? zone-3-seats [ set assigned-seat one-of zone-3-seats set zone-3-seats zone-3-seats with [self != assigned-seat] set color blue ] if assigned-seat = 0 and any? zone-4-seats [ set assigned-seat one-of zone-4-seats set zone-4-seats zone-4-seats with [self != assigned-seat] set color orange ] if assigned-seat = 0 and any? zone-5-seats [ set assigned-seat one-of zone-5-seats set zone-5-seats zone-5-seats with [self != assigned-seat] set color red ] set assigned-seat-row [seat-row] of assigned-seat set assigned-seat-number [pycor] of assigned-seat ] ]) end
55 to setup-passengers-wilma let window-seats patches with [isSeat? = true and (pycor = -3 or pycor = 3)] let middle-seats patches with [isSeat? = true and (pycor = -2 or pycor = 2)] let aisle-seats patches with [isSeat? = true and (pycor = -1 or pycor = 1)] (foreach (sort turtles) [a -> ask a [ let assigned-seat 0 if any? window-seats [ set assigned-seat one-of window-seats set window-seats window-seats with [self != assigned-seat] set color yellow ] if assigned-seat = 0 and any? middle-seats [ set assigned-seat one-of middle-seats set middle-seats middle-seats with [self != assigned-seat] set color red ] if assigned-seat = 0 and any? aisle-seats [ set assigned-seat one-of aisle-seats set aisle-seats aisle-seats with [self != assigned-seat] set color blue ] set assigned-seat-row [seat-row] of assigned-seat set assigned-seat-number [pycor] of assigned-seat ] ]) end to setup-by-row-back-to-front ;We start from the last row let current-row Number-of-seat-rows let available-seats-in-row [ -3 -2 -1 1 2 3] let row-color yellow (foreach (sort turtles) [a ->
56 ask a [ ;Check if there are any seats left on the current row if length available-seats-in-row = 0 [ ;Move to the previous row set current-row current-row - 1 ;Reset the list of available seats set available-seats-in-row [ -3 -2 -1 1 2 3] ;Set the color for the passengers on the next row set row-color row-color - 10 ] ;Set the seat row set assigned-seat-row current-row ;Randomly choose a seat set assigned-seat-number one-of available-seats-in-row ;Remove the chosen seat from the list of available seats set available-seats-in-row remove assigned-seat-number available-seats-in-row ;Change passenger color set color row-color ] ]) end to setup-by-row-front-to-back ;We start from the last row let current-row 1 let available-seats-in-row [ -3 -2 -1 1 2 3] let row-color yellow (foreach (sort turtles) [a -> ask a [ ;Check if there are any seats left on the current row if length available-seats-in-row = 0 [ ;Move to the previous row set current-row current-row + 1 ;Reset the list of available seats set available-seats-in-row [ -3 -2 -1 1 2 3] ;Set the color for the passengers on the next row set row-color row-color - 10 ]
57 ;Set the seat row set assigned-seat-row current-row ;Randomly choose a seat set assigned-seat-number one-of available-seats-in-row ;Remove the chosen seat from the list of available seats set available-seats-in-row remove assigned-seat-number available-seats-in-row ;Change passenger color set color row-color ] ]) end to setup-passengers-steffen let current-row Number-of-seat-rows let current-side "left" let curent-column -3 let current-allocation "even" let odd-allocation-starting-row Number-of-seat-rows - 1 let even-allocation-starting-row Number-of-seat-rows (foreach (sort turtles) [a -> ask a [ ; asignare rand si loc set assigned-seat-row current-row ifelse current-side = "left" [ set assigned-seat-number curent-column][ set assigned-seat-number 0 - curent-column] ;print (word current-side " " assigned-seat-row " " assigned-seat-number) ;print assigned-seat-number ; pregatim asignarea urmatorului loc set current-row current-row - 2 ; testam daca am ajuns in fata avionului if current-row < 1 [ ifelse current-side = "left" [ ; if we were on the left side, let's switch to the right side set current-side "right" ] [ ; if we are on the right side, we need to switch to the left side set current-side "left" ; if we went back to the left side, check if have to fill the odd places