07.05.2013 Views

Optimización de Redes Sensoras - Satu Elisa Schaeffer

Optimización de Redes Sensoras - Satu Elisa Schaeffer

Optimización de Redes Sensoras - Satu Elisa Schaeffer

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Un vistazo a los fundamentos <strong>de</strong><br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong><br />

Dra. <strong>Elisa</strong> <strong>Schaeffer</strong><br />

elisa.schaeffer@gmail.com<br />

PISIS / FIME / UANL<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 1


Re<strong>de</strong>s sensoras<br />

Contenidos<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 2


Re<strong>de</strong>s sensoras<br />

Teoría <strong>de</strong> grafos<br />

Contenidos<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 2


Re<strong>de</strong>s sensoras<br />

Teoría <strong>de</strong> grafos<br />

Mo<strong>de</strong>lado matemático<br />

Contenidos<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 2


Re<strong>de</strong>s sensoras<br />

Teoría <strong>de</strong> grafos<br />

Mo<strong>de</strong>lado matemático<br />

Programación lineal<br />

Contenidos<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 2


Re<strong>de</strong>s sensoras<br />

Teoría <strong>de</strong> grafos<br />

Mo<strong>de</strong>lado matemático<br />

Programación lineal<br />

Programación entera<br />

Contenidos<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 2


Re<strong>de</strong>s sensoras<br />

Teoría <strong>de</strong> grafos<br />

Mo<strong>de</strong>lado matemático<br />

Programación lineal<br />

Programación entera<br />

Problema <strong>de</strong> ruteo<br />

Contenidos<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 2


Re<strong>de</strong>s sensoras<br />

Teoría <strong>de</strong> grafos<br />

Mo<strong>de</strong>lado matemático<br />

Programación lineal<br />

Programación entera<br />

Problema <strong>de</strong> ruteo<br />

Dualidad<br />

Contenidos<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 2


Re<strong>de</strong>s sensoras<br />

Teoría <strong>de</strong> grafos<br />

Mo<strong>de</strong>lado matemático<br />

Programación lineal<br />

Programación entera<br />

Problema <strong>de</strong> ruteo<br />

Dualidad<br />

Posibles objetivos<br />

Contenidos<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 2


Re<strong>de</strong>s sensoras<br />

Teoría <strong>de</strong> grafos<br />

Mo<strong>de</strong>lado matemático<br />

Programación lineal<br />

Programación entera<br />

Problema <strong>de</strong> ruteo<br />

Dualidad<br />

Posibles objetivos<br />

<strong>Optimización</strong> distribuida<br />

Contenidos<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 2


Sensor<br />

Elemento <strong>de</strong>tector es componente electrónico capaz <strong>de</strong><br />

evaluar la presencia <strong>de</strong> algún fenómeno<br />

ambiental,<br />

acústico,<br />

sísmico,<br />

infraroja,<br />

etcétera...<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 3


Nodo sensor<br />

Un nodo sensor tiene a<strong>de</strong>más <strong>de</strong> un <strong>de</strong>tector o varios<br />

típicamente por lo menos los siguientes componentes:<br />

capacidad <strong>de</strong> procesamiento limitado: un procesador<br />

para controlar la operación <strong>de</strong> la unidad<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 4


Nodo sensor<br />

Un nodo sensor tiene a<strong>de</strong>más <strong>de</strong> un <strong>de</strong>tector o varios<br />

típicamente por lo menos los siguientes componentes:<br />

capacidad <strong>de</strong> procesamiento limitado: un procesador<br />

para controlar la operación <strong>de</strong> la unidad<br />

memoria limitado: un nodo pue<strong>de</strong> ser capaz <strong>de</strong><br />

agregar datos, pero algunos no tienen capacidad <strong>de</strong><br />

memoria para guardad tal información<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 4


Nodo sensor<br />

Un nodo sensor tiene a<strong>de</strong>más <strong>de</strong> un <strong>de</strong>tector o varios<br />

típicamente por lo menos los siguientes componentes:<br />

capacidad <strong>de</strong> procesamiento limitado: un procesador<br />

para controlar la operación <strong>de</strong> la unidad<br />

memoria limitado: un nodo pue<strong>de</strong> ser capaz <strong>de</strong><br />

agregar datos, pero algunos no tienen capacidad <strong>de</strong><br />

memoria para guardad tal información<br />

una fuente <strong>de</strong> energía limitada (pila o bateria).<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 4


Ejemplo <strong>de</strong> un nodo sensor<br />

Procesador <strong>de</strong> Texas Instruments y radio <strong>de</strong> Chipcon<br />

(IEEE 802.15.4). Precio 100 USD por unidad, 8,000 USD<br />

por cien unida<strong>de</strong>s y 40,000 por mil unida<strong>de</strong>s.<br />

russnelson.com/wisan/Sensor-no<strong>de</strong>-front.jpg<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 5


Red sensora<br />

Una red sensora es un conjunto <strong>de</strong> sensores distribuidos<br />

en una región geográfica<br />

Una red típicamente cuenta con una gran cantidad <strong>de</strong><br />

sensores.<br />

Los nodos pue<strong>de</strong>n ser estacionarios o móviles<br />

(robóticos).<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 6


Tareas típicas <strong>de</strong> re<strong>de</strong>s sensoras<br />

Determinar un parámetro ambiental: calor, presión,<br />

luz, radiación, presencia <strong>de</strong> humo, humadad, ruido,<br />

fricción<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 7


Tareas típicas <strong>de</strong> re<strong>de</strong>s sensoras<br />

Determinar un parámetro ambiental: calor, presión,<br />

luz, radiación, presencia <strong>de</strong> humo, humadad, ruido,<br />

fricción<br />

Detectar eventos: presencia, llegada, movimiento,<br />

vibración, flujo<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 7


Tareas típicas <strong>de</strong> re<strong>de</strong>s sensoras<br />

Determinar un parámetro ambiental: calor, presión,<br />

luz, radiación, presencia <strong>de</strong> humo, humadad, ruido,<br />

fricción<br />

Detectar eventos: presencia, llegada, movimiento,<br />

vibración, flujo<br />

Estimar parámetros: velocidad, dirección<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 7


Tareas típicas <strong>de</strong> re<strong>de</strong>s sensoras<br />

