Optimización de Redes Sensoras - Satu Elisa Schaeffer
Optimización de Redes Sensoras - Satu Elisa Schaeffer
Optimización de Redes Sensoras - Satu Elisa Schaeffer
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