Full text
0 Autor: María de los Angeles Reyes López Tutor: Pablo Cortés Achedad Dep. Organización Industrial y Gestión de Empresas II Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2017 Trabajo Fin de Grado Grado en Ingeniería de Tecnologías Industriales Optimización de los procesos de asignación de llamadas en grupos de ascensores de arquitectura Double Deck mediante heurísticas y metaheurísticas: análisis de tráfico interfloor
1
2 Trabajo Fin de Grado Grado en Ingeniería en Tecnologías Industriales Optimización de los procesos de asignación de llamadas en grupos de ascensores de arquitectura Double Deck mediante heurísticas y metaheurísticas: análisis de tráfico interfloor Autor: María de los Angeles Reyes López Tutor: Pablo Cortés Achedad Dpto. de Organización Industrial y Gestión de Empresas II Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2017
3
4 Trabajo Fin de Grado: Optimización de los procesos de asignación de llamadas en grupos de ascensores de arquitectura Double Deck mediante heurísticas y metaheurísticas: análisis de tráfico Autor: María de los Angeles Reyes López Tutor: Pablo Cortés Achedad El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de: Sevilla, 2017 El Secretario del Tribunal interfloor
5
6 A mi familia y amigos A mis profesores
7
8 RESUMEN El transporte vertical de un edificio es una de las instalaciones fundamentales a la hora de diseñarlo. Un diseño incorrecto del núcleo de ascensores puede originar graves problemas a los usuarios y un sobredimensionamiento puede elevar los costes de mantenimiento innecesariamente. El estudio del transporte vertical de un edificio consta partes fundamentales. La primera, definir el núcleo de ascensores mediante un estudio del tráfico del edificio. La otra parte fundamental es el estudio mecánico y definición de todos los componentes de los ascensores. El presente proyecto se centra en la primera de las partes de este estudio. Además del dimensionamiento del número de ascensores, este proyecto se centra en estudiar, según ciertos métodos y en ciertas situaciones, con cuál de ellos se consigue mejorar la calidad del servicio, y de esa manera, optimizar el funcionamiento de dichos ascensores. Palabras clave: Transporte vertical, Ascensor, Average Waiting Time, Average Transit Time, Búsqueda Tabú, Algoritmos Genéticos, Estimated Transit Time.
15 Figura 46.- AWT y ATT para un edificio de 20 plantas ............................................................. 73 Figura 47.- AWT y ATT para un edificio de 24 plantas ............................................................. 73 Figura 48.- AWT y ATT para un edificio de 30 plantas ............................................................. 74 Figura 49.- AWT y ATT para un edificio de 32 plantas ............................................................. 74 Figura 50.- AWT y ATT para un edificio de 34 plantas ............................................................. 75 Figura 51.- Tiempo total de viaje (seg) ....................................................................................... 77
16 ÍNDICE DE TABLAS Tabla 1.- Edificios con ascensores de arquitectura Double Deck ............................................... 28 Tabla 2.- Edificios con asesores de arquitectura TWIN .............................................................. 30 Tabla 3.- Calidad del servicio según porcentaje de llamadas respondidas .................................. 32 Tabla 4.- Calidad del servicio según el tiempo empleado en responder las llamadas ................. 32 Tabla 5.- Características del edificio ........................................................................................... 34 Tabla 6.- Número de ascensores en función del número de plantas ........................................... 35 Tabla 7.- Casos de estudio........................................................................................................... 36 Tabla 8.- Características del edificio ........................................................................................... 62 Tabla 9.- Características del ascensor ......................................................................................... 63 Tabla 10.- Tiempos medios de Espera obtenidos para los tres métodos (seg) ............................ 64 Tabla 11.- Comparativa de AWT (seg) respecto a Búsqueda Tabú ............................................ 65 Tabla 12.- Comparativa AWT (seg) respecto a Algoritmo Genético .......................................... 66 Tabla 13.- Comparativa AWT (seg) respecto a Double Deck-ETA ........................................... 66 Tabla 14.- Tiempos medios de tránsito obtenidos para los tres métodos (seg) ........................... 68 Tabla 15.- Comparativa ATT (seg) respecto a Búsqueda Tabú .................................................. 68 Tabla 16.- Comparativa ATT (seg) respecto a Algoritmo Genético ........................................... 69 Tabla 17.- Comparativa ATT (seg) respecto a Double Deck-ETA ............................................. 69 Tabla 18.-Tiempos totales de viaje (seg) .................................................................................... 76
17
18 OBJETO DEL PROYECTO “El hombre nunca sabe de lo que es capaz hasta que lo intenta”. -Charles Dickens- Es de vital importancia diseñar adecuadamente las instalaciones dedicadas al transporte vertical de un edificio. Y a su vez, que éstas consigan satisfacer las necesidades de los usuarios que van a hacer uso de ellas. Es por ello por lo que se plantea este proyecto. El principal objetivo de este trabajo fin de grado consiste en determinar el algoritmo más idóneo para optimizar el funcionamiento y la calidad de servicio en ascensores de arquitectura Double Deck. El citado objetivo global enmarca y genera objetivos específicos, definidos a continuación: 1. Determinación del número óptimo de ascensores según las especificaciones del edificio. 2. Minimizar los tiempos de espera y tránsito de los pasajeros. 3. Minimizar tiempos totales de viaje. La memoria de este trabajo se divide en 8 secciones. Al final de la misma se encuentran los anexos con gráficas obtenidas a lo largo del estudio y los códigos de edificios y ascensores que se usan a la hora de implementar el algoritmo en C++. En la primera sección se introduce al mundo del ascensor a través de una pequeña reseña histórica, junto con la tipología de ascensores que se encuentran en la actualidad. En esta sección se describen los ascensores Double Deck, que son objeto de estudio en este trabajo. En la segunda sección se detallan los tipos de patrones de tráfico de pasajeros que pueden darse en los edificios y se explica el sistema de evaluación de la calidad del servicio que se va a emplear para comprobar la bondad de los algoritmos que se programan. Es en la tercera sección donde se detalla el estudio de la planificación del transporte vertical. Se incluyen los elementos que lo constituyen además del “Estudio de casos” del cual se obtiene un número óptimo de ascensores para cada número de plantas de un edificio. Además, se definen los casos de estudio mediante los algoritmos. La sección cuarta recoge las restricciones del problema que se estudia, así como una explicación de los tres algoritmos que se van a implementar. Se detallan diagramas de flujos y los pasos que siguen cada uno de ellos para la asignación de ascensores a llamadas. La quinta sección presenta los dos softwares que se emplean en este trabajo: ELEVATE 8 y Microsoft Visual Studio.
19 Se explican las características de cada uno de ellos y se detalla el proceso de instalación de la interfaz de desarrollador que permite la conexión entre ambos para realizar las simulaciones. La sección sexta es probablemente la más importante ya que en ella se refleja el objetivo principal de este trabajo. Se realiza una experimentación consistente en simulaciones del funcionamiento de los algoritmos implementados en diferentes edificios, que varían su número de plantas y el número de ascensores del que disponen. Se obtienen así los tiempos medios de espera y los tiempos medios de tránsito para cada una de las situaciones. Una vez obtenidos todos los resultados, se comparan entre los tres algoritmos para comprobar cuál de ellos se ajusta mejor a cada una de las situaciones. Para el caso de minimizar los tiempos medios de espera, son los algoritmos genéticos y Double Deck- ETA los que consiguen mejores resultados. En cambio, para la optimización de los tiempos de tránsito es la búsqueda tabú el algoritmo que destaca entre los demás. Además, como análisis complementario, se compara el valor del tiempo total de viaje obtenido en cada una de las situaciones para cada algoritmo. Todos estos resultados se expondrán en esta sección. En la sección séptima se elabora un análisis con las conclusiones que se extraen de la experimentación y estudio del problema. En el primer Anexo se recogen las gráficas generadas por el software ELEVATE 8 para cada una de las simulaciones realizadas. En el segundo Anexo se incluyen los códigos de los objetos empleados (edificios y ascensores) para la implementación de los algoritmos en C++.
20 1 INTRODUCCIÓN «El científico no tiene por objeto un resultado inmediato. Él no espera que sus ideas avanzadas sean fácilmente aceptadas. Su deber es sentar las bases para aquellos que están por venir y señalar el camino». - Nikola Tesla – En esta sección se va a realizar un recorrido por la evolución histórica del ascensor, mostrando los sistemas de transporte vertical de los cuales se disponía en cada una de las épocas. 1.1 EVOLUCIÓN HISTÓRICA DEL ASCENSOR El transporte vertical ha ido tomando protagonismo a medida que han pasado los años debido a la disminución de los lugares donde poder construir edificaciones, por lo que cada vez, éstas cuentan con más plantas. Es aquí donde el ascensor entra en juego, dada la necesidad por parte de los usuarios de poder acceder a todas las plantas del edificio sin suponer esfuerzo. A continuación, se describe la evolución de los sistemas de transporte vertical a lo largo de los años. Hay indicios de ascensores rudimentarios cuya fuerza motriz era la fuerza humana, de animales o de agua allá por el año 300 A.C. Aunque no es hasta el siglo XIX cuando se puede encontrar el ascensor cuyo concepto se tiene actualmente, que era propulsado mediante vapor dentro de los cilindros que movían la cabina. El periodo grecorromano (siglo X a.C a siglo V d.C) constituye una etapa de gran impulso en la evolución de la tecnología de la elevación. En la antigua Roma el ascensor era ya conocido. Se dispone de una descripción detallada del ascensor instalado en el Palacio de Nerón, el cual se muestra en la Figura 1 [15] y en la época del emperador Tito, en el año 80 d.C., en el Coliseo romano utilizaron también doce montacargas para elevar a los gladiadores. Tras la caída del imperio romano, los ascensores desaparecieron durante un largo periodo.
21 Figura 1.- El ascensor del palacio de Nerón En el periodo de la Edad Media (siglo V d.C. a siglo XVII d.C.) se conocen instalaciones de elevación que apenas se diferencian de las antiguas. El desarrollo del comercio, la navegación y la industria en los siglos XI y XII contribuyó a perfeccionar las máquinas de elevación y a ampliar los sectores de aplicación. Cuando James Watt inventó la máquina de vapor, fue entonces cuando comenzó a considerarse la posibilidad de utilizar esta forma de energía en los dispositivos de elevación. En 1845 Sir William Thompson diseñó el primer ascensor hidráulico para elevar cargas y en 1850 se utilizan en Estados Unidos por primera vez montacargas movidos por vapor. Fue en 1853 cuando Elisha Graves Otis muestra un ascensor con “freno de emergencia”, como se muestra en la Figura 2, que evitaba la caída libre en caso de rotura del cable que sostenía la cabina, lo cual lo hacía válido para el transporte de personas sin problemas de seguridad. Elisha demostró la eficacia de su sistema de emergencia instalando un ascensor en el edificio Crystal Palace de New York [22]. Figura 2.- Elisha Graves Otis en la presentación del ascensor en 1853.
22 Paralelamente en Inglaterra, Frost y Stutt desarrollaron un ascensor con contrapeso que se accionaba mediante tracción, al que denominaron “Teagle” (aparejo para elevación). Gracias a estos avances, se sentaron las bases para la aparición del ascensor seguro. En el año 1857, se instaló el primer ascensor de pasajeros del mundo, fabricado por Otis Elevator Company, en un hotel de cinco pisos de Broadway. Siendo esto un revulsivo importante ya que, hasta dicha fecha, alojarse en niveles superiores de edificios era inaceptable ya que requería subir demasiadas escaleras con equipaje. Es a partir de entonces cuando el número de ascensores comienza a crecer, no sin avanzar tecnológicamente. En 1867, Leon Edoux, presentó en la Exposición de París un ascensor con accionamiento hidráulico. Siemens muestra un ascensor con accionamiento eléctrico en 1880 durante la exposición de Mannheim, aunque no es hasta 1889 cuando Norton Otis desarrolla el primer ascensor eléctrico accionado mediante corriente continua. En 1900 se introduce el motor de inducción para corriente alterna, siendo en 1903 cuando aparecen en Estados Unidos los ascensores con corriente de tracción sin engranajes. Con el creciente tamaño y altura de los edificios construidos a comienzos del siglo XX, comenzaron a plantearse aspectos como la cantidad, el tamaño, la velocidad y la localización de los ascensores. Fue entonces cuando surgió la tecnología del tráfico vertical. Desde el siglo XX hasta hoy día, la innovación en los sistemas de ascensores ha avanzado en la mejora del motor eléctrico, en la seguridad y en la rapidez con la que sirven las llamadas. Además, la arquitectura de edificios ha cambiado a lo largo de este tiempo haciendo que el requerimiento de ascensores más eficientes sea necesario, tal como se muestra en la Figura 3 [12]. Cabe destacar varias empresas que a lo largo de la historia han hecho evolucionar el mundo del ascensor, tales como Mitchubishi Electrics, Otis, Kone, ThyssenKrupp o Schindler. Aunque también encontramos otra serie de empresas de más reciente creación que favorecen la competitividad del sector además de la evolución del ascensor, como son MP u Orona. Figura 3.- Evolución del ascensor
23
24 2 SISTEMAS DE TRANSPORTE VERTICAL "Pregúntate si lo que estás haciendo hoy te acerca al lugar donde quieres estar mañana" -Walt Disney- En esta sección se van a presentar cada uno de los elementos que constituyen el sistema de transporte vertical. Entre ellos, se describirán los diferentes tipos de ascensores, los patrones de tráfico existentes y las situaciones en las que se producen cada uno de ellos, se definirá la calidad del servicio requerida por los usuarios y se dimensionará el número de ascensores necesarios para cada edificio, en función de ciertos parámetros que se definirán a lo largo del epígrafe. 2.1 TIPOS DE ASCENSORES Hay distintos aspectos a tener en cuenta a la hora de diseñar un edificio según el modelo de ascensor que se seleccione. Éstos se pueden clasificar según aspectos técnicos o según aspectos de diseño [20]. • Según su aspecto técnico, se pueden diferenciar: o Ascensores autoportantes: Esta clase de elevadores son muy requeridos en lugares como viviendas unifamiliares, “lofts”, salones de fiestas, cines, y son aptos para cualquier instalación que, dada la arquitectura del edificio, deba prescindir de la sala de máquinas. A diferencia del ascensor hidráulico que precisa de un espacio determinado y reglamentario para colocar la central hidráulica, más las cañerías, instalación y tablero de comando, el ascensor autoportante aumenta las posibilidades de una correcta, económica y fácil instalación, ya que la máquina de tracción en su conjunto completo, va colocada en forma estructural dentro del mismo pasadizo, y en su parte superior (cielo de la caja), no siendo necesaria la construcción de la sala de máquinas arriba o abajo, ya que, dada la carencia de espacio del que los edificios citados al principio padecen, se dificulta su construcción. Se puede ver en la Figura 4 [23].
31 Se van a exponer los aspectos técnicos de los sistemas de transporte vertical, definiendo aquellos parámetros que se encuentran asociados a los procesos de dicho transporte. En función del tipo de edificio, la afluencia de personas que circulan en él varía. Como es el caso de los edificios de oficinas, donde puede encontrarse el mayor tráfico de personas, y además donde se requiere que el tiempo empleado en el transporte de personas y/o mercancías sea el menor posible, pues no aporta valor al trabajo que se realiza. Debido a la importancia de este tipo de edificios, y con objeto de minimizar estos tiempos, estos serán los tipos de edificios analizados en este estudio. Para evaluar el tráfico vertical se mide la calidad del servicio, atendiendo a los tiempos de espera medio de los pasajeros (AWT, Average Waiting Time) y el tiempo medio de tránsito (ATT, Average Transit Time). 2.2 PATRONES DE TRÁFICO En la Figura 11 se puede observar un patrón de tráfico que se asemeja al comportamiento real de los flujos de pasajeros. En el eje de abscisas se observan las diferentes horas del día donde se produce transporte vertical, y en el de ordenadas la cantidad de tráfico ascendente y descendente en términos de porcentaje total de la población. Se representan los diversos patrones de tráfico con distintos colores [3]. Tradicionalmente se diferencian cuatro patrones de tráfico [1], según el instante del día al que correspondan: ▪ Uppeak: Se refiere al tramo horario coincidente con el acceso al edificio, con lo cual, se producen numerosas llamadas desde la planta baja del edificio con carácter ascendente con la finalidad de llegar al puesto de trabajo. ▪ Interfloor: Se refiere a los tramos horarios en los que existen viajes entre plantas intermedias del edificio. Dentro de este patrón se encuentran otros dos específicos: ➢ Balanced Interfloor Traffic: tráfico habitual de media mañana o media tarde. ➢ Unbalanced Interfloor Traffic: tráfico no habitual de media mañana o media tarde. Suele ser debido a alguna reunión de personal. ▪ Lunchpeak: Se refiere al tramo horario en el que los empleados abandonan el edificio para realizar el almuerzo. Está caracterizado por un intenso tráfico de llamadas descendentes a la hora de dejar el edificio y de llamadas ascendentes al volver del periodo de descanso. ▪ Downpeak: Se refiere al tramo horario coincidente con la hora de finalización del turno de trabajo. Se caracteriza por recibir un tráfico muy intenso de llamadas descendentes con destino final la planta baja del edificio.
32 Figura 11.- Patrones de tráfico Siikonen Puede decirse que el patrón Uppeak es uno de los más representativos respecto al número de llamadas de ascensores, ya que la hora de entrada al trabaja provoca gran cantidad de personas accediendo al edificio. Aun así, los horarios de trabajo son más flexibles y la prohibición de fumar dentro del mismo, están haciendo que el patrón Interfloor tome protagonismo, centrándose en é el estudio actual para tratar de ofrecer una mejor calidad de servicio. 2.3 EVALUACIÓN DE LA CALIDAD DEL SERVICIO Aunque actualmente el tráfico Interfloor toma gran importancia, se considera que, si se consigue satisfacer la demanda durante el tramo Uppeak, se puede satisfacer la demanda de cualquier otro patrón. Para medir el nivel de satisfacción, se van a tener en cuenta las siguientes Tablas 3 y 4: Tabla 3.- Calidad del servicio según porcentaje de llamadas respondidas Tabla 4.- Calidad del servicio según el tiempo empleado en responder las llamadas 30 segundos 60 segundos Excelente >75% >98% Bueno >70% >95% Regular >65% >92% Pobre/Inaceptable <65% <92% Nivel de servicio Porcentaje de llamadas respondidas en 50% 90% Excelente 20 segundos 45 segundos Bueno 22.5 segundos 50 segundos Regular 25 segundos 55 segundos Pobre/Inacept able >25 segundos >55 segundos Nivel de servicio Porcentaje de llamadas respondidas en
33 Para medir la calidad del servicio en este trabajo se tendrá en cuenta el tiempo medio de espera que el pasajero se encuentra ante la puerta del ascensor desde que el ascensor ha sido llamado hasta que éste comienza a abrir sus puertas. Este tiempo se denomina con las siglas AWT (Average Waiting Time). Existen dos formas de calcular su valor, aunque cada una de ellas presenta ciertos problemas. Este tiempo podría clasificarse de la siguiente forma en un Edificio de Oficinas, según la Figura 12: Figura 12.- Clasificación general según tiempos de espera Otra variable importante a analizar es el tiempo medio de viaje, denominado ATT (Average Transit Time), que es el tiempo transcurrido desde el momento en que se abren las puertas del ascensor y entra el pasajero, hasta que éste llega a su planta destino. Además de estas dos variables, existen otras como: o Tiempo Destino (DT), que se define como el tiempo desde que el pasajero registra su llamada hasta que la puerta del ascensor comienza a abrirse en la planta destino. Este podría decirse que es el tiempo de viaje total de un pasajero. Se puede ver la relación de esta variable con AWT y ATT en la Figura 13: Figura 13.- Relación entre AWT, ATT y DT o Número de paradas intermedias (IS), es el número de veces que el ascensor para con pasajeros entrando en él y otros llegando a su planta destino. Se pude clasificar la calidad del servicio según las paradas, como se muestra en la Figura 14: Figura 14.-Clasificación general según el número de paradas intermedias
34 2.4 DIMENSIONAMIENTO DEL EQUIPAMIENTO Y NÚMERO DE ASCENSORES Los elementos de transporte vertical de un edificio deben responder perfectamente a las necesidades de este. Sobre todo, es importante tener en cuenta las “horas punta”, donde el transporte vertical puede incrementar notablemente. El conjunto de exigencias de los usuarios del edificio viene en mayor o menor grado definido como “calidad de servicio”. Uno de los niveles de calidad más percibido por el usuario es el tiempo medio de espera que una persona debe esperar frente al ascensor para poder viajar en él, además del tiempo empleado hasta llegar a su destino. Los técnicos de todo el mundo en materia de ascensores se han esforzado en dar una norma internacional que regule y limite los tiempos de espera, fijando unos valores máximos admisibles en cada caso, en función de las características específicas de cada edificio. Se puede decir que un análisis de tráfico resulta bastante complicado debido a los múltiples parámetros a tener en cuenta, pero es imprescindible para definir una de las instalaciones fundamentales de un edificio, los ascensores [14]. Para realizar un estudio del tráfico, deben tenerse en cuenta parámetros muy distintos como: o Tipo y uso del edificio o Número de plantas o Población por planta o Distancia entre pisos y recorrido total o Situación de la planta principal o Velocidad del ascensor o Número de pasajeros que se pueden desplazar en la cabina o Tiempo entre paradas, ajustes o maniobras o Duración de entrada y salida de pasajeros En este caso, se va a analizar un edificio de oficinas estándar, en el cual, el tipo de tráfico más común es el Uppeak. El edifico tendrá las características que se detallan en la Tabla 5. Tabla 5.- Características del edificio Con todos estos datos, se puede hacer un análisis exhaustivo del número de ascensores que serán necesarios en un edificio, según las diferentes especificaciones. Tipo de Uso Oficinas Población 50 personas/planta Número máximo de personas en cabina 11 Distancia entre plantas 3,8 metros Planta principal Planta baja Velocidad del ascensor 2,5 m/s Tiempo de apertura/cierre de puertas 2 segundos Tiempo de tránsito de pasajeros 5 segundos Características del edificio
35 El cálculo del número de ascensores necesarios en un edificio según sus especificaciones queda definido por la siguiente fórmula [10]: 𝑛 = 0,0015 ∗ ℎ ∗ 𝑁 𝑣 ∗ 𝑝 siendo: h: Altura total del edificio N: Número total de personas en el edificio (Número de personas en una planta * Número de plantas) v: Velocidad del ascensor en m/s p: número de personas que pueden viajar en la cabina del ascensor 0,0015: Factor de proporcionalidad. En función de esta fórmula, se obtienen los siguientes resultados mostrados en la Tabla 6: Tabla 6.- Número de ascensores en función del número de plantas El software ELEVATE que se utilizará para realizar el análisis no permite la simulación con un número de ascensores superior a 12, por lo que el análisis queda restringido a esa cantidad. Pero, en el caso de que no existiese restricción alguna, la fórmula podría aplicarse para cualquier número de plantas de un edificio. De dicha forma, se ha conseguido acotar mucho el rango de estudio, teniendo, para cada edificio con su correspondiente número de plantas, un número aproximado de ascensores necesarios. Según la fórmula, se ha conseguido determinar el número aproximado de ascensores idóneos para cada edificio en función de sus plantas. Pero, para realizar un estudio más completo, se van a estudiar casos próximos a éstos, y que puedan darnos una visión de lo que verdaderamente ocurre en un edificio cuando se cambia la cantidad de ascensores de la que se dispone. Es por lo que se ha optado a realizar el estudio de los casos que aparecen en la Tabla 7 marcados en naranja: Nº plantas 8 10 12 14 20 24 30 32 34 h 30,4 38 45,6 53,2 76 91,2 114 121,6 129,2 Población 400 500 600 700 1000 1200 1500 1600 1700 velocidad (m/s) 2,5 2,5 2,5 2,5 2,5 2,5 2,5 2,5 2,5 Personas cabina 11 11 11 11 11 11 11 11 11 Factor 0,0015 0,0015 0,0015 0,0015 0,0015 0,0015 0,0015 0,0015 0,0015 Nº ascesnores 1 2 2 3 5 6 10 11 12
36 Tabla 7.- Casos de estudio Una vez realizado el estudio, se podrá comprobar el comportamiento de cada uno de los métodos en cada situación, y determinar cuál es el más idóneo para realizar la asignación de ascensores a llamadas. La importancia de la realización de un correcto estudio del número de ascensores necesarios para un edificio recae en la dificultad de que, una vez terminada la construcción, puede ser casi imposible corregir la situación. Por tanto, un mal dimensionamiento del número de ascensores implica deficiencias en el diseño del edificio. Nº Plantas Nº Ascensores 810 12 14 20 24 30 32 34 1 2 3 4 5 6 7 8 9 10 11 12
37
38 3 SISTEMAS DE ASIGNACIÓN DE LLAMADAS “La inteligencia consiste no solo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica” -Aristóteles- En este apartado, se va a describir exhaustivamente el problema a resolver, citando todas las posibles restricciones que éste puede tener. La resolución a este problema que se plantea no es trivial, por lo que será necesaria la utilización de diferentes metaheurísticas que permitan alcanzar, o al menos acercase, a la solución óptima del problema. Se detallarán estas metaheurísticas detalladamente, mostrando además los diagramas de flujo que siguen. 3.1 DESCRIPCIÓN DEL PROBLEMA El problema a estudiar consiste en la asignación de llamadas realizadas desde las diferentes plantas de un edificio de oficinas a las que se debe asignar una cabina de un grupo de ascensores coordinados. Los pasajeros pueden realizar llamadas de subida y de bajada desde las distintas plantas del edificio. El número de llamadas que realizan los pasajeros dependerá del tramo horario, como bien se observó en los distintos patrones de tráfico del epígrafe anterior. Asimismo, los ascensores del edificio están diseñados mediante una arquitectura del tipo Double Deck. El objetivo principal será asignar las distintas llamadas a ascensores minimizando el tiempo medio de espera de los pasajeros (AWT). Como objetivo secundario, se tratará de minimizar igualmente el tiempo medio de tránsito (ATT). Para la resolución de este problema, se deben tener en cuenta ciertas restricciones, tanto generales como particulares, las cuales se detallan a continuación [5]. i. Restricciones generales Se dividen en restricciones explícitas e implícitas. • Restricciones generales explícitas: ➢ Una cabina solo puede servir una llamada en cada instante. ➢ El número máximo de pasajeros que se puede servir es la capacidad máxima (en kg) que la cabina puede soportar. ➢ Un ascensor no puede parar en una planta a menos que un pasajero quiera subir o bajar del mismo. ➢ Un ascensor no puede parar en una planta a recoger pasajeros si ya hay otro ascensor parado en la planta.
39 • Restricciones generales implícitas ➢ Las llamadas realizadas dentro de un ascensor siempre se sirven secuencialmente en la dirección del mismo, es decir, no podrá saltarse ninguna planta de destino de un pasajero. ➢ Un ascensor no puede cambiar de dirección mientras lleve pasajeros a bordo, es decir, no podrá cambiar de dirección hasta no servir a todos los pasajeros. ➢ Teniendo la posibilidad de subir o bajar, el ascensor preferirá subir. ii. Restricciones particulares Estas restricciones dependen de las condiciones específicas del edificio de estudio. Las más habituales son: ➢ Disponer de, al menos, un ascensor para el transporte de mercancías o para el servicio de minusválidos. ➢ Servir con una cabina vacía o con pocos pasajeros algunas plantas específicas. ➢ Disponer de uno o varios ascensores fuera del grupo para viajes especiales. ➢ Reducir los tiempos de espera en algunas plantas con preferencia. 3.2 OPTIMIZACIÓN EN PROBLEMAS COMPLEJOS Encontrar la solución óptima de un problema complejo del tipo NP-Duro puede resultar muy complicado e incluso imposible, por lo que es necesario el uso de métodos de resolución que proporcionen resultados que se aproximen al valor óptimo (o alcanzarlo a veces). A este tipo de técnicas se les denomina metaheurísticas. Dentro de esta clasificación, se pueden encontrar metaheurísticas que se basan en la observación de la naturaleza para su semejanza posterior con el problema a optimizar. Entre ellas se encuentran los algoritmos genéticos o los algoritmos de colonias de hormigas. Otras metaheurísticas se basan en vecindades en las que explorar las posibles soluciones. Entre éstas se encuentran el algoritmo de recocido simulado y la búsqueda tabú”. En este caso, la asignación optima los ascensores de un grupo coordinado a las distintas llamadas de planta efectuadas, para conseguir minimizar el tiempo medio de espera de los pasajeros (AWT) y a la vez, minimizar el tiempo medio de viaje de todos los pasajeros, se considera un problema complejo del tipo NP-Duro. En este proyecto se va emplear dos de los métodos nombrados anteriormente para resolver el problema de asignación de llamadas de ascensores, concretamente algoritmos genéticos y búsqueda tabú, y se podrán comparar según los resultados obtenidos. También se resolverá el problema por un método heurístico conocido por el acrónimo se sus siglas en inglés: el método ETA (Estimated Time of Arrival), comparándose sus resultados con los dos anteriores enfoques. 3.3 CÁLCULO DE LA FUNCIÓN OBJETIVO La función objetivo devuelve el tiempo esperado para que el grupo de ascensores sirva todas las llamadas solicitadas desde planta y asignadas, englobando así tanto el tiempo de espera por parte del pasajero delante del ascensor, como el tiempo de tránsito dentro del ascensor hasta llegar a su destino. Obviamente, se trata de una estimación debido a la incapacidad de predecir el comportamiento futuro del pasajero. La llegada de pasajeros a los pisos es aleatoria y sus destinos son desconocidos. Este procedimiento de estimación depende del estado del ascensor (si está subiendo, bajando o parado). Sin embargo, en cada caso se puede calcular el tiempo de función de cuatro valores, que definiremos como P1, P2, P3 y P4.
40 Para el caso de que el ascensor se encuentre subiendo o parado: P1: Planta en la que se encuentra el ascensor en el momento que se realiza la simulación. P2: Piso más alto al que hay que llevar pasajeros con sentido ascendente. P3: Piso más bajo al que hay que llevar pasajeros con sentido descendente. P4: Piso más alto entre el piso más bajo y P1 al que hay que llevar pasajeros con sentido ascendente. 𝐹𝑖𝑡𝑛𝑒𝑠𝑠 = [(𝑃2 − 𝑃1)+(𝑃2 − 𝑃3)+(𝑃4 − 𝑃3)]∗ 𝑡𝑖𝑒𝑚𝑝𝑜 𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑜 𝑑𝑒 𝑣𝑖𝑎𝑗𝑒 𝑒𝑛𝑡𝑟𝑒 𝑝𝑙𝑎𝑛𝑡𝑎𝑠 Se puede ver que se incluye el máximo viaje ascendente conocido, el máximo viaje descendente conocido. Hay que tener en cuenta que la ecuación no incluye los viajes destino de los pasajeros, ya que se desconocen hasta el momento que entran en el ascensor. Para el caso de que el ascensor se encuentre descendiendo: P1: Planta en la que se encuentra el ascensor en el momento que se realiza la simulación. P2: Piso más bajo al que hay que llevar pasajeros con sentido descendente. P3: Piso más alto al que hay que llevar pasajeros con sentido ascendente. P4: Piso más bajo entre el piso más alto y P1 al que hay que llevar pasajeros con sentido descendente. 𝐹𝑖𝑡𝑛𝑒𝑠𝑠 = [(𝑃1 − 𝑃2)+(𝑃3 − 𝑃2)+(𝑃3 − 𝑃4)]∗ 𝑡𝑖𝑒𝑚𝑝𝑜 𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑜 𝑑𝑒 𝑣𝑖𝑎𝑗𝑒 𝑒𝑛𝑡𝑟𝑒 𝑝𝑙𝑎𝑛𝑡𝑎𝑠 En las siguientes figuras puede verse esquemáticamente la elección de los diferentes parámetros de cada una de las ecuaciones, en la Figura 15 para el caso del ascensor ascendiendo o parado y en la Figura 16 para el ascensor descendiendo [4]: Figura 15.- Ascensor ascendiendo o parado
47 3.5.6 Asignación de llamadas a ascensores Para llevar a cabo este paso del método, se detalla el procedimiento a seguir en el apartado 3.4 de esta sección. 3.6 ALGORITMOS GENÉTICOS Los algoritmos genéticos son una técnica de búsqueda basada en la teoría de la evolución de Darwin, basado en los mecanismos de selección natural y genética natural. Combina la supervivencia de los más compatibles entre las estructuras de cadenas, con una estructura de información ya aleatorizada, intercambiada para construir un algoritmo de búsqueda con algunas de las capacidades de innovación de la búsqueda humana. Básicamente, en cada generación se crea un conjunto de nuevos individuos utilizando solo aquellas partes adecuadas del progenitor. Por tanto, se partería de una población compuesta por individuos y éstos a su vez por genes. Entre los individuos de la población se producen cruces que dan lugar a otros individuos. Cada individuo tiene asociado “una puntación” relacionado con la bondad de una solución factible al problema, es decir, el grado de efectividad de dicho individuo para sobrevivir. Una vez producido el cruce, uno de los tres individuos (“padre1”, “padre2” e “hijo”) debe salir de la población. Tendrá más posibilidades de salir el más débil, o lo que es lo mismo, el que presente una bondad de solución peor. La novedad que incluyen los algoritmos genéticos es que explotan la información histórica para especular sobre nuevos puntos de búsqueda, esperando un resultado mejorado. Algunas de las ventajas a mencionar de este método serían: o No necesitan conocimientos específicos sobre el problema que intentan resolver. o Se trata de un algoritmo muy versátil, es capaz de adaptarse a cualquier tipo de problema de optimización. o Operan de forma simultánea con varias soluciones. Por otro lado, sus limitaciones: o Pueden tardar mucho en converger, o no converger, dependiendo en cierta medida de los parámetros que se utilicen (tamaño de la población, numero de generaciones…) o No garantiza encontrar la solución óptima, aunque sí soluciones de un nivel aceptable en un tiempo competitivo con el resto de algoritmos de optimización. El diagrama de flujo seguido por los algoritmos genéticos sería el que se representa en la siguiente Figura 20: •Valor contrario al que tenía anteriormente si se cumple que un número aleatorio (entre 0 y 1) es mayor que ½. • Mismo valor que tenía anteriormente si el número aleatorio (entre 0 y 1) es menor que ½. g(i)
48 Figura 20.- Diagrama de Flujo Algoritmo Genético 3.6.1 Elementos de los Algoritmos Genéticos y su traducción biológica En los algoritmos genéticos, el término cromosoma se refiere a un candidato a la solución del problema. Se podría seguir profundizando dentro de este término, subdividiéndolo en genes y alelos (corresponderían a los bits y los valores de estos bits, respectivamente), pero en este caso no se llega a tal nivel de detalle [17]. El cruce, que biológicamente se corresponde con el intercambio de genes entre cada par de cromosomas en cada padre para formar un gameto, en el algoritmo consiste en el intercambio de material genético entre dos cromosomas de dos padres, dando lugar así a un hijo.
49 La mutación, que biológicamente se correspondería con el cambio de algún nucleótido de padre a hijo, en el algoritmo se trata de una permutación en una posición en un lugar aleatorio, por otro valor también escogido aleatoriamente. 3.6.2 Solución inicial Al tratarse de una analogía directa del comportamiento de organismos vivos, precisan su inicialización partiendo de una población inicial. Dicha población está compuesta por individuos, y estos a su vez por sus genes. Cada individuo está compuesto por genes: 𝑁º 𝑔𝑒𝑛𝑒𝑠 = (𝑁º 𝑝𝑙𝑎𝑛𝑡𝑎𝑠 𝑑𝑒𝑙 𝑒𝑑𝑖𝑓𝑖𝑐𝑖𝑜)∗ 2 La primera mitad de los genes recogerán las llamadas ascendentes, y la segunda las descendentes. 3.6.3 Cruce de individuos En primer lugar, se define la probabilidad de cruce, Pc, con valor 0,85. Una vez conocido esto, pueden darse dos situaciones, el cruce entre dos individuos con una probabilidad de Pc o mutación con probabilidad (1-Pc). Para el caso de cruce, se seleccionan dos individuos al azar para que sean los padres, cuyo hijo heredará un gen de los padres con un 50% de probabilidad de cada uno. Una vez creado el hijo, se calcula el fitness de ambos padres y del hijo, y mediante la función “Wheel Roulette” se otorga a cada uno de ellos la probabilidad de salir de la población en función de su bondad de solución (cuanto peor sea su fitness, otorgará una probabilidad mayor de abandonar la población). Este procedimiento se observa en la Figura 21. Figura 21.- Diagrama de Flujo del proceso de cruce En la función “Wheel Roulette” se guardan en primer lugar los fitness de los padres y el hijo (fitpadre1, fitpadre2 y fithijo, respectivamente), normalizándolos. Si los elegidos para salir de la población son el padre1 o el padre2, el hijo los sustituye. En cambio, su el elegido para salir es el hijo, todo continúa igual. Esto se observa en la Figura 22.
50 Figura 22.- Diagrama de Flujo del Proceso de Ruleta En la Figura 23 se detalla el proceso de Pasar genes al hijo desde la cadena genética de los padres. Figura 23.- Diagrama de Flujo del proceso de Pasar genes al hijo
51 3.6.4 Mutación de individuos La probabilidad de mutación es mucho menos que la de cruce porque es la realidad de lo que ocurre en la población (siendo 1-0,85=0,15). Cuando se da este caso se selecciona al azar uno de los individuos y se cambian la posición de dos llamadas asignadas. A continuación, se presenta el diagrama de flujo del proceso de mutación en la Figura 24. Figura 24.- Diagrama de Flujo del proceso de Mutación 3.6.5 Calcular la función objetivo Para el algoritmo genético, se va a utilizar la misma función objetivo que en la búsqueda tabú, con la peculiaridad, que se calcula un fitness para cada uno de los padres y para el hijo de ellos, y en función de este fitness se estudiará su bondad a la solución del problema y se eliminará o mantendrá en la población. El diagrama de flujo del cálculo de la función objetivo está ilustrado anteriormente en la Figura 17, en el punto 3.3 de esta sección, donde se redacta lo referente a la función objetivo.
52 La única diferencia es que, para este algoritmo, se calcula el fitness para cada uno de los padres y para el hijo, se elige la mejor solución (menor tiempo) para asignar ascensores a llamadas, y para la siguiente iteración, se deshecha el individuo con peor Fitness y se continúa el método con los dos individuos restantes. Si el peor Fitness es el de hijo, se mantienen los padres igual para la siguiente iteración; en el caso de que sea uno de los padres el que obtenga peor Fitness, el hijo ocupará su lugar para la siguiente iteración. 3.6.6 Asignación de llamadas a ascensores El diagrama de flujo de la asignación de llamadas a ascensores está ilustrado anteriormente en la Figura 18, en el punto 3.4 de esta sección, donde se redacta lo referente a la función objetivo. 3.7 ALGORITMO HEURÍSTICO DOUBLE DECK - ETA El algoritmo Double Deck-ETA (Estimated time of arrival) se basa en asignar el ascensor que tarda menos tiempo en llegar a la llamada realizada. Este algoritmo se encuentra implementado de forma interna en ELEVATE, y se utiliza concretamente para los ascensores de estructura Double Deck [16]. En la Figura 25 ilustra el funcionamiento de dicho algoritmo mediante un ejemplo: Figura 25.- Double Deck-ETA Así, en el ejemplo de la Figura 25, se considera un tiempo de viaje entre plantas de 5 segundos y un tiempo de tránsito de pasajeros de 10 segundos (5 segundos entrada y 5 segundos salida). Según esto, el ascensor A, al encontrarse 3 plantas por arriba tardaría en servir la llamada (5+5+5) segundos de viaje de las 3 plantas más 10 segundos de tránsito de pasajeros en la planta 7, donde ya tenía una parada planificada. El ascensor B llegaría a la planta 6, 10 segundos. Y, por último, el ascensor C, solo le tomaría 5 segundos, al encontrarse tan solo una planta por arriba y sin ninguna parada planificada. Por tanto, el algoritmo optaría por elegir al ascensor C como el más idóneo para servir la llamada de la planta 6, consiguiendo así minimizar el tiempo estimado de llegada a la llamada.
53
54 4 IMPLEMENTACIÓN DEL SOFTWARE "Innovar es encontrar nuevos o mejorados usos a los recursos de que ya disponemos" - Peter Drucker - Para la implementación del algoritmo es necesario el uso de dos software. Uno de ellos es ELEVATE 8, software de simulación desarrollado por Peters Research Ltd, en el que se pueden seleccionar el número, tipo y velocidad de ascensores, al igual que las características específicas del edificio (pisos, altura de los pisos, número de personas…). Por otro lado, el software Microsoft Visual Studio 2008, en el cual es programado los algoritmos que se van a utilizar para resolver el problema en lenguaje C++. Además, es necesario un archivo que permite obtener la interfaz de desarrollador, que se encuentra en la misma página web de ELEVATE. Sin esta interfaz sería imposible conectar ELEVATE 8 y Microsoft Visual Studio 2008. Cabe destacar que la versión de Microsoft Visual Studio a descargar sea la de 2008 ya que, además de ser la recomendada por ELEVATE, se comprueba que es la única que no genera problemas de compatibilidad durante las pruebas. A continuación, se detalla la instalación y características específicas de cada uno de los software. 4.1 ELEVATE 8 Tras la instalación de ELEVATE 8 y la inicialización de programa, se muestra una pantalla inicial que se puede observar en la Figura 26. Figura 26.- Pantalla principal ELEVATE
55 4.1.1 Ventanas de configuración de ELEVATE Para configurar las características de los ascensores y del edifico que se va a simular, hay que pinchar en el botón de Analysis Data, el cual se encuentra en la barra de herramientas de la pantalla inicial de Elevate. • Analysis Data Se despliega una primera ventana en la cual se seleccionan los parámetros referentes al método y el tiempo de simulación. En esta ventana se debe seleccionar en Analysis Type la opción de Simulation, y en Dispacher la opción de Custom, para poder obtener los algoritmos de la interfaz de desarrollador. De igual forma, se puede seleccionar el número de intervalos de tiempo antes de mostrar los resultados de la simulación (No o simulations to run for each configuration) y la duración de estos intervalos. También se podrán realizar simulaciones que incluyan el modelo energético (Energy model), aunque en este caso no se utilizará. Se muestra esta pantalla en la Figura 27. Figura 27.- Pantalla “Analysis Data” de ELVATE • Building Data En esta ventana se seleccionan las características del edificio. Se podrá modificar el nombre de cada planta (Floor Name), altura de la misma (Floor Level), número de personas que hay en cada planta (No of people), área de cada planta (Area), área por persona (Area/person) y seleccionar la planta de entrada al edificio (Entrance Floor). También se podrá regular el porcentaje de absentismo que hay en el edificio (Absenteesim). Se muestra esta pantalla en la Figura 28.
56 Figura 28.- Pantalla “Building Data” de Elevate • Elevator Data En esta ventana se seleccionan las características de los ascensores. Se pueden configurar de dos modos: modo Standard, donde se modifican las características de todos los ascensores a la vez, o modo Advanced, en el cual se pueden modificar las características de cada ascensor de forma independiente. En ambos modos, los parámetros que se pueden variar son: el número de ascensores (No. of Elevators), el tipo de ascensor (Type), la capacidad en kilogramos (Capacity), el área del ascensor en metros cuadrados (Car Area), el tiempo de apertura de las puertas del ascensor en segundos (Door times), la velocidad del ascensor en metros por segundo (Speed), la aceleración del ascensor en metros por segundo al cuadrado (Acceleration), la sobreaceleración en metros por segundos al cubo (Jerk), el tiempo de espera para comenzar el movimiento en segundos (Start delay) y la planta principal (Home Floor). Se muestran dichas pantallas en la Figura 29. Figura 29.- Pantalla “Elevator Data” de Elevate
63 Como se ha señalado, los ascensores empleados son de arquitectura Double Deck, lo que condiciona a que los edificios tengan que tener un número de plantas par. Esto es debido a que este tipo de ascensores requiere ir siempre de plantas pares a pares y de impares a impares, a no ser que se establezcan dos plantas auxiliares (sin población) en la parte inferior y superior del edificio, que permitan que ascensor pueda acceder a la primera planta con la cabina superior y a la última planta con la cabina inferior. 5.1.2 Patrón de tráfico El tráfico que se va a emplear para la experimentación es constante (Constant Traffic (% Building pop per 5 mins)). Se ha realizado la experimentación para tráfico Interfloor ya que este incorpora deslazamientos menos previsibles dentro del edificio permitiendo un análisis más general de los algoritmos. Con este patrón, para realizar las simulaciones se supondrá que un 30% de pasajeros que entran al edificio, un 30% de pasajeros que salen del edificio y un 40% de pasajeros que realizan movimientos entre plantas. Además, se supone el uso nulo de las escaleras en el edificio. 5.1.3 Características técnicas de los ascensores El número de ascensores empleados varía en función del número de plantas del edificio, pero entre ellos tienen las mismas características, igual que en el caso de las plantas, para evitar distorsionar los resultados. Las características de los ascensores se muestran en la Tabla 9. Tabla 9.- Características del ascensor 5.2 RESULTADOS Y DISCUSIONES A continuación, se van a exponer los resultados obtenidos durante las simulaciones y se van a comparar los tiempos obtenidos por los distintos algoritmos utilizados, con la intención de poder determinar cuál de ellos es el que consigue optimizar los tiempos de espera y tiempos de tránsito, por separado, y también en su conjunto (tiempo total de viaje). 5.2.1 Análisis de los tiempos medios de espera En cada uno de los casos que se han estudiado, se han hecho simulaciones de 2 horas de duración, especificando en cada caso las plantas del edificio y los ascensores utilizados. Los resultados obtenidos según los tiempos medios de espera (AWT) pueden verse en la Tabla 10. Características Capacidad de los ascensores 1000 Kg Velocidad de los ascensores 2,5 m/s Aceleración de los ascensores 0,8 m/s2 Retraso de inicio de marcha 0,5 s Tiempo de apertura de puertas 2 s Tiempo de cierre de puertas 2 s Tiempo de carga y descarga 5 s Factor de capacidad 80%
64 Tabla 10.- Tiempos medios de Espera obtenidos para los tres métodos (seg) Para cada simulación, además de los tiempos medios de espera, se obtiene una gráfica en la que se muestra la evolución de éstos. A continuación, se muestra una de estas gráficas en la Figura 39 (concretamente la de la simulación de búsqueda tabú para un edificio de 24 plantas y 6 ascensores). El resto de gráficas obtenidas se muestran en el Anexo A de este documento. Figura 39.- Gráfica para el tiempo medio de espera con el algoritmo de búsqueda tabú Número de Plantas Número de Ascensores BT AG ETA 148,8 49,2 48,1 226 23 21,3 241,2 37,2 40,1 328,1 21,8 17,4 262,6 54,2 54,8 339,3 28,4 28,6 286,5 95,2 76 353,5 50,1 36,7 437 24,3 23 491,6 55,5 54,3 556,2 44,1 40,6 649,4 26,7 26,1 591,8 59,8 64,9 673 49,5 40,4 757 36,2 32 976,4 43,6 35,9 10 56,1 34,2 28,9 11 54 30,4 24,1 10 68,2 38,7 33,8 11 66,5 37,6 27,9 12 61,4 32,3 25,5 11 74,7 43,7 28,6 12 72,2 37,6 27 30 32 34 24 AWT 8 10 12 14 20 6 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 73.0 (+0.0/-0.0) Longest Waiting Time (s) 497.7 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time
65 En el eje de abscisas de la izquierda se representa el número de personas que esperan menos que el tiempo del eje de ordenadas. En el eje de la derecha se representa la cantidad de personas anterior en forma de porcentaje. La línea verde indica la evolución del tiempo de espera de los pasajeros. La línea azul representa la cantidad de personas que esperan menos tiempo que el marcado en el eje del tiempo. La línea azul representa el porcentaje de personas que esperan menos tiempo que el marcado en el eje del tiempo. En este caso se observa que el 90% de las personas esperan menos de 170 segundos. Alrededor de 275 personas esperan menos de 10 segundos. Hay 25 personas que esperan 125 segundos. El tiempo medio de espera es de 79 segundos con un error de ± 0,6 segundos. Además, el mayor tiempo de espera que se ha dado en esta simulación es de 497,7 segundos con un error de 35,8 segundos. 5.2.2 Comparativa tiempos medios de espera En la Tabla 8 del apartado anterior se mostraban los tiempos medios de espera obtenidos para cada uno de los métodos por separado. En este apartado, para poder estudiar cada uno de los métodos en mayor profundidad, se comparan individualmente con respecto a los demás, calculando la diferencia de tiempos entre ellos. La comparativa con respecto a la Búsqueda Tabú se encuentra en la Tabla 11, con respecto al algoritmo genético en la Tabla 12 y a Double Deck-ETA en la Tabla 13. Tabla 11.- Comparativa de AWT (seg) respecto a Búsqueda Tabú Número de Plantas Número de Ascensores BT AG ETA 148,8 0,4 -0,7 226 -3 -4,7 241,2 -4 -1,1 328,1 -6,3 -10,7 262,6 -8,4 -7,8 339,3 -10,9 -10,7 286,5 8,7 -10,5 353,5 -3,4 -16,8 437 -12,7 -14 491,6 -36,1 -37,3 556,2 -12,1 -15,6 649,4 -22,7 -23,3 591,8 -32 -26,9 673 -23,5 -32,6 757 -20,8 -25 976,4 -32,8 -40,5 10 56,1 -21,9 -27,2 11 54 -23,6 -29,9 10 68,2 -29,5 -34,4 11 66,5 -28,9 -38,6 12 61,4 -29,1 -35,9 11 74,7 -31 -46,1 12 72,2 -34,6 -45,2 34 24 30 32 12 14 20 AWT 8 10
66 Tabla 12.- Comparativa AWT (seg) respecto a Algoritmo Genético Tabla 13.- Comparativa AWT (seg) respecto a Double Deck-ETA Número de Plantas Número de Ascensores BT AG ETA 1-0,4 49,2 -1,1 2323 -1,7 2437,2 2,9 36,3 21,8 -4,4 28,4 54,2 0,6 310,9 28,4 0,2 2-8,7 95,2 -19,2 33,4 50,1 -13,4 412,7 24,3 -1,3 436,1 55,5 -1,2 512,1 44,1 -3,5 622,7 26,7 -0,6 532 59,8 5,1 623,5 49,5 -9,1 720,8 36,2 -4,2 932,8 43,6 -7,7 10 21,9 34,2 -5,3 11 23,6 30,4 -6,3 10 29,5 38,7 -4,9 11 28,9 37,6 -9,7 12 29,1 32,3 -6,8 11 31 43,7 -15,1 12 34,6 37,6 -10,6 34 AWT 8 10 24 30 32 12 14 20 Número de Plantas Número de Ascensores BT AG ETA 10,7 1,1 48,1 24,7 1,7 21,3 21,1 -2,9 40,1 310,7 4,4 17,4 27,8 -0,6 54,8 310,7 -0,2 28,6 210,5 19,2 76 316,8 13,4 36,7 414 1,3 23 437,3 1,2 54,3 515,6 3,5 40,6 623,3 0,6 26,1 526,9 -5,1 64,9 632,6 9,1 40,4 725 4,2 32 940,5 7,7 35,9 10 27,2 5,3 28,9 11 29,9 6,3 24,1 10 34,4 4,9 33,8 11 38,6 9,7 27,9 12 35,9 6,8 25,5 11 46,1 15,1 28,6 12 45,2 10,6 27 34 24 30 32 12 14 20 AWT 8 10
67 Según estas tablas, se puede observar que el método de búsqueda tabú obtiene unos tiempos medios de espera (AWT) mayores que los otros dos métodos. Incluso, a medida que va aumentando el número de plantas, estos tiempos tienden a ser peores. El algoritmo genético mejora los tiempos de la búsqueda tabú, pero sus resultados siguen siendo un poco peores (solo unos segundos) que los del método Double Deck-ETA. Por tanto, el método que optimiza los tiempos medios de espera es el Double Deck-ETA, seguido muy de cerca por el algoritmo genético. El motivo por el que la técnica heurística proporcione resultados mejores que las metaheurísticas puede ser debido a que, en los algoritmos genéticos y búsqueda tabú, se acepten ocasionalmente malos movimientos, es decir, que la nueva solución no sea mejor que la inmediatamente anterior, unido al periodo asumible de computación para proporcionar una solución en tiempo real al sistema de ascensores. Es posible que esto explique por qué en este caso las metaheurísticas no consiguen aproximarse al óptimo del problema durante la simulación [18]. Otra explicación de que el método de búsqueda tabú, que es el que más se aleja de los tiempos obtenidos por Double Deck-ETA, sea el que obtenga peores resultados podría ser que, este algoritmo, debe en cada iteración recorrer la Lista Tabú en busca de zonas del espacio de soluciones que se hayan visitados para buscar zonas nuevas. Esto implica que se ha de emplear un tiempo computacional importante [7]. En la siguiente Figura 40 puede verse la evolución de cada uno de los métodos del tiempo medio de espera a medida que se van aumentando el número de plantas de edificio, con sus respectivos ascensores. Figura 40.- Comparación AWT 5.2.3 Análisis de los tiempos medios de tránsito Se analizan igualmente los tiempos medios de tránsito. De igual modo que para los tiempos medios de espera, se intentan minimizar. Esta variable es igual de importante que el AWT, ya que de nada serviría que el tiempo de espera del pasajero frente al ascensor sea pequeño, si luego el tiempo que tarda en llegar a su destino es muy alto. AWT (seg)
68 Se muestra en la Tabla 14 los resultados para el caso del ATT, para cada situación y cada algoritmo. Tabla 14.- Tiempos medios de tránsito obtenidos para los tres métodos (seg) En las tablas 15, 16 y 17 se comparan entre sí los distintos algoritmos empleados, al igual que en las Tablas 11, 12 y 13 en el caso del AWT. Tabla 15.- Comparativa ATT (seg) respecto a Búsqueda Tabú Número de Plantas Número de Ascensores BT AG ETA 136,2 35,6 37,9 229 28,9 29 238,8 37,9 39,5 333,7 33 33 249,6 49,8 51,7 342,5 41,6 43,3 259,8 62,3 64,3 352,3 52,5 54,5 446 48,4 47,3 473 74,9 78 565,4 67,6 69,4 661 63 64,5 584 87,7 91,7 676,8 81,9 82,8 770,6 74,7 77 982,9 90,5 95,2 10 80 86,6 88,4 11 77,3 81,9 82,9 10 87,8 98,8 98,1 11 85,2 92,1 92,6 12 81,2 86,7 88,6 11 92,4 97,2 99,2 12 93,9 95 95,6 24 30 32 34 ATT 8 10 12 14 20 Número de Plantas Número de Ascensores BT AG ETA 136,2 -0,6 1,7 229 -0,1 0 238,8 -0,9 0,7 333,7 -0,7 -0,7 249,6 0,2 2,1 342,5 -0,9 0,8 259,8 2,5 4,5 352,3 0,2 2,2 446 2,4 1,3 473 1,9 5 565,4 2,2 4 661 2 3,5 584 3,7 7,7 676,8 5,1 6 770,6 4,1 6,4 982,9 7,6 12,3 10 80 6,6 8,4 11 77,3 4,6 5,6 10 87,8 11 10,3 11 85,2 6,9 7,4 12 81,2 5,5 7,4 11 92,4 4,8 6,8 12 93,9 1,1 1,7 34 24 30 32 12 14 20 ATT 8 10
69 Tabla 16.- Comparativa ATT (seg) respecto a Algoritmo Genético Tabla 17.- Comparativa ATT (seg) respecto a Double Deck-ETA Número de Plantas Número de Ascensores BT AG ETA 10,6 35,6 2,3 20,1 28,9 0,1 20,9 37,9 1,6 30,7 33 0 2-0,2 49,8 1,9 30,9 41,6 1,7 2-2,5 62,3 2 3-0,2 52,5 2 4-2,4 48,4 -1,1 4-1,9 74,9 3,1 5-2,2 67,6 1,8 6-2 63 1,5 5-3,7 87,7 4 6-5,1 81,9 0,9 7-4,1 74,7 2,3 9-7,6 90,5 4,7 10 -6,6 86,6 1,8 11 -4,6 81,9 1 10 -11 98,8 -0,7 11 -6,9 92,1 0,5 12 -5,5 86,7 1,9 11 -4,8 97,2 2 12 -1,1 95 0,6 34 ATT 8 10 24 30 32 12 14 20 Número de Plantas Número de Ascensores BT AG ETA 1-1,7 -2,3 37,9 2 0 -0,1 29 2-0,7 -1,6 39,5 30,7 033 2-2,1 -1,9 51,7 3-0,8 -1,7 43,3 2-4,5 -2 64,3 3-2,2 -2 54,5 4-1,3 1,1 47,3 4-5 -3,1 78 5-4 -1,8 69,4 6-3,5 -1,5 64,5 5-7,7 -4 91,7 6-6 -0,9 82,8 7-6,4 -2,3 77 9-12,3 -4,7 95,2 10 -8,4 -1,8 88,4 11 -5,6 -1 82,9 10 -10,3 0,7 98,1 11 -7,4 -0,5 92,6 12 -7,4 -1,9 88,6 11 -6,8 -2 99,2 12 -1,7 -0,6 95,6 34 24 30 32 12 14 20 ATT 8 10
70 Como puede verse para el caso de los tiempos medios de tránsito, se trata del algoritmo de búsqueda tabú el que consigue mejores resultados. El algoritmo genético obtiene resultados muy similares, solo con algunos segundos de diferencia, pero se puede observar una leve tendencia a empeorar a media que aumenta el número de plantas. Lo mismo ocurre con Double Deck-ETA. Se podría decir que, para minimizar los tiempos de tránsito de los pasajeros, el mejor método es la búsqueda tabú, aunque los tres métodos obtienen resultados muy parecidos, como puede verse en la Tabla 16. En la siguiente Figura 41 puede observarse la evolución de cada uno de los métodos del tiempo medio de espera a medida que se van aumentando el número de plantas de edificio, con sus respectivos ascensores. Los tres métodos consiguen resultados muy parejos, pero se observa que es la búsqueda tabú la que consigue menores tiempos, ganado distancia a medida que aumenta la altura del edificio. Figura 41.-Comparativa de los Tiempos medios de Tránsito Puede parecer extraño que, para el caso de la optimización de los tiempos de tránsito, sea la búsqueda tabú el método que obtiene mejores resultados, cuando en el caso anterior de optimizar el tiempo de espera era el menos adecuado. Esto puede deberse a que el método requiere tiempo para realizar la asignación de llamadas a ascensores (lo que aumenta el AWT), pero una vez que están asignadas, optimiza el recorrido a seguir por el ascensor, consiguiendo así que tiempo que tarda el pasajero en llegar a su destino sea mínimo. 5.2.4 Análisis de detalle según el edificio Una vez visto el comportamiento general de cada uno de los algoritmos, se realiza un análisis detallado de cada uno de los edificios estudiados según los tres métodos. ATT (seg)
71 • Edificio de 8 plantas. Figura 42. Figura 42.-AWT y ATT para un edificio de 8 plantas Para un edifico de 8 plantas, se calculó anteriormente que el número óptimo de ascensores es 1. Si se observan los resultados, se puede ver que, obviamente, para el caso de 2 ascensores se obtienen tiempos menores (como era de esperar pues si se aumenta la capacidad, disminuye la ocupación), pero para un solo ascensor, se obtienen resultados aceptables para la calidad del servicio de los pasajeros, tal como puede verse en la Figura 42. Respecto a los algoritmos, en esta situación, todos los algoritmos proporcionan resultados muy parejos, por lo que sería indiferente la utilización de uno u otro de ellos. • Edificio de 10 plantas. Figura 43. Figura 43.- AWT y ATT para un edificio de 10 plantas En el caso de un edificio de 10 plantas, son 2 los ascensores que optimizan los recursos. Según las gráficas de la Figura 43, de nuevo vuelve a ocurrir igual que en el caso anterior: aumenta el número de ascensores y disminuye el tiempo, pero los resultados obtenidos para 2 ascensores son considerados aceptables. En este caso de 2 ascensores, sería el Algoritmo Genético el que minimiza tanto el tiempo medio de espera y como el tiempo medio de tránsito.
72 • Edificio de 12 plantas. Figura 44. Figura 44.- AWT y ATT para un edificio de 12 plantas En la situación de un edificio de 12 plantas, se determinó que el número óptimo de ascensores era 2, pero según se puede observar en la Figura 44, que los tiempos obtenidos por los tres métodos, no se ajustan a la calidad de servicio esperada por los pasajeros. Por lo que sería conveniente en este caso replantearse la situación y optar por incluir un ascensor más en el edificio. Pues, aunque suponga mayor coste, la calidad de servicio ofrecida por el edificio aumentaría notablemente. En cuanto a los algoritmos de simulación, el algoritmo genético es el que consigue menores tiempos medios de espera; mientras que, para los tiempos medios de tránsito, se obtienen mejores resultados con la búsqueda tabú o el algoritmo genético. • Edificio de 14 plantas. Figura 45. Figura 45.- AWT y ATT para un edificio de 14 plantas En este caso, el edificio optimizaría la calidad del servicio con 3 ascensores, y según las gráficas de la Figura 45, sería correcta dicha suposición. Puede verse que con el algoritmo Double Deck- ETA, se consigue un tiempo medio de espera mucho menor que el considerado como aceptable para una buena calidad del servicio. Para minimizar el tiempo de tránsito, es el algoritmo de búsqueda tabú, seguido muy de cerca por el algoritmo genético, el que consigue mejores resultados.
79 En cambio, a medida que aumenta el número de plantas, es el algoritmo Double Deck-ETA el que consigue los mejores tiempos medios de espera, seguido muy de cerca por el algoritmo genético Respecto a los tiempos de tránsito, es el algoritmo de búsqueda tabú el que obtiene mejores resultados para todas las casuísticas de edificios, siendo más notables las diferencias a medida que aumenta el número de plantas del edificio. En cuanto a los tiempos totales de viaje, que resulta ser la suma del tiempo de espera frente al ascensor más el tiempo que el pasajero tarda en llegar a su destino una vez ha ingresado en el ascensor, son de nuevo el algoritmo genético y Double Deck-ETA los algoritmos que consiguen minimizar estos tiempos. En edificios con pocas plantas, las diferencias entre los resultados obtenidos con estos algoritmos y con la búsqueda tabú, no son tan altas como a medida que va creciendo el número de plantas de los edificios. A pesar de que los tres algoritmos se encuentran programados para optimizar los tiempos medios de espera de los pasajeros, es solo en dos de los casos en los que se consigue de manera notable. Es de resaltar que, aunque estén programados para dicha finalidad, consiguen minimizar igualmente los tiempos de tránsito (esta vez para los tres algoritmos). Se demuestra que, en la mayoría de los casos, el pasajero se encuentra más cómodo una vez ha entrado en el ascensor, prestándole menos importancia a la duración del trayecto hacia el destino. Es por ello por lo que se trata de promover la minimización del AWT frente al ATT. Por lo que respecta en este aspecto, los algoritmos con mejor comportamiento fueron los algoritmos genéticos y Double Deck-ETA. Puede parecer contradictorio que una heurística como Double Deck-ETA consiga mejores resultados que una metaheurística como la búsqueda tabú. Esto puede ser debido a lo comentado en la sección anterior. Es posible que se acepten ocasionalmente malos movimientos, es decir, que la nueva solución no sea mejor que la inmediatamente anterior, uniéndose ello al tiempo de que se dispone para computar la solución en tiempo real (el cual es pequeño). Puede deberse a esto por lo que en este caso las metaheurísticas no consiguen aproximarse al óptimo del problema en las situaciones de estudio. En cambio, si lo que se desea es minimizar el tiempo que el pasajero pasa dentro del ascensor hasta llegar a su destino, el algoritmo más correcto a implementar sería la Búsqueda Tabú. Resulta extraño que el mismo método que ha obtenido los peores resultados en la optimización de uno de los tiempos, consiga los mejores en el otro caso. Esto puede ser debido, tal como se expuso en la sección anterior, a un requerimiento alto de tiempo por parte de este método para realizar la asignación de llamadas a ascensores. Pero una vez realiza la asignación, sea el método que más rápido realice el trayecto requerido por el usuario que entra en el ascensor. En la optimización del tiempo total de viaje, es obvio que los tiempos resultantes en el caso de la búsqueda tabú se ven distorsionados por los altos tiempos obtenidos por este método para la espera por parte de los pasajeros del ascensor. Es por lo que, para este caso, sería el algoritmo genético el método más apropiado para la obtención de resultados optimizados.
80 7 BIBLIOGRAFÍA [1] Barney G. (2003). Elevator traffic handbook / Spon Press. [2] CIBSE Guide D (2000). Transportation systems in buildings, pp 3-2. [3] Cortés P, Fernández J., Delgado M. (2009). Controlador basado en lógica difusa para la detección del patrón de tráfico en sistemas de transporte vertical. XIII Congreso de Ingeniería de Organización. Barcelona-Terrasa, 2-4 Septiembre 2009. [4] Cortés P., Larrañeta J.. (2003). Genetic algorithm for controllers in elevator groups. pp. 164. [5] Cortés P., Larrañeta J., Onieva L., Muñuzuri J., Guadix J. (2003). Algoritmos para la Asignación de Llamadas en Sistemas de Tráfico Vertical Selectivo en Bajada. V Congreso de Ingeniería de Organización. Valladolid, 4-5 Septiembre 2003 pp. 1-4. [6] Glover F. (1989). Tabu Search- Part I. ORSA Journal on Computing Vol. I, No. 3, Summer 1989. [7] Ledesma, A. (2016). Asignación de llamadas para ascensores con arquitectura Double Deck mediante algoritmos de Búsqueda Tabú. Sevilla. Junio 2016 pp. 34-41. [8] Ascensor panorámico. (2006). http://www.enor.es/catalogo_otea_ES.pdf Último acceso: 27/06/2017 [9] Ascensores multicabina. (2016). http://www.urban-hub.com/es/ideas/la-nueva-era-de- los-ascensores-revoluciona-la-construccion-de-mediana-y-gran-altura/ Último acceso: 27/06/2017 [10] Cálculo de ascensores según especificaciones. (2003). http://www3.amb.cat/normaurb/EDIFICACIO/2-2-5-3.pdf Último acceso: 27/06/2017 [11] Double Decker Elevators On The Rise. (2014). http://www.elevatordesigninfo.com/double-decker-elevators-on-the-rise Último acceso: 27/06/2017 [12] Hub, U. (2016). Idea Nueva era de los ascensores. http://www.urbanhub.com/es/ideas/la-nueva-era-de-los-ascensores-revoluciona-la-construccion-de- mediana-y-gran-altura/ Último acceso: 27/06/2017
81 [13] Megaconstrucciones. (2014). http://megaconstrucciones.net/?construccion=torresidney Último acceso: 27/06/2017 [14] Parámetros que determinan el número de ascensores de un edificio. (2010). http://www.astarlifts.com/blog/ascensores-elevadores/que-determina-el-numero-de- ascensores-que-necesita-un-edificio Último acceso: 27/06/2017 [15] Patricio Barros, A. B. (2001). Libros Maravillosos. Capítulo 17: http://www.librosmaravillosos.com/estoyaexistioenlaantiguedad/capitulo17.html Último acceso: 27/06/2017 [16] Peters, R. D. (2014). Elevator Dispatching. http://www.petersresearch.com/index.php/support/articles-and-papers/151-elevator-dispatching Último acceso: 27/06/2017 [17] Rodríguez-Piñero, P. T. (s.f.). Introducción a los algoritmos genéticos y sus aplicaciones. https://www.uv.es/asepuma/X/J24C.pdf Último acceso: 27/06/2017 [18] Sánchez, Á. G. (2006). Técnicas metaheurísticas. http://www.iol.etsii.upm.es/arch/metaheuristicas.pdf Último acceso: 27/06/2017 [19] ThyssenKrupp. (2017). ELI-Elevator Information. http://www.thyssenkrupp-elevator- eli.com/nc/es/unternehmen/referencias-csc-new-installations/essen.html Último acceso: 27/06/2017 [20] Tipos de ascensores para edificaciones. Arquigrafico. Arquitectura, Ingeniería y Edificación. (2013). http://www.t3mascensores.com/tipos-de-ascensores-para-las- edificaciones/ Último acceso: 27/06/2017 [21] Torre Picasso. (2012). http://www.elmundo.es/elmundo/2011/12/29/economia/1325177138.html Último acceso: 27/06/2017 [22] Un poco de historia. (2016). http://www.silcon.com.ar/un_poco_de_historia.htm Último acceso: 27/06/2017 [23] TWIN. http://liftpages.ru/news/item/Lifty-Bashni-Federatsiya Último acceso: 27/06/2017 [24] Wikipedia. (2016). Greenwich Street. https://es.wikipedia.org/wiki/388_Greenwich_Street Último acceso: 27/06/2017 [25] Wikipedia. (2016). Frenchurh Street. https://en.wikipedia.org/wiki/20_Fenchurch_Street Último acceso: 27/06/2017
82 [26] Wikipedia. (2016). Torre de Shanghai. https://es.wikipedia.org/wiki/Torre_de_Shangh%C3%A1i Último acceso: 27/06/2017 [27] Willis, C. (2017). World Towers above 380m. http://skyscraper.org/EXHIBITIONS/SUPERTALL/federation.php Último acceso: 27/06/2017
83
84 ANEXO A: GRÁFICAS EXPERIMENTALES En este anexo se muestran todas las gráficas del tiempo media de espera de los pasajeros frente al ascensor y el tiempo medio de tránsito que ELEVATE 8 proporciona para cada una de las simulaciones realizadas. Se muestran las gráficas agrupadas según el algoritmo utilizado en cada caso para la asignación de ascensores a llamadas. Además, se refleja en cada gráfica el número de plantas del edificio y el número de ascensores para cada caso. • Búsqueda Tabú AWT 8P 1A ATT 8P 1A 1 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 48.8 (+0.0/-0.0) Longest Waiting Time (s) 231.9 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 1 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 36.2 (+0.0/-0.0) Longest Transit Time (s) 80.9 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time AWT 8P 2A 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 26.0 (+0.0/-0.0) Longest Waiting Time (s) 105.6 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 29.0 (+0.0/-0.0) Longest Transit Time (s) 67.4 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 8P 2A
85 AWT 10P 2A AWT 10P 3A 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 41.2 (+0.0/-0.0) Longest Waiting Time (s) 145.9 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 38.8 (+0.0/-0.0) Longest Transit Time (s) 94.7 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time 3 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 28.1 (+0.0/-0.0) Longest Waiting Time (s) 130.3 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 3 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 33.7 (+0.0/-0.0) Longest Transit Time (s) 89.6 (+0.0/-0.0) 0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 10P 2A ATT 10P 3A AWT 12P 3A 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 62.6 (+0.0/-0.0) Longest Waiting Time (s) 281.6 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 49.6 (+0.0/-0.0) Longest Transit Time (s) 117.8 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time 3 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 39.3 (+0.0/-0.0) Longest Waiting Time (s) 154.2 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 3 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 42.5 (+0.0/-0.0) Longest Transit Time (s) 110.0 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 12P 2A ATT 12P 3A AWT 12P 2A
86 4 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 91.6 (+0.0/-0.0) Longest Waiting Time (s) 714.5 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 4 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 73.0 (+0.0/-0.0) Longest Transit Time (s) 191.5 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time AWT 14P 2A AWT 14P 3A AWT 14P 4A 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 86.5 (+0.0/-0.0) Longest Waiting Time (s) 438.6 (+0.0/-0.0) 0 25 50 75 100 125 150 175 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 59.8 (+0.0/-0.0) Longest Transit Time (s) 140.2 (+0.0/-0.0) 0 25 50 75 100 125 150 175 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time 3 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 53.5 (+0.0/-0.0) Longest Waiting Time (s) 425.9 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 3 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 52.3 (+0.0/-0.0) Longest Transit Time (s) 141.1 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time 4 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 37.0 (+0.0/-0.0) Longest Waiting Time (s) 191.5 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time ATT 14P 2A 4 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 46.0 (+0.0/-0.0) Longest Transit Time (s) 127.6 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 14P 3A ATT 14P 4A AWT 20P 4A ATT 20P 4A
87 AWT 20P 5A AWT 20P 6A 5 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 56.2 (+0.0/-0.0) Longest Waiting Time (s) 350.0 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 5 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 65.4 (+0.0/-0.0) Longest Transit Time (s) 183.7 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time 6 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 49.4 (+0.0/-0.0) Longest Waiting Time (s) 352.2 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 6 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 61.0 (+0.0/-0.0) Longest Transit Time (s) 177.2 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 20P 5A ATT 20P 6A AWT 24P 5A AWT 24P 6A 5 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 91.8 (+0.0/-0.0) Longest Waiting Time (s) 550.7 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 5 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 84.0 (+0.0/-0.0) Longest Transit Time (s) 227.4 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time 6 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 73.0 (+0.0/-0.0) Longest Waiting Time (s) 497.7 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 6 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 76.8 (+0.0/-0.0) Longest Transit Time (s) 221.2 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 24P 5A ATT 24P 6A
88 AWT 24P 7A 7 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 57.0 (+0.0/-0.0) Longest Waiting Time (s) 630.0 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 7 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 70.6 (+0.0/-0.0) Longest Transit Time (s) 209.5 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 24P 7A AWT 30P 9A AWT 30P 10A AWT 30P 11A 9 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 76.4 (+0.0/-0.0) Longest Waiting Time (s) 669.5 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 9 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 83.9 (+0.0/-0.0) Longest Transit Time (s) 262.5 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time 10 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 56.1 (+0.0/-0.0) Longest Waiting Time (s) 437.1 (+0.0/-0.0) 0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 11 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 54.0 (+0.0/-0.0) Longest Waiting Time (s) 373.9 (+0.0/-0.0) 0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 11 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 77.3 (+0.0/-0.0) Longest Transit Time (s) 248.8 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 30P 9A ATT 30P 10A ATT 30P 11A 10 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 80.0 (+0.0/-0.0) Longest Transit Time (s) 269.3 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time
95 • Double Deck -ETA AWT 8P 1A AWT 8P 2A 1 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 48.1 (+0.0/-0.0) Longest Waiting Time (s) 132.6 (+0.0/-0.0) 0 10 20 30 40 50 60 70 80 90 100 110 120 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 1 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 37.9 (+0.0/-0.0) Longest Transit Time (s) 80.1 (+0.0/-0.0) 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 21.3 (+0.0/-0.0) Longest Waiting Time (s) 108.1 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 29.0 (+0.0/-0.0) Longest Transit Time (s) 66.5 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 8P 1A ATT 8P 2A AWT 10P 2A 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 40.1 (+0.0/-0.0) Longest Waiting Time (s) 147.6 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 39.5 (+0.0/-0.0) Longest Transit Time (s) 100.3 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 10P 2A AWT 10P 3A 3 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 17.4 (+0.0/-0.0) Longest Waiting Time (s) 127.8 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 3 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 33.0 (+0.0/-0.0) Longest Transit Time (s) 90.9 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 10P 3A
96 AWT 12P 2A 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 51.7 (+0.0/-0.0) Longest Transit Time (s) 131.2 (+0.0/-0.0) 0 25 50 75 100 125 150 175 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 54.8 (+0.0/-0.0) Longest Waiting Time (s) 292.1 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time ATT 12P 2A AWT 12P 3A ATT 12P 3A 3 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 28.6 (+0.0/-0.0) Longest Waiting Time (s) 158.6 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 3 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 43.3 (+0.0/-0.0) Longest Transit Time (s) 115.5 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 64.3 (+0.0/-0.0) Longest Transit Time (s) 151.9 (+0.0/-0.0) 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time AWT 14P 2A ATT 14P 2A 2 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 76.0 (+0.0/-0.0) Longest Waiting Time (s) 465.7 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time AWT 14P 3A 3 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 36.7 (+0.0/-0.0) Longest Waiting Time (s) 204.6 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 3 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 54.5 (+0.0/-0.0) Longest Transit Time (s) 138.4 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 14P 3A
97 AWT 14P 4A ATT 14P 4A 4 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 23.0 (+0.0/-0.0) Longest Waiting Time (s) 182.3 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 4 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 47.3 (+0.0/-0.0) Longest Transit Time (s) 143.5 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time AWT 20P 4A 4 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 54.3 (+0.0/-0.0) Longest Waiting Time (s) 748.5 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 4 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 78.0 (+0.0/-0.0) Longest Transit Time (s) 201.9 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 20P 4A 5 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 69.4 (+0.0/-0.0) Longest Transit Time (s) 189.9 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 20P 5A AWT 20P 5A 5 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 40.6 (+0.0/-0.0) Longest Waiting Time (s) 244.2 (+0.0/-0.0) 0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time AWT 20P 6A 6 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 26.1 (+0.0/-0.0) Longest Waiting Time (s) 290.6 (+0.0/-0.0) 0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 6 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 64.5 (+0.0/-0.0) Longest Transit Time (s) 191.4 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 20P 6A
98 AWT 24P 5A 5 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 64.9 (+0.0/-0.0) Longest Waiting Time (s) 552.2 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 425 450 475 500 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 5 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 91.7 (+0.0/-0.0) Longest Transit Time (s) 229.7 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 24P 5A AWT 24P 6A 6 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 40.4 (+0.0/-0.0) Longest Waiting Time (s) 387.4 (+0.0/-0.0) 0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 6 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 82.8 (+0.0/-0.0) Longest Transit Time (s) 232.2 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 24P 6A AWT 24P 7A ATT 24P 7A 7 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 77.0 (+0.0/-0.0) Longest Transit Time (s) 227.9 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time 7 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 32.0 (+0.0/-0.0) Longest Waiting Time (s) 315.6 (+0.0/-0.0) 0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time AWT 30P 9A 9 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 35.9 (+0.0/-0.0) Longest Waiting Time (s) 385.4 (+0.0/-0.0) 0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 9 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 95.2 (+0.0/-0.0) Longest Transit Time (s) 301.0 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 30P 9A
99 AWT 30P 10A 10 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 28.9 (+0.0/-0.0) Longest Waiting Time (s) 303.1 (+0.0/-0.0) 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 10 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 88.4 (+0.0/-0.0) Longest Transit Time (s) 278.0 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 30P 10A AWT 30P 11A 11 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 82.9 (+0.0/-0.0) Longest Transit Time (s) 270.9 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time 11 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 24.1 (+0.0/-0.0) Longest Waiting Time (s) 346.5 (+0.0/-0.0) 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time ATT 30P 11A 10 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 98.1 (+0.0/-0.0) Longest Transit Time (s) 290.3 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time AWT 32P 10A 10 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 33.8 (+0.0/-0.0) Longest Waiting Time (s) 383.5 (+0.0/-0.0) 0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time ATT 32P 10A AWT 32P 11A 11 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 27.9 (+0.0/-0.0) Longest Waiting Time (s) 406.6 (+0.0/-0.0) 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 11 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 92.6 (+0.0/-0.0) Longest Transit Time (s) 308.5 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 32P 11A
100 AWT 32P 12A 12 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 25.5 (+0.0/-0.0) Longest Waiting Time (s) 368.1 (+0.0/-0.0) 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 12 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 88.6 (+0.0/-0.0) Longest Transit Time (s) 290.6 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 32P 12A AWT 34P 11A 11 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 28.6 (+0.0/-0.0) Longest Waiting Time (s) 375.7 (+0.0/-0.0) 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 11 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 99.2 (+0.0/-0.0) Longest Transit Time (s) 306.2 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 375 400 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 34P 11A AWT 34P 12A 12 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Waiting Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Waiting Time (s) 27.0 (+0.0/-0.0) Longest Waiting Time (s) 380.1 (+0.0/-0.0) 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 no of passengers waiting less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers waiting less than time 12 No. 1000 kg elevators @ 2.50 m/s Average of all runs Distribution of Passenger Transit Times All Floors over complete duration 010 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 time (s) Average Transit Time (s) 95.6 (+0.0/-0.0) Longest Transit Time (s) 295.6 (+0.0/-0.0) 0 25 50 75 100 125 150 175 200 225 250 275 300 325 350 no of passengers in transit for less than time 0 10 20 30 40 50 60 70 80 90 100 % passengers in transit for less than time ATT 34P 12A
101
102 ANEXO B: VARIABLES DE OBJETO La implementación de los algoritmos empleados en este trabajo se ha realizado a través de programación C++ orientada a objetos. En este Anexo B se incluyen los objetos que se han empleado en dicha programación. El primer objeto con el que se trabaja es “lift.h” en el cual se encuentran las especificaciones del ascensor. Entre dichas especificaciones se encuentran el estado de las puertas del ascensor, la capacidad total del ascensor, la capacidad actual, su velocidad y la dirección hacia la que se desplaza el ascensor. Además, como se trabaja con ascensores Double Deck, cada una de estas características dependen de si la cabina a la que van asociadas es la superior o la inferior. El segundo objeto es “Dispatch.h”, donde se encuentran las variables y características del edificio y de los pasajeros. A continuación, se muestra el código de ambos objetos. • Objeto “lift.h” /* ---------------------------------------------------------------- ------------- Filename lift.h Copyright (c) Peters Research Ltd SVN variables, Updated by SVN @ each commit Id, Revision surrounded by '$' if the SVN file properties SVN:Keywords are set Revision This keyword describes the last known revision in which this file changed in the repository $Id: lift.h 2184 2014-10-27 15:17:59Z Jim.Nickerson $ $Revision: 2184 $ ---------------------------------------------------------------- ------------- */ // #ifndef _INC_LIFT //check flag to avoid redefinition of class #define _INC_LIFT // #include "stdafx.h" // #if _MSC_VER > 1000 #pragma once #endif // #include "arraysize.h" #include "building.h" #include "DestinationCall.h" // #define MAX_DESTINATION_CALL_LIFT 1000
103 // // class lift { public: // enum _tag_LIFT_TYPE { SINGLE_DECK = 0, // IDSX_LIFT_TYPE_0 DOUBLE_DECK = 1, // IDSX_LIFT_TYPE_1 TWO_CARS_PER_SHAFT = 2, // IDSX_LIFT_TYPE_2 TWO_D = 3, LAST_LIFT_TYPE // used to fill string arrays from string table }; // enum _tag_CALL_CANCELLATION { ARRIVAL=0, SLOWDOWN=1 }; // enum _kW_STATES { // the energy consumed by the drive in each of these load conditions DRIVE_OFF, DRIVE_ON, DRIVE_UP_0, DRIVE_UP_25, DRIVE_UP_50, DRIVE_UP_75, DRIVE_UP_100, DRIVE_DOWN_0, DRIVE_DOWN_25, DRIVE_DOWN_50, DRIVE_DOWN_75, DRIVE_DOWN_100, DRIVE_LAST_STATE }; // enum _Axis { AXIS_X, AXIS_Y, AXIS_Z }; // double m_Acceleration; //rated lift acceleration (m/s/s) [elive static data] XMLS_1_ACCELERATION_MSS double m_AccelerationMultiply; //not currently used, but allows dispatcher to change the rated acceleration for a single trip. Set to 1.0 by default. int m_ActualQuickestStopFloor; //actual (as opposed to ideal) quickest stop floor. Not normally used in Elevate, but when class used in real systems
104 double m_ActualStoppingDistance; //actual (as opposed to ideal) stopping distance. Not normally used in Elevate, but when class used in real systems int m_AlgorithmType; //algorithm type CONVENTIONAL, DESTINATION or MIXED using global Elevate definition bool m_Available; //normally true, can be off due to motor generator double m_Capacity; //nominal lift capacity (kg) [elive static data] XMLS_1_CAPACITY_KG int m_CarCall[MAX_FLOORS]; //car calls registered (1 registered, 0 not) [elive dynamic data] XMLS_1_REGISTERED_CALLS int m_CarCallCancellation; //defines when lift class cancels car calls //options ARRIVAL (default) or SLOWDOWN //m_CarCall is set when value is 1. If SLOWDOWN option selected then value is changed to 2 on slowdown double m_CarCallDwellTime; //not used double m_CarCallDwellTimePostPersonExit; //not used int m_CarCallUpperCar[MAX_FLOORS]; //car calls registered (1 registered, 0 not) [elive dynamic data] int m_CarService; //indicates current service state car is in (i.e. AUTOMATIC, etc) [elive dynamic data] XMLS_1_CAR_SERVICE double m_CounterweightProportion; //used in conjunction with m_VelocityMultiply to model ThyssenKrupp VMAX. double m_CurrentAcceleration; //current acceleration (m/s/s) double m_CurrentArea; //current area taken in car by passengers (m²) double m_CurrentAreaUpperCar; //current area taken in upper car by passengers (m²) double m_CurrentDistance; //distance travelled on current trip (m) int m_CurrentFloorNo; //current floor number (where 1 is lowest floor), NONE when travelling [elive dynamic data] XMLS_1_FLOOR double m_CurrentJerk; //current jerk (m/s/s/s) double m_CurrentLoad; //current car load (kg) [elive dynamic data] XMLS_1_CURRENT_LOADKG double m_CurrentLoadUpperCar; //current car load upper car (kg) [elive dynamic data] double m_CurrentPosition; //current position (m above reference) double m_CurrentTime; //current time (s past reference) double m_CurrentVelocity; //current velocity (m/s) bool m_DeleteDestinationCallAtDestination; //chooses if the lift class deletes the call when the lift arrives at destination, //or changes state to PENDING_RESET and saves the time the car arrives int DestinationByDispatcher; //Normally the lift class will decide what call to serve next based on the //car calls and allocated landing calls
111 bool GetParkOpenCall(int nFloor); //returns if there is a park open call for the given floor int HighestFloorServed(); //Highest floor served by the lift int LowestFloorServed(); //Lowest floor served by the lift bool NoCalls(); //true if lift has no calls at all (up, down, car, parking, etc.) bool NoDestinationCalls(int LiftNo, DestinationCall DestCalls[MAX_DESTINATION_CALLS]); //true if there are no outstanding destination calls to serve bool OpenDoorsNewCallAtLanding(building b); //checks to see if new call registered while lift at landing and re-opens doors if required bool OpenDoorsNewCallAtLandingRear(); //checks to see if new call registered rear side while lift at landing and re-opens doors if required bool OpenDoorsNewCallAtLandingUpperCar(); //checks to see if new call upper car registered while lift at landing and re-opens doors if required bool OpenDoorsNewCallAtLandingUpperCarRear(); //checks to see if new call registered upper car rear doors while lift at landing and re-opens doors if required double QuickestStopDistance(int Axis); //stopping distance if started slowing down immediately int QuickestFloorStopFloor(); //next stop lift could make (floor no) double QuickestStopPosition(); //next stop lift could make (m above reference) double QuickestFloorStopTime(); //time of next stop lift could make at floor (s after midnight day 1) double QuickestFloorStopPosition(); //next stop at floor lift could make (position) double QuickestStopTime(); //time of next stop lift could make (s after midnight day 1) void RemoveLandingCall(int direction, int floor); //removes landing call - called by class when lift arrives at landing. //May also be called by dispatcher when re-allocating call to another lift void Reset(building b, int index = 0); //sets lift to home position,cancels all calls, etc. void ResetDoorDwellTimers(); //Reset door dwell timers - use when door opening complete, or if //necessary to re-start the door time out process (e.g. new destination //based control system allocation while lift is at landing, to avoid passenger missing lift. void ResetDoorDwellTimersRear();//Reset door dwell timers rear doors void ResetDoorDwellTimersUpperCar(); //Reset door dwell upper car timers void ResetDoorDwellTimersRearUpperCar(); //Reset door dwell timers rear car upper lift
112 void SetDestination(DestinationCall m_DestCalls[MAX_DESTINATION_CALLS], building b); //set destination/direction travel int StartJourney(int floor, building b); //start journey, destination "floor" N.B. this sets the direction of the lift there is no need to use SetDirection(); //returns 1 if successful, -1 if failed e.g. because doors open double TimeSinceStartedJourney();//Calculates how long lift has been travelling on its current trip void Update(double CurrentTime,int Index, DestinationCall m_DestCalls[MAX_DESTINATION_CALLS], building b); //this function updates the status of the lift (position, speed, door operation, etc.) void UpdateDestination(double CurrentTime, DestinationCall DestCalls[MAX_DESTINATION_CALLS]); //check for calls allocated to lift and sets destination // private: void AdvancedCallCancellation(); void EndTravelDeallocatedCalls(); // }; // #endif • Objeto “Dispach.h” // Dispatch.h: interface for the CDispatchW class. // // $Id: Dispatch.h 2184 2014-10-27 15:17:59Z Jim.Nickerson $ // $Revision: 2184 $ // 12/01/2010 jimn add #if defined(DLL_USE_XML_PARAMETERS) //////////////////////////////////////////////////////////////// ////// #if !defined(AFX_DISPATCH_H__163502DF_E3E1_4DA5_BB84_9BEF27C83AB0__I NCLUDED_) #define AFX_DISPATCH_H__163502DF_E3E1_4DA5_BB84_9BEF27C83AB0__INCLUDED_ // #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // #include "DispatchBase.h" // #if defined(DLL_USE_XML_PARAMETERS) // if used defined in stdafx.h, added to return the Xml file name to Elevate
113 #include "../Xml/CXml/Xml.h" // required if using xml parameters, make sure the path is correct for your implementation using namespace ElevateXml; // required if using xml parameters, this namespace is referenced #endif // class CDispatchW : public CDispatchBase { public: CDispatchW(); virtual ~CDispatchW(); // // Public member functions public: virtual void Update(double CurrentTime, lift l[MAX_LIFTS], double SimulationTimeStep, building b, int NoLifts, CString message, CString &mode, CArray<person*, person*> &PersonArray, int NoPassengers, int NoTrafficPeriods, double m_u[MAX_TRAFFIC_PERIODS][MAX_FLOORS], double m_d[MAX_TRAFFIC_PERIODS][MAX_FLOORS][MAX_FLOORS], double m_StartTime[MAX_TRAFFIC_PERIODS], double m_EndTime[MAX_TRAFFIC_PERIODS], int XMLmode, DestinationCall DestCalls[MAX_DESTINATION_CALLS], CString Document, bool DestinationButtons[MAX_FLOORS], int UserSelectedMode); // virtual void Reset(building b, bool ResetHistory, int version); virtual int GetNoOfAlgorithms(); virtual CString GetAlgorithmName(int nAlgorithm); virtual int GetUpLandingCall(int floor, int side); virtual int GetDownLandingCall(int floor, int side); virtual void SetUpLandingCall(int floor, int val, int side); virtual void SetDownLandingCall(int floor, int val, int side); virtual void SetAlgorithmNo(int val); virtual int GetAlgorithmNo(); virtual int GetAlgorithmType(); virtual CString GetDispatcherOptions(); virtual CString GetAlgorithmModeName(int nAlgorithm, int nMode); virtual int GetNoPeakModes(int nAlgorithm); virtual void SetDispatcherOptionsUserSelections(CString DispatcherOptionsUserSelections); // // Data members
114 //about the dispatcher algorithms int m_NoOfAlgorithms; //the number of algorithms defined by the developer //in this DLL (maximum MAX_USER_ALGORITHMS) // int m_DispatcherPeakMode; //peak mode dispatcher is currently using //NORMAL, UP_PEAK, DOWN_PEAK // CString m_AlgorithmName[MAX_USER_ALGORITHMS]; //the names of the algorithms - these will be //added to drop down box in Simulation Data // int m_NumberOfPeakModes[MAX_USER_ALGORITHMS]; //determines how many peak modes, e.g. normal, up peak, down peak, etc. // //the number of peak modes available with for algorithm CString m_PeakModeNames[MAX_PEAK_MODES][MAX_USER_ALGORITHMS]; //not used int m_Algorithm; //the number of the dispatcher algorithm selected by the user int m_AlgorithmType[MAX_USER_ALGORITHMS]; //the type of the algorithm //0 - conventional //1 - destinations registered at landings // //about the calls registered with the dispatcher int m_UpLandingCalls[MAX_FLOORS]; //up calls registered with the dispatcher (1 registered, 0 not) int m_UpLandingCallsRear[MAX_FLOORS]; //rear up landing calls int m_DownLandingCalls[MAX_FLOORS]; //down calls registered with the dispatcher (1 registered, 0 not) int m_DownLandingCallsRear[MAX_FLOORS]; //rear down landing calls // //The following variables provided so that you can store data between //calls to Update(double CurrentTime,lift l...). int m_User1[1000]; double m_User2[1000]; // bool m_RequestSimulationData; //flag to indicate that simulation data is being requested
115 //by dispatcher which is not normally available to in real life //set this flay to true if you want to access data from the //person class and the traffic arrival rate/destination matrix // CString m_DispatcherParameters; CString m_DispatcherOptions; CString m_DispatcherOptionsUserSelections; // CStdioFile m_File; // void Algorithm0(double CurrentTime,lift l[MAX_LIFTS], double SimulationTimeStep,building b,int NoLifts, CString message,CString &mode, CArray<person*,person*> &PersonArray, int NoPassengers, int NoTrafficPeriods, double m_u[MAX_TRAFFIC_PERIODS][MAX_FLOORS], double m_d[MAX_TRAFFIC_PERIODS][MAX_FLOORS][MAX_FLOORS],double m_StartTime[MAX_TRAFFIC_PERIODS], double m_EndTime[MAX_TRAFFIC_PERIODS],DestinationCall DestCalls[MAX_DESTINATION_CALLS], CString Document,bool DestinationButtons[MAX_FLOORS],int UserSelectedMode); void Algorithm1(double CurrentTime,lift l[MAX_LIFTS], double SimulationTimeStep,building b,int NoLifts, CString message,CString &mode, CArray<person*,person*> &PersonArray, int NoPassengers, int NoTrafficPeriods, double m_u[MAX_TRAFFIC_PERIODS][MAX_FLOORS], double m_d[MAX_TRAFFIC_PERIODS][MAX_FLOORS][MAX_FLOORS],double m_StartTime[MAX_TRAFFIC_PERIODS], double m_EndTime[MAX_TRAFFIC_PERIODS],DestinationCall DestCalls[MAX_DESTINATION_CALLS], CString Document,bool DestinationButtons[MAX_FLOORS],int UserSelectedMode); void Algorithm2(double CurrentTime,lift l[MAX_LIFTS], double SimulationTimeStep,building b,int NoLifts, CString message,CString &mode, CArray<person*,person*> &PersonArray, int NoPassengers, int NoTrafficPeriods, double m_u[MAX_TRAFFIC_PERIODS][MAX_FLOORS], double m_d[MAX_TRAFFIC_PERIODS][MAX_FLOORS][MAX_FLOORS],double m_StartTime[MAX_TRAFFIC_PERIODS], double m_EndTime[MAX_TRAFFIC_PERIODS],DestinationCall DestCalls[MAX_DESTINATION_CALLS], CString Document,bool DestinationButtons[MAX_FLOORS],int UserSelectedMode);
116 void Algorithm3(double CurrentTime,lift l[MAX_LIFTS], double SimulationTimeStep,building b,int NoLifts, CString message,CString &mode, CArray<person*,person*> &PersonArray, int NoPassengers, int NoTrafficPeriods, double m_u[MAX_TRAFFIC_PERIODS][MAX_FLOORS], double m_d[MAX_TRAFFIC_PERIODS][MAX_FLOORS][MAX_FLOORS],double m_StartTime[MAX_TRAFFIC_PERIODS], double m_EndTime[MAX_TRAFFIC_PERIODS],DestinationCall DestCalls[MAX_DESTINATION_CALLS], CString Document,bool DestinationButtons[MAX_FLOORS],int UserSelectedMode); void Algorithm4(double CurrentTime,lift l[MAX_LIFTS], double SimulationTimeStep,building b,int NoLifts, CString message,CString &mode, CArray<person*,person*> &PersonArray, int NoPassengers, int NoTrafficPeriods, double m_u[MAX_TRAFFIC_PERIODS][MAX_FLOORS], double m_d[MAX_TRAFFIC_PERIODS][MAX_FLOORS][MAX_FLOORS],double m_StartTime[MAX_TRAFFIC_PERIODS], double m_EndTime[MAX_TRAFFIC_PERIODS],DestinationCall DestCalls[MAX_DESTINATION_CALLS], CString Document,bool DestinationButtons[MAX_FLOORS],int UserSelectedMode); void Algorithm5(double CurrentTime,lift l[MAX_LIFTS], double SimulationTimeStep,building b,int NoLifts, CString message,CString &mode, CArray<person*,person*> &PersonArray, int NoPassengers, int NoTrafficPeriods, double m_u[MAX_TRAFFIC_PERIODS][MAX_FLOORS], double m_d[MAX_TRAFFIC_PERIODS][MAX_FLOORS][MAX_FLOORS],double m_StartTime[MAX_TRAFFIC_PERIODS], double m_EndTime[MAX_TRAFFIC_PERIODS],DestinationCall DestCalls[MAX_DESTINATION_CALLS], CString Document,bool DestinationButtons[MAX_FLOORS],int UserSelectedMode); void Algorithm6(double CurrentTime,lift l[MAX_LIFTS], double SimulationTimeStep,building b,int NoLifts, CString message,CString &mode, CArray<person*,person*> &PersonArray, int NoPassengers, int NoTrafficPeriods, double m_u[MAX_TRAFFIC_PERIODS][MAX_FLOORS], double m_d[MAX_TRAFFIC_PERIODS][MAX_FLOORS][MAX_FLOORS],double m_StartTime[MAX_TRAFFIC_PERIODS], double m_EndTime[MAX_TRAFFIC_PERIODS],DestinationCall DestCalls[MAX_DESTINATION_CALLS], CString Document,bool DestinationButtons[MAX_FLOORS],int UserSelectedMode);
117 void Algorithm7(double CurrentTime,lift l[MAX_LIFTS], double SimulationTimeStep,building b,int NoLifts, CString message,CString &mode, CArray<person*,person*> &PersonArray, int NoPassengers, int NoTrafficPeriods, double m_u[MAX_TRAFFIC_PERIODS][MAX_FLOORS], double m_d[MAX_TRAFFIC_PERIODS][MAX_FLOORS][MAX_FLOORS],double m_StartTime[MAX_TRAFFIC_PERIODS], double m_EndTime[MAX_TRAFFIC_PERIODS],DestinationCall DestCalls[MAX_DESTINATION_CALLS], CString Document,bool DestinationButtons[MAX_FLOORS],int UserSelectedMode); void Algorithm8(double CurrentTime,lift l[MAX_LIFTS], double SimulationTimeStep,building b,int NoLifts, CString message,CString &mode, CArray<person*,person*> &PersonArray, int NoPassengers, int NoTrafficPeriods, double m_u[MAX_TRAFFIC_PERIODS][MAX_FLOORS], double m_d[MAX_TRAFFIC_PERIODS][MAX_FLOORS][MAX_FLOORS],double m_StartTime[MAX_TRAFFIC_PERIODS], double m_EndTime[MAX_TRAFFIC_PERIODS],DestinationCall DestCalls[MAX_DESTINATION_CALLS], CString Document,bool DestinationButtons[MAX_FLOORS],int UserSelectedMode); void Algorithm9(double CurrentTime,lift l[MAX_LIFTS], double SimulationTimeStep,building b,int NoLifts, CString message,CString &mode, CArray<person*,person*> &PersonArray, int NoPassengers, int NoTrafficPeriods, double m_u[MAX_TRAFFIC_PERIODS][MAX_FLOORS], double m_d[MAX_TRAFFIC_PERIODS][MAX_FLOORS][MAX_FLOORS],double m_StartTime[MAX_TRAFFIC_PERIODS], double m_EndTime[MAX_TRAFFIC_PERIODS],DestinationCall DestCalls[MAX_DESTINATION_CALLS], CString Document,bool DestinationButtons[MAX_FLOORS],int UserSelectedMode); void Algorithm10(double CurrentTime,lift l[MAX_LIFTS], double SimulationTimeStep,building b,int NoLifts, CString message,CString &mode, CArray<person*,person*> &PersonArray, int NoPassengers, int NoTrafficPeriods, double m_u[MAX_TRAFFIC_PERIODS][MAX_FLOORS], double m_d[MAX_TRAFFIC_PERIODS][MAX_FLOORS][MAX_FLOORS],double m_StartTime[MAX_TRAFFIC_PERIODS], double m_EndTime[MAX_TRAFFIC_PERIODS],DestinationCall DestCalls[MAX_DESTINATION_CALLS], CString Document,bool DestinationButtons[MAX_FLOORS],int UserSelectedMode);
118 void Algorithm11(double CurrentTime,lift l[MAX_LIFTS], double SimulationTimeStep,building b,int NoLifts, CString message,CString &mode, CArray<person*,person*> &PersonArray, int NoPassengers, int NoTrafficPeriods, double m_u[MAX_TRAFFIC_PERIODS][MAX_FLOORS], double m_d[MAX_TRAFFIC_PERIODS][MAX_FLOORS][MAX_FLOORS],double m_StartTime[MAX_TRAFFIC_PERIODS], double m_EndTime[MAX_TRAFFIC_PERIODS],DestinationCall DestCalls[MAX_DESTINATION_CALLS], CString Document,bool DestinationButtons[MAX_FLOORS],int UserSelectedMode); // bool GetDispatcherOptionsValueBool(CString VariableName); double GetDispatcherOptionsValueNumber(CString VariableName); double GetDispatcherOptionsValueTime(CString VariableName); CString GetDispatcherOptionsValueCombo(CString VariableName); // void SetValue(CString VariableName, double VariableValue); void SetValue(CString VariableName, int index1, double VariableValue); void SetValue(CString VariableName, int index1, int index2, double VariableValue); double GetValue(CString VariableName); double GetValue(CString VariableName, int index1); double GetValue(CString VariableName, int index1, int index2); CString NumberText(double val); CString NumberText(int val); #if defined(DLL_USE_XML_PARAMETERS) void SetDispatcherDllOptions( CXmlNode DllOptions, CString csAlgorithmName ); // if supports Xml Parameters void GetOptionsFromXml( CString csAlgorithmName ); // extract the Option Value names and values from the Xml file for this algorithm #endif protected: }; // #endif // !defined(AFX_DISPATCH_H__163502DF_E3E1_4DA5_BB84_9BEF27C83AB0__I NCLUDED_)