Optimización multi-objetivo de redes de sensores basada en ...

74
Trabajo Final de Grado GRADO DE INGENIERÍA INFORMÁTICA Optimización multi-objetivo de redes de sensores basada en simulated annealing ISABEL LÓPEZ RAMÍREZ Tutor Sebastià Galmés Obrador Escuela Politécnica Superior Universidad de las Islas Baleares Palma, 12 de julio de 2017

Transcript of Optimización multi-objetivo de redes de sensores basada en ...

Page 1: Optimización multi-objetivo de redes de sensores basada en ...

Trab

ajo

Fin

ald

eG

rad

o

GRADO DE INGENIERÍA INFORMÁTICA

Optimización multi-objetivo de redes desensores basada en simulated annealing

ISABEL LÓPEZ RAMÍREZ

TutorSebastià Galmés Obrador

Escuela Politécnica SuperiorUniversidad de las Islas Baleares

Palma, 12 de julio de 2017

Page 2: Optimización multi-objetivo de redes de sensores basada en ...
Page 3: Optimización multi-objetivo de redes de sensores basada en ...

i

En primer lugar quiero agradecer a todo aquel que me ha acompañado durante estelargo camino. Haciendo especial mención a mis amigos de la carrera, a mis profesoresy a mi tutor, el cual ha sido un gran apoyo, ya que durante toda esta etapa me haayudado , aconsejado y confiando siempre en mi.Por último me gustaría dedicárselo también a mis padres y en especial a mi hermana,la cual me ha brindado su ayuda incondicional. Ellos han hecho que todo fuera másfácil.

Page 4: Optimización multi-objetivo de redes de sensores basada en ...
Page 5: Optimización multi-objetivo de redes de sensores basada en ...

ÍNDICE GENERAL

Índice general iii

Índice de figuras v

Índice de cuadros vii

Acrónimos ix

Resumen xi

1 Introducción 11.1 Descripción básica de las redes de sensores y su relevancia actual en el

ámbito de las TIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Formulación del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Objetivo general del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . 21.4 Objetivos concretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.5 Estructura de la memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Redes de sensores 52.1 Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Modelo energético . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1.2 Arquitectura de red . . . . . . . . . . . . . . . . . . . . . . . . . . 82.1.3 Taxonomía de las redes de sensores . . . . . . . . . . . . . . . . . 13

2.2 Diseño de una red de sensores . . . . . . . . . . . . . . . . . . . . . . . . . 142.3 Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.5 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.6 Seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.6.1 Ataques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.6.2 Defensas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.6.3 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3 Simulated annealing 233.1 Introducción a las técnicas de optimización . . . . . . . . . . . . . . . . 233.2 Versión estándar de simulated annealing . . . . . . . . . . . . . . . . . . 243.3 Extensión multi-objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4 Aplicación de Simulated Annealing al diseño de una red de sensores 29

iii

Page 6: Optimización multi-objetivo de redes de sensores basada en ...

iv ÍNDICE GENERAL

4.1 Selección de objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.2 Caracterización de los objetivos . . . . . . . . . . . . . . . . . . . . . . . . 294.3 Tecnología utilizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.4 Diseño a nivel de pseudocódigo . . . . . . . . . . . . . . . . . . . . . . . . 314.5 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5 Aplicación al diseño de una red de prevención de incendios forestales 395.1 Descripción del escenario . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.2 Plataformas hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435.3 Análisis de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6 Conclusiones 49

A Código. 51

Bibliografía 59

Page 7: Optimización multi-objetivo de redes de sensores basada en ...

ÍNDICE DE FIGURAS

2.1 Componentes de un nodo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Esquema de despliegue de nodos de un entorno. . . . . . . . . . . . . . . . . 72.3 Modelo de red OSI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.4 Arquitectura de los diferentes planos de la pila. . . . . . . . . . . . . . . . . . 112.5 Esquema de red activada por usuario. . . . . . . . . . . . . . . . . . . . . . . 132.6 Esquema de red activada por eventos. . . . . . . . . . . . . . . . . . . . . . . 132.7 Esquema de red activada por tiempo. . . . . . . . . . . . . . . . . . . . . . . . 142.8 Ejemplo de despliegue de sensores, cuya información trata luego la aplica-

ción Sentilo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.9 Aplicaciones de redes de sensores. . . . . . . . . . . . . . . . . . . . . . . . . 162.10 Ejemplo CenWits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.11 Sensor Mica2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.12 Sensor Particles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.13 Sensor SHIMMER-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1 Diagrama del funcionamiento del SA. . . . . . . . . . . . . . . . . . . . . . . 25

4.1 Conjunto de Pareto-2 Nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.2 Conjunto de Pareto-4 Nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.3 Conjunto de Pareto-6 Nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.4 Conjunto de Pareto-8 Nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.5 Conjunto de Pareto-10 Nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.6 Conjunto de Pareto-12 Nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.7 Conjunto de Pareto-15 Nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.8 Conjunto de Pareto-20 Nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.9 Nodos repetidores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.10 Tiempo en ejecución en horas. . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.11 Soluciones conjuntos Pareto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5.1 Mapa de riesgo de incendio forestal en Mallorca. . . . . . . . . . . . . . . . . 405.2 Ubicación de Estellencs en el mapa de Mallorca. . . . . . . . . . . . . . . . . 415.3 Despliegue de la red de sensores en Estellencs. . . . . . . . . . . . . . . . . . 415.4 Eje temporal con ejemplos de sensores. . . . . . . . . . . . . . . . . . . . . . 435.5 Esquema conexión mediante tecnología LoRaWAN. . . . . . . . . . . . . . . 445.6 Esquema del despliegue generado por el MOSA. . . . . . . . . . . . . . . . . 455.7 Ejemplo de distribución nodos dominante respecto al despliegue de Este-

llencs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

v

Page 8: Optimización multi-objetivo de redes de sensores basada en ...

vi Índice de figuras

5.8 Ejemplo 2 de distribución de nodos dominante respecto al despliegue deEstellencs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Page 9: Optimización multi-objetivo de redes de sensores basada en ...

ÍNDICE DE CUADROS

2.1 Ejemplos de protocolos por capas del modelo OSI. . . . . . . . . . . . . . . . 112.2 Descripción técnica del sensor Mica2 . . . . . . . . . . . . . . . . . . . . . . . 182.3 Descripción técnica del sensor TinyNode 584 . . . . . . . . . . . . . . . . . . 19

3.1 Diseño de objetivos y criterios de optimización. . . . . . . . . . . . . . . . . 27

5.1 Coordenadas GPS de cada nodo y coordenadas XY en metros . . . . . . . . 425.2 Especificaciones técnicas TEHU-2121 . . . . . . . . . . . . . . . . . . . . . . 44

vii

Page 10: Optimización multi-objetivo de redes de sensores basada en ...
Page 11: Optimización multi-objetivo de redes de sensores basada en ...

ACRÓNIMOS

ARQ Automatic Repeat Request

CPU Central Processing Unit

CMOS Complementary metal-oxide-semiconductor

CTP Collection Tree Protocol

DoS Denial of Service

FEC Forward Error Connection

FIFO First in First Out

GPS Global Positioning System

IoT Internet of Things

IO Investigación Operativa

IP Internet Protocol

MAC Medium Access Control

MST Minimun Spanning Tree

MOSA Multi-objective Simulated Annealing

OSI Open System Interconnection

PER Packet Error Rate

PLR Packet Loss Rate

SPR Shortest Path Routing

TIC Tecnologías de la Información y las Comunicaciones

USB Universal Serial Bus

VLSI Very-larg-scale integration

WIFI Wireless Fidelity

ix

Page 12: Optimización multi-objetivo de redes de sensores basada en ...
Page 13: Optimización multi-objetivo de redes de sensores basada en ...

RESUMEN

El propósito principal de este trabajo es desarrollar una solución al problema de laplanificacin de la topología de una red de sensores para monitorización ambiental, conel fin de satisfacer varios objetivos de diseño. En particular, se han abordado conjunta-mente la maximización del tiempo de vida de la red y la minimización del número denodos repetidores adicionales, mediante la técnica heurística consistente en la exten-sión multi−objetivo de Simulated Annealing. Este trabajo permite sumergir al lector enel mundo de las redes de sensores, cuya descripción se aborda en el primer capítulo.A continuación, se explican con detalle las bases del algoritmo Simulated Annealing,en su versión original, y su extensión multi−objetivo conocida como Multi−ObjectiveSimulated Annealing, para los objetivos de diseño seleccionados. Después de comentarlos resultados obtenidos al ejecutar la versión extendida para topologías genéricas,finalmente toda la teoría expuesta es ilustrada con una aplicación a un caso de usorelacionado con los incendios forestales.

xi

Page 14: Optimización multi-objetivo de redes de sensores basada en ...
Page 15: Optimización multi-objetivo de redes de sensores basada en ...

CA

TU

LO

1INTRODUCCIÓN

1.1 Descripción básica de las redes de sensores y su relevanciaactual en el ámbito de las TIC

Las redes de sensores constituyen la tecnología de información y comunicaciones másatractiva para aquellas aplicaciones en las que la interacción con el mundo físico esesencial.

Esta tecnología, surgida a principios de los años 90, permite la monitorización dealta resolución y en tiempo real de una gran cantidad de variables ambientales, físicaso químicas.

Las características más intrínsecas de las redes de sensores, como son las limitadasprestaciones y la escasez de recursos energéticos de los nodos que las integran, asícomo la necesidad de cooperación entre ellos, plantean nuevos retos a la investigaciónque conduce al desarrollo de mecanismos y protocolos que contrastan claramente conlos utilizados en las redes convencionales.

En la actualidad, esta tecnología ha alcanzado un alto grado de maduración en loque se refiere a aplicaciones terrestres y transmisión de datos alfanuméricos, pero esobjeto de mucha actividad investigadora cuando se trata de abordar nuevos modelosde interacción con presencia de elementos actuadores y robots, nuevos escenariosde despliegue, como es el caso de las redes subterráneas o submarinas, o la trans-ferencia de información en formatos más completos, como ocurre con las redes desensores multimedia gracias al desarrollo de cámaras Complementary metal-oxide-semiconductor (CMOS) y nuevos micro-sensores de audio.

Podemos observar la relevancia de las redes de sensores de una manera más claraes en Internet of Things (IoT). IoT se puede definir como la red de objetos físicos con latecnología necesaria integrada para llevar a cabo la comunicación e interacción consus estados internos, el entorno u otros componentes de esta red. (8)

1

Page 16: Optimización multi-objetivo de redes de sensores basada en ...

1. INTRODUCCIÓN

1.2 Formulación del problema

Las redes de sensores constituyen uno de los nuevos paradigmas con más expectativasen el ámbito de las TIC. Tal y como hemos comentado en el punto anterior, el costebajo y la capacidad de procesamiento limitada, hacen esencial la cooperación entre losnodos, otorgando así de robustez a la red.

Habitualmente cada nodo funciona con una batería, y como el reemplazo de cadabatería es generalmente una operación engorrosa, sobre todo cuando hay muchosnodos, o incluso inviable, cuando el campo sensorial es de difícil acceso, el tiempo devida de los nodos está limitado por su batería. Además, el tiempo de vida limitado delos nodos limita, a su vez, el tiempo de vida de la red de sensores de la que formanparte, cualquiera que sea la definición específica de ese tiempo de vida de la red.

El problema fundamental es el tiempo de vida de las redes de sensores, aunquetambién podemos encontrar otros problemas como, por ejemplo, el alcance limitadode los nodos no sólo obliga a que las comunicaciones se basen en múltiples saltos (mul-tihop), sino que también se tengan que añadir nodos repetidores cuando la longitud deestos saltos es excesiva.

1.3 Objetivo general del proyecto

Podemos definir como objetivo general del proyecto, el desarrollo y la implementaciónde un algoritmo que permita determinar la topología de una red de sensores, de talmanera que obtengamos un árbol de encaminamiento el cual ofrezca un balanceóptimo entre el tiempo de vida y el número de nodos repetidores a insertar. Dichoproblema es NP−Completo, por ese motivo el algoritmo está basado en la extensiónmulti−objetivo de una técnica heurística llamada Simulated Annealing, que permitealcanzar una solución aceptable en un tiempo polinómico.

1.4 Objetivos concretos

A partir del objetivo general podemos extraer los siguientes objetivos, los cuales sonmás concretos:

• Familiarización con las redes de sensores.

• Aprendizaje de la técnica Simulated Annealing.

• Aprendizaje de los fundamentos de la optimización multi−objetivo.

• Familiarización con la herramienta Mathematica, ya que el código será desarro-llado con ésta.

• Desarrollo, depuración y ejecución del código diseñado en base a un conjuntode pruebas.

• Aplicación en un caso de uso.

2

Page 17: Optimización multi-objetivo de redes de sensores basada en ...

1.5. Estructura de la memoria

1.5 Estructura de la memoria

El presente proyecto consta de un total de seis capítulos. El primero, Capítulo 1, corres-ponde a la introducción, donde hay una descripción breve de las redes de sensores y surelación con las TIC y el IoT.

A continuación, en el Capítulo 2, se estudian las redes de sensores. Se abarca desdeel diseño topológico, la comunicación lógica entre nodos, el hardware hasta el softwareque se utilizan, incluyendo ejemplos de aplicaciones reales. Finalmente, se explica elámbito de la seguridad en las redes de sensores.

En el Capítulo 3, se introducen las técnicas de optimización. Se hace hincapié enla técnica heurística Simulated Annealing y su extensión al multi-objetivo, ya que nosolamente se tiene en cuenta el tiempo de vida de la red, sino que también el númerode nodos repetidores a insertar.

Una vez introducida la técnica de Simulated Annealing, el Capítulo 4 está dedicado asu aplicación al diseño topológico de las redes de sensores. Se considera la versión multi-objetivo de dicha técnica, con una descripción de los objetivos y la tecnología utilizada.Además, en este capítulo se describen el pseudocódigo y los resultados obtenidos.

En el capítulo 5, se expone la aplicación real, el diseño de una red de prevención deincendios forestales. Describimos el escenario del caso de uso y aplicamos lo explicadoen el capítulo anterior. Además, analizamos los efectos en el diseño de utilizar diversaslas plataformas hardware.

Finalmente, se incluye un último capítulo donde se resumen las conclusiones delproyecto en base a los objetivos fijados.

3

Page 18: Optimización multi-objetivo de redes de sensores basada en ...
Page 19: Optimización multi-objetivo de redes de sensores basada en ...

CA

TU

LO

2REDES DE SENSORES

