ASIGNACIÓN DE TRÁFICO EN AUTOPISTAS CON … · con congestión en las que existe una red de...

21
ASIGNACIÓN DE TRÁFICO EN AUTOPISTAS CON ALGORITMOS GENÉTICOS DISCRETIZANDO EL CONTINUO POR ELEMENTOS FINITOS Francesc Robusté, Eugenio Oñate y José María Ramos Escuela Técnica Superior de Ingenieros de Caminos, Canales y Puertos Universidad Politécnica de Cataluña Jordi Girona 1-3 - 08034 Barcelona (España) Tel: +34 93 401 7104 - Fax: + 34 93 401 7264 <[email protected]>

Transcript of ASIGNACIÓN DE TRÁFICO EN AUTOPISTAS CON … · con congestión en las que existe una red de...

ASIGNACIÓN DE TRÁFICO EN AUTOPISTAS CON ALGORITMOS GENÉTICOS DISCRETIZANDO

EL CONTINUO POR ELEMENTOS FINITOS

Francesc Robusté, Eugenio Oñate y José María Ramos Escuela Técnica Superior de Ingenieros de Caminos, Canales y Puertos

Universidad Politécnica de Cataluña Jordi Girona 1-3 - 08034 Barcelona (España)

Tel: +34 93 401 7104 - Fax: + 34 93 401 7264 <[email protected]>

RESUMEN

El artículo desarrolla un modelo numérico para la asignación de tráfico en ciudades

con congestión en las que existe una red de autopistas superpuesta sobre la red de

calles. Se asume que la elección de rutas por parte de los viajeros sigue el principio

de equilibrio de Wardrop. El problema se resuelve utilizando un modelo

convencional de equilibrio para redes discretas y un modelo continuo de equilibrio.

El resultado es una función con restricciones cuyo óptimo expresa el flujo de

tráfico en condiciones de equilibrio.

El algoritmo utilizado para optimizar esta función objetivo está basado en la

Computación Evolutiva, conjunto de técnicas de resolución de problemas

complejos basadas en la emulación de los procesos naturales de evolución. Se

utiliza una malla de elementos finitos para discretizar la red de calles, lo que

permite la obtención de buenas aproximaciones sin necesidad de elaborar un grafo

de transporte para la red de calles.

Se concluye que este modelo es competitivo en tiempo de preparación y ejecución

y en precisión de los resultados y puede utilizarse como alternativo a los

procedimientos habituales de simulación del tráfico basados en la carga de una

matriz de viajes origen/destino sobre una red en la que los costes en los arcos

varían no linealmente con el flujo que transcurre por ellos.

1 EL PROBLEMA DE LA ASIGNACIÓN DE TRÁFICO

2 FORMULACIÓN DEL MODELO PARA UN CONTINUO DE CALLES Y UNA

RED DE AUTOPISTAS

Se presenta un modelo de tráfico para una ciudad cuyo sistema de transporte consiste en

una red de autopistas superpuesta sobre la red de calles. Se considera que todos los lugares

de trabajo están concentrados en un único CBD (centro de negocios) y que los hogares de

los trabajadores están situados alrededor del CBD. Así, en la hora punta de la mañana se

puede aceptar que todos los viajes se generan hacia un único destino, el centro de la

ciudad. Se asume que esta generación de viajes es uniformemente continua y que viene

expresada por una función de densidad de viajes por unidad de tiempo y unidad de área.

Se considera también que la elección de rutas por parte de los viajeros sigue el principio de

equilibrio de Wardrop: bajo condiciones de equilibrio, el tráfico se distribuye en la red de

tal forma que todas las rutas usadas entre un par O-D tienen el mismo coste y cualquier

otra ruta no usada tiene coste mayor.

Fig. 1: Modelo de ciudad

Para resolver un modelo de este tipo Yang y Yagar (1994) propusieron dividir el sistema

de transporte en dos partes. La primera parte consistente en una red densa con un gran

número de calles y la segunda parte consistente en una red de autopistas que se dirigen

