• No se han encontrado resultados

Algoritmo genético híbrido para el diseño de rutas de un sistema de transporte masivo urbano

N/A
N/A
Protected

Academic year: 2020

Share "Algoritmo genético híbrido para el diseño de rutas de un sistema de transporte masivo urbano"

Copied!
32
0
0

Texto completo

(1)Algoritmo Genético Hı́brido para el Diseño de Rutas de un Sistema de Transporte Masivo Urbano. Trabajo de Tesis presentado al Departamento de Ingenierı́a Industrial por. Jose L. Walteros Asesor: Germán Riaño Ph.D. Coasesor: Andrés Medaglia Ph.D.. Para optar al tı́tulo de Maestrı́a Ingenierı́a Industrial. Ingenierı́a Industrial Universidad de Los Andes Julio 2007.

(2) Reconocimientos. Una vez más quisiera aprovechar esta oportunidad para agradecerles a todos los que estuvieron conmigo durante este proceso, a todos aquellos que me han dejado grandes enseñanzas. Gracias, sin ustedes no lo hubiera logrado.. ii.

(3) Tabla de Contenido Reconocimientos. II. Lista de Figuras. IV. Resumen. V. I.. 1. Introducción. II. El Problema de Selección de Rutas. 4. 2.1. Propiedades y Supuestos . . . . . . . . . . . . . . . . . . . . . . . .. 5. 2.1.1. Horizonte de tiempo. . . . . . . . . . . . . . . . . . . . . . .. 5. 2.1.2. Demanda y oferta de pasajeros. . . . . . . . . . . . . . . . .. 6. 2.1.3. Simetrı́a en las rutas. . . . . . . . . . . . . . . . . . . . . . .. 6. 2.1.4. Transferencias entre rutas. . . . . . . . . . . . . . . . . . . .. 6. 2.2. Modelo basado en redes . . . . . . . . . . . . . . . . . . . . . . . . .. 7. III. Algoritmo Genético Hı́brido. 12. 3.1. Representación del Genotipo. . . . . . . . . . . . . . . . . . . . . . . 12 3.2. Función de Adaptabilidad. . . . . . . . . . . . . . . . . . . . . . . . 13 3.3. Población Inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.4. Operadores genéticos. . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.5. Implementación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 IV. Resultados Computacionales. 20. V. Conclusiones. 23. Referencias. 25. iii.

(4) Lista de Figuras 1.. Representación del sistema actual en Bogotá . . . . . . . . . . . . . .. 5. 2.. Ejemplos de corredores viales . . . . . . . . . . . . . . . . . . . . . .. 5. 3.. Ejemplo de cuatro estaciones . . . . . . . . . . . . . . . . . . . . . . .. 8. 4.. Ejemplo de siete estaciones . . . . . . . . . . . . . . . . . . . . . . . . 13. 5.. MCF para obtener la población inicial con m0 = 5 . . . . . . . . . . . 16. 6.. Operadores de cruce . . . . . . . . . . . . . . . . . . . . . . . . . . . 18. 7.. Operador de mutación . . . . . . . . . . . . . . . . . . . . . . . . . . 18. 8.. Diagrama de Clases JGA . . . . . . . . . . . . . . . . . . . . . . . . . 19. 9.. Caso estudiado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20. 10.. Descripción de la red para un individuo . . . . . . . . . . . . . . . . . 21. 11.. Mejor solución encontrada para el caso de 21 estaciones . . . . . . . . 22. 12.. Gráfico de convergencia de las soluciones . . . . . . . . . . . . . . . . 22. iv.

(5) Resumen. En paı́ses en vı́a de desarrollo los sistemas de transporte masivo operados por buses representan un substituto ideal de sistemas más costosos como los metros. Uno de los problemas que surge en la operación de este tipo de sistemas es el diseño de las rutas. El diseño de un conjunto de rutas implica satisfacer la demanda de pasajeros para las diferentes estaciones del sistema de tal forma que se minimicen los tiempos de viaje y no se sobrepase la capacidad del sistema. Debido a la enorme cantidad de rutas posibles, la solución directa por medio de la programación matemática no es viable. Se desarrolló un algoritmo genético hı́brido que interactua con un modelo de flujo de costo mı́nimo para una red de multiples bienes (MCNF), el cual es resuelto usando la técnica de descomposición de Dantzig-Wolfe. El propósito del MCNF, es evaluar el desempeño de un conjunto de rutas construido por el algoritmo genético. A través de un proceso iterativo se halla el conjunto de rutas que puedan operar el sistema lo más eficientemente posible.. v.

(6) Capı́tulo I. Introducción En los paı́ses en vı́a de desarrollo, como Colombia, los sistemas de transporte masivo operados por buses (BRT, acrónimo del inglés bus rapid transit) representan un substituto ideal para sistemas más costosos como los metros. Debido al excelente desempeño en términos de beneficio-costo, cada vez son más las ciudades que construyen este tipo de sistemas. Ejemplos de ciudades que han optado por la construcción de sistemas BRT para transportar a sus ciudadanos son Curitiba (Brasil), Bogotá, Cali, Pereira, Bucaramanga (Colombia), Quito (Ecuador) y Santiago (Chile). Al construir este tipo de sistemas BRT se deben planificar y resolver diferentes problemas interrelacionados, desde operacionales hasta administrativos. Según Ceder y Wilson [6] estos problemas son: (1) el diseño de la red; (2) el diseño de las rutas; (3) la determinación de frecuencias y determinación de horarios; (4) la asignación de la flota de buses y por último; (5) la asignación de personal y recursos disponibles. Luego de diseñar la red, el diseño de las rutas es el problema más importante, ya que esta estructura indudablemente afectará la determinación de frecuencias y la asignación de buses y personal. Debido a que los sistemas BRT son relativamente recientes, la mayor parte de la literatura trata el tema de la selección de rutas para sistemas comunes de buses. Los artı́culos de Ceder e Israeli [5]; Odoni, Rousseau, y Wilson [15] y Chua [8] presentan información relevante sobre el tema en años anteriores a 1990. Las primeras aproximaciones para resolver el problema de selección de rutas. 1.