Las redes de sensores han proliferado gracias a los avances tecnológicos en el diseño desensores, en las comunicaciones sin hilos y en la integración de circuitos (tecnologíasVery-larg-scale integration (VLSI)) de las tecnologías de la información. Estas redesenlazan el mundo físico con el mundo virtual y permiten el desarrollo de infinidadde aplicaciones: monitorización de entornos, cuidado médico avanzado, agriculturade precisión y el mundo de IoT entre otras. Además, abren nuevos campos de investi-gación donde convergen la electrónica y la ingeniería informática. El progreso de loscomponentes electrónicos que forman las redes de sensores ha permitido el desarrollode sensores de un coste más reducido y a su vez de bajo consumo. También, gracias alos avances, se ha miniaturizado considerablemente su tamaño y se han logrado dis-positivos multifuncionales con capacidad de comunicación a distancias cortas. Estosaparatos o nodos están constituidos generalmente por un circuito de sensores, unaunidad de procesamiento y un módulo de comunicación. Una red de sensores inalám-brica es un despliegue de nodos y la interconexión de éstos. Dicha red representa unamejora significativa sobre las redes de sensores tradicionales. En este capítulo descri-biremos los componentes de una red de sensores, su funcionamiento y los diferentesfactores y protocolos para su diseño. Comentaremos algunas aplicaciones implantadaso en vías de instalación, así como varios modelos de hardware y software de los nodos.Finalmente concluiremos con el tema de seguridad en dichas redes, explicando lasamenazas y de qué modo podemos defendernos ante éstas.

2.1 Descripción

Una red de sensores está formada por nodos desplegados sobre un entorno determina-do. El número puede oscilar desde pocos hasta centenares, dependiendo del objetivode su implementación, de las condiciones ambientales e incluso del presupuesto. Laimplementación de una red con un gran número de nodos conlleva que estos sean máseconómicos frente a una de un despliegue menor, debido a que al comprar una mayor

5

Page 20: Optimización multi-objetivo de redes de sensores basada en ...

2. REDES DE SENSORES

cantidad el precio por unidad se reduce. Además, se ha de considerar que las capacida-des de computación, de la memoria y la potencia de estos nodos están limitadas.

Un nodo contiene una estructura básica (Figura 2.1) en la que podemos diferen-ciar cuatro elementos esenciales: una tarjeta de sensores, que son los encargadosde monitorizar el ambiente, una unidad de procesamiento de datos, un módulo decomunicaciones y una batería que proporciona energía para su funcionamiento.

Figura 2.1: Componentes de un nodo.

1

Se realizan estudios para minimizar el consumo energético y, por ende, aumentarel tiempo de vida de la red o su duración. Opcionalmente algunos nodos incorporanentre sus elementos un generador alternativo de energía, como puede ser una placasolar o un aerogenerador, aunque su incorporación no es muy frecuente debido alencarecimiento del sistema. Tal y como hemos comentado anteriormente, el nodo estáformado por elementos, cada uno de los cuales tiene su función, que detallamos acontinuación:

El sensor es el encargado de captar la medida ambiental, y la convierte a un valordiscreto mediante un conversor analógico−digital. Actualmente existen sensores paramonitorizar todo tipo de fenómenos, como por ejemplo: la luz, la temperatura, lahumedad, la presión, el movimiento,etc. Su tamaño puede variar, puede ser igual degrande que un libro o por lo contrario como una moneda.

Las muestras captadas llegan a la unidad de procesamiento de datos, la CPU debajo consumo. Con el objetivo de minimizar costes, este procesador empotrado sueleestar limitado en términos de potencia computacional y suele emplear un sistemaoperativo específico. Muchos de los procesadores ya incorporan métodos de ahorroenergético, que suspenden la ejecución e inhiben los componentes.

La memoria de acceso aleatorio guarda las instrucciones ejecutadas por el proce-sador y la memoria de lectura−escritura almacena el sistema operativo y datos tem-porales. Finalmente, el procesador transfiere los datos al módulo de comunicacionesque transmite la información. El coste de los nodos, su despliegue y los objetivos de lared determinan los protocolos (Zigbee, Bluetooth, 802.11, GPRS, etc) y la electrónicade comunicación, que determinan el consumo energético final. Por otro lado, algunosmódulos permiten graduar el voltaje utilizado de forma proporcional a la distancia atransmitir, con el fin de ahorrar energía.

Adicionalmente, algunos nodos van equipados con un módulo de posicionamientoGPS conectado directamente al procesador de datos. En ocasiones sólo son una partede los nodos de una red los que poseen GPS y la ubicación del resto de nodos seobtiene mediante algoritmos de localización. Aunque la forma más sencilla de obtenerla posición de cada uno de los nodos es preestablecerla inicialmente, pero con esta

6

Page 21: Optimización multi-objetivo de redes de sensores basada en ...

2.1. Descripción

medida lo que conseguimos es limitar muchos ámbitos. Por ejemplo, las aplicacionesde rastreo, éstas precisan de GPS, así pues, el coste de cada nodo aumenta y el tiempode vida disminuye debido al consumo energético.

La posición de los nodos puede ser predeterminada o aleatoria. Una disposiciónpredefinida genera una topología conocida, pero a su vez acarrea un estudio previomayor sobre la ubicación. Por otro lado, una dispersión al azar, implica un descubri-miento topológico de la red. Cabe recordar que los nodos también pueden ser móviles,como los que se utilizan en un despliegue sobre la superficie marina o en animalespara rastrear su posición. La estación base es el dispositivo que recibe y procesa lospaquetes que contienen las muestras enviadas por los nodos. Suele ser un dispositivodiferente a los sensores, ya que posee más capacidad de procesamiento y una bateríacon mayor energía o conectada a la red eléctrica. Un encaminamiento óptimo de datosdesde los nodos hasta la base reduce el consumo general de la red. La topología mássencilla conecta los nodos directamente con la estación base y conforma una estrella deun único salto (single-hop star). Las redes desplegadas en un área más extensa utilizanuna topología multi−salto en árbol (Figura 2.2). Esta topología se caracteriza por quelos nodos transmiten sus datos a la estación base a través de otros nodos que reenvíanlos paquetes. En algunos casos, los nodos no actúan sólo como repetidores, sino queademás examinan el contenido para la compresión de datos o mejorar la calidad de lainformación.

Figura 2.2: Esquema de despliegue de nodos de un entorno.

2.1.1 Modelo energético

La red de sensores tiene como prioridad minimizar el consumo de cada nodo. Éstedepende de varios factores como la distancia entre nodos y el número de paquetes areenviar de sus vecinos. Por tanto, sea g (i ) el número de paquetes generados por cicloy EG (i ) la energía que gasta para transmitirlos. Además, tal y como hemos explicadoen el punto anterior, el nodo consume una energía EF (i )) para recibir y reenviar lospaquetes de sus vecinos σ (i ). Podemos definir el gasto energético como:

E (i ) = g (i ) ·EG (i )+σ (i ) ·EF (i ) ,∀i = 1, · · · , N (2.1)

donde N es el número total de nodos de la red.Cuando un nodo recibe un paquete consume una energía ER , la cual coincide con

el resto de nodos debido a que asumimos que todos ellos tienen las mismas especi-

7

Page 22: Optimización multi-objetivo de redes de sensores basada en ...

2. REDES DE SENSORES

ficaciones técnicas. Por lo tanto, consumen la misma energía para recibir cualquierpaquete independientemente de la distancia. Por otro lado, cuando un nodo transmi-te o reenvía un paquete consume una energía ET (i ), que sí depende de la distanciad (i ). Así pues, estas premisas nos permiten reescribir las energías EG (i ) y EF (i ) de lasiguiente manera:

EG (i ) = ET (i ) ,∀i (2.2)

EF (i ) = ER +ET (i ) ,∀i (2.3)

La energía disipada en transmisión depende de la distancia a transmitir y varía de nodoa nodo. El modelo de radio propuesto en (1) determina la energía de recepción y la detransmisión como:

ER = Eel ec ·m (2.4)

ET (i ) = Eel ec ·m +Ew ·m ·d f (i ) ,∀i (2.5)

En estas fórmulas (2.4) y (2.5) se define Eel ec como la energía disipada por el módulo decomunicaciones para transmitir o recibir un bit y m como el tamaño de los paquetesen bits. Ew ·d f (i ) es la energía radiada al medio inalámbrico para transmitir un bit adistancia d (i ) y f es el exponente de pérdida de potencia. Esta última componentedepende de la distancia de referencia d0:

d ≤ d0 ⇒ Ew = E f s , f = 2 (2.6)

d > d0 ⇒ Ew = Emp , f > 2 (2.7)

Las distancias menores a la de referencia utilizan el modelo de propagación en espaciolibre. Por el contrario, las distancias superiores utilizan modelos de efectos de propaga-ción multicamino, cuyo exponente habitual es 4. Finalmente, la combinación de lasfórmulas (2.1), (2.2), (2.3), (2.4) y (2.5) da lugar a la expresión del consumo total de unnodo i para cada ronda de comunicación:

E (i ) = (g (i )+2σ (i )

) ·Eel ec ·m + (g (i )+σ (i )

) ·Ew ·m ·d f (i ) ,∀i (2.8)

Esta formulación no incluye técnicas de ahorro energético, ya que no son genéricas ydependen de cada aplicación. A pesar de ello podemos observar que la fórmula (2.8)refleja los tres factores de consumo energético de un nodo: carga de trabajo, tamañodel paquete y distancia de transmisión.

2.1.2 Arquitectura de red

Es un modelo de referencia para los protocolos de la red de arquitectura en capas.Este modelo estándar describe el encaminamiento de los datos, su integridad con losprotocolos de red y una comunicación eficiente en el medio inalámbrico. La pila OSIconsiste en 7 capas o niveles: física, de enlace de datos, de red, de transporte, de sesión,de presentación y de aplicación. Este último nivel está formado por las subcapas desesión, presentación y aplicación.

8

Page 23: Optimización multi-objetivo de redes de sensores basada en ...

2.1. Descripción

Figura 2.3: Modelo de red OSI.

El nivel físico proporciona una interfaz para la transmisión de bits a través del medioinalámbrico. Éste interactúa con la capa de enlace de datos para detectar y corregirerrores, y, además, se responsabiliza de la detección de la señal, su modulación y lageneración de la frecuencia portadora. En referencia al consumo, el ahorro energéticode los nodos comienza por la capa física.

Cabe comentar que la circuitería y la transmisión de bits consumen gran parte dela batería. El mantenimiento energético de los circuitos permanece constante, perola energía de transmisión puede graduarse según la pérdida del canal, la distancia detransmisión y las interferencias.

Así pues, el diseño de la capa física debe considerar los requerimientos de la red desensores. El módulo de comunicaciones debe ser pequeño puesto que va encapsuladoen el nodo y, también, ha de ser económico si se trata de un despliegue masivo. Además,la radio debe de ser de bajo consumo y su elección depende de la potencia, el ratio dedatos la distancia de transmisión y la confiabilidad.

La capa de enlace es la encargada de detectar y multiplexar los datos, además con-trola los errores y gestiona el acceso al medio inalámbrico. El protocolo MAC (MediumAccess Control) sincroniza las tramas y determina la utilización del canal. Este protocoloestablece el enlace para la transferencia de datos y forma la estructura básica para unacomunicación salto a salto.

El diseño del protocolo MAC está sujeto al consumo energético, la topología y loscambios en la red. Por ello el diseño debe minimizar el malgasto de energía por colisio-nes de paquetes, exceso de retransmisiones o escuchas innecesarias del canal. Un claroejemplo de ahorro energético es el apagado del módulo de comunicaciones cuando nose precise. No obstante, la operación encendido-apagado para la transmisión puedeconsumir más energía que si se hubiera dejado encendido el tiempo por el cual haestado el módulo inactivo. Por este motivo, el diseño recomienda diferentes modos devoltaje según los estados del procesador y la memoria, y propone transiciones interme-dias de ahorro. Estos niveles dependen de los tiempos de transmisión y del consumoindividual de los modos de cada nodo.

Aparte del acceso al medio, la capa de enlace, tal y como hemos comentado, con-trola los errores en la transmisión. Los sistemas más habituales están basados en elFEC (Forward Error Connection), ARQ(Automatic Repeat Request) o en híbridos de los

9

Page 24: Optimización multi-objetivo de redes de sensores basada en ...

2. REDES DE SENSORES

mismos. La técnica ARQ habilita un temporizador y una espera de respuesta para queel destinatario confirme o rechace la llegada correcta de la trama. La expiración deltemporizador o la respuesta negativa obliga al emisor a retransmitir sus datos, aunquesólo haya fallado un bit. Por otro lado, el FEC reduce el número de transmisiones yaque cada nodo incluye datos redundantes para que el destinatario pueda detectar ycorregir errores. La elección de los sistemas de control de errores depende del objetivode la red y del coste energético de cada nodo.

La capa de red dictamina el encaminamiento de datos a través de la red desde unnodo hasta la estación base. Los protocolos basados en el enrutamiento tradicionalapenas se utilizan debido a que los nodos no suelen disponer de dirección IP. El diseñode protocolos de red debe respetar la escalabilidad, dirigir los datos hasta la estaciónbase y atender a los requisitos de eficiencia, tolerancia a fallos y seguridad.

La capa de transporte garantiza la confiabilidad y la calidad de los datos tantoen los nodos como en la estación base. Los protocolos de transporte deben soportarmúltiples aplicaciones, recuperación de paquetes perdidos y mecanismos de controlde congestión. Esta capa adquiere mayor necesidad cuando la red está planeada parael acceso a internet. El diseño debe ser independiente de la capa de aplicación, esdecir, cada aplicación debe tolerar distintos umbrales de pérdida de paquetes, porquecada dato perdido causa un malgasto energético. El protocolo de transporte detecta yrecupera paquetes perdidos para mejorar el rendimiento y el consumo energético. Conredes de sensores el uso de protocolos de transporte se reduce.

La capa de sesión es la que proporciona los mecanismos para controlar el diálogoentre las aplicaciones de los sistemas finales. Además, puede proporcionar un procedi-miento de puntos de comprobación, de forma que si ocurre algún tipo de fallo entrepuntos de comprobación, la entidad de sesión puede retransmitir todos los datos desdeel último punto de comprobación y no desde el principio.

La capa de presentación tiene como objetivo encargarse de la representación dela información de manera que, aunque distintos equipos puedan tener diferentesrepresentaciones internas de caracteres, los datos lleguen de manera reconocible. Estacapa es la primera en trabajar más el contenido de la comunicación que el cómo seestablece la misma. En ella se tratan aspectos tales como la semántica y la sintaxis de losdatos transmitidos, ya que distintas computadoras pueden tener diferentes formas demanejarlas. También permite cifrar los datos y comprimirlos. Por tanto, podría decirseque esta capa actúa como un traductor.