Determinar un parámetro ambiental: calor, presión,<br />

luz, radiación, presencia <strong>de</strong> humo, humadad, ruido,<br />

fricción<br />

Detectar eventos: presencia, llegada, movimiento,<br />

vibración, flujo<br />

Estimar parámetros: velocidad, dirección<br />

Clasificar los objetos <strong>de</strong>tectados<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 7


Tareas típicas <strong>de</strong> re<strong>de</strong>s sensoras<br />

Determinar un parámetro ambiental: calor, presión,<br />

luz, radiación, presencia <strong>de</strong> humo, humadad, ruido,<br />

fricción<br />

Detectar eventos: presencia, llegada, movimiento,<br />

vibración, flujo<br />

Estimar parámetros: velocidad, dirección<br />

Clasificar los objetos <strong>de</strong>tectados<br />

Seguir la trayectoría <strong>de</strong> un objeto <strong>de</strong>tectado<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 7


Re<strong>de</strong>s ad hoc<br />

Una red ad hoc es una red <strong>de</strong> nodos móviles capazes <strong>de</strong><br />

realizar ruteo entre ellos.<br />

Su formación es por auto-configuración sobre una<br />

topología física arbitraria, bajo modificación frecuente<br />

por los movimientos, salidas, llegadas y fallas <strong>de</strong> los nodos<br />

participantes.<br />

Las re<strong>de</strong>s ad hoc existen para facilitar comunicación entre<br />

los nodos mismos, no para servir alguna entidad externa.<br />

Ad hoc es latín y significa “para este propósito”.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 8


Re<strong>de</strong>s inalámbricas <strong>de</strong> sensores<br />

Cada sensor está capaz <strong>de</strong> comunicación inalámbrica (por<br />

radio <strong>de</strong> rango corto). Los sensores comunican entre ellos<br />

en maneras parecidas al funcionamiento <strong>de</strong> un red ad hoc.<br />

No todos los nodos son necesariamente iguales; por<br />

ejemplo, algunos pue<strong>de</strong>n tener un radio <strong>de</strong> mejor rango o<br />

más memoria.<br />

Un red <strong>de</strong> sensores existe para cumplir con una tarea.<br />

La red en si no tiene valor, sino sus salidas.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 9


Comunicación al usuario<br />

La red entera entrega información a un usuario según<br />

reglas <strong>de</strong> operación pre<strong>de</strong>finidas. El intervalo <strong>de</strong>seable o<br />

el evento disparador <strong>de</strong> la comunicación <strong>de</strong>pen<strong>de</strong>n <strong>de</strong> la<br />

aplicación.<br />

El usuario no necesariamente está interesado en la red<br />

entera en todo momento, sino posiblemente quiere<br />

averiguar datos <strong>de</strong> una cierta parte.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 10


Comunicación entre los sensores<br />

Depen<strong>de</strong> <strong>de</strong> los sensores si o no se pue<strong>de</strong> dirigir<br />

comunicación a un cierto nodo por un mecanismo <strong>de</strong><br />

direcciones y/o i<strong>de</strong>ntida<strong>de</strong>s.<br />

sí: posibilida<strong>de</strong>s <strong>de</strong> ruteo sofisticado don<strong>de</strong> se<br />

planifica la ruta utilizado<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 11


Comunicación entre los sensores<br />

Depen<strong>de</strong> <strong>de</strong> los sensores si o no se pue<strong>de</strong> dirigir<br />

comunicación a un cierto nodo por un mecanismo <strong>de</strong><br />

direcciones y/o i<strong>de</strong>ntida<strong>de</strong>s.<br />

sí: posibilida<strong>de</strong>s <strong>de</strong> ruteo sofisticado don<strong>de</strong> se<br />

planifica la ruta utilizado<br />

no: comunicación broadcast, controlado por<br />

mecanismos <strong>de</strong> transmisión y recepción<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 11


Comunicación entre los sensores<br />

Depen<strong>de</strong> <strong>de</strong> los sensores si o no se pue<strong>de</strong> dirigir<br />

comunicación a un cierto nodo por un mecanismo <strong>de</strong><br />

direcciones y/o i<strong>de</strong>ntida<strong>de</strong>s.<br />

sí: posibilida<strong>de</strong>s <strong>de</strong> ruteo sofisticado don<strong>de</strong> se<br />

planifica la ruta utilizado<br />

no: comunicación broadcast, controlado por<br />

mecanismos <strong>de</strong> transmisión y recepción<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 11


Comunicación entre los sensores<br />

Depen<strong>de</strong> <strong>de</strong> los sensores si o no se pue<strong>de</strong> dirigir<br />

comunicación a un cierto nodo por un mecanismo <strong>de</strong><br />

direcciones y/o i<strong>de</strong>ntida<strong>de</strong>s.<br />

sí: posibilida<strong>de</strong>s <strong>de</strong> ruteo sofisticado don<strong>de</strong> se<br />

planifica la ruta utilizado<br />

no: comunicación broadcast, controlado por<br />

mecanismos <strong>de</strong> transmisión y recepción<br />

Para lograr comunicación más eficiente, no es <strong>de</strong>seable siempre<br />

informar el usuario <strong>de</strong> cada observación directamente, sino<br />

agregar, filtrar y analizar los datos obtenidos <strong>de</strong>ntro <strong>de</strong> la<br />

red.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 11


Minisensores<br />

Si los sensores utilizados son <strong>de</strong> tamaño que se mi<strong>de</strong> en<br />

millimetros o micrometros, la tecnología necesaria ya es<br />

<strong>de</strong> tipo nanotecnología.<br />

En vez <strong>de</strong> re<strong>de</strong>s <strong>de</strong> sensores, se suele utilizar el nombre<br />

polvo inteligente (smart dust). Si son robotes, se habla <strong>de</strong><br />

niebla <strong>de</strong> utilidad (utility fog).<br />

B. Warneke, et al. Smart Dust: Communicating with a Cubic-Millimeter, Computer, Vol. 34,<br />

pp. 44–51, 2001.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 12


Aplicaciones<br />

Estacionamiento: los sensores <strong>de</strong>tectan si o no está<br />

ocupado para contar la disponibidad actual e indicar<br />