(7) surgieron de procesos iterativos que buscaban construir las rutas ensamblando fragmentos previamente generados por medio de algoritmos de ruta más corta. Uno de los primeros métodos que seguı́an este enfoque fue el propuesto por Silman, Barzily y Passy [19], conocido como el método esqueleto (en inglés skeleton method ). En este método se seleccionan inicialmente las estaciones iniciales y finales de cada ruta, las cuales se unı́an a varias de las estaciones intermedias dependiendo de cual fuera la ruta más corta entre ellas. Otros investigadores solucionaron el problema usando un método que divide el problema en dos fases. En la primera fase, se construye un conjunto de posibles rutas candidatas a operar el sistema. En la segunda fase, son seleccionadas las rutas definitivas usando diferentes heurı́sticas. Por ejemplo, Mandl [11] construye el conjunto de rutas candidatas, resolviendo para cada par de estaciones un problema de rutas más corta. Posteriormente, selecciona de todas las candidatas encontradas, las rutas que más pasajeros pueden servir, dependiendo del número de paradas y de las restricciones de capacidad. Varios autores han investigado el uso de técnicas de programación entera. Borndörfer, Grötschel y Pfetsch [4] proponen un método en el que usan generación de columnas para resolver simultáneamente el problema de selección de rutas y el problema de las frecuencias. En esta aproximación los transbordos entre las rutas son permitidos, sin embargo se toman como instantáneos. Recientemente, una linea de investigación empezó a utilizar metaheurı́sticas para solucionar el problema. Pattnaik, Mohan y Tom [16] proponen utilizar el algoritmo genético para resolver simultáneamente el problema de selección de rutas y el problema de la asignación de frecuencias. Al igual que Mandl [11], Pattnaik, Mohan y Tom construyen un subconjunto inicial de posibles rutas resolviendo un problema de ruta más corta para cada par de estaciones. Luego de construido el subconjunto, utilizan el algoritmo genético para seleccionar cuáles rutas servirán finalmente el sistema. Por su parte, Chakroborty [7] propone un algoritmo genético en el que la función objetivo es la maximización de la cantidad de usuarios que pueden ser servidos por el sistema. En los estudios de Fan y Machemehl [9], y de Zhao y Zeng [24] se utiliza la técnica del enfriamiento simulado. Fan y Machemehl utilizan como. 2.

(8) función objetivo una suma asociada a los costos de operación más los costos de los usuarios. Por su parte Zhao y Zeng utilizan como función objetivo la minimización de los transbordos realizados por los usuarios. En el caso particular de Transmilenio (TM), el sistema BRT de la ciudad de Bogotá, Arana [3] presentó un modelo entero enfocado a construir las rutas parada por parada. Esta formulación es bastante interesante para entender el problema, sin embargo, computacionalmente no es viable su solución para sistemas reales. Por su parte Acero [1] intentó solucionar el problema usando el principio de descomposición de Dantzig Wolfe, pero infortunadamente el problema resultante para un sistema real es imposible de resolver. Del trabajo de Acero se destaca la descripción del sistema por medio de una red no dirigida. La deficiencia de la mayorı́a de los modelos encontrados es que no fueron formulados originalmente para sistemas BRT [5, 15, 8, 19, 11]. Aquellos que sı́ fueron orientados a tratar este tipo de sistemas [3, 1], no pueden encontrar eficientemente soluciones para problemas de gran escala. Por otra parte, algunos de los modelos intentan asociarle arbitrariamente un costo monetario el tiempo empleado por los usuarios en el sistema [4, 16, 9], lo cual implica subjetividad, y no es fácil de hacer. Para solucionar el problema de selección de rutas se propone un algoritmo genético hı́brido que resuelve como función de adaptabilidad un problema de flujo de costo mı́nimo para una red de multiples bienes (MCNF). El trabajo está organizado de la siguiente manera. La sección 1 presenta la descripción y formulación del problema de selección de rutas, en la sección 2 se describe el algoritmo genético hı́brido propuesto, la sección 3 resume los resultados encontrados para un sistema de 21 estaciones, y en la sección 4 se concluye y se describen las investigaciones futuras.. 3.

(9) Capı́tulo II. El Problema de Selección de Rutas Los sistemas BRT consisten en un conjunto de estaciones construidas a lo largo de algunas de las avenidas principales de la ciudad. Cada usuario paga la tarifa designada al entrar a una estación y se dirige a una de las puertas ubicadas a los costados de las estaciones, en donde espera la llegada del bus. Los usuarios pueden trasladarse entre cualquier par de estaciones sin necesidad de salir del sistema o volver a pagar. Es posible que durante el recorrido sea necesario cambiar de ruta (transbordo). En ese caso, el usuario se baja en una estación intermedia y se dirige a la puerta donde paran los buses de la nueva ruta. El sistema BRT es servido por una flota de buses articulados con una capacidad mayor a la de un bus tradicional, los cuales se movilizan por carriles exclusivos libres de vehı́culos particulares. Solo se les permite detenerse a recoger o dejar pasajeros en las estaciones. El sistema permite los sobrepasos entre los buses cuando alguno se encuentra detenido en alguna estación. La Figura 1 muestra una representación del sistema de la ciudad de Bogotá [20]. El recorrido de los buses se realiza a lo largo de tramos viales denominados corredores. Los corredores están conformados por subconjuntos de estaciones adyacentes que siguen una secuencia sobre la vı́a. Todas las estaciones hacen parte de por lo menos a un corredor, aunque pueden hacer parte de más de uno. La Figura 2 muestra algunos ejemplos de corredores que pueden existir en el sistema de Bogotá. En operación diaria, cada uno de los buses es programado para servir las rutas. Para una ruta en particular, que está asociada a un corredor, se especifica las estaciones en las cuales el bus se debe detener durante su recorrido. En cada una de. 4.