hacia el centro. La primera parte puede aproximarse por un continuo bidimensional,

mientras que la segunda parte puede ser tratada como una red discreta representada por un

grafo simple.

La idea es combinar un modelo convencional de equilibrio para redes discretas (Beckmann

et al.,1956; Sheffi, 1985) y un modelo continuo de equilibrio (Sasaki, 1990). El modelo

convencional de equilibrio puede predecir el tiempo de viaje de rampa (tiempo de viaje

desde una rampa al CBD) dada la demanda de tráfico en las rampas y el modelo continuo

de equilibrio puede predecir la demanda de tráfico en las rampas dados los tiempos de

viaje en las rampas. Por lo tanto del problema de interés puede ser resuelto integrando el

modelo convencional de red de equilibrio y el modelo continuo de equilibrio.

El resultado es un problema de minimización de una función objetivo sometida a

unas restricciones. En donde f es el vector que expresa el flujo en los arcos de la autopista

(

z( , )f v

veh ) y v es la densidad de la intensidad del flujo en el continuo (h veh ). Esta

función objetivo es la suma del coste del desplazamiento por los arcos de la autopista y del

coste del desplazamiento por el continuo, de tal forma que el óptimo refleja el tráfico en

condiciones de equilibrio. Las restricciones a que está sometida la función objetivo no

hacen otra cosa que asegurar que hay continuidad del flujo en la autopista, en el continuo y

en las rampas de la autopista.

h ⋅Km

Las funciones de coste del viaje son:

t f t 1fca a a0

a

a( ) = +

α

β

(1)

en la autopista, donde es el tiempo de viaje a flujo nulo en el arco a, c es la capacidad

del arco a, f

ta0 a

a es el flujo en el arco a y α y β son parámetros, y

c x x x x( , ) ( ) ( ) ( )v a b v= + (2)

en el continuo, donde y b son escalares positivos que reflejan las características

del continuo, donde x indica el vector de coordenadas.

a( )x ( )x

La función objetivo utilizada para optimizar los costes es la siguiente:

( ) ( ) ( ){ }m in , ,,f v

z f v x t z d z c z d z d x d xa0

fa

a A0

v1 2

D= +∫∑ ∫∫∫

(3)

Si el proceso de minimización de costes constituye el problema primal, el problema dual

consiste en un problema de maximización de una función objetivo, ω , que depende de una

función potencial de coste, , y del vector coste en los arcos, t. La función potencial de

coste expresa el coste del viaje desde un punto (x

λ( )x

λ( )x 1,x2) hasta el centro de la ciudad.

Para cualquier solución óptima, ( , del problema primal y para cualquier solución

óptima , , del problema dual, se cumplen las siguientes relaciones:

, )v f

( , )λ t

en cualquier punto del continuo,

min ( ) max ( ) z v, f ,t= ω λ , (4a)

v / / ( ),−∇λ (4b)

a b( ) ( )x x v+ = ∇λ , (4c)

y en la red de autopistas,

t h

t h = k K s S

a akso

s kso

a A

a akso

sa A

kso so

δ λ

δ λ

= >

∈ ∈∈

.∑∑

si

si

0

0, (4d)

donde:

hkso : Flujo desde la rampa s al CBD usando la ruta k

Kso : Conjunto de rutas desde la rampa s al centro de la ciudad o

λ s : Valor de la función potencial en la rampa s,(es decir, coste desde s a o); y

δ akso : 1 si la ruta k entre s y o usa el arco a, y 0 en cualquier otro caso.

Las condiciones (4b) y (4c) representan las relaciones entre el vector flujo, , y la

función potencial en el continuo,

v x( )

λ( )x : la dirección del flujo en cualquier punto es opuesta

a la dirección del gradiente de la función potencial y la intensidad del flujo es determinada

por el valor absoluto del gradiente.

Las condiciones (4d) expresan las relaciones de equilibrio para la red de autopistas: todas

las rutas usadas desde una rampa, s, al centro de la ciudad, o, tienen el mismo coste de