dón<strong>de</strong> se pue<strong>de</strong> estacionar.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 13


Aplicaciones<br />

Estacionamiento: los sensores <strong>de</strong>tectan si o no está<br />

ocupado para contar la disponibidad actual e indicar<br />

dón<strong>de</strong> se pue<strong>de</strong> estacionar.<br />

Conteo vehicular: monitoreo <strong>de</strong> flujos <strong>de</strong> tráfico y<br />

congestión<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 13


Aplicaciones<br />

Estacionamiento: los sensores <strong>de</strong>tectan si o no está<br />

ocupado para contar la disponibidad actual e indicar<br />

dón<strong>de</strong> se pue<strong>de</strong> estacionar.<br />

Conteo vehicular: monitoreo <strong>de</strong> flujos <strong>de</strong> tráfico y<br />

congestión<br />

Vigilancia <strong>de</strong> una región: movimiento, intrusión, conteo<br />

<strong>de</strong> individuos<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 13


Aplicaciones<br />

Estacionamiento: los sensores <strong>de</strong>tectan si o no está<br />

ocupado para contar la disponibidad actual e indicar<br />

dón<strong>de</strong> se pue<strong>de</strong> estacionar.<br />

Conteo vehicular: monitoreo <strong>de</strong> flujos <strong>de</strong> tráfico y<br />

congestión<br />

Vigilancia <strong>de</strong> una región: movimiento, intrusión, conteo<br />

<strong>de</strong> individuos<br />

Detección y clasificación <strong>de</strong> explosiones, sustancias...<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 13


Diseño <strong>de</strong> topología<br />

No es siempre una i<strong>de</strong>a buena utilizar directamente el<br />

grafo <strong>de</strong> contactos entre los nodos. Incluso pue<strong>de</strong> resultar<br />

difícil, caro o imposible obtener tal información estructural.<br />

En el caso i<strong>de</strong>al, la red misma va a saber obtener la<br />

información topológica necesaria para su función y<br />

adaptar su estructura cuando la red está sujeto a cambios<br />

por fallas o movimiento <strong>de</strong> los nodos sensores.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 14


Adaptación dinámica<br />

Depen<strong>de</strong> <strong>de</strong> la aplicación si o no es <strong>de</strong>seable o necesario<br />

un nivel alto <strong>de</strong> adaptación dinámica.<br />

Si la <strong>de</strong>spliegue <strong>de</strong> los nodos es incremental o se realiza<br />

reemplazos, adiciones o eliminaciones <strong>de</strong> nodos, una red<br />

auto-organizadora es mucho más fácil <strong>de</strong> administrar.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 15


Control <strong>de</strong> energía<br />

Como los nodos suelen operar con una pila o batería <strong>de</strong><br />

capacidad limitada, y el uso <strong>de</strong>l radio suele consumir<br />

bastantes recursos, es importante diseñar protocolos <strong>de</strong><br />

comunicación que permiten que los nodos ajusten su<br />

modo <strong>de</strong> operación.<br />

Posibilida<strong>de</strong>s: suspendir transmisión/recepción, hibernar<br />

el procesador, ajustar el rango <strong>de</strong> transmisión, limitar el<br />

reenvío <strong>de</strong> mensajes<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 16


Seguridad<br />

Los nodos son aparatos muy simples, pero en algunas<br />

aplicaciones los datos transmitidos son <strong>de</strong> naturaleza<br />

confi<strong>de</strong>ncial.<br />

Por las limitaciones <strong>de</strong> recursos en los nodos, los<br />

algoritmos <strong>de</strong> cifrar datos no pue<strong>de</strong>n contar con mucha<br />

memoria o un procesador po<strong>de</strong>roso.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 17


Una herramienta <strong>de</strong> simulación<br />

Repast (Recursive Porus Agent Simulation Toolkit)<br />

http://repast.sourceforge.net/<br />

para el mo<strong>de</strong>lado <strong>de</strong> sistemas <strong>de</strong> agentes en 2D<br />

gratuito, multiplataforma<br />

programación orientada a objetos, multilenguaje<br />

incluye algoritmos genéticos, MCMC, re<strong>de</strong>s neuronales y regresión<br />

varios ejemplos para modificar<br />

eventos discretos paralelos o secuenciales<br />

herramientas para registrar eventos y preparar diágramas dinámicas<br />

M.J. North, N.T. Collier y J.R. Vos, Experiences Creating Three Implementations of the Repast<br />

Agent Mo<strong>de</strong>ling Toolkit, ACM Transactions on Mo<strong>de</strong>ling and Computer Simulation, Vol. 16,<br />

No. 1, pp. 1-25, Jan 2006.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 18


Otra herramienta <strong>de</strong> simulación<br />

ns-2 (The Network Simulator)<br />

http://nsnam.isi.edu/nsnam/in<strong>de</strong>x.php/Main_Page<br />

simulador <strong>de</strong> re<strong>de</strong>s con eventos discretos<br />

protocolos: TCP, varios <strong>de</strong> ruteo, multicast, etcétera<br />

alámbricas e inalámbricas<br />

una mezcla <strong>de</strong> C++ con una versión <strong>de</strong> Tcl<br />

la parte visual se logra através <strong>de</strong> nam (The Network Animator)<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 19


ORBIT Wireless Network Testbed<br />

http://www.orbit-lab.org/<br />

proyecto <strong>de</strong> la NSF (Rutgers, Columbia, Princeton, Lucent<br />

Bell Labs, Thomson y IBM Research)<br />

una red experimental <strong>de</strong> gran escala<br />

para investigación sobre protocolos y aplicaciones <strong>de</strong> re<strong>de</strong>s<br />

inalámbricas<br />

una reja 2D <strong>de</strong> nodos estacionarios con radio<br />

cuenta con nodos moviles adicionales<br />

primer paso: emulador, segundo: red física<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 20


D. Raychaudhuri, et al. Overview of the ORBIT radio grid testbed for evaluation of<br />

Nodos <strong>de</strong> Orbit<br />

next-generation wireless network protocols, en Proceedings of the IEEE Wireless<br />

Communications and Networking Conference , Vol. 3, pp. 1664-1669, IEEE, 2005.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 21


<strong>Optimización</strong> es el proceso <strong>de</strong><br />