(10) Figura 1: Representación del sistema actual en Bogotá. Figura 2: Ejemplos de corredores viales las estaciones está disponible para el usuario la información de todas las rutas que sirven el sistema. Para más información sobre sistemas BRT ver Zimmerman [25]. El problema de la selección de rutas en un sistema BRT consiste en encontrar una colección de rutas que minimice el tiempo total utilizado por la población al transportarse en el sistema, cumpliendo con las restricciones de oferta y demanda y las restricciones técnicas de capacidad de carga. Se discutirán las propiedades y supuestos del problema de selección de rutas en un sistema BRT.. 2.1. 2.1.1.. Propiedades y Supuestos Horizonte de tiempo.. El problema de selección de rutas depende significativamente del horizonte de tiempo en que se trabaje. Si se toma como horizonte de tiempo el dı́a completo, es muy posible que los resultados no sean del todo satisfactorios debido a que en 5.

(11) este tipo de sistemas es muy común tener variaciones importantes en la demanda de pasajeros a diferentes horas del dı́a. Es por eso que lo más recomendable es usar el modelo para cada uno de los diferentes rangos horarios en el dı́a con caracterı́sticas de demanda similares (horas pico y horas valle). 2.1.2.. Demanda y oferta de pasajeros.. La demanda de pasajeros es representada por una matriz asimétrica de origen destino (OD). Cada uno de los elementos de la matriz OD contiene la cantidad de pasajeros que desean viajar de una estación del sistema a cualquier otra en el horizonte de tiempo. En general, conseguir esta información no solo es un trabajo difı́cil sino que no siempre representa adecuadamente la situación real. Al discretizar los datos de la demanda y la oferta, se presume que la cantidad de usuarios que utilizan el sistema durante el horizonte de tiempo es la misma para todos los dı́as del año, lo cual no necesariamente es cierto. De hecho estas cantidades pueden variar significativamente durante ciertos periodos en el año (temporadas de vacaciones). Según Borndörfer, Grötschel y Pfetsch [4] el uso de las matrices OD es el estándar en este tipo de estudios debido a que es la manera más sencilla de estimar las demandas. 2.1.3.. Simetrı́a en las rutas.. Por simplicidad en la operación del sistema, se asume que todas las rutas son simétricas. Como puede verse en la Figura 3 todas las rutas sirven al sistema en ambos sentidos. En ambos recorridos el bus se detendrá en las mismas estaciones. 2.1.4.. Transferencias entre rutas.. Las transferencias (transbordos) entre rutas están permitidas y en algunos casos son necesarias para llegar de una estación a otra. Esto permite reducir tanto el número de paradas por ruta como el número de rutas que sirven al sistema. Las transferencias no son consideradas instantáneas. Para las transferencias se considera tanto el tiempo que le toma al pasajero desplazarse entre los lugares de la estación donde paran las dos rutas, como el tiempo que tarda esperando la llegada del bus de la nueva ruta.. 6.

(12) 2.2.. Modelo basado en redes. En esta sección se describe el modelo empleado para resolver el problema de selección de rutas. El sistema se representa como un grafo G(N , A), donde N y A son los conjuntos de nodos y arcos respectivamente. Sea S el conjunto de las estaciones del sistema y R el conjunto de todas las posibles rutas que pueden servir el sistema. Existe un nodo por cada estación s ∈ S el cual representa la puerta de entrada y salida al sistema a través de la estación s. Estos nodos se denominan nodos de entrada. Existe un nodo por cada par (r, s), si la ruta r se detiene en la estación s. Este nodo representa el lugar de la estación s en donde se detienen los buses de la ruta r. Estos nodos se denominan nodos de parada. Existe un arco entre todos los nodos de parada asociados a la estación s, que permite modelar transbordos entre rutas. Existe un arco entre el nodo de entrada y todos los nodos de parada asociados a la estación s, que permite modelar las demoras que experimenta el usuario al esperar un bus en la estación. Estos arcos se denominan arcos de estación. Existen arcos entre los nodos de parada de la ruta r siguiendo la secuencia definida para la ruta. Estos arcos se denominan arcos de ruta y modelan el movimiento tı́pico del bus. Los arcos se pueden agrupar por cada ruta, obteniendo A(r). En la Figura 3 puede observarse un ejemplo para un sistema de cuatro estaciones. Sea tij el tiempo empleado al usar el arco (i, j). Si el arco (i, j) es un arco de estación, tij representa el tiempo empleado por un usuario al desplazarse dentro de una estación, más el tiempo promedio que emplea esperando el bus que recorre la ruta deseada. Si el arco (i, j) es un arco de ruta, tij representa el tiempo que le toma al bus recorrer la distancia entre las paradas de la ruta que recorre. Sea bst i la demanda (< 0) u oferta (> 0) de usuarios en el nodo i que entran al sistema por la estación s queriendo ir a la estación t. Esta información se obtiene de la matriz OD. Si i es un nodo de parada, bst i = 0. Si i es el nodo de entrada de la estación s, st bst i > 0, t ∈ S. Si i es el nodo de entrada de la estación t, bi < 0, s ∈ S. Sean lij y uij. las cotas mı́nimas y máximas de flujo de usuarios por el arco (i, j). Para tener un sistema manejable y sencillo tanto para el operador como para los usuarios, se define m como el número máximo de rutas que el operador está dispuesto a administrar.. 7.

(13) Estación 1. Estación 2. Estación 3. Estación 4. Ruta 1 Ruta 2 Ruta 3 Ruta 4 Ruta 5 Ruta 6 Ruta 7 Ruta 8 Ruta 9 Ruta 10 Ruta 11. (a) Descripción de las paradas de cada ruta en cada estación Arcos de estación. S1R1. S1R2. S1R3. S1R4. S1R5. S1R6. Nodos de parada. S1R7. S1. Nodo de entrada. (b) Representación de la estación 1 Arcos de ruta. S1R1. S1R2. S1R3. S1R4. S1. S1R5. S1R6. S1R7. S2R1. S2R2. S2R3. S2R4. S2R8. S2R9. S2R10. S3R1. S3R2. S3R5. S3R6. S3R8. S3R9. S3R11. S3. S2. S4R1. S4R3. S4R5. S4R7. S4R8. S4R10. S4R11. S4. (c) Grafo resultante del sistema. Figura 3: Ejemplo de cuatro estaciones Sea xst ij una variable de decisión que representa el flujo de usuarios por el arco (i, j) tal que entran por la estación s con destino final la estación t. Sea yr una variable de decisión que toma el valor de 1 si la ruta r es seleccionada para operar el sistema y 0 en el caso contrario. Entonces, el problema del diseño de rutas en un sistema BRT es:. 8.