Finalmente, la capa de aplicación ofrece a las aplicaciones la posibilidad de accedera los servicios de las demás capas y define los protocolos que utilizan las aplicacionespara intercambiar datos. Hay tantos protocolos como aplicaciones distintas y, puestoque continuamente se desarrollan nuevas aplicaciones, el número de protocolos crece.Cabe aclarar que el usuario normalmente no interactúa directamente con el nivelde aplicación, únicamente con programas que a su vez interactúan con el nivel deaplicación, pero ocultando la complejidad subyacente.

En la siguiente tabla se muestran algunos ejemplos de protocolos por capas delmodelo OSI.

10

Page 25: Optimización multi-objetivo de redes de sensores basada en ...

2.1. Descripción

Cuadro 2.1: Ejemplos de protocolos por capas del modelo OSI.

CAPA PROTOCOLO

1. Física −2. Enlace de datos ETHERNET, TOKEN RING, PPP, HDLC,

Frame Relay, RDSI, ATM, IEEE 802.113. Red IP, UCMP, IGMP, X.25, ARP,

RARP, OSPF, RIP, IGRP, ELGRP, IPX4. Transporte TCP, TDP, RTP, SCTP, SPX

5. Sesión TLS, SSH, RPC, NetBIOS, TELNET, SCP, ASP6. Presentación XDR, ASN.1, SMB, AFP

7. Aplicación HTTP, DNS, SMPT, SNMP, FTP, POP3

Las redes de sensores implementan un modelo distinto de la capa OSI, el cualpodríamos definir siguiendo la estructura de la Figura 2.4

Figura 2.4: Arquitectura de los diferentes planos de la pila.

Podemos apreciar que a parte de las capas anteriormente descritas, adquirimosotra dimensión y pasamos a tener una pila con planos nuevos.

Estos planos ayudan a que los nodos sensores coordinen la tarea de detección yreduzcan el consumo total de energía.

• El plano de datos gestiona el flujo de datos normal desde los nodos del sensor has-ta el nodo recolector, también denominado sink node, el cual, como su nombreindica se encarga de recolectar la información del los nodos.

• El plano de administración de energía controla cómo un nodo sensor utiliza suenergía y la coordinación de nodos con el fin de compartir recursos y reducir elconsumo total de energía.Por ejemplo, el nodo sensor puede apagar su receptordespués de recibir un mensaje de uno de sus vecinos. Esto es para evitar recibirmensajes duplicados. Además, cuando el nivel del nodo del sensor es bajo, elnodo del sensor transmite a sus vecinos que tiene poca energía y así la energíarestante está reservada para la detección.

11

Page 26: Optimización multi-objetivo de redes de sensores basada en ...

2. REDES DE SENSORES

• El plano de gestión de la movilidad detecta y registra el movimiento de los nodosde los sensores, por lo que una ruta de regreso al usuario se mantiene siempre, ylos nodos del sensor pueden realizar un seguimiento de quiénes son sus nodos desensores vecinos. Al saber quiénes son los nodos de sensores vecinos, los nodossensores pueden equilibrar su uso de energía y tareas.

• El plano de gestión de tareas equilibra y programa las tareas de detección asigna-das a una región específica.

• El plano de localización: intercambio de datos entre nodos con fines de localiza-ción.

• El plano de sincronización: intercambio de datos entre nodos con fines de sin-cronización.

12

Page 27: Optimización multi-objetivo de redes de sensores basada en ...

2.1. Descripción

2.1.3 Taxonomía de las redes de sensores

Las redes de sensores pueden clasificarse siguiendo diferentes pautas, como por ejem-plo el entorno del despliegue o su posicionamiento. El entorno distingue entre redesinalámbricas, acuáticas, subterráneas o terrestres, donde varían el hardware de losnodos y su encapsulación. A su vez la red puede ser estática o dinámica, según loscambios posicionales de los sensores. También pueden clasificarse según el modelo deflujo de datos, que engloba las redes de sensores activadas por usuario, por eventos ypor tiempo.

Las redes activadas por usuario (query−driven) ejecutan las mediciones o la descar-ga de los datos cuando se solicitan. Un ejemplo sería el proyecto CitySense (2), donde lacaptura de medidas ambientales depende directamente de las peticiones entrantes.

Figura 2.5: Esquema de red activada por usuario.

Las redes activadas por eventos (event−driven) esperan a que ocurra un aconteci-miento para captarlo y notificarlo. Por ejemplo, una red inalámbrica compuesta pordetectores de humo sólo se activa cuando registra ciertos niveles de éste. Otro ejemplosería una red de sensores de movimiento, la cual espera la aceleración de algún objetopara activarse. Generalmente estos nodos permanecen en un estado de hibernaciónhasta que ocurre el evento en sí, que es cuando lo captan.

Figura 2.6: Esquema de red activada por eventos.

Por último, las redes activadas por tiempo (time−driven) monitorizan un área deestudio a intervalos constantes o aleatorios. Podemos destacar como ejemplo de estetipo de redes las aplicaciones de monitorización de entornos, como Sentilo (3), dondeestán monitorizadas desde plazas de parking hasta niveles contaminación, temperatura,etc.

13

Page 28: Optimización multi-objetivo de redes de sensores basada en ...

2. REDES DE SENSORES

Figura 2.7: Esquema de red activada por tiempo.

En este tipo de aplicaciones el sensor capta, almacena y transmite la muestra pe-riódicamente, ya sea cada pocos segundos o con un intervalo más largo de minutos oincluso horas. El conocimiento del instante y del orden de transmisión facilita determi-nados aspectos en el diseño de una red de sensores.

Figura 2.8: Ejemplo de despliegue de sensores, cuya información trata luego la aplica-ción Sentilo.

2.2 Diseño de una red de sensores

La aplicación final de la red inalámbrica de sensores especifica los atributos prioritariospara un diseño adecuado. Estos atributos son comunes en la gran mayoría de losproyectos considerando las limitaciones tanto energéticas como computacionales. Aunasí, en cada aplicación se debe hacer un estudio para adaptarlos según los objetivosdefinidos.

Los atributos más destacables en el diseño de una red de sensores son:

• Consumo energético: el diseño debe minimizar el consumo de cada nodo contal de alargar el tiempo de vida general de la red, ya que la vida de una red sedefine por el nodo de vida más corta. La búsqueda de una topología eficiente, latransmisión del mínimo número de datos necesarios y la frecuencia de envío sonaspectos fundamentales para el ahorro de energía de los nodos.

14

Page 29: Optimización multi-objetivo de redes de sensores basada en ...

2.3. Aplicaciones

• Coste: por un lado, el coste computacional ya que, tal y como hemos comentadoanteriormente, los nodos poseen procesadores y memoria limitados, lo cual haceque las operaciones posibles se vean reducidas y que las instrucciones costosasno se puedan llevar a cabo. Por otro lado, está el coste relacionado con el costeeconómico; por lo tanto, el diseño debe estudiar el coste individual del nodo, elpresupuesto del despliegue total de la red y el mantenimiento de la misma.

• Escalabilidad: la aplicación puede incorporar a posteriori nuevos nodos, y lared ha de proveer mecanismos de actualización topológica. Al igual que si elnúmero de nodos se reduce, se han de proporcionar también estos mecanismos.Estas actualizaciones probablemente plantearán nuevos cálculos del consumoenergético y del tiempo de vida de la red, así como el coste del proyecto al serrenovado.

• Tolerancia a fallos: el despliegue debe establecer un diseño que contemple latolerancia a fallos sin que suponga la caída total del sistema. Cuando se trata deun despliegue masivo, la probabilidad de nodos inactivos es mayor que la de undespliegue con un menor número de nodos. Los sensores pueden inhabilitarse ofuncionar con un peor rendimiento por inclemencias meteorológicas, finaliza-ción de la batería, golpes, errores de alguno de sus componentes hardware, etc.En consecuencia, los nodos de redes reducidas deben ir equipados con una pro-tección extra. Aunque hemos comentado que la probabilidad de nodos inactivosera menor que la de una red con un gran despliegue, en este caso, un fallo podríasuponer la caída de la red.

• Procesamiento cooperativo: para lograr el objetivo de la red de una manera efi-ciente, los nodos trabajan colectivamente. El proceso cooperativo entre nodos esun factor indispensable para despliegues dinámicos puesto que aportan métodosde localización aproximada sin recurrir al posicionamiento GPS.

• Autoconfiguración de la red: los factores de tolerancia a fallos y escalabilidadhacen que la red tenga que ser autoconfigurable, ya que, por ejemplo, la in-corporación de nuevos nodos hace que se tengan que crear nuevas rutas deencaminamiento de datos y, por ende, una gestión autónoma en la creación dela topología.

• Agregación de datos: algunas redes dividen su trabajo en subredes o clusterspara descongestionar la red. En esta distribución los nodos transmiten sus datosal cluster head que los agrega y los envía bien a otro cluster head o a la estaciónbase. Esta configuración restringe las transmisiones de los nodos exclusivamentea sus superiores y reduce las posibilidades de congestión en la red.

2.3 Aplicaciones

Las aplicaciones de una red inalámbrica de sensores suelen categorizarse en dos gran-des grupos: la monitorización y el rastreo (Figura 2.9). El primer grupo incluye lasaplicaciones de monitorización industrial, inventariado, control de procesos automáti-cos, etc. Por el otro lado, las aplicaciones que pertenecen al grupo de rastreo abarcan elseguimiento de objetos, animales o incluso personas, entre otras aplicaciones.

15

Page 30: Optimización multi-objetivo de redes de sensores basada en ...

2. REDES DE SENSORES

Figura 2.9: Aplicaciones de redes de sensores.

En este apartado expondremos ejemplos reales de cada uno de los grupos deaplicaciones. Gericasa (3) pertenece al grupo de aplicaciones de monitorización, esun proyecto que tiene como objetivo poner en marcha una “solución integral” quemejore la atención a personas dependientes en los entornos hospitalarios; la empresatecnológica Inycom, en colaboración con el Hospital San Juan de Dios de Zaragoza yla Universidad San Jorge, han desarrollado un nuevo sistema que facilita la atenciónhospitalaria a pacientes geriátricos.

Se han incorporado distintos mecanismos para la monitorización de la sala y elpaciente: sensores de bajo coste para la medición de condiciones de temperatura, luz,humedad, aire y ruido en la sala que puedan afectar al estado de salud del enfermo,una pulsera inteligente que deberá llevar puesta el paciente para la monitorizaciónde las constantes vitales, el seguimiento de su actividad física a lo largo del día (conun contador de pasos, distancia, calorías y monitorización del sueño del paciente), asícomo un inclinómetro para medir la inclinación del respaldo de la cama.

Por otro lado, un ejemplo de aplicación de rastreo es Cenwits (4), el cual es unsistema de búsqueda y rescate de personas en espacios naturales basado en sensoresy testigos. Este sistema identifica el lugar y la hora donde la persona fue vista porúltima vez, el cual es un dato crítico para su rastreo; cada usuario está equipado conun sensor GPS y otro de radiofrecuencia, que es el encargado de trasmitir sus datosa los puntos de acceso (los testigos) instalados en puntos clave. La localización GPSy el rastro en los testigos marca la ruta de la persona. El proyecto fue diseñado yevaluado con sensores Berkeley Mica2, reduce el área de búsqueda y facilita el rescatede excursionistas perdidos o esquiadores lesionados.

Otra aplicación relacionada con la salud es FireLine, un sistema inalámbrico quemonitoriza y registra el latido del corazón en los bomberos. Cada trabajador posee unode estos sensores, el cual tiene tres electrodos que captan el pulso. El nodo transmite

16

Page 31: Optimización multi-objetivo de redes de sensores basada en ...

2.4. Hardware

Figura 2.10: Ejemplo CenWits.

los datos directamente a la estación base que está situada en el vehículo de extinción yen caso de detectar alguna actividad anormal, la aplicación alerta al bombero y al restodel equipo.

Finalmente, la aplicación ZebraNet (5) rastreó migraciones de animales en la saba-na de Kenia durante semanas. Dotaron a una decena de cebras de collares con sensoresGPS que enviaban su posicionamiento. Después de la adaptación del collar a los ani-males, los sensores recolectaron datos de estudio y, gracias al análisis de los datos, losbiólogos entendieron mejor los movimientos de las cebras.

2.4 Hardware

Los componentes físicos de un nodo están caracterizados por la búsqueda de un con-sumo mínimo de energía y un tamaño reducido. Los fabricantes de hardware mejoranlas prestaciones, abaratan los costes y disminuyen las dimensiones año tras año. Estosavances, juntamente con el progreso de suministros alternativos de energía, miniaturi-zan los sensores y alargan la vida de cada dispositivo. Siguiendo con la tendencia actual,en un futuro los sensores procesarán información a mayor velocidad, con un menorconsumo y transmitiendo datos a distancias mayores.

En este apartado mostraremos las características de algunos sensores reales.El sensor Mica2 (Figura 2.11) (6) posee dos baterías AA y un módulo de comuni-

caciones multicanal de 433, 868/916 o 310 MHz. Este nodo puede acoplar diferentessensores que monitorizan presión barométrica, luz, sonido, aceleración, posiciona-miento, etc. Sus características técnicas las podemos observar en la tabla 2.2 que semuestra a continuación.

Figura 2.11: Sensor Mica2.

17

Page 32: Optimización multi-objetivo de redes de sensores basada en ...

2. REDES DE SENSORES

Cuadro 2.2: Descripción técnica del sensor Mica2

Processor/Radio Board MRP400CB Remarks

Processor PerformanceProgram Flash Memory 128K bytes

Measurement (Serial) Flash 512K bytes > 100,000 MeasurementsConfiguration EEPROM 4K bytesSerial Communications UART 0−3V trabsmission levels

Analog to Digital Converter 10 bit ADC 8 channel,0−3V inputCurrent Draw 8mA Active model

< 15µA Sleep modeMulti-Channel Radio

Center Frequency 868/916MHz ISM bandsNumber of Channels 4/50 Programmable, country specific

Data Rate 38.4 Kbaud Manchester encodedRF Power −20 to +5 dBm Programmable, typical

Receive Sensitivity −98 dBm Typical, analog RSSI at AD Ch. 0Outdoor Draw 27 mA Transmit with maximum power

10 mA Receive< 1µA Sleep

ElectromechanicalBattery 2X AA batteries Attached pack

External Power 2.7-3.3 V Connector providedUser Interface 3 LEDs User programmable

Size (in) 2.25 x1.25 x 0.25 Excluding battery pack(mm) 58 x 32 x 7 Excluding battery pack

Weight (oz) 0.7 Excluding batteries(grams) 18 Excluding batteries

Expansion Connector 51-pin All major I/O signals

El sensor TinyNode 584 (7) fabricado por Shockfish es un nodo compacto basado enun microcontrolador MSP430 con un transmisor receptor de radio Xemics XE1250. Estenodo suele integrar un sensor que monitoriza la temperatura, pero también puedenagregarse más elementos. En la tabla 2.3 podemos observar algunas de sus característi-cas técnicas.

18