selección <strong>de</strong> los parámetros <strong>de</strong> un sistema<br />

<strong>Optimización</strong><br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 22


<strong>Optimización</strong><br />

<strong>Optimización</strong> es el proceso <strong>de</strong><br />

selección <strong>de</strong> los parámetros <strong>de</strong> un sistema<br />

através <strong>de</strong> asignación <strong>de</strong> valores a un conjunto <strong>de</strong> variables<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 22


<strong>Optimización</strong><br />

<strong>Optimización</strong> es el proceso <strong>de</strong><br />

selección <strong>de</strong> los parámetros <strong>de</strong> un sistema<br />

através <strong>de</strong> asignación <strong>de</strong> valores a un conjunto <strong>de</strong> variables<br />

sujeto a un conjunto <strong>de</strong> restricciones<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 22


<strong>Optimización</strong><br />

<strong>Optimización</strong> es el proceso <strong>de</strong><br />

selección <strong>de</strong> los parámetros <strong>de</strong> un sistema<br />

através <strong>de</strong> asignación <strong>de</strong> valores a un conjunto <strong>de</strong> variables<br />

sujeto a un conjunto <strong>de</strong> restricciones<br />

así que se maximiza/minimiza algúna función objetivo<br />

para algún mo<strong>de</strong>lo matemático.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 22


<strong>Optimización</strong> <strong>de</strong> re<strong>de</strong>s sensoras<br />

En re<strong>de</strong>s sensoras hay muchos usos para optimización:<br />

maximizar la vida,<br />

minimizar el consumo <strong>de</strong> energía,<br />

minimizar el tiempo <strong>de</strong> reacción,<br />

maximizar la cobertura,<br />

minimizar el número <strong>de</strong> alarmas falsas,<br />

minimizar interferencia...<br />

Sin embergo, primero hay que llegar a tener un mo<strong>de</strong>lo<br />

matemático.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 23


Grafo G = (V,E)<br />

Definiciones básicas<br />

V = un conjunto <strong>de</strong> n vértices (o sea, nodos), u,v,w ∈ V<br />

E = un conjunto <strong>de</strong> aristas m (o sea, arcos) conectando<br />

pares <strong>de</strong> vértices, (u,v) ∈ E<br />

Notación: |V | = n, |E| = m<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 24


si las aristas tienen dirección, G es dirigido<br />

Casos especiales<br />

un bucle es una arista reflexiva don<strong>de</strong> coinci<strong>de</strong>n el<br />

vértice inicio y el fin<br />

E pue<strong>de</strong> ser un multiconjunto, pudiendo haber más<br />

<strong>de</strong> una arista entre cada par <strong>de</strong> vértices (multigrafo)<br />

si se asignan pesos (o costos o longitu<strong>de</strong>s) a las<br />

aristas, el grafo es pon<strong>de</strong>rado<br />

si se asigna i<strong>de</strong>ntidad a los vértices y/o las aristas, es<br />

<strong>de</strong>cir que sean distinguibles, el grafo es etiquetado<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 25


Adyacencia<br />

dos aristas <strong>de</strong> un grafo son llamadas adyacentes si<br />

tienen un vértice en común<br />

dos vértices son llamados adyacentes o vecinos si<br />

una arista los une<br />

el conjunto <strong>de</strong> vecinos <strong>de</strong> v se llama el vecindario <strong>de</strong> v<br />

y se <strong>de</strong>nota con Γ(v)<br />

si no se permiten aristas múltiples, el grafo es simple<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 26


Caminos<br />

una sucesión <strong>de</strong> aristas adyacentes que empieza en v<br />

y termina en w se llama un camino <strong>de</strong> v a w<br />

el largo <strong>de</strong> un camino es el número <strong>de</strong> aristas que<br />

contiene<br />

la distancia <strong>de</strong> v y w es el largo mínimo <strong>de</strong> todos los<br />

caminos <strong>de</strong> v a w<br />

la distancia <strong>de</strong> un vértice a si mismo es cero<br />

un camino simple solamente recorre la misma arista<br />

una vez, nunca dos veces o más<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 27


Algoritmos <strong>de</strong> búsqueda<br />

Un algoritmo <strong>de</strong> búsqueda es un método sistemático para<br />

recorrer un grafo <strong>de</strong> entrada G = (V,E) con el propósito<br />

<strong>de</strong> <strong>de</strong>scubrir alguna propiedad estructural <strong>de</strong>l G.<br />

Los dos algoritmos fundamentales son<br />

búsqueda en anchura (BFS)<br />

búsqueda en profundidad (DFS)<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 28


Mo<strong>de</strong>lo matemático<br />

mo<strong>de</strong>lado matemático = la intención <strong>de</strong> formalizar un problema <strong>de</strong>l<br />

mundo real en términos matemáticos es pa-<br />

ra permitir analizarlo y po<strong>de</strong>r aplicar herra-<br />

mientas computacionales con el fin <strong>de</strong> resol-<br />

verlo<br />

mo<strong>de</strong>lo matemático = un conjunto <strong>de</strong> formulaciones que juntas<br />

captan la esencia <strong>de</strong> una situación <strong>de</strong> in-<br />

terés, <strong>de</strong> tal manera que se pue<strong>de</strong> utilizar el<br />

mo<strong>de</strong>lo para <strong>de</strong>rivar información nueva <strong>de</strong>l<br />

funcionamiento <strong>de</strong>l sistema mo<strong>de</strong>lado, por<br />

controlar los parámetros <strong>de</strong>l mo<strong>de</strong>lo<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 29


Entradas y salidas<br />

En un mo<strong>de</strong>lo matemático, la i<strong>de</strong>a es meter alguna<br />

información que se <strong>de</strong>duce <strong>de</strong> la situación mo<strong>de</strong>lada en el<br />

mo<strong>de</strong>lo y hacer observaciónes <strong>de</strong>l resultado <strong>de</strong>l mo<strong>de</strong>lo.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 30


Entradas y salidas<br />

En un mo<strong>de</strong>lo matemático, la i<strong>de</strong>a es meter alguna<br />

información que se <strong>de</strong>duce <strong>de</strong> la situación mo<strong>de</strong>lada en el<br />