viaje que es igual a ( )λ s , y cualquier ruta no usada tiene un coste más alto que . ( )λ s

3 DISCRETIZACIÓN DEL CONTINUO POR ELEMENTOS FINITOS

La función objetivo del problema dual es la siguiente:

( ) ( ) ( )max , q a

2b dx dx t z dz

D 1 2 a-1

t

t

a A ao

a

ω λ λt = −− ∇λ

−∫∫ ∫∑

2

(5)

La discretización del continuo mediante una malla de elementos finitos triangulares, en

donde en cada nodo i , j, k de un elemento e de la malla, el valor de la función potencial se

representa por λi, λj, λk., conduce a que la formulación en elementos finitos sea la que

sigue abajo. Las variables a optimizar son el vector λ, cuyas componentes son los valores

de la función potencial en todos los nodos de la malla, y el vector t, cuyas componentes

expresan el coste en los arcos:

( ) ( )max ,ω λλ λ λ

te

=+ +

− +∇λ

−∇λ

∈ ∈∑ ∫∑D q

ab

ab b

t z dee E

ei j k e

2

e

ee

e ea-1

t

t

a A ao

a

3 2 2

2

z

S.∈

(6)

sujeto a

(7) ( )λ

δ λ

o o,

t k K saa A

akso

s so

=

≥ ∈∈∑

0,

, ,

en el centro

donde:

De : Área del elemento e.

∇λe : Gradiente de la función potencial en el elemento e cuyo valor se calcula a partir de

los valores nodales del potencial

( )t za-1 : inversa de la función de coste en los arcos;

qe : densidad de viajes en el elemento e.

ae y be : constantes que expresan que el coste del viaje en el elemento e es uniforme para el

elemento e.

λ s : valor de la función potencial en la rampa s∈S; y

λo : valor del potencial en el centro de la ciudad.

Por lo tanto, la maximización de la función objetivo ω conduce a la situación de flujo en

equilibrio, siendo el óptimo de ω el que caracteriza dicho flujo a partir de las relaciones

(4). Seguidamente se presenta un método para hallar un cuasi-óptimo de ω .

4 OPTIMIZACIÓN CON UN PROGRAMA EVOLUTIVO

Los Algoritmos Evolutivos (AE) son algoritmos de búsqueda iterativa que tratan de imitar

los procesos naturales de evolución. Se diferencian de los algoritmos habituales de

búsqueda (e.g., métodos del gradiente, hill-climbing, recocido simulado) en que la

búsqueda es conducida usando la información de una población de estructuras en lugar de

una dirección o de una estructura simple.

Los AE consideran como soluciones potenciales muchas estructuras de datos y trabajan

con un muestreo más amplio del espacio de búsqueda que los métodos tradicionales,

aumentando la posibilidad de converger al óptimo global. Sin embargo, esto no implica la

necesaria convergencia al óptimo global en un número finito de iteraciones.

Un AE mantiene una población de individuos, en cada iteración t. Cada

individuo, , representa una solución potencial del problema. Cada solución se evalúa

para conocer su aptitud. El operador de selección identifica los mejores individuos de la

P(t) = ( , ,x xtnt

1 K )

xit

población actual, ( )P t , los cuales serán los progenitores de la siguiente generación, t+1.

Algunos miembros de esta nueva población son sometidos a transformaciones por medio

de operadores genéticos para formar nuevos individuos que, potencialmente, serán

mejores.

Las transformaciones pueden ser mutaciones o cruces. Una mutación consiste en la

creación de un nuevo individuo por un pequeño cambio en un progenitor, las mutaciones

sirven para aumentar la diversidad, esto es, para tomar nuevos puntos en el espacio de

búsqueda. Los cruces son transformaciones en las que se crean nuevos individuos por

combinación de partes de varios progenitores. Después de cierto número de generaciones

el programa converge y se espera que el mejor individuo represente un óptimo cercano a la

solución. La estructura de un algoritmo evolutivo se muestra a continuación.

inicio

t← 0

inicialización de P(t) P(t):Población