Page 33: Optimización multi-objetivo de redes de sensores basada en ...

2.4. Hardware

Cuadro 2.3: Descripción técnica del sensor TinyNode 584

TinyNode 584

Battery Supply 1 lithium, 2 alkaline batteries or 3 rechargable cellsMinimum Vin 2.4 V (min. 2.7V during flash programming)

Battery Capacity n.a.Regulated Supply only for Vin > 2.7V

Current Draw Power ConsumptionuC sleep with timer on 6.5uA 0.0195 mW

uC active, radio off 2.1 mA 6.3 mWuC active, radio idle listening 16 mA 48 mW

uC active, radio TX/RX at +12dBm 62 mA 186 mWMax.Power (uc Active, radio TX/RX at +12dBm + flash white) 76.9 mA 230.7 mW

Otros ejemplos de sensores son el de la Figura 2.12 que es el Particles, el cualmonitoriza luz, temperatura, aceleración y el de la Figura 2.13, el cual podemos apreciarque tiene un tamaño reducido y sirve para registrar signos vitales.

Figura 2.12: Sensor Particles. Figura 2.13: Sensor SHIMMER-2.

19

Page 34: Optimización multi-objetivo de redes de sensores basada en ...

2. REDES DE SENSORES

2.5 Software

Los sensores tienen integrado el software, el cual gestiona las tareas y administra elconsumo de los componentes. Para este tipo de redes, las condiciones del sistemaoperativo han de tener en cuenta las limitaciones computacionales de los nodos y hande proporcionar herramientas que manejen el módulo de comunicaciones, el sensor,la memoria y la batería. Los avances en el hardware mejoran la calidad del software,como por ejemplo la agregación de una librería para una mayor velocidad de cálculo omecanismos de codificación de datos más robustos.

El principal sistema operativo implantado en redes inalámbricas de sensores esTinyOs. Este sistema operativo diseñado para sistemas empotrados es de código abier-to y está escrito en una variante de C, que es nesC, el cual está optimizado para laslimitaciones de memoria. El origen de TinyOs se remonta a 1999 cuando la Universidadde Berkeley (California) necesitaba un sistema operativo de bajo consumo para susrecientes nodos. Desde entonces, las compañías Intel y Crossbow Technology hanapoyado el proyecto y han adaptado el sistema a sus exigencias sobre redes de sensores.

Aparte del núcleo central, TinyOs añade herramientas suplementarias como el com-pilador de nesC y algunas librerías en C. Este sistema operativo provee interfaces paraabstracciones comunes: comunicación de paquetes, monitorización de los sensores,encaminamiento de datos y almacenamiento de información.

Además, este sistema operativo utiliza tareas e interrupciones ejecutadas en ordenFirst in First Out (FIFO). Por otra parte, algunos estudios desarrollados con procesadoresmás potentes proponen la incorporación de hilos al sistema operativo para ejecutarparalelamente varias tareas en los nodos.

2.6 Seguridad

Como se ha comentado en apartados anteriores, las redes de sensores están compuestaspor un conjunto de dispositivos electrónicos, pequeños y de bajo coste.

Por este motivo, si se desea añadir algún tipo de mecanismo de seguridad a la redante los posibles ataques, no puede basarse en las técnicas clásicas (pensadas paramáquinas más potentes) y requiere la aplicación de soluciones alternativas.

2.6.1 Ataques

Las redes de sensores son un caso particular de redes wireless, por ello, sufren susmismas debilidades. Asimismo, la naturaleza peculiar de los sensores y su elevadonúmero añaden otro tipo de problemas.

Una red de sensores está compuesta típicamente por una gran cantidad de nodosdesplegados en un entorno no controlado e incluso hostil. Los sensores suelen serdispositivos simples, de poca potencia, cosa que provoca que no sea posible aplicar lastécnicas de seguridad que se utilizan en otro tipo de entornos. Asimismo, su simplicidadlos hace más vulnerables a ataques.

Una lista de los posibles ataques que puede recibir una red de sensores es la pre-sentada a continuación. Además, cabe decir que algunos de los ataques pueden serproducidos de forma no intencionada.

20

Page 35: Optimización multi-objetivo de redes de sensores basada en ...

2.6. Seguridad

• Compromiso de un nodo: Se asume que, debido a la simplicidad de los sensores,así como al entorno incontrolado dónde se encuentran, un atacante puede ganarel control de un nodo y obtener todos sus datos (claves criptográficas incluidas).Además de la obtención de los datos privados del nodo, el atacante podría intro-ducir datos falsos en la red o realizar una denegación de servicio a base de noretransmitir los paquetes que le lleguen de otros nodos.

• Destrucción de un nodo: Debido a la falta de control del entorno donde la redestá desplegada, un sensor puede ser destruido (o simplemente transportadofuera del alcance de la red) ya sea de forma voluntaria o involuntaria, por unatacante o por condiciones de contorno (clima, incendios, animales, etc.). Podríaser causa de una denegación de servicio si ese nodo fuera una pieza importanteen el enrutado de los datos hacia la estación base o si el nodo destruido fuera lamisma estación base.

• Escucha o modificación de los datos: Como pasa en cualquier red wireless, no sepuede evitar que los datos que viajan entre nodos sean escuchados por cualquierreceptor situado dentro del rango de transmisión del emisor. Es también posibleque cualquier emisor no autorizado emita paquetes que sean recibidos por losnodos de la red.

• Acceso o alteración de la red: Consiste en introducir un nuevo nodo en la red conpropósitos maliciosos como: obtener datos, falsear datos, impedir el servicio, etc.

• Denegación de servicio (DoS): Impedir que la red lleve a cabo su funcionalidadde forma correcta. Estos ataques pueden ser de distinta naturaleza e incluso nointencionados.

Por otro lado, los puntos de ataque a una red de sensores son los siguientes:

• Estación base: Elemento de mayor potencia de la red. Es el elemento encargadode hacer de puente entre la red y el exterior. Su caída imposibilita el correctofuncionamiento de la red. Puede existir más de una estación base en una red, perosiempre será un número mucho menor que la cantidad de sensores desplegados.

• Sensores: Elementos formantes de la red. Tienen poca capacidad y son muyvulnerables. Debido a la gran cantidad de ellos la caída de un sensor no debeafectar sustancialmente a la red si su topología es suficientemente densa. Elmayor riesgo consiste en el compromiso de un nodo por parte de un atacante,que le permitirá atacar la red desde dentro.

• Comunicaciones: De forma similar a una red wireless, las comunicaciones entrenodos pueden ser objeto de ataques de escucha, de introducción de datos falsoso de anulación de las comunicaciones (mediante DoS).

Finalmente, un último aspecto relacionado con la seguridad consiste en la protecciónfrente a ataques de redes de sensores. Por tanto, es necesario el desarrollo de sistemasque permitan la detección de la presencia de redes de sensores hostiles e incluso laanulación de sus funcionalidades.

21

Page 36: Optimización multi-objetivo de redes de sensores basada en ...

2. REDES DE SENSORES

2.6.2 Defensas

Una vez introducida la tipología de ataques que puede recibir una red, se puede pasar alestudio de posibles mecanismos de defensa. La solución a los problemas presentadoses abordada con distintas propuestas, todas ellas bastante independientes entre sí,aunque con autores similares. Por un lado, se ha intentado asegurar el routing coniniciativas distintas a las propuestas para redes wireless comunes.

Asimismo, se intentará proteger los elementos formantes de la red, ya sea protegien-do la estación base o tratando de detectar intrusos presentes en la red. Por otro lado,hay iniciativas que se focalizan en la protección de la información o en la protecciónde la agregación de la información.

Finalmente, otros esfuerzos se dedican a la predistribución de claves para la comu-nicación entre las distintas partes.

A continuación, se presentan las distintas estrategias que pretenden ofrecer protec-ción a algunos de los ataques presentados en la sección anterior.

La primera trata de conseguir un enrutado seguro en una red de sensores. Conél se trata de evitar que un atacante pueda alterar el enrutado y conseguir hacer unataque DoS, escuchas, alteraciones de mensajes, etc. La segunda intenta proteger laestación base ocultándola a los atacantes, así como el acceso de los nodos a la misma.Se trata de evitar que el atacante comprometa la funcionalidad de la estación base. Latercera trata de detectar los intrusos en la red de sensores para posteriormente poderactuar en consecuencia (ignorándolo, marginándolos, etc). La cuarta trata de protegerla agregación de la información realizada por los nodos.

Y, finalmente, la quinta estrategia trata de proteger la información en sí.

2.6.3 Conclusiones

Las redes de sensores ofrecen una interesante funcionalidad y por ello se está traba-jando en su desarrollo y perfeccionamiento. Por la naturaleza de estas redes y delentorno donde suelen estar desplegadas, puede ser objetivo de multitud de ataques.Así, La defensa está condicionada y fuertemente limitada por las características de losdispositivos que forman la red.

Se han desarrollado mecanismos de protección de la red, tanto para proteger suselementos como para proteger sus comunicaciones y, en particular, para protegerel enrutado. No obstante, el incremento en las medidas de seguridad comporta unincremento en el consumo de batería, un recurso muy limitado en los sensores. Sedebe poner énfasis en el uso de soluciones que no requieran un alto coste (como usarcriptografía simétrica y funciones de hash para el cifrado y autenticación en lugar decriptografía asimétrica, reducir el tamaño y la cantidad de mensajes a enviar, etc).

Asimismo, existen esfuerzos para la solución de aspectos concretos de seguridad,pero no hay ninguna propuesta que trate de proporcionar una solución completa quedé el nivel de seguridad que necesita una red.

Las soluciones actuales pueden ser suficientes para el despliegue en entornos pocohostiles. No obstante, en entornos con atacantes poderosos la protección de las redes desensores se convierte en un tema complicado de mantener durante el tiempo completode vida de la red.

22

Page 37: Optimización multi-objetivo de redes de sensores basada en ...

CA

TU

LO

3Simulated annealing

3.1 Introducción a las técnicas de optimización

La Investigación Operativa (IO) (9) (10) es una ciencia moderna interdisciplinaria, que,mediante la aplicación de teoría, métodos y técnicas especiales, busca la soluciónóptima de problemas complejos. Luego, el objetivo más importante de la IO es darapoyo a la toma óptima de decisiones. En cuanto a la metodología que emplea la IO,puede reducirse a los siguientes pasos:

1. Análisis de la realidad y formulación del problema: el analista debe observar elproblema desde diferentes puntos de vista, consciente de las realidades sociopo-líticas y económicas, para definir de forma clara los objetivos y limitaciones.

2. Modelado matemático representativo: se deben identificar las variables de deci-sión, la función objetivo y las restricciones del problema.

3. Resolución del modelo: en esta fase se elige la técnica de resolución y se generanlas soluciones.

4. Presentación de resultados: se lleva a cabo el análisis y verificación de soluciones,se analiza la representatividad del modelo y se realiza análisis de sensibilidad.

5. Implementación de resultados: se preparan los informes y presentaciones y sesupervisa la aplicación.

Como la realidad es compleja, muchos de estos modelos son de dimensiones enormesy, además, son estocásticos, es decir, hay parámetros cuyos valores no pueden sercontrolados por la persona que toma la decisión y son desconocidos. También son nolineales e intervienen variables enteras.

Cada una de estas características, (dimensión, estocasticidad, integralidad y nolinealidad), dificultan enormemente la resolución del problema, considerándose pro-blemas de complejidad computacional elevada.

23

Page 38: Optimización multi-objetivo de redes de sensores basada en ...

3. Simulated annealing

La optimización es una parte fundamental de la IO, por tanto, ésta incluye gran can-tidad de ramas como la Programación Lineal, Programación no Lineal, ProgramaciónDinámica, Simulación, Teoría de Colas, Teoría de Inventarios, Teoría de Grafos, etc.

En la optimización confluyen las Matemáticas y las Ciencias de la Computación. Elpropósito de ésta es construir y resolver de forma efectiva modelos realistas de la situa-ción que se estudia, con objeto de permitir que los tomadores de decisiones explorenuna amplia variedad de posibles alternativas. Más concretamente, la optimización serefiere al análisis y resolución de problemas en que se debe tomar una solución entreun conjunto de soluciones factibles. El objetivo es encontrar la mejor solución (nonecesariamente única) y las elecciones se comparan de acuerdo a una cierta función,llamada función objetivo.

Entre los objetivos de esta ciencia interdisciplinaria, están los clásicos de maxi-mización de beneficios o rendimiento y minimización de pérdida, costes o riesgo, alos que se suman, entre otros, los objetivos de eficiencia (asignación de recursos aactividades), la optimización espacio-temporal (por ejemplo, mínima espera en unacola o mínima distancia a recorrer en un viaje) y la mejora en términos de equidad(como la minimización de diferencias entre individuos en cuanto al reparto de trabajoo la distribución de vacaciones).

Finalmente, cabe comentar que el reconocimiento de la importancia de este tipode problemas coincidió con el desarrollo en 1947 de un método eficiente, el méto-do simplex, por George Bernard Dantzig (1914-2005), y un medio, el ordenador, paraaplicarlo.

3.2 Versión estándar de simulated annealing

Son muchos los algoritmos que pueden aplicarse en busca de soluciones óptimas.Éstos han ido evolucionando desde el uso de métodos exactos, hacia heurísticos ymetaheurísticos finalmente.

Existe una clase de problemas cuyo coste computacional es NP, esto se debe a queno se conocen algoritmos exactos con tiempos de convergencia en tiempo polinómico.Es decir, aunque existiera un algoritmo que encontrara la solución exacta al problema,tardaría tanto tiempo en encontrarla que lo hace completamente inaplicable.

Además, un algoritmo exacto es completamente dependiente del problema queresuelve, de forma que cuando se cambia el problema se tiene que diseñar un nuevoalgoritmo exacto y demostrar su optimalidad de nuevo. Por este motivo, para la mayoríade problemas de interés no existe un algoritmo exacto con complejidad polinómicaque encuentre la solución óptima. Además, el espacio de búsqueda de estos problemassuele ser muy grande. Debido a estos dos motivos, se necesitan utilizar algoritmosaproximados o heurísticos, los cuales permiten obtener una solución de calidad en untiempo razonable.

El algoritmo Simulated Annealing (10), pertenece al grupo de algoritmos heurísticos.Éste se basa en principios de la termodinámica y el proceso de recocido del acero. Dichoalgoritmo considera los problemas de optimización combinatoria como problemasque buscan un óptimo global.

El algoritmo Simulated Annealing combina el Hill-Climbing(11) con el seguimien-to de un camino aleatorio de modo que se pueda conseguir tanto eficiencia como

24

Page 39: Optimización multi-objetivo de redes de sensores basada en ...

3.2. Versión estándar de simulated annealing

optimalidad.