(14) X. Min. tij. XX. xst ij. (2.2.1). s∈S t∈S. (i,j)∈A. s.a. X. X. xst ij −. j:(i,j)∈A. lij yr ≤. st xst ji = bi ;. i ∈ N , (s, t) ∈ S × S. (2.2.2). r ∈ R, (i, j) ∈ A(r). (2.2.3). j:(j,i)∈A. XX. xst ij ≤ uij yr ;. s∈S t∈S. X. yr ≤ m. (2.2.4). r∈R. yr ∈ {0, 1};. r∈R. xst ij ≥ 0; (s, t) ∈ S × S, (i, j) ∈ A. (2.2.5) (2.2.6). Donde el objetivo (2.2.1) es minimizar el tiempo total de la sociedad, es decir el tiempo que toman todos los usuarios desde que entran al sistema hasta que llegan a sus destinos. Las restricciones de balance (2.2.2) garantizan que la demanda total de usuarios del sistema sea servida. Las restricciones de capacidad (2.2.3) impiden que el flujo de pasajeros sea superior al permitido por el sistema. Finalmente la restricción (2.2.4) garantiza que el número de rutas no sobrepase el valor máximo dispuesto por el operador. La solución obtenida al resolver el modelo definido por 2.2.1-2.2.6 permite conocer el mejor subconjunto de rutas que pueden servir el sistema. Dadas las caracterı́sticas del sistema existen muchas combinaciones de rutas posibles. El número total de rutas que pueden servir el sistema es de orden O(2|S| ). Si se quisiera enumerar todaslas combinaciones posibles de m rutas, el número total  serı́a de orden O. 2|S| (2|S| −m)!·m!. . Esto implica que para llegar a la solución óptima del. modelo propuesto en 2.2.1-2.2.6, es necesario resolver un problema con un número exponencial de restricciones y de variables binarias. Este número puede ser enorme para un sistema real; de hecho, encontrar computacionalmente el número de posibles combinaciones para un sistema como el de Bogotá con 114 y 35 rutas es de por si un reto1 . A pesar de ser impráctico resolver este problema directamente para instancias 1. Note que 2114 = 2,067 × 1034. 9.

(15) reales, se puede extraer información importante al realizar pequeñas variaciones. Por ejemplo si se selecciona de manera arbitraria un subconjunto de rutas capaces de servir al sistema, y si se construye la red de manera que solo contenga los nodos y los arcos de las rutas seleccionadas, se puede estimar cómo se desempeña el subconjunto de rutas resolviendo el problema resultante. Esto quiere decir que si se selecciona una colección de rutas R0 ⊂ R (|R0 | << |R|), y si se fijan las variables binarias yr en 1 para toda ruta r ∈ R0 (y en 0 para toda ruta r ∈ R − R0 ), se puede saber el tiempo total que tardarı́an los usuarios en el sistema si éste fuese servido sólo por las rutas que pertenecen a R0 . Note que, al seleccionar el subconjunto de rutas R0 , el número de nodos y arcos del sistema también se reduce significativamente. Los subconjuntos de nodos y de arcos resultantes al seleccionar el subconjunto de rutas R0 se denominan N 0 y A0 respectivamente. El siguiente modelo muestra la → formulación resultante luego de fijar el vector de variables − y.. Min. X. tij. (i,j)∈A0. XX. xst ij. (2.2.7). s∈S t∈S. s.a. X. xst ij −. j:(i,j)∈A0. X. st xst ji = bi ;. i ∈ N 0 , (s, t) ∈ S × S. (2.2.8). xst ij ≤ uij ;. r ∈ R0 , (i, j) ∈ A(r). (2.2.9). j:(j,i)∈A0. lij ≤. XX s∈S t∈S. 0 xst ij ≥ 0; (s, t) ∈ S × S, (i, j) ∈ A. (2.2.10). Esta formulación es equivalente a la del problema de flujo de costo mı́nimo para una red de múltiples bienes (MCNF). En esta red cada bien es representado por un tipo de usuario que se moviliza entre la estación origen s y destino t. La implicación más interesante de esta formulación es que en un tiempo relativamente corto (dada su estructura) se puede evaluar qué tan bien funcionarı́a el sistema siendo operado por cualquier subconjunto de rutas que uno desee. Al poseer esta herramienta de evaluación, basta con construir un método que permita generar grupos de rutas candidatas a servir el sistema, y seleccionar entre ellos aquel que se desempeñe mejor.. 10.

(16) En este estudio se propone un algoritmo genético hı́brido para generar eficientemente los subconjuntos de rutas a evaluar, usando como medida de adaptabilidad el problema MCNF propuesto en 2.2.7-2.2.10.. 11.

(17) Capı́tulo III. Algoritmo Genético Hı́brido Los algoritmos genéticos [10] son búsquedas aleatorias inspiradas por la selección natural que se usan frecuentemente para solucionar problemas de optimización de alta complejidad. Estos algoritmos trabajan evolucionando una población de soluciones y transmitiendo de generación en generación las caracterı́sticas especiales de aquellos individuos que mejor se desempeñan. Los algoritmos genéticos hı́bridos [23] combinan diferentes técnicas en sus operadores, en este caso se usan los resultados de un problema de MCNF como función de adaptabilidad. A continuación se presenta la información relevante del algoritmo genético.. 3.1.. Representación del Genotipo.. Cada individuo representa una selección de máximo m rutas capaz de servir al sistema. La información de las rutas asignadas a cada corredor es codificada en una lista de arreglos binarios. Los arreglos contienen tantas posiciones como estaciones tiene el corredor. Cada una de las posiciones del arreglo indica con un 1 si la ruta se detiene en la estación correspondiente, y con un 0 si no se detiene. En la figura 4 se puede observar la representación de dos individuos diferentes para un sistema de 7 estaciones. Note que el número de rutas asignadas a cada corredor puede variar en cada individuo, de hecho, existe la posibilidad que un individuo no tenga rutas asignadas a alguno de los corredores luego de algunas iteraciones. → Lo interesante de esta representación es que el vector de variables binarias − y está implı́citamente codificado en cada individuo. Esto implica que para obtener el nivel de adaptabilidad basta solo con resolver un MCNF en lugar de resolver un. 12.