mo<strong>de</strong>lo y hacer observaciónes <strong>de</strong>l resultado <strong>de</strong>l mo<strong>de</strong>lo.<br />

Entradas<br />

Mo<strong>de</strong>lo<br />

Salidas<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 30


Entradas y salidas<br />

En un mo<strong>de</strong>lo matemático, la i<strong>de</strong>a es meter alguna<br />

información que se <strong>de</strong>duce <strong>de</strong> la situación mo<strong>de</strong>lada en el<br />

mo<strong>de</strong>lo y hacer observaciónes <strong>de</strong>l resultado <strong>de</strong>l mo<strong>de</strong>lo.<br />

Entradas<br />

Mo<strong>de</strong>lo<br />

Salidas<br />

Lo que entra en el mo<strong>de</strong>lo, se llaman las entradas <strong>de</strong>l mo<strong>de</strong>lo, y lo que resulta, se<br />

llaman las salidas <strong>de</strong>l mo<strong>de</strong>lo. El mo<strong>de</strong>lo mismo es una combinación <strong>de</strong><br />

diferentes tipos <strong>de</strong> funciones matemáticas que representan las <strong>de</strong>pen<strong>de</strong>ncias entre las<br />

entradas y las salidas, las mismas entradas y las mismas salidas.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 30


Variables y restricciones<br />

Una variable xi capta el valor <strong>de</strong> algún factor <strong>de</strong> la<br />

situación que se mo<strong>de</strong>la; típicamente tienen valor<br />

numérico, pero hay maneras <strong>de</strong> codificar otros tipos <strong>de</strong><br />

información en forma numérica.<br />

Una restricción ri es una <strong>de</strong>sigualidad o una igualidad<br />

que impone ciertos límites a los valores posibles <strong>de</strong> las<br />

variables xj ∈ X .<br />

El conjunto <strong>de</strong> variables se <strong>de</strong>nota con X y |X | = n y el<br />

conjunto <strong>de</strong> restricciones se <strong>de</strong>nota con R y |R| = m.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 31


Cotas<br />

La cota <strong>de</strong> ri es un valor numérico bi así que la restricción<br />

se expresa en forma<br />

ri(x1,...,xn)<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

<<br />

≤<br />

=<br />

≥<br />

><br />

⎫<br />

⎪⎬<br />

bi.<br />

⎪⎭<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 32


Función objetivo<br />

La función objetivo representa una cantidad/medida <strong>de</strong><br />

interés:<br />

f(x1,...,xn) = P ∈ R.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 33


Función objetivo<br />

La función objetivo representa una cantidad/medida <strong>de</strong><br />

interés:<br />

f(x1,...,xn) = P ∈ R.<br />

Funciónes lineales f : D → R don<strong>de</strong> para todo x,y ∈ D y<br />

todo escalar α<br />

1. f(x + y) = f(x) + f(y) (o sea, es aditiva)<br />

2. f(αx) = αf(x) (o sea, es homogenea)<br />

son <strong>de</strong> muchas maneras fáciles <strong>de</strong> manejar.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 33


Un sistema <strong>de</strong> m restricciones lineales <strong>de</strong> n<br />

variables con una función objetivo f().<br />

Programa lineal<br />

La función objetivo es una función lineal que se<br />

maximiza (o minimiza) sujeto a las restricciones:<br />

f(x1,...,xn) = c1x1 + ... + cnxn.<br />

Hay n restricciones adicionales <strong>de</strong> forma xi ≥ 0, o sea,<br />

que los valores asignados a las variables no sean<br />

negativos.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 34


Variables <strong>de</strong> holgura y exce<strong>de</strong>nte<br />

Se pue<strong>de</strong> transformar todas restricciones en igualda<strong>de</strong>s.<br />

Para cada restriccion <strong>de</strong> tipo ≤, se aña<strong>de</strong> una variable<br />

<strong>de</strong> holgura si:<br />

ai,1x1 + ai,2x2 + ... + ai,nxn + si = bi.<br />

Para una restricción <strong>de</strong> tipo ≥, ponemos −si y la llamamos<br />

variable <strong>de</strong> exce<strong>de</strong>nte.<br />

Para incluir estas las variables en el vector <strong>de</strong> variables,<br />

los renombramos:<br />

s1 = xn+1,...,sm = xn+m.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 35


A =<br />

⎛<br />

⎜<br />

⎝<br />

Representacion con matrices<br />

x = (x1,x2,...,xn)<br />

c = (c1,c2,...,cn)<br />

a1,1 a1,2 ... a1,n<br />

a2,1 a2,2 ... a2,n<br />

.<br />

.<br />

am,1 am2 ... am,n<br />

.<br />

.<br />

⎞<br />

⎟<br />

⎠<br />

b =<br />

⎛<br />

⎜<br />

⎝<br />

b1<br />

b2<br />

.<br />

bm<br />

⎞<br />

⎟<br />

⎠<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 36


máx<br />

x∈R cT x s.a. Ax = b, x ≥ 0<br />

un vector <strong>de</strong> variables x<br />

un vector <strong>de</strong> cotas (los lados <strong>de</strong>recha) b<br />

Forma estándar<br />

una matriz <strong>de</strong> coeficientes A<br />

un vector <strong>de</strong> los coeficientes <strong>de</strong> la función objetivo c<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 37


Variable <strong>de</strong> <strong>de</strong>cisión<br />

Necesitamos una variable que indica si o no alguna<br />

condición aplica<br />

<br />

1, si aplica la condición,<br />

x =<br />

0, en otro caso.<br />

En un PL, se incluye las restricciones siguientes en R:<br />

⎧<br />

⎨<br />

⎩<br />

x ≥ 0<br />

x ≤ 1<br />

x ∈ Z<br />

Este concepto se generaliza a variables enteras.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 38


Programas enteras (mixtas)<br />

En muchos problemas <strong>de</strong>, por lo menos algunas variables<br />

son por su naturaleza enteros .<br />

Si todas las variables <strong>de</strong>l problema tienen restricción<br />

xi ∈ Z, es un programa entero. Si también hay variables<br />

don<strong>de</strong> se permite valores no-enteros, es un programa<br />

entero mixto.<br />

El manejo <strong>de</strong> tales problemas se llama programación<br />

entera (PE) o programación entera mixta (PEM).<br />