Tal y como hemos comentado anteriormente, el modelo de funcionamiento delalgoritmo procede del proceso físico del templado de metales. Para conseguir quela estructura molecular del metal tenga las propiedades deseadas de resistencia oflexibilidad, es necesario controlar la velocidad del proceso de templado (enfriamiento).Si se hace adecuadamente, el estado final del metal es un estado de mínima energía.

A continuación, explicaremos detalles más concretos del algoritmo. Éste consta de2 elementos clave:

1. El bucle interno: es un método que permite obtener nuevas configuraciones(estados) a partir de la actual. Obtenemos el esquema de exploración del espaciode configuraciones.

2. El bucle externo: es un esquema de descenso de temperatura, enfriamiento, quegarantiza la convergencia a óptimos globales correspondientes a mínima energía.

Figura 3.1: Diagrama del funcionamiento del SA.

25

Page 40: Optimización multi-objetivo de redes de sensores basada en ...

3. Simulated annealing

El objetivo es encontrar la mejor configuración para la temperatura fijada. Para ellose exploran caminos de longitud máxima prefijada. Para evitar elegir mínimos relativos,no elige el mejor sucesor si no que elige uno aleatorio.

La probabilidad de que una configuración sea elegida depende de su energía (fun-ción de calidad) y de la temperatura T de la iteración:

• Si T →∞ más o menos todas las configuraciones tienen igual probabilidad deser elegidas, independientemente de su calidad.

• Si T → 0 sólo las configuraciones de coste mínimo tienen probabilidad no nula.

El sucesor aleatorio generado se convierte en el siguiente, si supone una pérdidade energía (estamos minimizando y, por tanto, es mejor que su antecesor) pero conuna cierta probabilidad también puede ser elegido aunque suponga un incremento (espeor que su antecesor); esto se debe a lo descrito anteriormente, haciendo este procesoevitamos obtener una solución óptima relativa y, así, podemos seguir buscando la solu-ción óptima global. La secuencia de configuraciones del bucle más interno reproduceun camino aleatorio para una temperatura T dada. La condición de equilibrio se puedealcanzar fijando un número máximo de pasos.

El esquema de la temperatura, T , es una función que regula su descenso. Ha degarantizar la convergencia al mínimo global, independientemente de la configuracióninicial. Normalmente el valor de T se obtiene como una función del tiempo.

Finalmente cabe comentar que se puede demostrar que, si el esquema de la tempe-ratura T disminuye lo bastante despacio, el algoritmo encuentra el óptimo global conprobabilidad cercana a 1.

función SA(problema , esquema )ret( estados_solución )act := ESTADO_INICIAL ( problema );T:= teemperatura_inicial ( esquema );tope := num_iteraciones ( esquema );t

:=0;repetir

est := act;it :=0;repetir

sig := sucesor_aleatorio (est);E:= valor(sig)-valor(est);si E<0 enotnces est := sig;sino q:= min {1,e^{E/T}};

si aleatorio (0 ,1) < q entonces est := sig;it:=it +1;

hasta it:= tope;act := epst; T:= ENFRIAR (T, esquema );t:=t+1;

hasta T(aprox)0ret act

3.3 Extensión multi-objetivo

Durante los primeros capítulos de este proyecto, se ha hecho hincapié en que unode los problemas de las redes de sensores es el tiempo de vida. Pero, también, hansurgido otros problemas, relacionados con el despliegue de éstas, por ese motivo eneste apartado proponemos la extensión a multi-objetivo (12).

26

Page 41: Optimización multi-objetivo de redes de sensores basada en ...

3.3. Extensión multi-objetivo

Cuadro 3.1: Diseño de objetivos y criterios de optimización.

Diseño de objetivosCriterios de optimización

MHS MST SPR STML

Tiempo de vida • • •PER, PLR • •

Path delay • •Rendimiento •

Número de nodos de transmisión •

Si analizamos algoritmos tradicionales como el MST apreciamos que la carga deltráfico soportado por cada nodo es ignorada, solo se centra exclusivamente en lasdistancias. El CTP es un algoritmo que no tiene como objetivo maximizar el tiempo devida de la red, ya que se enfoca a encontrar el camino de rendimiento más alto entrelos nodos. Finalmente, otro ejemplo sería el SPR, el cual homogeniza la distribución dela energía consumida.

Con estos ejemplos podemos observar que su denominador común es que solo seenfocan en un único objetivo de optimización,y los demás se satisfacen a expensas delprimero; en la optimización multi-objetivo se abordan dos o más objetivos principales.

La solución más completa para el problema de optimización multi-objetivo vienedada por lo que denominaremos conjunto de Pareto. Éste estará compuesto por unconjunto de soluciones no dominantes.

La variable de los objetivos la formularemos como o = [o1, · · · ,om]. En nuestro caso,aplicaremos solamente dos objetivos, estos serán el de maximizar el tiempo de vida dela red y el de minimizar el número de nodos intermedios que necesite el despliegue dela misma.

Finalmente, para construir el conjunto de Pareto, nos basaremos en el conceptode dominancia. De esta manera, diremos que una solución es dominante sobre otra sicada uno de los objetivos de una es mejor que en la otra solución. Si no se cumple ensu totalidad, diremos que las soluciones son co-dominantes, debido a que ninguna esmejor que la otra. Estas soluciones co-dominantes serán las que formen el conjunto dePareto.

A continuación, explicaremos el pseudocódigo del MOSA

Set PS={t}; T=T_0; /t is any initil spanning tree/while (T > T_{f})

for i=1, ...,LEt’= Pertub (t)if(t’ > t o t’ (aprox) t)

t=t’PS= UpdatePS (t,PS)

else if(exp(- delta_0 /T))>Random (0 ,1)t=t’

end ifend forT = alplha T

end while

27

Page 42: Optimización multi-objetivo de redes de sensores basada en ...

3. Simulated annealing

En el código anterior PS representa el conjunto de Pareto actual y T la temperatura,la cual utilizaremos como parámetro de control, siendo T0 temperatura inicial y T f

temperatura final. El parámetro α designa un número real menor que 1, LE es lalongitud de cada iteración y, finalmente, δ0 es una función positiva que cuantifica lavariación multi-objetivo.

Podemos observar que en el pseudocódigo hay dos métodos, El primero de ellos esPerturb(i,t), donde dados un nodo i y un árbol t , determina el padre de dicho nodo. Yel segundo método es el de Update(PS)que tal y como su nombre indica, actualiza elvalor del conjunto de Pareto.

28

Page 43: Optimización multi-objetivo de redes de sensores basada en ...

CA

TU

LO

4APLICACIÓN DE Simulated Annealing AL

DISEÑO DE UNA RED DE SENSORES

4.1 Selección de objetivos

A la hora de aplicar el algoritmo MOSA nos hemos decantando por la maximizacióndel tiempo de vida y la minimización de los nodos repetidores a insertar.

La maximización del tiempo de vida es un objetivo principal de diseño en toda redde sensores, dado que cada nodo tiene una autonomía limitada, tal y como hemos co-mentado a lo largo del proyecto. Además, el reemplazo de las baterías es una operacióntediosa y a veces inviable que conviene aplazar lo máximo posible. Es cierto que hoyen día se producen nodos con sistemas de abastecimiento propio, pero estos no sonactualmente muy utilizados debido a su elevado coste.

Por otro lado, la minimización del número de nodos repetidores también tieneimportancia ya que es sabido que los nodos tienen una alcance limitado y cada vez lasredes de sensores tienen como objetivo alcanzar coberturas más grandes. Esto obliga autilizar nodos repetidores incrementando de esta forma el coste del despliegue.

4.2 Caracterización de los objetivos

La caracterización de los objetivos escogidos considera que el tiempo de vida de losnodos de una red de sensores tiene muchas definiciones, pero la que nosotros aplica-remos en este proyecto es la más común, la que corresonde al tiempo que transcurrehasta que el primer nodo deja de funcionar o bien, en otras palabras, dura mientrastodos los nodos son operativos.

Para definir el tiempo de vida, utilizaremos la fórmula 4.1, donde B es la cantidad deenergía de todos los nodos, es decir, la batería. Si utilizáramos otro tipo de nodos, quetuvieran abastecimiento propio, esta definición de tiempo de vida no tendría sentido.Por un lado, L designa el tiempo de vida expresado en número de rondas y, por otra

29

Page 44: Optimización multi-objetivo de redes de sensores basada en ...

4. APLICACIÓN DE Simulated Annealing AL DISEÑO DE UNA RED DE SENSORES

parte, el denominador expresa el valor máximo de energía consumida por un nodo enuna ronda de comunicación (17).

L = B

max{E(i ), i = 1, · · · , N }= B

E(i )|max(4.1)

Referente a los nodos a insertar, se trata de un despliegue de grado dos, esto es quetales nodos se van a insertar entre dos nodos regulares y por ese motivo sólo tendrándos enlaces. Dichos nodos también son incluidos a la hora de realizar el cálculo deltiempo de vida de la red, con la pequeña modificación de que obedecen a un modelode consumo energético distinto ya que, a diferencia de los nodos regulares, estos nogeneran mensajes propios. Por lo tanto, la E (i ) del denominador de la fórmula 2.1, quehace referencia a la energía consumida, aquí tendríamos que tener en cuenta que enla fórmula 2.1 el valor deg (i ) ·EG (i ) no los tendríamos que considerar debido a queel resultado de este producto hace referencia a la energía que consume un nodo algenerar y transmitir sus propios paquetes.

4.3 Tecnología utilizada

La implementación del código desarrollado en este proyecto es en el lenguaje Mathe-matica (14). Este lenguaje es utilizado en áreas científicas, de ingeniería, matemáticay áreas computacionales. Originalmente fue concebido por Stephen Wolfram, quiencontinúa siendo el líder del grupo de matemáticos y programadores que desarrollanel producto en Wolfram Research, compañía ubicada en Champaign (Illinois). Co-múnmente considerado como un sistema de álgebra computacional, Mathematica estambién un poderoso lenguaje de programación de propósito general.

Algunas de las ventajas que podemos destacar son:

• Un amplio sistema, todo integrado: cuenta con alrededor de 5000 funciones inte-gradas que cubren todas las áreas de la computación técnica, cuidadosamenteoperadas para que funcionen juntas perfectamente e incluidas en el sistemaintegrado de Mathematica.

• No sólo números o matemáticas: sobre la base de más de veinticinco años dedesarrollo, Mathematica sobresale en todas las áreas de la computación técnica,incluyendo redes, imágenes, geometría, ciencia de datos, visualización, aprendi-zaje automático, etcétera.

• Poder algorítmico: Mathematica construye poderosos algoritmos sin precedenteen todas las áreas, muchos de los cuales son creados en Wolfram utilizando lasmetodologías de desarrollo y capacidades únicas de Wolfram Language.

Según mi parecer, aparte de las ventajas anteriormente especificadas, hemos dedestacar la gran documentación oficial, juntamente con tutoriales y ejemplos del propioWolfram Mathematica, los cuales facilitan tanto el aprendizaje como la programaciónen sí.

30

Page 45: Optimización multi-objetivo de redes de sensores basada en ...

4.4. Diseño a nivel de pseudocódigo

4.4 Diseño a nivel de pseudocódigo

A continuación detallaremos el pseudocódigo del algoritmo MOSA implementado eneste proyecto, el cual está formado básicamente por los dos algoritmos detallados ante-riormente. El objetivo es obtener un conjunto formado por soluciones co-domintantesentre los objetivos definidos de maximizar tiempo de vida y de minimizar el núme-ro de los nodos repetidores. Por ende, y tal como podemos apreciar, primeramenteobtenemos todas las soluciones referentes al mapa (situación inicial del despligue) yposteriormente pasamos a realizar el tratamiento para saber si pueden o no formarparte del conjunto de Pareto. De esta manera obtenemos como resultado solucionesque mantienen el equilibrio entre los objetivos establecidos.

La primera parte del pseudocódigo es la que hace referencia al procedimiento delsimulated annealing. En primer lugar inicializamos el estado del árbol para procedera iterar. El método Perturb es que se encarga de seleccionar un nuevo sucesor paranuestro estado, después en Evaluar revisamos el coste del cambio, también valoramosel criterio exponencial el cual lo comparamos con un valor aleatorio. De esta manera,evitamos centrarnos en máximos relativos y así podemos estudiar otras soluciones.Finalmente, en UpDate actualizamos si es favorable el estado y las variables de iteración.

La segunda parte hace referencia al conjunto de Pareto, al igual que anteriormen-te inicializamos las variables necesarias para la iteración. En Perturbmo obtenemosel conjunto de Pareto el cual revisamos en Evaluate paara finalmente actualizar lassoluciones en UpDate.

MOSAfuncion SA ( esquema ) return ( solucion )

act := estado_inicial ;T:= temperatura inicial ( esquema );tope := numero_iteraciones ( esquema );t:= 0;repetir

est := act; it:= 0;repetir

PERTURB (* elegimos sucesor *)EVALUAR (* evaluamos el cambio *)UPDATE (* actualizamos si es favorable *)it:= it +1;

hasta it == topeact := est; T:= ENFRIAR (T, esquema )t:= t+1;

hasta T =~ 0return act;funcion MO( solucion ) return (SP)

set PS:= ( solucion );t:= temperatura_inicial ( esquema )mientras (t < tf)

for i=1 ... max (* numero de iteraciones *)T ’:= PERTURB_MO ( solucion );EVALUATE ; (* condiciones de dominancia *)(* actualizamos los valores del conjunto de pareto )UPDATE (PS);

end for;t= alpha·t ;

end mientras ;

31

Page 46: Optimización multi-objetivo de redes de sensores basada en ...

4. APLICACIÓN DE Simulated Annealing AL DISEÑO DE UNA RED DE SENSORES

return SP;end MOSA

4.5 Resultados

Tras la ejecución del algoritmo MOSA, se proporciona el conjunto de Pareto discrimi-nado. Pero para llegar hasta esa solución hemos generado gran cantidad de datos, loscuales tiene interés analizar. Para llevar esta tarea a cabo hemos optado por la repre-sentación de la información mediante gráficas, las cuales explicaremos a continuación.

El algoritmo se ha ejecutado un total de 8 veces, en las cuales hemos ido modifican-do los valores de los nodos el número de nodos que forman el despliegue. Los valoresutilizados han sido 2, 4, 6, 8, 10, 12, 15 y 20 nodos.

A continuación detallamos las siguientes gráficas las cuales representan el conjuntode Pareto obtenido para cada una de las pruebas con los diferentes números de nodos.

Figura 4.1: Conjunto de Pareto-2 Nodos

32

Page 47: Optimización multi-objetivo de redes de sensores basada en ...

4.5. Resultados

Figura 4.2: Conjunto de Pareto-4 Nodos

Figura 4.3: Conjunto de Pareto-6 Nodos

33

Page 48: Optimización multi-objetivo de redes de sensores basada en ...

