Optimización en redes sensoras
Conceptos y fundamentos
Con qué les quito el tiempo hoy
Sensores, nodos y redes Teoría de grafos
Modelado matemático Programación lineal
Programación entera (mixta) Dualidad
Sensor = componente detector
ambiental (químico)
acústico (incl. ultrasonido) sísmico (vibración)
Nodo sensor = minicomputadora
una unidad de procesamiento
(CPU) de capacidad muy limitada
memoria (normalmente tipo Flash
y/o RAM) de capacidad muy limitada
una fuente de energía limitada
(pila o batería)
una unidad de comunicación
Red sensora = un conjunto de
nodos sensores en comunicación
típicamente cuenta con una
gran cantidad de sensores
no todos los nodos son necesariamente iguales
la distribución puede ser
controlada o al azar
la configuración inicial
depende del modo de
Redes ad hoc
ad hoc = para éste propósito
una red ad hoc es una red que se
autoconfigura entre los nodos
presentes
típicamente los nodos son móviles,
aunque algunos pueden ser estacionarios
cuando los nodos son móviles, la comunicación suele ser inalámbrica
Nodos móviles
En una red (sensora) inalámbrica de nodos
móviles, gran parte de la operación se complica
¿Entre cuáles nodos es posible comunicarse? ¿Cuáles nodos están “participando” (o sea, vivos)?
Usuario final: ruteo
una red sensora reporta sus
observaciones a un usuario final típicamente solamente una
fracción de los nodos pueden
comunicarse directamente con el
usuario
el resto de los nodos tiene que
propagar su comunicación a
través de la red
el proceso de propagación de mensajes se llama ruteo
OPERACION BAJO LA PRESENCIA DE FALLAS
TOMA DE DECISION PARA LA PROPAGACION DE ALARMA CON Y SIN CAUSANTE EXTERNO
FUNCIONAL ROTO USUARIO ALARMA ROTO FUNCIONAL USUARIO
Adaptación
cambios de topología por
movilidad (auto-organización geográfica)
ajuste dinámico del rango de transimisión/recepción límites de reenvio de mensajes; ruteo inteligente
(proactivo)
suspender operación o hibernar (despliegue “pseudo-incremental”)
Aplicaciones: vigilancia y control
detección de presencia o intrusión conteo, seguimiento, clasificación detección y pronóstico de fallas usos militares y ambientales
Grafo
= un conjunto de vértices con un conjunto de aristas
VERTICE
ARISTA
Tipos de grafos
dirigidos reflexivos multigrafos ponderados etiquetados hípergrafos 42.0 A C BConceptos esenciales
grado; distribución de grado densidad; agrupamiento
camino, ciclo; conexidad distancia; eficiencia
PARAMETROS
MODELO
FORMALISMO MATEMATICO CONFIGURACION VARIABLES RESTRICCIONES COTASCotas
La
cota
de r
ies un valor numérico b
iasí que la restricción
se expresa en forma
r
i(x
1, . . . , x
n)
<
≤
=
≥
>
b
i.
Optimización de Redes Sensoras– p.31/59
Función objetivo
Función objetivo
La
función objetivo
representa una
cantidad/medida de
interés
:
f
(x
1
, . . . , x
n
) =
P ∈ R.
Funciónes
lineales
f
: D
→ R donde para todo x, y ∈ D y
todo escalar α
1. f (x + y) = f (x) + f (y) (o sea, es aditiva)
2. f (αx) = αf (x) (o sea, es homogenea)
son de muchas maneras fáciles de manejar.
Optimización de Redes Sensoras– p.32/59
Función objetivo
La función objetivo representa una cantidad/medida de
interés:
f(x1, . . . , xn) = P ∈ R.
Funciónes lineales f : D → R donde para todo x, y ∈ D y
todo escalar α
1. f (x + y) = f (x) + f (y) (o sea, es aditiva) 2. f (αx) = αf (x) (o sea, es homogenea)
son de muchas maneras fáciles de manejar.
Optimización de Redes Sensoras– p.32/59
Programa lineal (LP)
Programa lineal
Un sistema de
m
restricciones lineales
de
n
variables
con una
función objetivo
f
().
La
función objetivo
es una función lineal que se
maximiza
(o minimiza) sujeto a las restricciones:
f
(x
1, . . . , x
n) = c
1x
1+ . . . + c
nx
n.
Hay
n
restricciones adicionales
de forma x
i≥ 0, o sea,
que los valores asignados a las variables
no sean
negativos
.
Optimización de Redes Sensoras– p.33/59
la función objetivo y las restricciones son lineales
restricciones adicionales de rango de variables
conversión a restricciones de igualdad con variables de
holgura y excedente
Variables de holgura y excedente
Se puede transformar todas restricciones en
igualdades
.
Para
cada restriccion
de tipo
≤, se añade una
variable
de holgura
s
i:
a
i,1x
1+ a
i,2x
2+ . . . + a
i,nx
n+ s
i= b
i.
Para una restricción de tipo
≥, ponemos −s
iy la llamamos
variable de excedente
.
Para incluir estas las variables en el
vector de variables
,
los renombramos:
s
1= x
n+1, . . . , s
m= x
n+m.
Optimización de Redes Sensoras– p.34/59
Programa lineal
Un sistema de
m
restricciones lineales
de
n
variables
con una
función objetivo
f
().
La
función objetivo
es una función lineal que se
maximiza
(o minimiza) sujeto a las restricciones:
f
(x
1, . . . , x
n) = c
1x
1+ . . . + c
nx
n.
Hay
n
restricciones adicionales
de forma x
i≥ 0, o sea,
que los valores asignados a las variables
no sean
negativos
.
Forma estándar
Representacion con matrices x = (x1, x2, . . . , xn) c = (c1, c2, . . . , cn) A = a1,1 a1,2 . . . a1,n a2,1 a2,2 . . . a2,n .. . ... ... ... am,1 am2 . . . am,n b = b1 b2 .. . bm Optimización de Redes Sensoras– p.35/59
Forma estándar
m´ax
x∈Rc
Tx
s.a. Ax = b, x
≥ 0
un vector de variables
x
un vector de cotas (los lados derecha)
b
una matriz de coeficientes
A
un vector de los coeficientes de la función objetivo
c
Complejidad de PL
existen algoritmos polinomiales
método de elipsoide
algoritmo de Karmarkar
el “de facto” industrial es el algoritmo Simplex
no se conoce demostración de ser polinomial eficiente en la práctica
REGION FACTIBLE
Programa entero (mixto)
en muchos problemas, por lo menos algunas
variables son por naturaleza enteras
en un programa entero, todas las variables son
enteras
en un programa entero mixto, algunas son enteras
Variable de decisión
Variable de decisión
Necesitamos una variable que indica
si o no alguna
condición aplica
x
=
! 1, si aplica la condición,
0, en otro caso.
En un PL, se incluye las restricciones siguientes en
R:
x
≥ 0
x
≤ 1
x
∈ Z
Este concepto se generaliza a
variables enteras
.
Optimización de Redes Sensoras– p.37/59
PROGRAMACION ENTERA (MIXTA) CORRESPONDE A UN PROBLEMA NP-DURO
Dualidad
Cada programa lineal tiene un programa dual
Si el problema original es de maximización, el dual es de minimización y viceversa
Las variables del programa primal se convierten en restricciones en el dual, y las restricciones del primal serán representados por las variables del dual
Función objetivo del dual:
Variables del dual
Cada
restricción
r
idel programa primal está
representada por una
variable
y
ien el programa dual.
Las cotas b
idel programa primal corresponden a los
coeficientes de la función objectivo dual:
g
(y
i, . . . , y
m) =
m
!
i=1
b
iy
i.
Transformación a variables
Restricciones de signo
Las restricciones de las variables del dual yi dependen del tipo de restricción del primal ri a la cual corresponden,
i = 1, . . . , m: ri : n ! j=1 ai,jxj ≤ bi ⇒ yi ≥ 0 ri : n ! j=1 ai,jxj ≥ bi ⇒ yi ≤ 0 ri : n ! j=1
ai,jxj = bi ⇒ yi no restringida en signo
Transformación a restricciones
Restricciones del dual
Cada variable xi del primal corresponde a una restricción
ti en el dual, i = 1, . . . , n: xi ≥ 0 ⇒ ti : m ! j=1 aj,iyj ≥ ci xi ≤ 0 ⇒ ti : m ! j=1 aj,iyj ≤ ci xi no restringida en signo ⇒ ti : m ! j=1 aj,iyj = ci
Ejemplo
Ejemplo: primal y dual
m´ax x (3x1 − x2) m´ın y (5y1 + 3y2 + 6y3) s.a. s.a. 2x1 − 3x2 ≤ 5 x1 + x2 ≤ 3 3x1 − x2 ≥ 6 $ 2y1 + y2 + 3y3 ≥ 3 −3y1 + y2 − y3 ≥ −1 x1, x2 ≥ 0 y1, y2 ≥ 0 y3 ≤ 0 x∗ = (2,8, 0,2) y∗ = (0,8, 1,4, 0) P∗ = 8,2 D∗ = 8,2Optimización de Redes Sensoras– p.48/59
Forma estándar
Dual en forma estándar
m´ax
xc
Tx
sujeto aAx
≤ b
"
m´ın
yb
Ty
sujeto aA
Ty
≥ c
Nota: el PL dual del dual es igual al primal.
Optimización de Redes Sensoras– p.49/59
UNA VERSION PUEDE RESULTAR MAS FACIL DE RESOLVER QUE LA OTRA, AUNQUE LA SOLUCION ES LA MISMA
Optimización más allá
funciones o restricciones no lineales
regiones factibles no convexas
inexactitud de parámetros estimados
estabilidad de la solución (análisis de sensibilidad)
múltiples objetivos incertidumbre
Optimización en
redes sensoras
Conservación de energía
Características deseables de protocolos de ruteo
poca pérdida de mensajes en camino
llegada rápida de mensajes al destinario final redundacia mínima de comunicación
conservación máxima de la energía de los
nodos participantes
Un modelo muy simple
Cada nodo tiene una cantidad fija de energía inicial E
Limitaciones de ancho de banda e interferencia ignoradas
La topología es un grafo aleatorio geométrico en un cuadro unitario con N nodos Cada nodo puede ajustar su rango de transmisión entre cero y R
El rango de recepción es siempre R
Cada s segundos los nodos envian un mensaje “faro” para establecer su vecindario
La transmisión de un mensaje consume energía t y la recepción de un mensaje r La operación normal de un nodo consume una cantidad despreciable de energía Objetivos posibles
minimizar el uso total de energía
Optimización distribuida
No es siempre realista suponer que una entidad externa pueda realizar la optimización de una
manera centralizada utilizando información
global de la red sensora entera
Es más factible suponer que cada nodo busca
optimizar localmente su propio comportamiento
basado en información sobre su estado y la
información que recibe de sus vecinos a través de
Modelo para PL distribuida
La optimización está hecha por agentes independientes
El objetivo es llegar al óptimo global utilizando información localmente disponible
Los agentes conocen el coeficiente de su variable en la función objetiva Cada agente está a cargo de asignar el valor a una sola variable,
conociendo únicamente las restricciones donde la variable tiene coeficiente no cero
Dos agentes son vecinos si conocen una o más restricciones en común Cada agente puede comunicarse con sus vecinos inmediatos con
mensajes de tamaño fijo
Ruteo a un sólo sumidero
Estudiamos el problema de elegir rutas de comunicación de varios nodos fuentes a un nodo sumidero único en una red de nodos con energía limitadaEl objetivo era maximizar el número de paquetes recibidos por el sumidero
Al trasmitir un mensaje, los nodos añaden en el paquete información del estado de su pila
Modificamos en protocolo DNS (Dynamic Source Routing) para manejar un conjunto de rutas alternativas de
manera no determinista
A. Schumacher, H. Haanpää, S.E. Schaeffer y P. Orponen.Load balancing by distributed
optimisation in ad hoc networks, enProcedings of the Second International Conference on
Operación bajo reemplazos
Con mi tesista de licenciatura, Carlos Castillo, estamos estudiando el problema de operar una red sensora de tal manera que los sensores serán reemplazados al “morir” Queremos minimizar el costo total de los reemplazos
Los nodos conocen su ubicación, la ubicación del usuario y su propio costo de reemplazo
El ruteo toma en cuenta además la energía restante de los
nodos
Los costos de reemplazo dependen del “terreno” en el cual se ubica en nodo (para modelar dificultad de acceso)
Temas de investigación
Diseño del hardware
Modelado del comportamiento Arquitectura, topología
Procesos de desplegamiento Auto-organización
Control de consumo de energía por modos de operación
Algoritmos de ruteo Diseño de protocolos de comunicación Sincronización Generación de “identidad” Estimación de posiciones Recolección de datos Procesamiento de datos Almacenaje de datos Escalabilidad Coordinación de cooperación Computación distribuida Armazones de simulación
Diseño de experimentos para comparasión y validación
Diseño y construcción de redes “a medida” para aplicaciones