1. INTRODUCCIÓN
Con el paso del tiempo el número de la población mundial ha ido aumentando, por lo que, también incrementa la población en las ciudades, lo que provoca un crecimiento en la demanda de los recursos para satisfacer las necesidades de los habitantes. Según el Panel Intergubernamental sobre el Cambio Climático de las Naciones Unidas, las ciudades representan alrededor del 67 al 76% del consumo total de energía global1, por lo que, al incrementar la población urbana también aumenta el consumo de energía, lo que a su vez provoca que la producción de la misma incremente significativamente. Es por ello que en2, los autores mencionan la necesidad de construir ciudades que sean amigables con el medio ambiente, la idea es transformar a las ciudades en inteligentes, de manera que puedan proporcionar datos sobre el impacto de la actividad humana en el ambiente y los servicios relacionados con la salud, el transporte, la sostenibilidad, la economía, entre otros, los cuales perturban el bienestar general de los habitantes y empresas que conforman la ciudad.
A medida que aumenta la población urbana también lo hace el número de automóviles en las calles, llegando así a un momento en que los mismos excedan la capacidad que tienen las vías creando el conocido embotellamiento o tráfico vehicular, el cual trae muchos efectos negativos a la dinámica diaria de una ciudad3. Por lo tanto, existe una urgente necesidad de encontrar posibles soluciones en la gestión y supervisión de este problema.
Los sistemas inteligentes de transporte (SIT) son un conjunto de herramientas que se utilizan para gestionar el tráfico en las vías, con el objetivo de mejorar la eficiencia de la circulación vehicular, así como ahorrar el consumo de energía en aquellos vehículos que circulan por las carreteras, de forma que se puedan reducir las emisiones contaminantes4. El sistema presentado en5es la asociación de TIC con los elementos que conforman el transporte: infraestructura, vehículos y usuarios, de forma que los vehículos y las unidades de carretera representan los nodos de comunicación; los cuales, proporcionan información de uno a otro y pueden ser avisos de seguridad o información del tráfico vehicular.
Para obtener la información en tiempo real del tráfico6)(7han propuesto la implementación de una red de sensores y actuadores que posean una comunicación inalámbrica mutua, además que esta se pueda adaptar a varios requisitos de servicio de aplicaciones para redes de sensores inteligentes (RSI), esta red inalámbrica permite el envío transparente de datos desde el sensor de origen hasta el de llegada. Los sensores sirven para transmitir información como ‘‘estado’’ y ‘‘control’’8, además, dentro de sus ventajas se encuentran sus bajos costos de implementación, consumo de energía y mantenimiento, así como su flexibilidad y facilidad de despliegue9, pues la capacidad de largo alcance permite el despliegue en localizaciones remotas2.
Estos sensores se pueden colocar en los semáforos o sistemas de alumbrado para recopilar datos relacionados con el estado del flujo de tráfico vehicular (FTV)10. La distancia de alcance recomendada para estos dispositivos es de 5.5m, pues si se utiliza sensores de mayor alcance se tiene un tiempo de respuesta deficiente11. La tecnología de comunicación utilizada en esta red es Zigbee que se basa en el estándar IEEE 802.15.4, la cual trabaja en una banda de frecuencia de 2.4GHz12, la velocidad de datos admitida de esta tecnología es de 250 kbps, admite modos de direccionamiento de 16 a 64 bits y puede aceptar hasta 64.000 sensores13.
Debido a todo lo detallado anteriormente, este artículo se basará en el dimensionamiento y enrutamiento de una red de sensores para el monitoreo del tráfico vehicular en la ciudad de Quito.
2. COMUNICACIÓN EN UNA RED DE SENSORES INALÁMBRICOS (SEMÁFOROS INTELIGENTES) PARA EL MONITOREO DEL TRÁFICO VEHICULAR
Estableceremos el problema centrándonos en la comunicación de semáforos inteligentes (SMI) a los cuales llamaremos sensores de aquí en adelante, y con ello encontrar la ruta de menor costo que en14)(22utiliza el autor; con esto lograremos lo deseado que es el envío y recepción de datos a través de la comunicación que van a tener los mismos para que la información sea receptada por una estación base y esta sea utilizada para ayudar a mejorar el tráfico en la ciudad de Quito, Ecuador, específicamente en la avenida Naciones Unidas y sus calles secundarias, Fig. 1.
Uno de los principales problemas encontrado en14al resolver el enrutamiento de una red de sensores son las limitaciones, la complejidad y el costo que representa, por ende, se desconoce las ubicaciones de los sensores dentro de la red inalámbrica. Además, existen sensores de los cuales podemos conocer su ubicación, estos ayudan al momento de estimar la ubicación del resto de sensores. Las RSI en15se encuentran en varios dispositivos, para nuestro caso serán semáforos inteligentes, los cuales estarán distribuidos en una zona específica y ayudarán a resolver varias tareas como detectar el FTV16.
Cada punto de agregación de datos (PAD) recibirá la información de varios sensores, de tal manera que todos los enlaces sean lo más óptimos posibles, considerando la ruta más corta y evitando las rutas más lejanas, esto es posible gracias a la distancia de Haversine que nos ayuda con las distancias de los puntos georreferenciados17 18, estos PAD nos indican que deben tener una cobertura adecuada para que cada sensor por lo menos sea cubierto por un PAD que será directamente proporcional a la distancia que tiene el sensor al punto de agregación19.
En20los autores advierten que las redes de sensores son de gran ayuda para obtener una recolección de datos cuando se trabaje en ambientes muy alejados o sean de ambiente hostil, tomando la cobertura como uno de los mayores inconvenientes en21sugieren que el PAD abarque a una definida cantidad de sensores donde no se sature la red y se obtenga la calidad de comunicación deseada.
Dentro del enrutamiento y a través de algoritmos con el uso de distancias mediante georreferenciación, hemos encontrado una amplia variedad de posicionamiento de PAD, estas técnicas difieren en sus términos, ya sean por cobertura, radio, capacidad que posee cada uno, además de su modelo de envío y recepción de datos entre el nodo de origen y destino23)(24)(25.
2.1 Formulación del problema
Dentro del problema usaremos varios modelos matemáticos donde encontraremos a través de algoritmos el enrutamiento correcto para optimizar el número de PAD, además de encontrar la ruta de mínimo costo, los saltos (Hop Count) y el consumo de ancho de banda (Bandwidth Consumption) serán datos que nos servirán para saber si todos los sensores están dentro de la cobertura y existe una correcta comunicación entre ellos, despreciando el retardo que puedan tener en el envío y recepción de la información.
a. Tablas de variables
La Tabla I indica todas las variables por utilizar en el modelamiento matemático que corresponde al tema de Dimensionamiento Capacidad Cobertura (Cap-Cob). El cual nos permitirá encontrar el número adecuado de PAD que logren cubrir a más del 70% de sensores, tomando en cuenta que cada PAD tiene un radio de cubertura determinado y capacidad límite de usuarios en este caso SMI.
La Tabla II muestra todas las variables que se van a utilizar en el modelamiento matemático de Enrutamiento georreferenciado. El cual consiste en encontrar una ruta de mínima distancia para un flujo que parte de un nodo origen a un nodo destino.
La Tabla III indica todas las variables que se utilizarán en el modelamiento matemático del Enrutamiento Kruskal. El cual consiste en encontrar un árbol de mínimo costo para un conjunto de SMI y PAD.
La Tabla IV da a conocer todas las variables que se utilizan en el modelamiento matemático del Enrutamiento de multiobjetivo. El cual consiste en encontrar un grafo de mínimo costo a partir de algunos parámetros como son: velocidad de transmisión, y los sensores de origen y destino.
b. Modelo matemático
Dimensionamiento Capacidad Cobertura (Cap-Cob)
Función objetivo:
Sujeto a:
La ecuación (1) representa la función objetivo, la cual minimiza el número de posibles sitios candidatos de PAD que sean activos, donde WD es activo si tiene el valor de 1, caso contrario tiene un valor de 0.
En cuanto a la ecuación (3), dice que la sumatoria de sensores que se da en un enlace debe ser menor o igual a la capacidad del PAD por la cantidad de sitios activos.
La ecuación (4) muestra que la suma total de sensores cubiertos debe ser mayor o igual al porcentaje de cobertura por el conjunto de sensores, y para la ecuación (5) se tiene que la cantidad de enlaces deben ser menor o igual al número de sitios activos.
Enrutamiento Georreferenciado:
Ruta
Longitud o peso de ruta
Siendo la longitud de toda la ruta como la suma de las distancias de un nodo inicial más el nodo que le sigue, y así sucesivamente hasta llegar al último nodo, en resumen, es la suma de todas las distancias entre nodos que conforman una ruta.
Ruta para el flujo origen - destino
Se define una ruta de flujo origen-destino como aquella en la que se elige el nodo de origen y destino.
Ruta de distancia mínima
Es aquella en la que la distancia sea menor a la ruta origen-destino inicial.
Función objetivo:
Optimización
Sujeto a:
La ecuación (10) representa la función objetivo, la cual encuentra la ruta más corta en función del peso de esta y de los enlaces existentes. Para la ecuación (11) tenemos que la sumatoria de enlaces salientes menos la sumatoria de los entrantes es igual a la cantidad de elementos.
Enrutamiento Kruskal:
Sensores
Enlaces
Costo del Árbol
Ruta de distancia mínima
Se define un árbol de mínimo costo como aquel donde el costo sea menor o igual al del árbol HG determinado en la anterior ecuación
Función Objetivo:
Optimización
Sujeto a:
El conjunto J se define como un subconjunto de nodos derivado del Cn, el mismo no puede ser vacío ni igual a Cn.
La ecuación (17) representa la disminución de la distancia entre a y b, esto según el costo del árbol (L Rta,b ) donde si (l a,b ) es igual a 1, el enlace existe (el a,b ) y pertenece al árbol, mientras que si toma el valor 0 no pertenece.
En cuanto a la ecuación (18) nos da una restricción en la cual los nodos se deben conectar con q-1 enlaces.
La ecuación (19) muestra que los enlaces existentes (el a,b ) deben ser mayor o igual a 1 donde a y b pertenecen al subconjunto J.
Enrutamiento multiobjetivo:
Función objetivo:
Sujeto a:
La ecuación (20) representa la función objetivo la cual minimiza el costo en función de los pesos, enlaces y la demanda de tráfico de flujo. La ecuación (21) indica que si el enlace es igual a 1 es usado para transmitir el flujo con destino al nodo de egreso, mientras que si tiene el valor de 0 quiere decir que no hay un enlace.
En cuanto a la ecuación (23) muestra que el enlace tiene un valor de 0 si a es diferente del nodo de ingreso o de cualquier nodo de egreso.
La ecuación (24) dice que la capacidad de flujos por enlace debe ser menor a la sumatoria demanda de trafico de flujos por el valor máximo de enlace.
2.2 Pseudocódigo de los algoritmos
El presente apartado trata de los algoritmos para realizar el dimensionamiento y enrutamiento de los sensores y los PAD aplicando la respectiva formulación matemática para cada caso.
En el algoritmo 1 se da la solución para el número de PAD que se necesita para la comunicación con los sensores, tomando en consideración restricciones de capacidad y cobertura. El algoritmo 2 muestra la solución del primer enrutamiento que corresponde al denominado Enrutamiento Georreferenciado, el cual utiliza el cálculo de la distancia de haversine y el algoritmo Dijkstra para crear el camino de mínimo costo (CMC) entre los sensores y PAD.
El algoritmo 3 da como resultado un grafo de los múltiples enlaces que existen entre los elementos, tomando en cuenta las restricciones en función de capacidad de enlace, distancia mínima y límites externos de la región. En cuanto al algoritmo 4 da como respuesta al CMC basado en la utilización de Prim-Kruskal o heurística.
Para el ultimo enrutamiento se utilizaron los algoritmos 5 y 6, donde el primero, algoritmo 1, sirve para escribir la función objetivo en función de; la velocidad de transmisión y los sensores (origen, transmisión y destino), el resultado de este algoritmo son un conjunto de variables que se deben ingresar en el algoritmo 6, el cual tiene como objetivo leer dichas variables, para así generar un grafo del CMC y sus respectivos datos en cuanto a: saltos, costo, ancho de banda, tiempo de retardo y la minimización que existe en el sistema.
Dimensionamiento PAD:
Algoritmo 1: Dimensionamiento Cap-Cob
Paso 1: Ingresar coordenadas de sensores y PAD
x ← longitud sensores
y ← latitud sensores
xs ← longitud PAD
ys ← latitud PAD
Paso 2: Calcular la distancia euclidiana de los sensores y PAD
para i = 1 hasta dimensión de xs hacer
para jj = 1 hasta dimensión x hacer
dist (i,j) ← raíz cuadrada((xs(i) - x(j)) ^2+(ys(i)-y(j)) ^2)
fin para
fin para
Paso 3: Escribir la función objetivo
Paso 4: Escribir las restricciones: conexión de cada usuario, capacidad de PAD, cobertura
Paso 5: Resolver el problema en LP SOLVE
Retorna: archivo.csv
Paso 6: Leer los resultados del archivo.csv
Retorna: Dimensionamiento óptimo de PAD considerando capacidad y cobertura
Enrutamiento georreferenciado:
Algoritmo 2: CMC-FTV
Paso 1: Ingresar coordenadas de sensores y PAD
xs ← longitud sensor; ys ← latitud sensor
xse ← longitud DAP; yse ← latitud PAD
Paso 2: Crear vectores de coordenadas x, y y de los sensores y PAD
X ← [xs, xse]
Y ← [ys, yse]
Paso 3: Obtener la distancia de Haversine
Loc1 ← matriz [X Y]’
para kk = 1 hasta dimensión de X hacer
para jj = 1 hasta dimensión X hacer
dist_haver ← haversine (loc1(kk, todas las columnas), loc1(-jj, todas las columnas))
fin para
fin para
Paso 4: Obtener matriz de pesos G
Paso 5: Realizar enrutamiento con algoritmo Dijkstra
Ingresar: G, dimensión xs, dimensión xse
Retorna: camino de mínimo costo
Paso 6: Realizar enrutamiento con algoritmo Dijkstra
G2 ← Matriz de pesos
XY ← [X, Y]’
para i=1 hasta dimensión xs+ dimensión xse hacer
[costo, camino] = dijsktra_B (G2, XY, i, dimensión xs + dimensión xse)
fin para
Retorna: camino de mínimo costo (CMC-FTV)
Dimensionamiento Kruskal:
Algoritmo 3: Creador del grafo para el enrutamiento -FTV
Entrada: Coordenadas (Latitud y Longitud)
Salida: Grafo_Aleatorio
Paso 1: Declaración de variable
C ← capacidad del enlace
dmin ← mínima distancia para que el enlace exista
L ← Límites extremos de la región C=capacidad del enlace
Paso 2: Ingresar coordenadas de sensores
x ← longitud sensor
y ← latitud sensor
Paso 3: N = length{X}
Dist = CEROS {length{X}}
para i = 1 hasta N -1 hacer
para j = i+1 hasta N hacer
dist {i, j} = sqrt{{x{i}-x{j}} ^2 + {y{i}-y{j}} ^2}
dist {j, i} = dist {i, j}
si dist {i, j} <= dmin enlaces= {enlaces; i j
dist {i, j} C; j i dist {i, j} C}
fin si
fin para
fin para
Retorna: Grafo de enlaces
Algoritmo 4: Método de Kruskal para el enrutamiento - FTV
Entrada: Grafo_Aleatorio
Salida: camino de mínimo costo
Paso 1: G ← Matriz de pesos
G = 0*dist
G{dist <= dmin} =1
para i = 1 hasta N -1 hacer
para j = i+1 hasta N hacer
G {i, j} =0
fin para
fin para
{i, j} = BUSCAR{G}
para k = 1 hasta length{i}
desde{k} = buscar {i == k}
hasta{k} = buscar {j == k}
fin para
Paso 2: G2 ← Matriz de pesos
G2 = dist. *{G + {G’}}
Paso 3: Aplicar Kruskal o Heurística
Retorna: camino de mínimo costo
Dimensionamiento multiobjetivo:
Algoritmo 5: Enrutamiento múltiples-objetivos - FTV
Paso 1: Ingresar coordenadas
xs ← longitud sensor
ys ← latitud sensor
Paso 2: Obtener la distancia de Haversine
Loc1 ←matriz [xs, ys]’
para kk = 1 hasta dimensión de xs hacer
para jj = 1 hasta dimensión xs hacer
dist_haver ← haversine (loc1(kk, todas las columnas), …
loc1(jj, todas las columnas))
fin para
fin para
dmin ← 0.095
para i = 1 hasta dimensión xs hacer
para j = 1 hasta dimensión xs hacer
si dist_haver (i, j) <= dmin
fin si
fin para
fin para
Paso 3: Obtener matriz de pesos G1
Paso 4: Realizar función objetivo
Ingresar: nodo de salida, nodos de destino, … velocidad de transmisión, nodos intermedios
Retorna: x, HC, DL, CT, K, BC
Algoritmo 6: Resultado enrutamiento múltiples-objetivos - FTV
Paso 1: Ingresar coordenadas
xs ← longitud nodo
ys ← latitud nodo
Paso 2: Obtener distancia de haversine
Loc1 ← matriz [ xs, ys]’
para kk = 1 hasta dimensión de xs hacer
para jj = 1 hasta dimensión xs hacer
dist_haver ← haversine (loc1(kk, todas las columnas), loc1(jj, todas las columnas))
fin para
fin para
dmin ← 0.095
para i = 1 hasta dimensión xs hacer
para j = 1 hasta dimensión xs hacer
si dist_haver (i, j) <= dimin
fin si
fin para
fin para
Paso 3: Leer los resultados del archivo gdx
Retorna: Sol1, Sol2, filas, columnas, K, DeLay, Hop Count, Cost, BandwithC
Paso 4: Graficar el camino obtenido
3. ANÁLISIS DE RESULTADOS
El modelo matemático junto con los programas presentados en la sección 2 nos ayudan a encontrar tanto el número mínimo de PAD como el árbol de mínima ruta, los cuales permiten obtener una reducción en costos para el sistema de sensores inteligentes para FTV, a continuación se explicará de manera más concreta.
En la Fig. 2 se analizó un área dentro de la ciudad de Quito, Ecuador, la cual inicia en la calle Av. América desde el redondel hasta la calle Naciones Unidas y sus alrededores, en las que se han escogido 15 sitios candidatos de PAD, así como 30 semáforos inteligentes con una RSI para el monitoreo del FTV, con estos datos se procedió con el dimensionamiento. Se consideró un porcentaje de cobertura de usuarios del 100%, que en el caso de estudio representa 30 semáforos inteligentes con 15 PAD que alcanzan una cobertura de 4,6 km. Para encontrar la localización exacta de dichos puntos se utilizó el servidor de Open Street Maps, el cual proporciona la longitud y latitud de cada punto de estudio. A continuación se mostrarán las gráficas completas con los PAD, estaciones base y oficina central.
En la Fig. 3 se puede observar un número de 5 PAD, que se consigue con las coordenadas tanto de longitud como de latitud ingresadas en el programa Cap-Cob con una cobertura del 100%, resultando un archivo lp que da a conocer cuáles serán los PAD que van a estar conectados y así reducir el número de estos, más adelante se utilizan estos datos en un archivo csv que ayudará a obtener la Fig. 3, la cual muestra el número mínimo de PAD, reduciendo así los costos de inversión en PAD.
Observamos en la Fig. 4 el árbol de mínimo costo generado por el algoritmo Dijkstra, con los datos de la sección de dimensionamiento; longitud y latitud de los diferentes elementos. Al ser un escenario real se utiliza el cálculo de la distancia de Haversine, la cual proporcionará las diferentes conexiones de los sensores y los PAD. Este algoritmo funciona para casos en los cuales no existen restricciones de conexión entre los sensores y PAD, pues genera caminos aleatorios, en caso de existir restricciones se debería utilizar otro tipo de enrutamiento.
En la Fig. 5 observamos un árbol de enrutamiento considerando la adición de dos estaciones base y una oficina central con sus respectivas coordenadas, este árbol de enrutamiento nos ayudará a obtener los mínimos costos, que aplicado a la vida real se podrá ahorrar en distancias, materiales y costos, los cuales en la implementación de proyectos son los principales puntos para tomar en cuenta. Se debe considerar que para este escenario, al igual que en la Fig. 4, se utilizó el algoritmo Dijkstra, observando que, aunque posean los mismos datos de sensores y PAD sus conexiones son diferentes, sin dejar de cumplir el principal objetivo que es encontrar el camino mínimo.
En la Fig. 6 se muestran todos los posibles enlaces que existen entre todos los SMI, los cuales fueron generados por medio del algoritmo 3.
Para realizar este enrutamiento se utilizó el algoritmo 4 con el modelo de heurística para generar el grafo del camino de mínimo costo que se observa en la Fig. 7.
La Fig. 8 muestra con mayor claridad el camino de mínimo costo generado entre todos los sensores.
En la Fig. 9 se observa el CMC entre sensores, el cual fue generado por medio del algoritmo 4 con el modelo Kruskal, este grafo es igual al de la Fig. 8, la diferencia entre el uso de heurística o Kruskal se enfoca en que el primero se utiliza para escenarios muy grandes debido a que con programación lineal no se obtiene una solución.
La Fig. 10 muestra con mayor claridad el camino de mínimo costo generado entre todos los sensores.
Para la Fig. 11 presenta el árbol de mínimo costo entre los PAD que se generó con el algoritmo 4 y el método de Kruskal. Tanto Kruskal como heurística dan como resultado la ruta y la comunicación de los nodos unos con otros. Es importante entender que en este enrutamiento la comunicación es de ambos lados, tanto el sensor 1 como el 2 o viceversa se pueden comunicar y así mismo pasa con cada sensor que se tenga dentro de la ruta. Además, el poder aplicar este método tanto para sensores como para PAD permite realizar una red por separado que sea alámbrica para PAD e inalámbrica para sensores.
La Fig. 12 muestra la conexión entre los 30 sensores que tenemos descritos en el escenario general, para realizar dicho enlace se utilizó el programa de enrutamiento Kruskal junto con el programa múltiples-objetivos los cuales generan un archivo gdx que se utiliza en el algoritmo 6 y con este se encuentra la ruta de mínimo costo observando así, el número de saltos, el tiempo de retardo, el ancho de banda y el costo.
La Fig. 13 muestra la ruta más adecuada para obtener un mínimo costo desde el nodo de origen que en este caso es 0 hasta los nodos de destino que son 2 y 6, con ello se puede obtener una minimización de K=17.5, un retardo de 31 ms, 4 saltos, un costo de $16 y un ancho de banda de 4096 kbps. Con estos datos se puede observar que el enrutamiento es el adecuado y que con la ayuda del programa gams se puede encontrar el mejor resultado. Este enrutamiento es adecuado para los casos en los que se conzcan los datos de velocidad y ancho de banda, así como el nodo de origen y destino.
4. CONCLUSIONES
Los programas utilizados en este documento permiten resolver el dimensionamiento de la red, pues ayuda a disminuir el número de puntos por colocar de todos los sitios candidatos planteados a través de escenarios iniciales georreferenciados, teniendo como restricciones la capacidad de PAD, así como la máxima distancia del radio de cobertura de cada semáforo inteligente.
La optimización del enrutamiento permite bajar el costo asociado a infraestructura de red e implementación de esta, así se puede conseguir una red de sensores inteligentes en un tiempo menor y de esta manera obtener los datos necesarios para el control del flujo de tráfico vehicular dentro de la ciudad.
En este escenario se puede realizar el enrutamiento que nos permite crear el árbol de mínimo costo entre los puntos de agregación de datos, estaciones base y oficinas centrales a los semáforos inteligentes más cercanos, ya que calcula la distancia y el costo mínimo, este último es beneficioso al momento de la instalación tanto en materiales como en obra civil. Es importante que las personas que hacen estas instalaciones estén familiarizadas con estas tecnologías, ya que así podrán utilizar los programas y adaptar los proyectos para que sean más eficientes en costos y tiempo.
Los sensores inteligentes dentro de los semáforos ayudarán a controlar el tráfico de vehículos, ya que enviarán datos con la ubicación de cada uno para así conocer los sitios con mayor concurrencia dentro de la ciudad y así poder ofrecer rutas alternas para que no existan los llamados embotellamientos o cierre de carreteras por saturación.
En el programa de enrutamiento Kruskal podemos observar que obtenemos el árbol de mínimo costo para los sensores, así como para los PAD, esto es importante, ya que se puede instalar una red de fibra óptica para los PAD y que los sensores a su vez estén conectados de forma inalámbrica, con lo cual, además de obtener la ruta adecuada estaremos satisfaciendo la comunicación, la capacidad de cobertura y, además, al utilizar fibra óptica se garantiza que el enrutamiento cumplirá con el mayor número de cobertura de sensores inteligentes y no se perderá la comunicación, disminuyendo ante todo costos.