(18) CORREDOR 1. 1. 2. 3. 4. 5. 6. CORREDOR 2. 7 (a) Descripción del Sistema INDIVIDUO 2. INDIVIDO 1. CORREDOR 1. CORREDOR 1 1 2. 3 4 5. 6. 1 2 3 4 5 6. 1 0 1. 0 0. 1. 1 1 1. 1 1 1. 0 1 0. 0 0. 1. 0 1 0. 0 0 1. 1 1 0. 0 1. 1. CORREDOR 2. CORREDOR 2 7 3 4 5 6. 7 3 4 5 6. 1 0 1 0 1. 1 0 0 0 1. 1 1 0 1 0. 0 1 1 1 0. (b) Codificación del Genotipo. Figura 4: Ejemplo de siete estaciones problema entero con la complejidad que se detalló en la sección anterior.. 3.2.. Función de Adaptabilidad.. Para obtener el nivel de adaptabilidad de los individuos se debe resolver el problema de flujo de costo mı́nimo para una red de multiples bienes MCNF presentado previamente en 2.2.7-2.2.10. En la literatura existen diversas aproximaciones para determinar la mejor manera de resolver el MCNF [12, 2]. En este trabajo se utilizó la versión del principio de descomposición de Dantzig-Wolfe presentada por Tomlin [21]. El principio de descomposición de Dantzig-Wolfe permite resolver fácilmente el problema MCNF tomando ventaja de la estructura interna de red que posee. El principio de descomposición divide el problema original en dos, el problema maestro y el problema auxiliar. En cada una de las iteraciones el problema maestro y el problema auxiliar interactúan hasta llegar a la solución del problema original. El problema auxiliar le provee al problema maestro posibles caminos por donde se pueden enviar pasajeros. Por su parte el problema maestro recibe los caminos, construye la solución, y le devuelve la información necesaria al problema auxiliar para. 13.

(19) que construya un nuevo camino en el caso en que sea necesario. El problema maestro se define a continuación. Sea Pst el conjunto de todos los caminos que pueden usarse en la red para satisfacer las restricciones de balance (2.2.2), para todo par de estaciones (s, t) ∈ S × S. Sea wijk el flujo de pasajeros sobre el camino k ∈ Pst a través del arco (i, j) ∈ A0 , para el par de estaciones (s, t). Sea λst k un multiplicador asociado al k-ésimo camino, k ∈ Pst . La formulación del problema maestro es:. X. X. (s,t)∈S. (i,j)∈A0. f (y) =Min. Tij. X. λst k wijk. (3.2.11). k∈Pst. s.a. Lij ≤. X X. 0 λst k wijk ≤ Uij ; (i, j) ∈ A. (3.2.12). X. (s,t)∈S k∈Pst. λst k = 1;. (s, t) ∈ S × S. (3.2.13). λst k ≥ 0;. (s, t) ∈ S × S, k ∈ Pst. (3.2.14). k∈Pst. Al igual que en el problema original la función objetivo del problema maestro (3.2.11) busca minimizar el tiempo total empleado por los pasajeros dentro del sistema. El conjunto de restricciones (3.2.12) representa las restricciones de capacidad del sistema. El conjunto de restricciones (3.2.13) representa las restricciones de convexidad para cada par (s, t). El problema auxiliar correspondiente tiene una estructura diagonal en bloques, donde se puede resolver de forma separable cada subproblema relacionado con el flujo de pasajeros entre s y t. Sean σij y πij las variables duales de las restricciones de capacidad inferior y superior del problema maestro sobre el arco (i, j) ∈ A0 (3.2.12). Sea αst la variable dual de la restricción de convexidad para el par (s, t) (3.2.13). El problema auxiliar para los pasajeros (s, t) de define como:. 14.

(20) X. Min. st (tij − πij − σij )xst ij − α. (3.2.15). (i,j)∈A0. s.a. X. xst ij −. j:(i,j)∈A0. X. 0 st xst ji = bi ; i ∈ N. (3.2.16). j:(j,i)∈A0. xst ij ≥ 0;. (i, j) ∈ A0 .. (3.2.17). Donde, el conjunto de restricciones (3.2.16) garantizan que la demanda total de usuarios del sistema sea servida. Note que dado que no existen sobre los flujos de pasajeros (s, t), este problema es una versión del problema de ruta más corta. Este puede resolverse fácilmente usando algoritmos polinomiales especializados [2]. El criterio de optimalidad de la descomposición presentada implica que para todo P st (s, t) ∈ S × S, (tij − πij − σij )xst ij ≥ α . (i,j)∈A0. 3.3.. Población Inicial.. Cada individuo de la población inicial tendrá asignado un conjunto de rutas R0 , de tamaño m0 ≤ m. Cada ruta r ∈ R0 es asociada a un corredor c ∈ C, donde C es el conjunto de todos los corredores del sistema. El porcentaje ρ(c) de rutas asignadas al corredor c depende del número de estaciones que éste tenga. Este número será denotado como s(c). El porcentaje ρ(c) de rutas asignadas al corredor c se obtiene de P la expresión ρ(c) = s(c)/ s(h). La función δ(r) indica a qué corredor fue asignada h∈C. la ruta r. Por ejemplo si la ruta r fue asignada al corredor c, δ(r) = c. Para generar las rutas de un nuevo individuo se resuelve un problema de flujo de costo mı́nimo (MCF) sobre un grafo dirigido. El grafo se define de la siguiente manera. Existe un nodo por cada ruta r ∈ R0 , estos nodos de denominan nodos ruta (m0 en total). Existe un nodo por cada estación s ∈ S, estos nodos se denominan nodos estación. Existe un nodo f y un nodo d denominados fuente y sumidero, los cuales ofrecen y reciben respectivamente todas las unidades enviadas por la red. Estas unidades corresponden a paradas en las rutas. Existe un arco entre el nodo fuente y cada nodo ruta. Estos arcos se denominan arcos corredor-ruta. Se pueden 15.