evaluación de P(t)

mientras (no condición de terminación) hacer inicio

t← t+1

selección P(t) de P(t-1)

transformación P(t)

evaluación P(t)

fin fin

Tabla 1: Estructura de un Algoritmo Evolutivo

Básicamente, se han desarrollado cuatro tipos de AE: los Algoritmos Genéticos (AG)

[Holland], los Programas Evolutivos (PE) [Michalewicz], las Estrategias Evolutivas

[Rechenberg y Schwefel] y la Programación Evolutivas [Fogel]. El algoritmo utilizado

para optimizar la función objetivo (5) es un Programa Evolutivo. La diferencia

fundamental entre un AG y un PE es el tipo de codificación que usan para los individuos.

En un AG un individuo es una cadena de bits, mientras que en un PE un individuo es un

vector de números reales, esto proporciona a estos últimos más rapidez de cara a la

optimización numérica.

5 IMPLEMENTACIÓN NUMÉRICA

El programa utilizado para optimizar la función objetivo (5) sometida a las restricciones

(6) es una adaptación del sistema GENOCOP (GEnetic algorithm for Numerical

Optimization for Constrained Problems), desarrollado por Michalewicz et al. (1996), que

es capaz de optimizar funciones objetivo reales sometidas a restricciones lineales en las

variables de decisión, incluyendo intervalos de validez para cada variable de decisión.

La idea principal es eliminar las ecuaciones presentes en el conjunto de restricciones y

diseñar unos operadores genéticos que garanticen que los individuos descendientes estén

dentro del espacio de búsqueda. Las ecuaciones son eliminadas al principio, junto con un

número igual de variables del problema (Michalewicz, 1996); esto modifica el espacio de

búsqueda que se convierte en un espacio definido por un conjunto de inecuaciones. La

convexidad de este espacio de búsqueda garantiza que las combinaciones lineales de las

soluciones potenciales, producen soluciones sin necesidad de verificar las ecuaciones.

Los operadores genéticos usados son los siguientes:

5.1 Mutación uniforme

Este operador requiere un único padre x y produce un único descendiente . El operador

selecciona aleatoriamente una componente

′x

k ∈( , , )1K q del vector y

produce otro vector

x x x xk q= , , )K K( ,1

′ = ′x x x xk( , , ,1 K K q ) donde ′xk es una valor aleatorio (distribución de

probabilidad uniforme) del rango permitido para la variable k.

El operador juega un papel importante en las fases iniciales del proceso de evolución ya

que permite a las soluciones moverse libremente en el espacio de búsqueda. Además, en

las últimas fases del proceso evolutivo, el operador permite movimientos lejos de un

óptimo local en búsqueda de un óptimo mejor.

5.2 Mutación de frontera

Este operador requiere también un único padre x y produce un único descendiente ′x . Es

una variación de la mutación uniforme, siendo ′xk uno de los dos extremos del intervalo

permitido para la variable k con igual probabilidad.

Este operador sirve para problemas de optimización donde la solución óptima está cerca de

la frontera del espacio de búsqueda. Consecuentemente, si el conjunto de restricciones está

vacío y el límite para las variables es bastante ancho, el operador es engorroso.

5.3 Mutación no uniforme

Este operador es el responsable de la capacidad de refinamiento del sistema. Se define

como sigue: Si x x x xk q= ( , , ,1 K K

xk q, )

)

)

)

)

es un cromosoma y el elemento xk es seleccionado

para su mutación (el dominio de xk es [lk,uk]), el resultado es el vector