4. APLICACIÓN DE Simulated Annealing AL DISEÑO DE UNA RED DE SENSORES

Figura 4.4: Conjunto de Pareto-8 Nodos

Figura 4.5: Conjunto de Pareto-10 Nodos

34

Page 49: Optimización multi-objetivo de redes de sensores basada en ...

4.5. Resultados

Figura 4.6: Conjunto de Pareto-12 Nodos

Figura 4.7: Conjunto de Pareto-15 Nodos

35

Page 50: Optimización multi-objetivo de redes de sensores basada en ...

4. APLICACIÓN DE Simulated Annealing AL DISEÑO DE UNA RED DE SENSORES

Figura 4.8: Conjunto de Pareto-20 Nodos

Al analizar las diferentes gráficas podemos observar varios factores. A medida quevamos aumentando el número de nodos que tendremos en el despliegue de la red desensores, las soluciones que forman el conjunto de pareto también aumenta, esto esdebido a que cuanto menor es el número más posibilidad tenemos de obtener unasolución dominante muy competitiva, lo cual hace que se discriminen muchas posiblessoluciones de este conjunto. Al incrementar el número de nodos del despliegue lassoluciones entre ellas son más equitativas, de ahí que el número que forman el conjuntode Pareto sea mayor.

También podemos observar como cuando la red está formada a partir de seis nodos,las soluciones del conjunto de Pareto parece que son progresivas, es decir, que existeun equilibrio entre nodos a insertar y tiempo de vida. Por ese motivo encontramos larelación directa entre un número mayor de nodos a insertar, mayor tiempo de vida.

En el caso de un despliegue de 2 nodos, encontramos una solución en el conjuntode Pareto la cual tiene un tiempo de vida de 737002. Esto se debe a que cuanto menor esel despliegue los nodos tienen menos mensajes que retransmitir de sus nodos vecinosy, por ende, el desgaste es menor. Ya que además, también hay que tener en cuenta que,al estar formados por tan pocos nodos, muchos de ellos están conectados directamentecon la estación base, de ahí que es este tipo de despliegues se obtengan el mayor tiempode vida de entre todas las ejecuciones.

Así pues, se puede concluir que con un mayor número de nodos en la red de senso-res contenga, un mayor número de nodos repetidores. Aunque cabe mencionar que, taly como se puede apreciar, el número de nodos a insertar se va estabilizando, eso estádirectamente relacionado con el tamaño del espacio donde se realizará el despliegue.Como en todas las ejecuciones es el mismo, se podría dar que, si ejecutáramos para 50nodos, el número de nodos a insertar fuera menor que en el de 20 debido a que en laregión en la que probamos, el despliegue de esos nodos no superaría en muchos casoslos 250 metros de transmisión entre ellos.

36

Page 51: Optimización multi-objetivo de redes de sensores basada en ...

4.5. Resultados

Figura 4.9: Nodos repetidores

Tal y como era de esperar, a medida que incrementáramos el tamaño de la red, eltiempo de ejecución aumentaría. En la gráfica podemos apreciar que el incremento esde carácter exponencial.

Figura 4.10: Tiempo en ejecución en horas.

Este conjunto está formado por soluciones que tienen en cuenta dos objetivos, enla Figura 4.11 hemos representado la mejor de las soluciones respecto al tiempo devida, ya que hemos dado más importancia a ese objetivo.

Cabe destacar que estamos representando la mejor solución respecto al tiempo devida del conjunto de Pareto.

37

Page 52: Optimización multi-objetivo de redes de sensores basada en ...

4. APLICACIÓN DE Simulated Annealing AL DISEÑO DE UNA RED DE SENSORES

Figura 4.11: Soluciones conjuntos Pareto.

Si analizamos la Figura 4.11 lo primero y lo más importante que podemos observares que no encontramos resultados tan altos relacionados con los tiempos de vida, nicon los nodos repetidores y eso se debe a que al aplicar el algoritmo MOSA lo queobtenemos es un equilibrio entre los objetivos que seleccionamos, y en nuestro casoson el tiempo de vida y los nodos repetidores.

38

Page 53: Optimización multi-objetivo de redes de sensores basada en ...

CA

TU

LO

5APLICACIÓN AL DISEÑO DE UNA RED DE

PREVENCIÓN DE INCENDIOS FORESTALES

5.1 Descripción del escenario

Hemos aplicado lo anteriormente explicado a un caso práctico. El diseño topológicoque vamos a analizar es para la prevención de incendios forestales (15), concretamenteen la zona de Estellencs (Mallorca).

Para determinar la colocación de los nodos hay que tener conocimiento sobrelas características de los incendios forestales, ya que carece de sentido implantar unsistema de monitorización en regiones donde la tasa de incendios es muy reducida ono accesible. Por ello, se evalúan las zonas más propensas a padecer un incendio.

El estudio de las características de un incendio se basa principalmente en dosaspectos: la ignición y la propagación. El primero de ellos es el causante de la llamainicial y por otro lado tenemos la propagación que es la dispersión del fuego.

Las principales causas son:

• Intencionados: representan un 60%−70% de los casos. Las motivaciones sonvariadas, siendo la más común la quema no autorizada, ilegal e incontrolada desuperficies agrícolas. Otras motivaciones menos corrientes detrás de un incendioprovocado son la piromanía, vandalismo, venganzas personales, especulaciónurbanística, bajar el precio de la madera, etc.

• Negligencias y otras causas accidentales: representan un 15%−25% de los casos.En este apartado, las quemas agrícolas (en este caso autorizadas, pero en las quelos autores perdieron el control del fuego extendiéndose éste por la superficieforestal colindante). Otras causas son las colillas y hogueras mal apagadas, quemade basuras, trabajos forestales, etc.

• Naturales: representan menos de un 5% de los casos y se deben casi siempre a laacción de un rayo.

39

Page 54: Optimización multi-objetivo de redes de sensores basada en ...

5. APLICACIÓN AL DISEÑO DE UNA RED DE PREVENCIÓN DE INCENDIOS FORESTALES

Volviéndonos a centrar en el caso de uso, tal y como observamos en la siguientefigura (Figura 5.1) podemos observar que el riesgo más alto de incendio en la isla deMallorca está situado en el norte y el oeste. Por ese motivo, tal y como hemos adelantadoal principio, la región seleccionada ha sido Estellencs, la cual consta de 13 hectáreas,aunque el despliegue estará distribuido en una región de 5 hectáreas.

Figura 5.1: Mapa de riesgo de incendio forestal en Mallorca.

Estellencs está situado en plena Sierra de Tramuntana al oeste de Mallorca (Figura5.2). Su sistema forestal está formado por encinas y pinos. La detección de incendios seefectúa desde una torre de vigilancia fija situada en Galatzó 1 , a 5 km.

1http://lareservamallorca.com/

40

Page 55: Optimización multi-objetivo de redes de sensores basada en ...

5.1. Descripción del escenario

Figura 5.2: Ubicación de Estellencs en el mapa de Mallorca.

Cabe destacar que el aislamiento del municipio incrementa el tiempo de respuestaante cualquier emergencia que, unido a la inexistencia de equipos permanentes en lalucha contra incendios, incrementan las vulnerabilidades ante un desastre medioam-biental. Estas circunstancias corroboran los argumentos de la implantación de una redde sensores que anticipe situaciones de alto riesgo.

El despliegue final de los nodos considera las causas más frecuentes en la iniciaciónde un incendio. Se colocan varios nodos próximos a carreteras, debido a negligen-cias como, por ejemplo, tirar colillas. También se sitúan nodos cercanos a actividadesagrícolas (Figura 5.3).

Figura 5.3: Despliegue de la red de sensores en Estellencs.

41

Page 56: Optimización multi-objetivo de redes de sensores basada en ...

5. APLICACIÓN AL DISEÑO DE UNA RED DE PREVENCIÓN DE INCENDIOS FORESTALES

En resumen, la prevención de incendios se efectúa con 12 nodos dispersos en laregión de Estellencs, más la estación base en su núcleo urbano. Los nodos situados enlas coordenadas del cuadro 5.1, se instalarían en la parte superior de los árboles. Seha decidido que su colocación será allí debido a que de este modo dificultaremos losposibles hurtos además de reducir las interferencias con otros obstáculos.

Cuadro 5.1: Coordenadas GPS de cada nodo y coordenadas XY en metros

NodoCoordenadas GPS

Coordenadas XY (m)Latitud(N) Longitud(E)

1 39°38′48.80′′ 2°28′1.94′′ (−1237, −738)2 39°38′57.77′′ 2°28′9.33′′ (−1062, −461)3 39°39′7.41′′ 2°28′11.35′′ (−1014, −163)4 39°39′0.24′′ 2°28′20.58′′ (−795, −384)5 39°39′0.09′′ 2°28′33.58′′ (−486, −389)6 39°39′9.62′′ 2°28′24.78′′ (−695, −94)7 39°39′21.41′′ 2°28′23.33′′ (−730, 271)8 39°39′18.69′′ 2°28′9.16′′ (−1066, 186)9 39°39′13.16′′ 2°28′0.91′′ (−1262, 15)

10 39°39′3.73′′ 2°27′56.23′′ (−1373, −276)11 39°38′55.21′′ 2°27′41.33′′ (−1726, −540)12 39°38′43.04′′ 2°27′41.10′′ (−1732, −916)

Base 39°39′12.67′′ 2°28′54.08′′ (0, 0)

42

Page 57: Optimización multi-objetivo de redes de sensores basada en ...

5.2. Plataformas hardware

5.2 Plataformas hardware

Las plataformas hardware de los sensores han ido evolucionando año tras año. Losfabricantes de hardware mejoran las prestaciones, abaratan los costes y disminuyenlas dimensiones. En la figura 5.4 podemos ver una línea temporal referente a modelosde sensores. Aunque nosotros para nuestra aplicación consideraremos tres opcionesmás actuales.

Figura 5.4: Eje temporal con ejemplos de sensores.

La primera plataforma que hemos tenido en cuenta es SensiNet Rack Sentry, ModelTEHU-2121 (18). Este sensor controla la temperatura y la humedad con alta precisión.Las características principales de este modelo las podemos encontrar en el cuadro 5.2.Además, podemos observar que el alcance es de 212 metros, por lo tanto, no minimizalos nodos replay a insertar respecto al despliegue que hemos contemplado en estetrabajo. Debido a que su alcance es menor al necesario en nuestro caso de uso.

43

Page 58: Optimización multi-objetivo de redes de sensores basada en ...

5. APLICACIÓN AL DISEÑO DE UNA RED DE PREVENCIÓN DE INCENDIOS FORESTALES

Cuadro 5.2: Especificaciones técnicas TEHU-2121

Specifications

Radio IEEE 802.15.4 compliant, 2.4 GHz DFSSRegulatory FCC Part 15 and CE Approval

Antenna Internal antennaOutput power 15 dBm

RangeUp to 700 ft/212m range (outdoor, line of sight)

Up to 230 ft/70 m range (typicalindoor conditions)Operating temperature −10degC to 50degC

Batteries 3.6 lithium thionyl chloride battery packBattery life 3 years at 2 minute reporting intervals

Update interval User selectable 10 sec to 60 minutesDimensions 2”x5.5”x.75”

Packaging ABS Box - IP 30 ratedMounting Velcro

Temperature range Accuracy (-)40 to 125C,±0.5CRH Accuracy 0−99%RH non condensing, ±3%RH

Otra opción que podríamos tener en cuenta es la ofrecida por Libelium (19). Suprincipal ventaja es que ofrece un largo alcance, de este modo reduciríamos de modoconsiderable los nodos repetidores a insertar. Pero un inconveniente de LoRaWAN esla baja velocidad de transmisión con un alto factor de dispersión. Esto puede resultarun problema ya que el canal compartido podría estar demasiado ocupado, y por endetardar más para enviar una sola trama. Por lo tanto, su fabricante recomienda que no loutilicemos si lo que queremos es una retransmisión en tiempo real.

Figura 5.5: Esquema conexión mediante tecnología LoRaWAN.

Finalmente comentaremos la solución que nos ofrece TecMes (22). Como bien

44

Page 59: Optimización multi-objetivo de redes de sensores basada en ...

5.3. Análisis de resultados

sabemos, la determinación de índices indicadores de que ocurra un incendio y su pro-pagación, requiere de información meteorológica local de las zonas de riesgo. El contarcon dicha información permite el cálculo de dichos índices y así poder prevenirlos. Paraello ofrecen la estación meteorológica Pegasus línea ep 201(20). Ésta es una estaciónportable, con transmisión directa de datos a la web. Su construcción modular y com-pacta, con panel solar incluido, permite su armado y configuración con los sensoresmás convenientes para su aplicación. Además, el acceso a la información ambiental sepuede lograr de dos maneras: conectándose a la estación vía cable USB o a través deinternet. Dicha estación haría la función de estación base para el despliegue de nodosy se pueden utilizar varios modelos, en este caso hemos considerado el TS251T (21), yaque es uno de los que recomienda el fabricante. Al igual que el sensor TEHU-2121, noofrece largo alcance, así pues, no se puede disminuir el número de nodos repetidoresen nuestro caso de uso.

5.3 Análisis de resultados

Al ejecutar el algoritmo MOSA habitualmente obtenemos diferentes soluciones debidoa que la colocación de los sensores viene determinada por los registros de la aplicación odel usuario y, así, el resultado de MOSA puede variar dependiendo de la semilla utilizadaen la simulación. De todos modos, si el número de nodos es pequeño, su resultadosuele variar de forma poco significativa (resulta que para cada colocación la solución esmayoritariamente determinista). De esta manera, al aplicarlo al caso práctico de la redde sensores para la prevención de incendios forestales hemos introducido de maneramanual las coordenadas, así pues, solo hemos obtenido una solución. La conexiónentre los nodos que forman el despliegue ha quedado como el esquema de la Figura 5.6

Figura 5.6: Esquema del despliegue generado por el MOSA.

Tal y como hemos comentado anteriormente el despliegue consta de 12 nodosademás de la estación base. En la figura 5.6 no se muestra, pero teniendo en cuentaque el alcance máximo de los nodos es de 250 metros, hemos tenido que colocar nodosintermedios para hacer posible la retransmisión de la información. Este desplieguetiene un tiempo de vida de 199996 rondas y necesita de 13 nodos repetidores.

45

Page 60: Optimización multi-objetivo de redes de sensores basada en ...

5. APLICACIÓN AL DISEÑO DE UNA RED DE PREVENCIÓN DE INCENDIOS FORESTALES

Inicialmente se han considerado dos escenarios que difieren en la colocación inicialde los nodos (una determinada por el algoritmo y otra según las necesidades del casode uso) y, de esta forma, se ha obtenido información de interés.