(21) agrupar obteniendo A(f ). Existe un arco entre cada nodo ruta r y todos los nodos estación asociados con las estaciones que pertenecen al corredor c = δ(r), los cuales representan si la ruta r de detiene en la estación s. Estos arcos se denominan arcos ruta-parada. Se pueden agrupar formando A(c) . Existe un arco entre cada nodo estación y el nodo sumidero. Estos arcos se denominan arcos estación-parada. Se pueden agrupar obteniendo A(d). En la Figura 5 puede verse un ejemplo para el sistema de siete estaciones mostrado previamente en la Figura 4(a) (0,0,Σ u(r)) r∈R’. Nodo estación. Nodo ruta. ( c rs (ω ),0,1) (0, l(r), u(r)). 1. 1. (0, l(s ), u(s )). 2 2. 3. 3. f. 4. d. 5. 4. 6 5 7 Arco corredor-ruta. Arco ruta-parada -. Arco parada-estación. Figura 5: MCF para obtener la población inicial con m0 = 5 Sean l(r) y u(r) las cotas inferior y superior de flujo asociadas con el arco (f, r) ∈ A(f ). Estas cotas representan el mı́nimo y el máximo número de paradas que se desea que tenga la ruta r. Para que una ruta sea factible debe tener mı́nimo dos paradas y como máximo tantas estaciones como tenga el corredor, por lo tanto l(r) , 2 y u(r) , s(δ(r)). El costo asociado con estos arcos es 0. Sea crs (ω) el costo por usar el arco (r, s) ∈ A(δ(r)), el cual representa el costo asociado con que la ruta r haga una parada en la estación s. Este costo puede tomar valores negativos y es diferente para todos los arcos de A(δ(r)). Esta diferencia influye directamente en la selección de las paradas, haciendo que todas las rutas seleccionadas sean diferentes, es decir, que no existan rutas clonadas. El costo está relacionado con un componente 16.

(22) aleatorio ω, el cual cambia cada vez que se construya un nuevo individuo. Para cada arco (r, s) ∈ A(c) existe una cota inferior y superior con valores de 0 y 1 respectivamente, las cuales impiden la asignación de más de una parada de la ruta r en la estación s. Sea l(s) y u(s) las cotas inferior y superior de flujo asociadas con el arco (s, d) ∈ A(d). Estas cotas representan el mı́nimo y el máximo número de paradas que se quieren en la estación s. Algunas sugerencias de valores para ayudar a la conectividad (e.g. l(s) ≥ 1). El costo asociado por usar el arco (s, d) ∈ A(d) es 0. Existe un arco entre el nodo d y el nodo f que representa el flujo total sobre la red. El costo asociado por utilizar este arco es 0. Las cotas inferior y superior del P arco (d, f ) son 0 y u(r) respectivamente. rinR0. El objetivo es minimizar el costo total de asignación de paradas, cumpliendo con las restricciones de capacidad sobre los arcos. Este MCF puede transformarse en un problema de circulación [2] debido a que todos los nodos son de transbordo.. 3.4.. Operadores genéticos.. Se implementaron dos tipos de operadores de cruce. En el primer operador se selecciona aleatoriamente uno de los corredores del sistema. Las rutas del primer padre asignadas al corredor seleccionado pasan a ser parte del primer hijo. Las rutas del segundo padre asignadas a los demás corredores pasan a ser las demás rutas del primer hijo. Para el segundo hijo se repite el mismo proceso intercambiando los padres. En la Figura 6(a) se ilustra un ejemplo en el que se generan dos hijos intercambiando las rutas del primer corredor de los padres. En el segundo operador se selecciona aleatoriamente un corredor. De ambos padres se toma aleatoriamente una ruta asignada al corredor previamente seleccionado y se realiza un cruce en dos puntos con las rutas seleccionadas [14]. El primer hijo tendrá asignadas las mismas rutas del primer padre con excepción de la ruta que fue seleccionada para el cruce la cual será reemplazada por la primera de las rutas resultantes luego del cruce. Para el segundo hijo se repite el proceso intercambiando los padres. En la Figura 6(b) se ilustra un ejemplo en el que se generan dos hijos usando el operador de cruce en dos puntos. El operador de mutación implementado consiste en seleccionar aleatoriamente 17.

(23) PADRE 1. HIJO 1. PADRE 1. CORREDOR 1. CORREDOR 1. CORREDOR 1. CORREDOR 2. CORREDOR 2. INTERCAMBIO DE CORREDOR. CORREDOR 2. PADRE 2. HIJO 2. PADRE 2. CORREDOR 1. CORREDOR 1. CORREDOR 2. CORREDOR 2. CORREDOR 1. CRUCE EN 2 PUNTOS. CORREDOR 2. (a) Ejemplo del cruce de intercambio de corre- (b) Ejemplo de cruce de ruta en dos puntos dores. Figura 6: Operadores de cruce una ruta de cada corredor e invertir los valores de todas las posiciones de la ruta. Es decir, todas las posiciones de la ruta que originalmente tenı́an un 1 pasaran a tener un 0 y viceversa. La Figura 7 contiene un ejemplo del operador de mutación para un corredor. PADRE. HIJO. CORREDOR 1. CORREDOR 1. 1 2 3 4 5 6 1 0 1 0 0. 1. 0 1 0 0 0. 1. 1 1 0 0 1. 1. 1 2 3 4 5 6 MUTACIÓN INVERTIDA. 1 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 1 1. Figura 7: Operador de mutación. 3.5.. Implementación.. El algoritmo genético fue codificado en JGA [13]. JGA es una herramienta orientada a objetos implementada en Java que se utiliza para resolver problemas de optimización usando algoritmos genéticos. JGA permite al usuario enfocarse en la lógica de la aplicación reutilizando un conjunto de componentes previamente construidos. Para implementar el algoritmo fue necesario extender la herramienta solamente codificando el genotipo del cromosoma (BRTSRDGenotype); los evaluadores de la función 18.