donde ′ = ′x x x( , ,1 K K

( )( )′ =

+ −− −

xx t,u x x t,x l

kk k k

k k k

∆∆

si un binario aleatorio es 0 si un binario aleatorio es 1

La función devuelve un valor en el rango [0,y] tal que la probabilidad de que

tienda a cero aumenta con t. Esta propiedad provoca que el operador busque al

principio (cuando t es pequeño) uniformemente en el espacio, y muy localmente al final

del proceso. La función es la siguiente:

∆(t, y

∆(t, y

∆(t, y

∆(t, y) y r tT

b

= ⋅ ⋅ −

1 ,

donde r es un número aleatorio entre 0 y 1, T es el número máximo de generaciones y b es

un parámetro que determina el grado de no uniformidad.

5.4 Cruce aritmético

Este operador se define como la combinación lineal de dos vectores: si x1 y x2 van a ser

cruzados, la descendencia resultante es ′ = ⋅ + − ⋅x a x x1 1 ( )1 a 2 y ′ = ⋅ + − ⋅x a x x2 12 1( )a .

Este operador usa un valor aleatorio 0 1≤ ≤a que garantiza que x1 y x2 pertenecen al

espacio de búsqueda. a puede ser constante (cruce aritmético uniforme) o variable (cruce

aritmético no-uniforme), en este último caso a depende de la edad de la población.

5.5 Cruce simple

El operador se define como sigue: si x1 = ( , ,x xk1 K ) y x2 = ( , ,y yk1 K ) van a cruzarse en

la posición k, la descendencia será:

′ = ⋅ + ⋅ − ⋅ + ⋅ −+ +x1 ( , , , ( ), , ( )x x y a x a y a x ak k k q q1 1 1 1 1K K )

y

′ = ⋅ + ⋅ − ⋅ + ⋅ −+ +x2 ( , , , ( ), , ( )y y x a y a x a y ak k k q q1 1 1 1 1K K )

Una propiedad de los espacios convexos es que existe 0 1≤ ≤a tal que y ′x1 ′x2

pertenecen al espacio de búsqueda. Ahora hay que encontrar el máximo valor de a para

obtener el máximo intercambio de información posible (si a=1 el intercambio es máximo).

La forma de proceder es la siguiente, se empieza con a=1 y si alguno de los descendientes

no pertenece al espacio de búsqueda se disminuye a en una constante 1 . Después de ρ ρ

intentos a=0 y los descendientes son idénticos que los progenitores.

5.6 Cruce heurístico

Este operador usa valores de la función objetivo para determinar la dirección de búsqueda

y, si produce descendencia, produce un único individuo.

El operador genera un descendiente x3 a partir de dos progenitores x1 y x2 de acuerdo con

la siguiente regla:

x r x3 2= ⋅ − +( )x x2 1

donde r es un número aleatorio entre 0 y 1 y x2 es mejor individuo que x1. Es posible que x3

no pertenezca al espacio de búsqueda, en tal caso se genera otro valor de r, si después de

cierto número de intentos no se encuentra una solución, no habrá descendencia.

Este operador contribuye a la precisión de la solución encontrada; sus mayores

responsabilidades son el refino y la búsqueda en la dirección más prometedora.

Al conjunto de software GENOCOP + MEF = TANGA …. (Traffic Assignment in

Networks with Genetic Algorithms).

6 EJEMPLOS DE APLICACIÓN

Se presenta el ejemplo de una hipotética ciudad circular como la de la figura. Se ha

asignado a cada elemento del espacio los mismos parámetros ae, be y qe. El tiempo viaje a

flujo nulo en los arcos de la autopista es de 10 minutos y la capacidad de todos ellos es de

4000 veh/h.

Fig. 2: Direcciones del flujo en una ciudad circular

El tiempo de CPU ha sido de 94708 segundos. En la Figura 2 puede observarse la

dirección del flujo en el continuo calculada a partir de las relaciones (2) y (3); la intensidad

se calcula usando también las mismas fórmulas. El flujo en los arcos se obtiene a partir del

tiempo en los arcos:

Arco 1 2 3 4 5

Tiempo (min) 10.1 40.2 42.5 10.0 39.4

Flujo(veh/h) 2172 6522 6618 1375 6489

El ejemplo siguiente es más elaborado.

Fig. 3: Direcciones del flujo en una configuración

7 CONCLUSIONES

Este modelo de asignación constituye una herramienta alternativa al método clásico de

asignación en ciudades como la presentada. Plantearse la asignación utilizando un grafo de

transporte que, además de representar las autopistas represente las red de calles, es un

método que requiere un trabajo largo cuyo tiempo de ejecución crece no linealmente con el

tamaño del grafo. En cualquier caso, supone más trabajo que realizar una malla de

elementos finitos en la que cada elemento represente una zona de transporte con

características homogéneas.

En problemas en los que no es necesaria una gran precisión, al nivel de definir el flujo en

la red de calles, sinó que lo que se necesita es ver las influencias del tráfico en los arcos de

la autopista, el modelo desarrollado es muy útil, pues permite con poco esfuerzo obtener

resultados satisfactorios del comportamiento del tráfico.

Por otra parte, la aplicación del modelo no se reduce a ciudades con un único CBD, sino

que permite la implementación de varios CBD de forma sencilla.

Extensiones: multicentros, tte público, etc.

AGRADECIMIENTOS

Artículo basado en la tesina de graduación de J.M. Ramos codirigida por F. Robusté y E.

Oñate. El tercer autor agradece al CIMNE la colaboración y soporte económico prestados

durante la elaboración de la investigación, así como la colaboración del profesor E.

Bendito del Departamento de Matemática Aplicada III en algunos aspectos formales de la

derivación del modelo de optimización.

REFERENCIAS

Beckmann M. J., McGuire C. B. and Winstein C.B. (1956) Studies in the Economics of

Transportation. Yale University Press, New Haven, CT.

Beckmann M. J. and Puu T. (1987) Spatial economics: Density, potential and flow. Studies

in Regional Science and Urban Economics, Elsevier Science, New York.

Bureau of Public Roads (BPR; 1964) Traffic assignment manual. U.S. Department of

Commerce, Urban Planning Division, Washington, D.C.

Carey M. (1985) The dual of the traffic assignment problem with elastic demands.

Transportation Research, 19B, 227-237.

Fukushima M. (1984) On the dual approach to the traffic assignment problem.

Transportation Research, 18B, 235-245.

D'Este G. (1987) Trip assignment to radial major roads. Transportation Research, 21B,

433-442.

Michalewicz, Zbigniew (1996) Genetic Algorithms+Data Structures=Evolution Programs.

Springer-Verlag Berlin Heidelberg New York.

Newell G. F. (1980) Traffic flow on transportation networks. MIT Press, Cambridge, MA.

Ortúzar, J. de D., Willumsen, L.G., (1994) Modelling transport. John Wiley and Sons,

New York.

Ramos, J.M. (1996) XXXXXXXXXX. Tesina de graduación de la Escuela Técnica

Superior de Ingenieros de Caminos, Canales y Puertos de Barcelona dirigida por F.

Robusté.

Robusté, F. (1998) Los costes de la congestión del tráfico en Barcelona, Instituto Catalán

para el Desarrollo del Transporte, Generalitat de Cataluña (en catalán).

Sasaki T., Iida Y. and Yang H. (1990) User equilibrium traffic assignment by continuum

approximation of network flow. Proceedings of the 11th International Symposium on

Transportation and Traffic Theory, Japan, Yokohama, July, pp. 233-252.

Yang H., Yagar S. and Iida Y. Traffic assignment in a congested discrete/continuos

transportation system. Transportation Research-B. Vol 28B, pp 161-174, 1994

Sheffi Y. (1985) Urban transportation networks: Equilibrium analysis with mathematical

programming methods. Prentice-Hall, Englewood Cliffs, NJ.

Sttenbrink P. A: (1974) Optimization of transport network. John Wiley and Sons, New

York.

Wardrop J.G. (1952) Some theoretical aspects of road traffic research. Proceedings,

Institute of Civil Engineers II(1), pp 325-378.

Winter G., Périaux J., Galán M., y Cuesta, P. (1995) Genetic Algorithms in Engineering

and Computer Science. John Wiley and Sons, New York.

CBD

Fig. 1: Modelo de ciudad

Fig. 2: Direcciones del flujo en una ciudad circular

Fig. 3: Direcciones del flujo en una configuración