Complejidad <strong>de</strong> PE: NP-duro<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 39


Contamos con tres tipos <strong>de</strong> vértices:<br />

1. vértices <strong>de</strong> suministro<br />

2. vértices <strong>de</strong> <strong>de</strong>manda<br />

3. vértices <strong>de</strong> transbordo<br />

Problemas <strong>de</strong> transporte<br />

Objetivo: encontrar un flujo con origen en los vértices <strong>de</strong><br />

suministro y <strong>de</strong>stino en los los vértices <strong>de</strong> <strong>de</strong>manda sujeto<br />

a ciertas restricciones.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 40


Típicamente aplican restricciones <strong>de</strong><br />

capacidad <strong>de</strong> transporte por conexión,<br />

límites en el número <strong>de</strong> conexiones activas,<br />

capacidad <strong>de</strong> los vértices <strong>de</strong> suministro, y<br />

satisfacer la <strong>de</strong>manda.<br />

Restricciones<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 41


Aristas<br />

Las aristas sirven como “conductos”. Cada arista pue<strong>de</strong><br />

tener <strong>de</strong>finidos los datos siguientes:<br />

dirección (se diferencia entre el vértice <strong>de</strong> salida y el<br />

vértice <strong>de</strong> entrada)<br />

una capacidad no negativa máxima (y/o mínima) <strong>de</strong><br />

cuántas unida<strong>de</strong>s pue<strong>de</strong>n pasar por la arista, y<br />

un costo no negativo por unidad <strong>de</strong> utilizar la arista.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 42


La cantidad <strong>de</strong> “paquetes” que viajen por una arista se<br />

llama el flujo <strong>de</strong> la arista.<br />

La restricción <strong>de</strong> continuidad es la siguiente:<br />

Flujo<br />

La suma <strong>de</strong> flujos entrantes a un vértice v menos la<br />

suma <strong>de</strong> los flujos salientes <strong>de</strong>l mismo vértice v <strong>de</strong>be ser<br />

igual a la capacidad <strong>de</strong>l vértice.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 43


Problema <strong>de</strong> optimización<br />

¿Cuál es el flujo <strong>de</strong> transporte <strong>de</strong> cada arista con el cual<br />

se pue<strong>de</strong> transportar lo que se produce <strong>de</strong>s<strong>de</strong> los<br />

vértices <strong>de</strong> suministro a los vértices <strong>de</strong> <strong>de</strong>manda, sin<br />

violar las restricciones, así que se optimice una cierta<br />

función?<br />

⇒ problema <strong>de</strong> ruteo<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 44


Primal y dual<br />

A cada programa lineal, correspon<strong>de</strong> un programa dual. Si<br />

el programa primal, o sea el original, es <strong>de</strong> maximización,<br />

el dual es <strong>de</strong> minimización.<br />

El programa dual se construye al reorganizar la<br />

información contenida en las m restricciones ri, los<br />

coeficientes ai,j y los coeficientes cj <strong>de</strong> la función objetivo<br />

<strong>de</strong>l programa primal, <strong>de</strong> una cierta manera.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 45


Variables <strong>de</strong>l dual<br />

Cada restricción ri <strong>de</strong>l programa primal está<br />

representada por una variable yi en el programa dual.<br />

Las cotas bi <strong>de</strong>l programa primal correspon<strong>de</strong>n a los<br />

coeficientes <strong>de</strong> la función objectivo dual:<br />

g(yi,...,ym) =<br />

m<br />

biyi.<br />

i=1<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 46


Restricciones <strong>de</strong> signo<br />

Las restricciones <strong>de</strong> las variables <strong>de</strong>l dual yi <strong>de</strong>pen<strong>de</strong>n <strong>de</strong>l<br />

tipo <strong>de</strong> restricción <strong>de</strong>l primal ri a la cual correspon<strong>de</strong>n,<br />

i = 1,...,m:<br />

n<br />

ai,jxj ≤ bi ⇒ yi ≥ 0<br />

ri :<br />

ri :<br />

ri :<br />

j=1<br />

n<br />

ai,jxj ≥ bi ⇒ yi ≤ 0<br />

j=1<br />

n<br />

ai,jxj = bi ⇒ yi no restringida en signo<br />

j=1<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 47


Restricciones <strong>de</strong>l dual<br />

Cada variable xi <strong>de</strong>l primal correspon<strong>de</strong> a una restricción<br />

ti en el dual, i = 1,...,n:<br />

m<br />

xi ≥ 0 ⇒ ti :<br />

xi ≤ 0 ⇒ ti :<br />

xi no restringida en signo ⇒ ti :<br />

j=1<br />

m<br />

j=1<br />

m<br />

j=1<br />

aj,iyj ≥ ci<br />

aj,iyj ≤ ci<br />

aj,iyj = ci<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 48


⎧<br />

⎨<br />

⎩<br />

Ejemplo: primal y dual<br />

máx<br />

x (3x1 − x2) mín<br />

y (5y1 + 3y2 + 6y3)<br />

s.a. s.a.<br />

2x1 − 3x2 ≤ 5<br />

x1 + x2 ≤ 3<br />

3x1 − x2 ≥ 6<br />

2y1 + y2 + 3y3 ≥ 3<br />

−3y1 + y2 − y3 ≥ −1<br />

x1,x2 ≥ 0 y1,y2 ≥ 0<br />

y3 ≤ 0<br />

x ∗ = (2,8, 0,2) y ∗ = (0,8, 1,4, 0)<br />

P ∗ = 8,2 D ∗ = 8,2<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 49


Dual en forma estándar<br />

máxx c T x sujeto a Ax ≤ b<br />

⇕<br />

míny b T y sujeto a A T y ≥ c<br />

Nota: el PL dual <strong>de</strong>l dual es igual al primal.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 50


Si<br />

1. x y y son factibles los dos, y<br />

2. el primal y el dual ambos tienen cota,<br />

Teorema fuerte <strong>de</strong> dualidad<br />

P = P ∗ = D ∗ = D.<br />

⇒ Bajo ciertas condiciones, los dos problemas tienen el<br />

mismo valor óptimo para sus funciones objetivos. A<br />

veces el dual es mucho más fácil <strong>de</strong> resolver que el primal.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 51