(24) de adaptabilidad (MCNFFitnessFunction); el operador para generar la población inicial (MCFInitialization) y los operadores de cruce (CorridorCrossover, RouteCrossover) y mutación (FlipMutation). Para solucionar los modelos de programación lineal MCNF y MCF se resolvieron los modelos con el optimizador Xpress-MP versión 1.16.00 de la empresa Dash Optimization. La Figura 8 contiene el diagrama de clases del algoritmo genético que fue codificado en JGA, resaltando su interacción con el componente de optimización.. Application layer MCNFFitnessFunction FlipMutation CorridorCrossover RouteCrossover BestIndividualSelection. AppConfig.ini AppConfig.ini BRTSRDConfig.ini. MCFInitialization BRTSRDMainApp. FitnessFunction <<abstract>>. GeneticAlgorithm Handler. MutationOperator <<abstract>>. GeneticAlgorithm <<abstract>>. BRTSRDGenotype BRTSRDPhenotype. GASettings Genotype <<abstract>> Individual Phenotype <<abstract>>. CrossoverOperator <<abstract>>. StatCollector. BasicGeneticAlgorithm. SelectionOperator <<abstract>>. Handlers. JGA core Bult-in components: BinaryGenotype, IntegerGenotype, PermutationGenotype, ExchangeMutation, FlipMutation, PMXCrossover, SinglePointCrossover, TwoPointsCrossover,.... JGA framework layer. Figura 8: Diagrama de Clases JGA. 19.

(25) Capı́tulo IV. Resultados Computacionales Se trabajó como caso de estudio en un sistema de 21 estaciones, 10 corredores y 111,085 usuarios. La estructura y los parámetros del sistema seleccionado fueron motivados por el sistema Transmilenio (TM) de la ciudad de Bogotá. Para la creación del ejemplo se seleccionaron 21 de las 114 estaciones que originalmente existen en (TM), se conservó la distribución original y el tiempo esperado de traslado entre las estaciones. El número de usuarios se tomó como 111,085 debido a que es un valor cercano al que mueve el sistema original durante las horas pico [22]. En la Figura 9(a) se puede apreciar una descripción del ejemplo estudiado y en la Figura 9(b) una descripción de los corredores que fueron seleccionados.. Corredor 1. Corredor 2. Corredor 3. Corredor 4. Corredor 5. Corredor 6. Corredor 7. Corredor 8. Corredor 9. St. Aguas. Portal 170. Calle 100. Calle 76. Calle 57. Calle 26. Jiménez. Sta Lucía. Portal usme. De la sabana Polo. Cra 22. Portal Suba. Shaio. Campín. Av Dorado Ricaurte. Portal sur. Minuto de Dios. Corredor 10 Portal América s Portal 80. (a) Sistema de 13 estaciones. (b) Descripción de los corredores. Figura 9: Caso estudiado. 20.

(26) Para este ejemplo el número de posibles rutas es 221 = 20 097, 152, lo que implicarı́a la exploración de un espacio de solución con un número de posibles combinaciones de rutas de. 20 097,152! (20 097,152−15)!·15!. = 5,1042 × 1082 .. Figura 10: Descripción de la red para un individuo La Figura 10 muestra la codificación de la red de un individuo seleccionado durante una iteración intermedia del algoritmo. Al evaluar el nivel de adaptabilidad de este individuo sin utilizar el principio de descomposición, se debe resolver un programa lineal con 38,232 restricciones y 178,920 variables. Al solucionarlo, se requirieron 29,201 iteraciones del método simplex, demorándose 65.9 segundos. Al resolver el problema usando el principio de descomposición de Tomlin presentado en la sección 2.2, se generaron 7 columnas, demorándose tan sólo 25.3 segundos. Esto representa una mejora del 61 %. En los dos escenarios, el tiempo incluye operaciones de entrada y salida de datos (I/O). Como se describió anteriormente, este desempeño se puede mejorar aún más usando un algoritmo de redes especializado para solucionar el problema auxiliar. Para el algoritmo genético se fijaron los parámetros en 100 generaciones con una población de tamaño 10. La tasa de cruce empleada fue del 100 %, mientras que la de mutación se fijó en 20 %. Se utilizó un operador de selección elitista. El tiempo de ejecución fue de 895.03 minutos, durante los cuales se evaluaron 2,010 individuos. En la mejor solución encontrada el tiempo total de los usuarios es de 1,97 × 106. 21.

(27) Corredor 1. Corredor 2. Corredor 5. Corredor 6. Corredor 8. Corredor 9. Corredor 7. Corredor 10. Figura 11: Mejor solución encontrada para el caso de 21 estaciones 1.70E+08 1.65E+08 1.60E+08. Fitness. 1.55E+08 1.50E+08 1.45E+08 1.40E+08 1.35E+08 1.30E+08 1.25E+08 1.20E+08 0. 10. 20. 30. 40. 50. 60. Iteration Best Individual. Worst Individual. Figura 12: Gráfico de convergencia de las soluciones minutos, lo cual implica un tiempo promedio de 17.75 minutos por usuario para movilizarse en el sistema. Los experimentos computacionales se realizaron en un computador Dell con 512 MB de memoria RAM y un procesador Intel Pentium IV corriendo a 2.5GHz bajo el sistema operativo Windows XP Professional. En la Figura 11 puede verse la descripción de la solución. Los nodos de color negro indican las estaciones en las que la ruta se detiene, los nodos de color gris indican las estaciones en las que no se detiene y los de color blanco indican las estaciones que no hacen parte del corredor. Es importante destacar que en la mejor solución no se asigna ninguna ruta a los corredores 4 y 5. La Figura 12 muestra la convergencia del mejor y peor individuo durante cada iteración.. 22.