Al ejecutar el algoritmo considerando 12 nodos y que, además, éste determina lacolocación de estos, se puede apreciar que el conjunto de Pareto está formado porcincos soluciones co−dominantes. De esta manera, en un principio se puede apreciarque la solución que hemos obtenido para el caso de uso de Estellencs no es dominanterespecto a las del conjunto de Pareto del otro caso.2 Ya que existe una solución enel conjunto de Pareto con mayor tiempo de vida considerando el mismo número denodos relay.

Tal y como hemos comentado anteriormente en el conjunto de Pareto existen solu-ciones dominantes con respecto a la solución obtenida en Estellencs. Estas solucionesobtienen valores mejores en ambos objetivos como es el caso de las siguientes figuras:en la Figura 5.7 teniendo como valor de tiempo de vida 360637 rondas y 20 nodosrepetidores y en la Figura 5.8 teniendo como valor de tiempo de vida 311081 rondas y13 nodos repetidores.

Figura 5.7: Ejemplo de distribución nodos dominante respecto al despliegue de Este-llencs.

Hemos apreciado que entre todas las soluciones los valores de nodos repetidoresa insertar, siempre oscilan entre los mismos valores, estos los encontramos en unintervalo de entre 13−17 nodos. En cambio, los valores de tiempo de vida son másdispares, aun así, si tuviéramos que definir la moda de estos resultados estaría entreunas 250,000−350,000 rondas. Por ende, si damos prioridad al objetivo de tiempo devida, no colocar los nodos nos hace obtener distribuciones más óptimas. Pero tambiénhay que tener en cuenta que en ocasiones la dispersión de estos es importante y, talcomo vemos en los ejemplos anteriores, ninguna de ellas son distribuciones parecidas.

Como conclusión, el algoritmo da mejor solución para una colocación que vienepredeterminada por los criterios de la aplicación que cuando ésta es escogida por

2Incluir gráfica

46

Page 61: Optimización multi-objetivo de redes de sensores basada en ...

5.3. Análisis de resultados

Figura 5.8: Ejemplo 2 de distribución de nodos dominante respecto al despliegue deEstellencs.

el usuario. Por ello, se ha de tener en todo momento claro si lo nodos han de estarexactamente en una posición o si bien se puede ser más flexible a fin de optimizar losobjetivos.

47

Page 62: Optimización multi-objetivo de redes de sensores basada en ...
Page 63: Optimización multi-objetivo de redes de sensores basada en ...

CA

TU

LO

6CONCLUSIONES

El progreso tecnológico tanto en las comunicaciones como en el diseño y fabricaciónde los componentes que forman una red de sensores han favorecido el auge de lasredes sensoriales. Concretamente, las mejoras de los componentes han permitidoel desarrollo de sensores de bajo consumo, los cuales tienen un coste y un tamañoreducido. Así, la interconexión de los nodos crea redes que conectan el mundo físicocon el virtual, de manera que posibilitan infinidad de aplicaciones, tal y como hemoscomentado en el punto 2.3. Pero las que tienen un fin social, como en este caso que,a partir de la información que nos proporcionan unos sensores, seamos capaces deprevenir incendios forestales (como hemos expuesto en nuestro caso de uso).

Se puede apreciar que se ha cubierto el objetivo principal que se marcó al principiode esta memoria. Ya que como los resultados reflejan, hemos obtenido un algoritmo queequilibra de manera óptima los objetivos aplicados al despliegue de una red de sensores.A su vez, durante el desarrollo de dicho trabajo, he consolidado diferentes objetivosconcretos como aprender sobre la técnica de Simulated Annealing y la programacióncon la herramienta de Mathematica.

La primera línea de futuro, donde podemos tomar como base este TFG, es la amplia-ción de objetivos. Tal y como se ha explicado a lo largo de esta memoria, los objetivosque trabajamos son los de maximizar el tiempo de vida de la red de sensores y el deminimizar la inserción de nodos relays. Se podrían tener en cuenta otros objetivoscomo por ejemplo el de minimizar el PER o el PLR entre otros.

Dado que, tal y como sabemos, el tiempo de vida es un factor fundamental para lasredes de sensores, han salido al mercado varios modelos de sensores los cuales vienenprovistos de una fuente de energía, como pueden ser la placas solares (23). De estemodo, aplicar el algoritmo teniendo en cuenta ese objetivo carece de sentido.

También hay que tener en cuenta que una línea en la cual se está trabajando cadavez más es la de comunicar directamente el sensor con el usuario. Así pues, la dificultadde encontrar el sensor adecuado pasa a un segundo plano. Además, el acceso a internetha facilitado la parte del usuario, entonces la cuestión principal resulta cómo llega lainformación del sensor a internet. La solución más fácil y actualmente la más utilizada

49

Page 64: Optimización multi-objetivo de redes de sensores basada en ...

6. CONCLUSIONES

son las tarjetas SIM/GPRS, que permiten enviar a la nube la información prácticamentede cualquier sensor. Ésta, tiene varios aspectos que mejorar y de ahí surge el conceptode Redes Inteligentes de Gestión (24) dónde nos explican las ventajas que se obtendríanal trabajar en lugar de con las tarjetas SIM con dichas redes WIFI

Finalmente, destacar que:“Ya no estamos en la era de la información. Estamos en la era de la gestión de la

información.”1

Por lo tanto, resulta tan importante que aprovechemos todos los recursos quetenemos, en este caso redes de sensores, como las acciones a tomar con la informaciónobtenida.

1Cita del actor Chris Hardwick

50

Page 65: Optimización multi-objetivo de redes de sensores basada en ...

AP

ÉN

DI

CE

ACÓDIGO.