Posibles objetivos: uso <strong>de</strong> energia<br />

En re<strong>de</strong>s sensoras, el ruteo <strong>de</strong>l tráfico habrá que realizar<br />

con eficiencia con respeto al tiempo utilizado y<br />

con eficiencia con respeto a la energía consumida,<br />

consi<strong>de</strong>rando que los sensores operan con pilas,<br />

baterias y otro fuente limitado <strong>de</strong> energía.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 52


La situación básica:<br />

<strong>Optimización</strong> <strong>de</strong> la vida <strong>de</strong> la red<br />

nodos estacionarios inalámbricos con fuente <strong>de</strong><br />

energía limitado<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 53


La situación básica:<br />

<strong>Optimización</strong> <strong>de</strong> la vida <strong>de</strong> la red<br />

nodos estacionarios inalámbricos con fuente <strong>de</strong><br />

energía limitado<br />

cada nodo pue<strong>de</strong> ajustar su rango <strong>de</strong> transmisión<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 53


La situación básica:<br />

<strong>Optimización</strong> <strong>de</strong> la vida <strong>de</strong> la red<br />

nodos estacionarios inalámbricos con fuente <strong>de</strong><br />

energía limitado<br />

cada nodo pue<strong>de</strong> ajustar su rango <strong>de</strong> transmisión<br />

limitaciones <strong>de</strong>l ancho <strong>de</strong> banda e interferencia están<br />

ignorados<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 53


La situación básica:<br />

<strong>Optimización</strong> <strong>de</strong> la vida <strong>de</strong> la red<br />

nodos estacionarios inalámbricos con fuente <strong>de</strong><br />

energía limitado<br />

cada nodo pue<strong>de</strong> ajustar su rango <strong>de</strong> transmisión<br />

limitaciones <strong>de</strong>l ancho <strong>de</strong> banda e interferencia están<br />

ignorados<br />

objetivo: maximizar la duración que permanezca<br />

operacional la red (en vez <strong>de</strong> simplemente minimizando el<br />

consumo total <strong>de</strong> energía)<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 53


La situación básica:<br />

<strong>Optimización</strong> <strong>de</strong> la vida <strong>de</strong> la red<br />

nodos estacionarios inalámbricos con fuente <strong>de</strong><br />

energía limitado<br />

cada nodo pue<strong>de</strong> ajustar su rango <strong>de</strong> transmisión<br />

limitaciones <strong>de</strong>l ancho <strong>de</strong> banda e interferencia están<br />

ignorados<br />

objetivo: maximizar la duración que permanezca<br />

operacional la red (en vez <strong>de</strong> simplemente minimizando el<br />

consumo total <strong>de</strong> energía)<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 53


<strong>Optimización</strong> distribuida<br />

Hay varias aplicaciones don<strong>de</strong> no es posible contar con<br />

tener toda la información <strong>de</strong>l sistema disponible<br />

simultaneamente <strong>de</strong> manera centralizada.<br />

Entonces, para po<strong>de</strong>r optimizar, habrá que hacerlo con un<br />

algoritmo distribuido. Sin embargo, su diseño es más<br />

complejo como no es nada trivial po<strong>de</strong>r mostrar que<br />

funcione correctamente.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 54


Ejemplo <strong>de</strong> optimización distribuida:<br />

throughput<br />

¿Cómo asignar rutas <strong>de</strong> comunicación para nodos que<br />

comuniquen a un cierto nodo através <strong>de</strong> la red?<br />

El objetivo es maximizar el número <strong>de</strong> paquetes que son<br />

recibidos.<br />

A. Schumacher, H. Haanpää, S.E. <strong>Schaeffer</strong> y P. Orponen. Load balancing by distributed<br />

optimisation in ad hoc networks, en Procedings of the Second International Conference on<br />

Mobile Ad-hoc and Sensor Networks, pp. 873–884, Springer 2006.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 55


El método<br />

Modificamos el protocolo DNS (Dynamic Source<br />

Routing) para elegir un conjunto <strong>de</strong> caminos<br />

alternativos utilizando información sobre el flujo actual<br />

y los largos <strong>de</strong> los caminos existentes.<br />

La información necesaria viaja en los paquetes<br />

mismos, facilitando que el nodo que envia el tráfico<br />

pue<strong>de</strong> sólo <strong>de</strong>terminar qué rutas elegir.<br />

Los nodos en los caminos están observando la<br />

situación y guardando datos para añadir en los<br />

paquetes que pasan por ellos.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 56


Mo<strong>de</strong>lo <strong>de</strong> PE distribuida<br />

un conjunto <strong>de</strong> agentes in<strong>de</strong>pendientes<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 57


Mo<strong>de</strong>lo <strong>de</strong> PE distribuida<br />

un conjunto <strong>de</strong> agentes in<strong>de</strong>pendientes<br />

objetivo: encontrar el óptimo global utilizando<br />

puramente información local<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 57


Mo<strong>de</strong>lo <strong>de</strong> PE distribuida<br />

un conjunto <strong>de</strong> agentes in<strong>de</strong>pendientes<br />

objetivo: encontrar el óptimo global utilizando<br />

puramente información local<br />

cada agente está en cargo <strong>de</strong> asignar una sola<br />

variable conociendo solamente las restricciones que<br />

afectan a su variable<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 57


Mo<strong>de</strong>lo <strong>de</strong> PE distribuida<br />

un conjunto <strong>de</strong> agentes in<strong>de</strong>pendientes<br />

objetivo: encontrar el óptimo global utilizando<br />

puramente información local<br />

cada agente está en cargo <strong>de</strong> asignar una sola<br />

variable conociendo solamente las restricciones que<br />

afectan a su variable<br />

los agentes pue<strong>de</strong>n comunicar con sus vecinos<br />

inmediatos con mensajes <strong>de</strong> tamaño fijo<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 57


Distribución por el dual<br />

Resulta que algunos casos don<strong>de</strong> la función objetivo no<br />

permite optimización distribuida local, sino necesita<br />

siempre información global, se pue<strong>de</strong> distribuir por lo<br />

menos hasta cierto grado la computación <strong>de</strong>l problema<br />

dual.<br />

Interés <strong>de</strong> investigación personal: El diseño <strong>de</strong> mo<strong>de</strong>los<br />