(28) Capı́tulo V. Conclusiones El diseño de las rutas es el problema más importante a tener en cuenta durante la operación y el servicio de los sistemas BRT. Varios autores han intentado resolver este problema usando diferentes técnicas sin obtener resultados concluyentes para sistemas de este tipo en una escala real. En especial, los estudios basados en programación matemática han mostrado lo difı́cil que puede ser solucionar este problema debido al tamaño del espacio de posibles soluciones. En este estudio se propone un algoritmo genético hı́brido, que usa por función de adaptabilidad un modelo de redes MCNF. La solución obtenida al resolver internamente el problema MCNF, le permite al algoritmo medir el desempeño de cada uno de los individuos que son construidos generación tras generación. Debido a que cada individuo representa una posible selección de rutas capaz de servir al sistema, el algoritmo genético está generando permanentemente soluciones potenciales, realizando de esta manera, una búsqueda eficiente dentro del total de posibles soluciones. Los resultados obtenidos al resolver el experimento propuesto, muestran que además de poder usar el algoritmo para resolver el problema de selección de las rutas en sistemas de escala real como los son el MegaBus (Pereira, Colombia) de 40, el Trolebús (Quito, Ecuador) de 48 estaciones, el Metrolı́nea (Bucaramanga, Colombia) de 62 estaciones, o el MÍO (Cali, Colombia) de 77 estaciones; También puede emplearse el modelo de MCNF para comparar los desempeños actuales del sistema, con posibles nuevas soluciones generadas, bien sea, por el algoritmo propuesto, como por otros métodos.. 23.

(29) Como investigación futura se propone el uso de un algoritmo de ruta más corta especializado para resolver el problema auxiliar en la descomposición, con el fin de encontrar más rápido la solución del problema de MCNF. Se planea también, aplicar técnicas de aceleración para mejorar el tiempo de ejecución de la función de adaptabilidad como las presentadas por Rodrı́guez, Medaglia y Coello [18]. Adicionalmente se planea integrar el algoritmo genético con un modelo estocástico de selección de frecuencias como el propuesto por Riaño y Acero [17]. 24.

(30) Referencias. [1] J. Acero. Diseño y optimización de rutas en los sistemas de transporte urbano. Tesis de maestrı́a, Departamento de Ingenierı́a Industrial, Universidad de los Andes, 2006. [2] R. Ahuja, T. Magnanti, and J. Orlin. Network Flows. Prentice Hall, New Jersey, 1993. [3] D. Arana. Herramienta para el diseño óptimo de la red de rutas en sistemas de transporte masivo con aplicación a Transmilenio S.A. Tesis de maestrı́a, Departamento de Ingenierı́a Industrial, Universidad de los Andes, 2004. [4] R. Borndörfer, M. Grötschel, and M. Pfetsch. A column-generation approach to line planning in public transport. Transportation Science, 44(1):123–132, 2007. [5] A. Ceder and Y. Israeli. Scheduling considerations in designing transit routes at the network level. In M. Desrochers and J.-M. Rousseau, editors, Fifth International Workshop on Computer-Aided Scheduling of Public Transport (CASPT), pages 113–136, 1996. [6] A. Ceder and N. H. M. Wilson. Bus network design. Transportation Research, 20B(4):331–344, 1986. [7] P. Chakroborty. Genetic algorithms for optimal urban transit network design. Computer-Aided Civil and Infrastructure Engineering, 18:184–200, 2003. [8] T. Chua. The planning of urban bus routes and frequencies: A survey. Transportation, 12(2):147–172, 1984. [9] W. Fan and R. Machemehl. Using a simulated annealing algorithm to solve the transit route network design problem. Journal of Transportation Engineering, 132(2):122–132, 2006. [10] D Goldberg. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley Professional, 1989.. 25.

(31) [11] C. Mandl. Evaluation and optimization of urban public transportation networks. European Journal of Operational Research, 5:396–404, 1980. [12] R. McBride. Advances in solving the multicommodity-flow problem. Interfaces, 28(2):32–41, 1998. [13] A. L. Medaglia and E. Gutiérrez. JGA: An object-oriented framework for rapid development of genetic algorithms. In Jean-Phillipe Rennard, editor, Handbook of Research on Nature Inspired Computing for Economics and Management, pages 191–201. Hershey, PA: Idea Group Publishing., 2006. [14] Z. Michalewicz. Genetic Algorithms Plus Data Structures Equals Evolution Programs. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 1996. [15] A. Odoni, J. Rousseau, and N Wilson. Models in urban and air transportation. In M.H. Rothkopf S.M. Pollock and A. Barnett, editors, Handbooks in Operations Research and Management Science, pages 107–150, 1994. [16] S. Pattnaik, S. Mohan, and V. Tom. Urban bus transit route network design using genetic algorithm. Journal of Computing in Civil Engineering, 124(4):368– 375, 1998. [17] G. Riaño and J. Acero. A stochastic bus dispatching model. Artı́culo en proceso. Disponible en http://hdl.handle.net/1992/33, 2007. [18] J. Rodrı́guez, L. Medaglia, and C. Coello. Design of a motorcycle frame using neuroacceleration strategies in MOEAs. Artı́culo en revisión. [19] L. A. Silman, Zeev Barzily, and U. Passy. Planning the route system for urban buses. Computers & OR, 1(2):201–211, 1974. [20] Su Rumbo S.A. http://www.SuRumbo.com, Último acceso en el 2007. [21] J. Tomlin. Minimum-cost multicommodity network flows. Operations Research, 14:45–51, 1966. [22] Transmilenio S.A. http://www.transmilenio.gov.co, Último acceso en el 2007. [23] D. Whitley. Modeling hybrid genetic algorithms. In G. Winter, J. Périaux, M. Galán, and P. Cuesta, editors, Genetic Algorithms, pages 191–201. John Wiley and Sons, Chichester, 1995. [24] F. Zhao and X. Zeng. Simulated annealing-genetic algorithm for transit network optimization. Journal of Computing in Civil Engineering, 20(1):57–68, 2006.. 26.

(32) [25] S. Zimmerman and H. Levinson. Bus rapid transit. In M. Lewis and B KJein, editors, Planning and Urban Design Standards, pages 272–277. John Wiley and Sons, 2006.. 27.

(33)

Referencias

Documento similar

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

[r]

2.- Aunque, para elaborar un comentario completo, debemos formular varias preguntas, en los ejercicios pedagógicos es preferible que reduzcamos, sobre todo al principio,

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Por lo tanto, en base a su perfil de eficacia y seguridad, ofatumumab debe considerarse una alternativa de tratamiento para pacientes con EMRR o EMSP con enfermedad activa

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,