(* ALGORITMO MOSA *)(* Parámetros *)(*La funcion timing nos poroporcionará el dato de el tiempo de \ejecución del programa *)Timing [ LongitudX =

1750;(* Longitud horizontal del área de despligue de sensores , \expresada en m. *)

LongitudY =1300;(* Mitad de la longitud vertical del área de despligue de \

sensores , expresada en m. *)m = 32; (* Tamaño de los paquetes *)Er = 50*m;(* Energía de recepción . Dato del fabricante expresado en

\nJ *)

D0 = 75;(* Distancia que determina la elección de f (Path Loss \Exponent ), expresada en m. Ver artículo L-TDMA *)

Bateria =15000000000000; (* Carga inicial de los sensores expresada en nJ *)

Alcance = 250;(* Control de temperatura correspondiente al conjunto de Pareto *)(* Establecer semilla que permitirá reproducir el mismo \

comportamiento del programa *)TempEstable = 0;SPTVSA =

Table [0, {i,1}]; (* Tabla inicial donde almacenaremos todos los tiempos de \

vidas de las soluciones al mapa *)SPNISA =

Table [0, {i,1}]; (* Tabla inicial donde almacenaremos todos los nodos relay

de \vidas de las soluciones al mapa *)

While[ TempEstable < 50,Print[" Semilla utilizada para la obtención de esta red: ",

Semilla = RandomInteger [9999]];

51

Page 66: Optimización multi-objetivo de redes de sensores basada en ...

A. CÓDIGO.

SeedRandom [ Semilla ];k = 20; (* Tamaño , en número de nodos , de las redes estudiadas *)G = Table [1, {i, 1, k}];(*Número de paquetes enviados por nodo y round *)G = Insert [G, 0, 1];(* Despliegue aleatorio de sensores sobre el área determinada .El nodo base se encuentra en las coordenadas (0,0) y los vértices del área rectangular de despliegue son: (0,LongitudY ), (LongitudX ,LongitudY ), (0, -LongitudY ), (LongitudX , -LongitudY ) *)CoordenadaX = Table[ Random []* LongitudX , {i, 1, k}];CoordenadaX = Insert [ CoordenadaX , 0, 1];CoordenadaY = Table [2* LongitudY * Random [] - LongitudY , {i, 1, k}];CoordenadaY = Insert [ CoordenadaY , 0, 1];(* Cálculo de las distancias de cada nodo al nodo base *)DistanciaBase =

Table[N[Sqrt[ CoordenadaX [[i]]^2 + CoordenadaY [[i]]^2]] , {i, 1,k + 1}];

(* Orden de los nodos en función de la distancia al nodo base *)OrdenBase = Ordering [ DistanciaBase ];CoordenadaX = CoordenadaX [[ OrdenBase ]];CoordenadaY = CoordenadaY [[ OrdenBase ]];NumeroNodo =

Table [{ CoordenadaX [[i]] + Divide [LongitudX , 1000]*15 ,CoordenadaY [[i]] + Divide [LongitudX , 1000]*15} , {i, 1, k + 1}];

Situacion =Table [{ CoordenadaX [[i]], CoordenadaY [[i]]}, {i, 1, k + 1}];

(* Obtención del árbol MST *)(* El estado representa una red de sensores de k nodos en forma de

\árbol dirigido y se define por las coordenadas de los nodos y el \padre de cada nodo *)

EstadoMST = Table [0, {i, 1, k + 1}];EstadoMST [[2]] = 1;OrdenUnion = {1, 2};While[ Length [ OrdenUnion ] < k + 1,

DistanciaMinima = Infinity ;For[j = 1, j <= Length [ OrdenUnion ], j++,

Distancia =Table [

N[Sqrt[Abs[CoordenadaX [[i]] - CoordenadaX [[ OrdenUnion [[j ]]]]]^2 +

Abs[ CoordenadaY [[i]] -CoordenadaY [[ OrdenUnion [[j]]]]]^2]] , {i, 1, k + 1}];

DistanciaMenor = Ordering [ Distancia ];DistanciaMenor =

DeleteCases [ DistanciaMenor , x_ /; MemberQ [OrdenUnion , x]];If [ Distancia [[ First[ DistanciaMenor ]]] < DistanciaMinima ,

DistanciaMinima = Distancia [[ First [ DistanciaMenor ]]];EstadoMST [[ First[ DistanciaMenor ]]] = OrdenUnion [[j]];NuevoNodo = First[ DistanciaMenor ]]];

OrdenUnion = Join[OrdenUnion , { NuevoNodo }]];(* Finalmente en OrdenUnion tendremos el MST *)(* Cálculo de energia del árbol MST considerando modelo descrito

en \L-TDMA.

Calculamos el número de mensajes que se enviarán y finalmente \

52

Page 67: Optimización multi-objetivo de redes de sensores basada en ...

obtenemos las energias Ew y Et*)Distancias =

Table[N[Sqrt[Abs[ CoordenadaX [[i]] - CoordenadaX [[ EstadoMST [[i ]]]]]^2 +

Abs[ CoordenadaY [[i]] - CoordenadaY [[ EstadoMST [[i]]]]]^2]] , {i,

2, k + 1}]; Distancias = Insert [Distancias , 0, 1];NIMST =

Table[ Quotient [Abs[ Distancias [[i]] - 1], Alcance ], {i, 2, k +1}];

R = Table [0, {i, 1, k + 1}];Mensajes = EstadoMST ;While[ Mensajes != Table [0, {i, 1, k + 1}],

Table[R[[i]] =R[[i]] + G[[ Flatten [ Position [Mensajes , i]][[j]]]] , {i, 1,k + 1}, {j, 1, Length [ Flatten [ Position [Mensajes , i ]]]}];

Mensajes =Mensajes /.

Table [If[ Mensajes [[i]] != 0,Mensajes [[i]] -> EstadoMST [[ Mensajes [[i]]]] ,Mensajes [[i]] -> 0], {i, 1, k + 1}]];

f = Table [2, {i, 1, k + 1}];Ew = Table [10, {i, 1, k + 1}];For[i = 2, i < k + 2, i++,

If[ Distancias [[i]] > D0 , Ew[[i]] = 0.0013; f[[i]] = 4]];Et = Table [

Er + (Ew[[i ]]*(10^( -3) )*m*( Distancias [[i]]^f[[i]])), {i, 1,k + 1}];

EnergiaNodo =Table [(R[[i]]*( Er + Et[[i]])) + (G[[i]]* Et[[i]]) , {i, 2, k + 1}];

EnergiaNodo = Insert [ EnergiaNodo , 0, 1];NodoMST = Ordering [ EnergiaNodo , -1][[1]];Energia = EnergiaNodo [[ NodoMST ]];NodoMST = NodoMST - 1;TVMST = N[ Quotient [Bateria , Energia ]];DMST = Mean[Rest[ Distancias ]];EMST = Mean[Rest[ EnergiaNodo ]];(* Temperatura inicial del algoritmo SA que permite que más del 80

\% de las transiciones hacia un estado peor se acepten *)

(*De esta manera lo que conseguimos es que no se favorezcan los \máximos LOCALES y así poder facilitar

que se encuentre uno GLOBAL *)Temp = 2000 * LongitudX * LongitudY *k;(* Obtención del estado inicial para algoritmo SA de forma

aleatoria *)\

(* El estado representa una red de sensores de k nodos en forma de\

árbol dirigido y se define por las coordenadas de los nodos y el \padre de cada nodo *)

EstadoMejor = Table [0, {i, 1, k + 1}];ListaNodos = Table[i, {i, 2, k + 1}];While[ Length [ ListaNodos ] > 0,

Nodo = RandomChoice [ ListaNodos ];L = 0;

53

Page 68: Optimización multi-objetivo de redes de sensores basada en ...

A. CÓDIGO.

Rechazados = {Nodo };ListaPadres =

DeleteCases [ Table[j, {j, 1, k + 1}], x_ /; MemberQ [Rechazados , x]];

While[L != Length [ Rechazados ],L = Length [ Rechazados ];Rechazados =

Join[Rechazados ,Cases [ ListaPadres ,

x_ /; ( EstadoMejor [[x]] != 0) && !MemberQ [ ListaPadres , EstadoMejor [[x ]]]]];

ListaPadres =DeleteCases [ ListaPadres , x_ /; MemberQ [Rechazados , x]]];

EstadoMejor [[ Nodo ]] = RandomChoice [ ListaPadres ];ListaNodos = DeleteCases [ListaNodos , Nodo ]];

EstadoNuevo = EstadoMejor ;EnergiaMejor = Infinity ;EnergiaActual = Infinity ;Estable = 0;NumeroTemperaturas = 0;(* Condición de congelación .Aplicación de distintas temperaturas sobre la misma red hasta \

alcanzar una situación en que ya no se reduce el consumo de energía ,es decir ,se ha alcanzado de forma estable un tiempo de vida máximo *)While[ Estable < 50,

It = 1;ItMax = 1000;NumeroEstadoMejor = 1;NumeroTemperaturas = NumeroTemperaturas + 1;(* TrA/TrT =porcentaje de transiciones hacia un estado peor aceptadas *)TrT = 0;TrA = 0;(* Condición de estabilidad *)(* Cálculo de energia del nuevo estado considerando modelo \

descrito en L-TDMA. Seguimos el mismoprocedimiento que hemos hehco anteriormente ,y así obtenemos las energías Ew y Et*)While [(It <= ItMax),

Distancias =Table [N[Sqrt[

Abs[ CoordenadaX [[i]] - CoordenadaX [[ EstadoNuevo [[i ]]]]]^2 +Abs[ CoordenadaY [[i]] -

CoordenadaY [[ EstadoNuevo [[i]]]]]^2]] , {i, 2, k + 1}];Distancias = Insert [Distancias , 0, 1];R = Table [0, {i, 1, k + 1}];Mensajes = EstadoNuevo ;While [ Mensajes != Table [0, {i, 1, k + 1}],

Table [R[[i]] = R[[i]] + G[[ Flatten [ Position [Mensajes , i]][[j]]]] , {i

,1, k + 1}, {j, 1, Length [ Flatten [ Position [Mensajes , i ]]]}];

Mensajes =Mensajes /.

Table[If[ Mensajes [[i]] != 0,Mensajes [[i]] -> EstadoNuevo [[ Mensajes [[i]]]] ,

54

Page 69: Optimización multi-objetivo de redes de sensores basada en ...

Mensajes [[i]] -> 0], {i, 1, k + 1}]];f = Table [2, {i, 1, k + 1}];Ew = Table [10, {i, 1, k + 1}];For[i = 2, i < k + 2, i++,

If[ Distancias [[i]] > D0 , Ew[[i]] = 0.0013; f[[i]] = 4]];Et = Table[

Er + (Ew[[i ]]*(10^( -3) )*m*( Distancias [[i]]^f[[i]])), {i, 1,k + 1}];

EnergiaNodo =Table [(R[[i]]*( Er + Et[[i]])) + (G[[i]]* Et[[i]]) , {i, 2, k +

1}];EnergiaNodo = Insert [ EnergiaNodo , 0, 1];

Nodo = Ordering [ EnergiaNodo , -1][[1]];EnergiaNueva = EnergiaNodo [[ Nodo ]];(* Guardar el estado mejor *)If[ EnergiaNueva < EnergiaMejor , ESA = Mean[Rest[ EnergiaNodo ]];

EnergiaMejor = EnergiaNueva ; EstadoMejor = EstadoNuevo ;NumeroEstadoMejor = It;(*A continuación almacenaremos el nodo con el peor tiempo de \

vida , ya que éste será el que limite la vida de la red de sensores *)NodoMejor = Nodo - 1];

(* Aplicar condición de cambio de estado según algoritmo de \Simulated Annealing . UPDATE *)

If[ EnergiaNueva <= EnergiaActual , EnergiaActual = EnergiaNueva ;EstadoActual = EstadoNuevo ,TrT = TrT + 1;If[Exp [( EnergiaActual - EnergiaNueva )/Temp] > Random [],

TrA = TrA + 1; EnergiaActual = EnergiaNueva ;EstadoActual = EstadoNuevo ]];

(* Obtención del estado siguiente , o vecino ,cambiando uno solo de los enlaces , escogido de forma aleatoria ,por otro enlace , también escogido aleatoriamente *)EstadoNuevo = EstadoActual ;Hijo = RandomInteger [{2, k + 1}];Padre = EstadoActual [[ Hijo ]];ListaEnlaces = DeleteCases [ Table[i, {i, 1, k + 1}], Padre ];ListaEnlaces = DeleteCases [ ListaEnlaces , Hijo ];NuevoEnlace = RandomChoice [ ListaEnlaces ];(* Se mira si el nuevo enlace es un descendiente del hijo *)Descendientes = Position [ EstadoActual , Hijo ];Encontrado = False;While [( Length [ Descendientes ] > 0 && ! Encontrado ),

Encontrado = ( First [ Descendientes ] == { NuevoEnlace });(* Actualizamos la lista de los descendientes ,ya que han sido modificados los enlaces *)Descendientes =

Join[ Descendientes ,Position [ EstadoActual , First[ Descendientes ][[1]]]];

Descendientes = Drop[ Descendientes , 1]];EstadoNuevo [[ Hijo ]] = NuevoEnlace ;If [Encontrado , EstadoNuevo [[ NuevoEnlace ]] = Padre ];(* Transición al siguiente estado dentro de la misma temperatura

*)

It = It + 1];If[ NumeroEstadoMejor == 1, Estable = Estable + 1, Estable = 0] ;(* Descenso de temperatura *)

55

Page 70: Optimización multi-objetivo de redes de sensores basada en ...

A. CÓDIGO.

Temp = Temp *0.8];(* Realizamos el cálculo de los nodos intermedios a insertar ,debido a que el alcance de los nodos es 250 metros ,en algunas ocasiones donde los nodos estén a mayor distancia se \

tendrán que insertar nodos relay *)DistanciaMayor =

Table[N[Sqrt[Abs[ CoordenadaX [[i]] - CoordenadaX [[ EstadoMejor [[i ]]]]]^2 +

Abs[ CoordenadaY [[i]] -CoordenadaY [[ EstadoMejor [[i]]]]]^2]] , {i, 2, k + 1}];

TVSA = N[ Quotient [Bateria , EnergiaMejor ]];NISA = Table[

Quotient [Abs[ DistanciaMayor [[i]] - 1], Alcance ], {i, 1, k}];TempEstable ++;(* Conjunto de pareto tiempos de vida *)SPTVSA = Insert [SPTVSA , TVMST , 1];(* Conjunto de pareto nodos relay *)SPNISA = Insert [SPNISA , Sum[NIMST [[i]], {i, k}], 1];(* Impresión del despligue de la red de sensores ,y de la información correspondente a ésta *)Print["Árbol MST: "];Print[Show[

Graphics [{{ Blue ,Text["BS", {- Quotient [LongitudX , 100] - 20, 0}]} , { PointSize [

Large], Red , Point [{0, 0}]} ,Table [{ Arrowheads [.025] ,

Arrow [{ Situacion [[i]], Situacion [[ EstadoMST [[i]]]]}]} , {i,2,

k + 1}], { PointSize [ Medium ], Red ,Point[Table [ Situacion [[i]], {i, 2, k + 1}]]}}] ,

ListPlot [ Table [{ NumeroNodo [[i]]}, {i, 2, k + 1}],PlotMarkers -> Table [i, {i, 1, k}], PlotStyle -> Blue ,Axes -> False ]]];

Print["El tiempo de vida es: ", TVMST ," y el nodo que lo determina es: ", NodoMST ];

Print["La distancia media es: ", DMST ];Print["La energía media consumida es: ", EMST ];Print["El número de nodos a insertar es: ", Sum[NIMST [[i]], {i, k

}]];Print["Las coordenadas de los nodos son: ", CoordenadaX ];Print["Las coordenadas de los nodos son: ", CoordenadaY ];Print["Los valores en el SP de tiempo de vida son: ", SPTVSA ];Print["Los valores en el SP de nodos relay son: ", SPNISA ];];

(* Analizamos el conjunto de pareto . En éste solo podrán estar las \soluciones que sean co - dominantes entre ellas *)

h = 0;t = 0;(* Lo usaremos para iterar encima de los que tratare como

newv \y newn *)

v = SPTVSA ; (* Salvaguardamos el valor del tiempo de vida del \conjunto de pareto *)

n = SPNISA ; (* Salvaguardamos el valor del tiempo de vida del \conjunto de pareto *)

(* Utilizaremos estos valores para tratar el conjunto de pareto *)copyv = v;copyn = n;(* Variable para saber cuando el elemento se ha eliminado del \

56

Page 71: Optimización multi-objetivo de redes de sensores basada en ...

conjunto y podemos dejar de iterar sobre dicho elemento *)exit = 0;f = 1; (* Para saber que elemento eliminar *)(* Calculamos el tamaño del SP para saber hasta cuando hacer las \

iteracines *)tamaux = Length [v];(* Inicializamos las variables auxiliares , las cuales utilizaremos \

para saber si un elemento puede formar parte del SP o no*)aux1 = Table [0, {i, 1}];aux2 = Table [0, {i, 1}];aux4 = Table [0, {i, 1}];While [t < tamaux ,

t++;newv = v[[t]];newn = n[[t]];exit = 0;h = t;h++;While [h <= tamaux && exit == 0,

valorV = v[[h]];valorN = n[[h]];h++;(*A continuación valoramos las condiciones que afirman que una \

solución es co - dominante .Para eso la solución no ha de ser mejor en los dos objetivos con

\las soluciones que ya están en el SP*)

If[newv > valorV && newn > valorN ,aux1 = Insert [aux1 , 0, 1],aux1 = Insert [aux1 , 1, 1]];

If[newv < valorV && newn < valorN ,aux2 = Insert [aux2 , 0, 1],aux2 = Insert [aux2 , 1, 1]];

aux3 = aux1 + aux2;pos = Position [aux3 , 2];(* Actualizamos los valores del SP*)If[aux3 [[1]] == 2,

exit = 1;copyv =

DeleteCases [copyv ,v[[t]]]; (*En la variable auxiliar copyv tenemos los valores \

actualizados del SP del tiempo de vida *)copyn =

DeleteCases [copyn ,n[[t]]]; (*En la variable auxiliar copyv tenemos los valores \

actualizados del SP de los nodos intermedios a insertar *)];

];Print["Soy vida SP" ];Print[v];Print["Soy nodos SP"];Print[n];];

aux3 = aux1 + aux2;pos = Position [aux3 , 2];

57

Page 72: Optimización multi-objetivo de redes de sensores basada en ...

A. CÓDIGO.

(* Finalmente imprimimos los valores actualizados del SP , ahora ya \solo están las soluciones co - dominantes del mapa inicial *)

Print[copyv ];Print[copyn ];]

58

Page 73: Optimización multi-objetivo de redes de sensores basada en ...

BIBLIOGRAFÍA

[1] Wendi B. Heinzelman, Anantha P. Chandrakasan y Hari Balakrishnan,“An Application-Specific Protocol Architecture for Wireless Microsensor Net-works”. 2002. Disponible: http://www.ece.rochester.edu/projects/wcng/papers/journal/leach_twc02.pdf 2.1.1

[2] Rohan Narayana Murty, Geoffrey Mainland, Ian Rose, Atanu Roy Chowdhury, Abhi-manyu Gosain, Josh Bers y Matt Welsh, “CitySense: An Urban-Scale Wireless SensorNetwork and Testbed”. 2007. Disponible: http://www.environment.harvard.edu/docs/faculty_pubs/welsh_city.pdf 2.1.3

[3] Heraldo, “Sensores de bajo coste y una pulsera inteligente para mejorar laatención a pacientes ancianos”. 2016. Disponible: http://www.heraldo.es/noticias/suplementos/salud/2016/02/25/sensores-bajo-coste-una\-pulsera-inteligente-para-atencion-pacientes-ancianos-784674-1381024.html 2.1.3, 2.3

[4] Jyh-How Huang, Saqib Amjad y Shivakant Mishra, “A Sensor-Based LooselyCoupled Search and Rescue System Using Witnesses”. 2005. Disponible: https://www.cs.colorado.edu/~mishras/research/papers/sensys05.pdf 2.3

[5] Philo Juang, Hidekazu Oki, Yong Wang, Margaret Martonosi, Li-Shiuan Peh yDaniel Rubenstein, ”Energy-Efficient Computing for Wildlife Tracking: DesignTradeoffs and Early Experiences with ZebraNet”. 2002. Disponible: http://www.princeton.edu/~mrm/asplos-x_annot.pdf 2.3

[6] “Mica2, wireless measurement system”. 2004. Disponible: https://www.eol.ucar.edu/isf/facilities/isa/internal/CrossBow/DataSheets/mica2.pdf 2.4

[7] ”TinyNodeâ„¢ 584”. 2005. Disponible: http://www.snm.ethz.ch/Projects/TinyNode584 2.4

[8] ] Margaret Rouse, “Internet of Things IoT”. 2012. Disponible: http://www.gartner.com/it-glossary/internet-of-things/ 1.1

[9] María Merino Maestre, “Técnicas Clásicas de Optimización ”. 2015. Disponi-ble: http://www.ehu.eus/mae/html/prof/Maria_archivos/plnlapuntes.pdf 3.1

[10] Aitana Vidal Esmorís. “Algoritmos heurísticos en optimización ”. 2013. 3.1, 3.2

59

Page 74: Optimización multi-objetivo de redes de sensores basada en ...

BIBLIOGRAFÍA

[11] Barts Selman y Carla P Gomes, “Hill Cimbing − Search”. 2006. 3.2

[12] María Luisa Santamaría y Sebastià Galmés, “ Multi−Objective Simulated AnnealingApproach for Optimal Routing in Time-Driven Sensor Networks”. 2011. 3.3

[13] Sergi Cabré Longàs, “Seguridad en redes de sensores”. 2008. Dispo-nible: http://research.ac.upc.edu/CompNet/doct/curso-0506/Security-SN-treball.pdf

[14] Wolfram Mathematica. Disponible: https://www.wolfram.com/mathematica/4.3

[15] Javier Blanco, Daniel García, Marc CastellNou, Domingo Molina, Federico Grilloy Enric Pous,“Curso básico sobre incendios forestales”.2008. Disponible: http://adfmasquefa.net/uploads/CursoBasicoIF_1_121.pdf 5.1

[16] Luis Vicente Charlesworth y Sebastià Galmés Obrador, “Prevención de incendiosforestales mediante una red de sensores”. 2010.

[17] María Luisa Santa María , Sebastià Galmés y Ramon Puigjaner, “Simulated Annea-ling Approach to Optimizing the Lifetime of Sparse Time-Driven Sensor Networks”.2009. 4.2

[18] Referencia técnica, “Sensor TEHU-2121”. Disponible: http://www.wirelesssensors.com/images/pdfs/Rack_Sentry_Slimline_2015.pdf5.2

[19] Libelium,“Waspmote LoRaWAN Networking Guide”. 2016. Dispo-nible: http://www.libelium.com/downloads/documentation/waspmote-lorawan-networking-guide.pdf 5.2

[20] Referencia técnica,“Estación meteorológica Pegasus línea EP 201”. Dis-ponible: http://www.tecmes.com/wp-content/uploads/2014/pdf/equipos-autonomos/EP-201.pdf 5.2

[21] Referencia técnica , “Sensor TS251T”. Disponible: http://www.tecmes.com/wp-content/uploads/2014/pdf/sensores/TS-251T.pdf 5.2

[22] Tecmes: Inteligencia Ambiental. Disponible: http://www.tecmes.com/inicio-esp/ 5.2

[23] Soledad Escolar, Stefano Chessa y Jesús Carretero, “Energy management in solarcells powered wireless sensor networks for quality of service optimization”, JournalPersonal and Ubiquitous Computing Volume 18 Issue 2, February 2014, Pages449-464 6

[24] Redes inteligentes de gestión. Disponible: https://zwitproject.es/smart-cities-tarjetas-sim-o-redes-inteligentes-de-gestion/6

60