matemáticos <strong>de</strong> re<strong>de</strong>s sensoras en términos <strong>de</strong> programación<br />

lineal o entera-mixta y su optimización distribuida por<br />

computación locales y comunicación limitada por los<br />

nodos mismos.<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 58


Posibles temas <strong>de</strong> investigación<br />

Diseño <strong>de</strong>l hardware y mo<strong>de</strong>lado <strong>de</strong> comportamiento <strong>de</strong> sensores<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 59


Posibles temas <strong>de</strong> investigación<br />

Diseño <strong>de</strong>l hardware y mo<strong>de</strong>lado <strong>de</strong> comportamiento <strong>de</strong> sensores<br />

Arquitectura, topología, <strong>de</strong>splegamiento, auto-organización<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 59


Posibles temas <strong>de</strong> investigación<br />

Diseño <strong>de</strong>l hardware y mo<strong>de</strong>lado <strong>de</strong> comportamiento <strong>de</strong> sensores<br />

Arquitectura, topología, <strong>de</strong>splegamiento, auto-organización<br />

Control <strong>de</strong> la consumo <strong>de</strong> energía, transmisión y modos <strong>de</strong> operación<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 59


Posibles temas <strong>de</strong> investigación<br />

Diseño <strong>de</strong>l hardware y mo<strong>de</strong>lado <strong>de</strong> comportamiento <strong>de</strong> sensores<br />

Arquitectura, topología, <strong>de</strong>splegamiento, auto-organización<br />

Control <strong>de</strong> la consumo <strong>de</strong> energía, transmisión y modos <strong>de</strong> operación<br />

Algoritmos <strong>de</strong> ruteo, diseño <strong>de</strong> protocolos, sincronización<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 59


Posibles temas <strong>de</strong> investigación<br />

Diseño <strong>de</strong>l hardware y mo<strong>de</strong>lado <strong>de</strong> comportamiento <strong>de</strong> sensores<br />

Arquitectura, topología, <strong>de</strong>splegamiento, auto-organización<br />

Control <strong>de</strong> la consumo <strong>de</strong> energía, transmisión y modos <strong>de</strong> operación<br />

Algoritmos <strong>de</strong> ruteo, diseño <strong>de</strong> protocolos, sincronización<br />

I<strong>de</strong>ntidad, direcciones, estimación <strong>de</strong> posición<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 59


Posibles temas <strong>de</strong> investigación<br />

Diseño <strong>de</strong>l hardware y mo<strong>de</strong>lado <strong>de</strong> comportamiento <strong>de</strong> sensores<br />

Arquitectura, topología, <strong>de</strong>splegamiento, auto-organización<br />

Control <strong>de</strong> la consumo <strong>de</strong> energía, transmisión y modos <strong>de</strong> operación<br />

Algoritmos <strong>de</strong> ruteo, diseño <strong>de</strong> protocolos, sincronización<br />

I<strong>de</strong>ntidad, direcciones, estimación <strong>de</strong> posición<br />

Recolección, procesamiento y almacenaje <strong>de</strong> datos, escalabilidad<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 59


Posibles temas <strong>de</strong> investigación<br />

Diseño <strong>de</strong>l hardware y mo<strong>de</strong>lado <strong>de</strong> comportamiento <strong>de</strong> sensores<br />

Arquitectura, topología, <strong>de</strong>splegamiento, auto-organización<br />

Control <strong>de</strong> la consumo <strong>de</strong> energía, transmisión y modos <strong>de</strong> operación<br />

Algoritmos <strong>de</strong> ruteo, diseño <strong>de</strong> protocolos, sincronización<br />

I<strong>de</strong>ntidad, direcciones, estimación <strong>de</strong> posición<br />

Recolección, procesamiento y almacenaje <strong>de</strong> datos, escalabilidad<br />

Coordinación <strong>de</strong> cooperación, computación distribuida<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 59


Posibles temas <strong>de</strong> investigación<br />

Diseño <strong>de</strong>l hardware y mo<strong>de</strong>lado <strong>de</strong> comportamiento <strong>de</strong> sensores<br />

Arquitectura, topología, <strong>de</strong>splegamiento, auto-organización<br />

Control <strong>de</strong> la consumo <strong>de</strong> energía, transmisión y modos <strong>de</strong> operación<br />

Algoritmos <strong>de</strong> ruteo, diseño <strong>de</strong> protocolos, sincronización<br />

I<strong>de</strong>ntidad, direcciones, estimación <strong>de</strong> posición<br />

Recolección, procesamiento y almacenaje <strong>de</strong> datos, escalabilidad<br />

Coordinación <strong>de</strong> cooperación, computación distribuida<br />

Servicios, armazones <strong>de</strong> simulación y experimentos<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 59


Posibles temas <strong>de</strong> investigación<br />

Diseño <strong>de</strong>l hardware y mo<strong>de</strong>lado <strong>de</strong> comportamiento <strong>de</strong> sensores<br />

Arquitectura, topología, <strong>de</strong>splegamiento, auto-organización<br />

Control <strong>de</strong> la consumo <strong>de</strong> energía, transmisión y modos <strong>de</strong> operación<br />

Algoritmos <strong>de</strong> ruteo, diseño <strong>de</strong> protocolos, sincronización<br />

I<strong>de</strong>ntidad, direcciones, estimación <strong>de</strong> posición<br />

Recolección, procesamiento y almacenaje <strong>de</strong> datos, escalabilidad<br />

Coordinación <strong>de</strong> cooperación, computación distribuida<br />

Servicios, armazones <strong>de</strong> simulación y experimentos<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 59


¿Preguntas?<br />

Esta presentación, igual como otro material <strong>de</strong>l tema, está<br />

disponible através <strong>de</strong> mi página personal en<br />

http://yalma.fime.uanl.mx/~elisa/<br />

y a<strong>de</strong>más me pue<strong>de</strong>n contactar por correo electrónico a<br />

elisa.schaeffer@gmail.com<br />

si tienen preguntas o comentarios adicionales.<br />

¡Muchas gracias por su atención!<br />

<strong>Optimización</strong> <strong>de</strong> Re<strong>de</strong>s <strong>Sensoras</strong>– p. 60

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!