Pesquisa Operacional e o Desenvolvimento Sustentável
27 a 30/09/05, Gramado, RS
BALANCEAMENTO DA DISSIPAÇÃO DE POTÊNCIA NO ROTEAMENTO
EM REDE DE SENSORES
Ricardo S. de Camargo
Departamento de Ciência da Computação
Universidade Federal de Minas Gerais
Av. Antônio Carlos, 6627 – 31.270-010 – Belo Horizonte – MG
[email protected]
Gilberto de Miranda Jr.
Departamento de Engenharia de Produção
Universidade Federal de Minas Gerais
Av. Antônio Carlos, 6627 – 30.161-010 – Belo Horizonte – MG
[email protected]
Geraldo R. Mateus
Departamento de Ciência da Computação
Universidade Federal de Minas Gerais
Av. Antônio Carlos, 6627 – 31.270-010 – Belo Horizonte – MG
[email protected]
Abstract
The recent breakthroughs on Wireless Sensor Networks (WSN) have offered new challenges to
network designers. One of these great challenges is the power dissipation of sensor networks, and,
therefore, energy consumption. The inefficient use of energy on WSNs may result in serious problems,
such as total disconnection of subnetworks, making them unreachable. In this work, a new nonlinear
model is proposed to tackle the power dissipation for routing problems on WSNs. The power
dissipation balancing for routing problems on WSNs is solved by the Generalized Benders
Decomposition method. Computational results, although limited, are encouraging: lower total power
dissipation of the network and greater remaining lifetime battery of the sensors.
Resumo
Os recentes avanços em Rede de Sensores sem Fio (RSSF) têm oferecido novos desafios aos
projetistas de redes. Um desses grandes desafios consiste no balanceamento da potência dissipada
pelos sensores, e, conseqüentemente, no consumo de energia. O uso ineficiente da energia em RSSF
pode causar sérios problemas, tais como a desconexão total de subredes, tornando-as inacessíveis. No
presente trabalho, um novo modelo não linear é proposto abordando a dissipação de potência no
roteamento em RSSFs. O problema de roteamento com balanceamento de dissipação de potência é
resolvido através do método de decomposição de Benders generalizado. Os resultados computacionais
obtidos, apesar de limitados, são encorajadores: menor dissipação total de potência da rede e maior
tempo de vida residual das baterias dos sensores.
1 Introdução
Nos últimos anos, os avanços da micro-eletrônica, da minituarização e dos equipamentos de
comunicação sem fio possibilitaram o desenvolvimento de uma tecnologia visionária: as redes de
sensores sem fio (RSSF).
As RSSFs são um tipo especial de rede cujos nós são sensores autônomos e compactos, dotados
de limitado poder de computação e memória, que podem comunicar uns com os outros sem fio. O
principal objetivo dessas redes é o de monitorar o ambiente físico no seu entorno, podendo medir
desde temperatura à intensidade luminosa, vibração, som, radiação, entre outros, dependendo da
aplicação fim da rede.
Numa aplicação de RSSFs, os nós sensores monitoram o ambiente, disseminando as
informações coletadas para outros nós que, eventualmente, podem pré-processá-las ou repassá-las para
um observador [25]. Os nós que geram os dados são denominados nós fontes. Os dados gerados por
Pesquisa Operacional e o Desenvolvimento Sustentável
27 a 30/09/05, Gramado, RS
uma RSSF chegam ao observador através de pontos de acesso da rede que podem ser estações rádio
base e/ou os próprios nós sensores, chamados de nós sorvedouros ou monitores. Em função da
limitação do raio de comunição, a comunição entre os nós fontes e os pontos de acesso da rede é do
tipo multi-hop. Os dados são enviados de sensor para sensor, até alcançar os nós sorvedouros. Isto
implica que cada nó sensor é um roteador potencial de tráfego, uma vez que, normalmente, nem todos
os sensores têm um canal de comunição direto com o ponto de acesso. Esse tipo de comunição, nós
comunicando diretamente entre si através de enlaces de comunicação sem fio, permite com que as
RSSFs possam ser vistas como um tipo especial de rede ad hoc [14].
Apesar das RSSFs serem semelhantes às redes do tipo ad hoc, existem algumas diferenças
tradicionais. Uma delas é o elevado número e a alta densidade de nós que compõe uma RSSF.
Escalabilidade é essencial para se ter uma boa resolução de sensoriamento [24]. Outra característica
importante de uma RSSF é a limitação do sensor. Sensores possuem recursos escassos tais como
pouca memória, pouco poder de processamento, raio de alcance de comunicação limitado e,
principalmente, como são alimentados por baterias, pouca energia. Normalmente, como os sensores
são empregados em lugares de difícil acesso, inóspitos, a troca ou a recarga das baterias pode ser uma
tarefa inconveniente. Em função dessa escassez de energia e, apesar dos sensores serem estáticos, a
topologia de uma RSSF é dinâmica. Durante períodos de inatividade, sensores podem entrar num
estado de economia de energia tornando-se temporariamente inativos ou, até mesmo, deixando de
funcionar, quando a energia da bateria acaba [20].
Em RSSFs, o uso eficiente e a conservação de energia são dois dos aspectos mais importantes a
serem considerados por um projetista no projeto dessas redes, uma vez que ambos são fatores chaves
no prolongamento do tempo de vida de uma RSSF [11]. O tempo de vida de cada sensor depende
principalmente da sua dissipação de energia, que por sua vez está relacionado com a atividade que o
sensor está realizando: transmissão, recepção, monitoração, processamento de informação e dormindo
(economizando energia). Além disso, como os nós sensores podem funcionar como roteadores na
conexão de outros nós ao sorvedouro, a conectividade da rede diminui gradativamente com a exaustão
da bateria dos sensores [27]. Isto pode resultar em subredes de nós totalmente desconectadas,
inacessíveis. Portanto, além dos desafios tradicionais de projeto de uma rede ad hoc (cobertura,
número mínimo de nós, garantia de entrega do fluxo de dados), no projeto de uma RSSF têm-se dois
novos desafios: o nível de consumo de energia e, conseqüentemente, o tempo de vida da rede.
No presente trabalho, propomos uma nova abordagem para balancear o consumo de energia dos
sensores ao realizar o roteamento de dados, dado que a cobertura esteja garantida. O balanceamento é
baseado em uma função não linear do consumo de energia que um sensor tem ao rotear o fluxo de
dados para um outro sensor. Essa abordagem não só permite um balanceamento melhor da dissipação
de potência, como diminui a energia consumida e a colisão de pacotes, melhorando o mapa total de
energia da rede e, por conseqüência, prolongando o tempo de vida da RSSF.
O restante do artigo está organizado da seguinte forma: na seção 2, alguns trabalhos
relacionados ao roteamento de pacotes em RSSFs são apresentados; na seção 3, o modelo de RSSF
usado, assim como as considerações de energia utilizadas e o modelo matemático proposto; na seção 4
e 5, o algoritmo empregado na solução da nova abordagem é detalhado e os testes e análises
realizados, respectivamente. Finalmente, a última seção contém as conclusões deste trabalho.
2 Trabalhos Relacionados
O trabalho apresentado lida com o roteamento em RSSFs, que inclui a garantia de conectividade
entre os nós sensores e a formação de uma topologia que garanta o fluxo de dados dos nós fontes ao nó
sorvedouro. São apresentados a seguir alguns trabalhos relacionados ao tema.
Considerando apenas os métodos e os algoritmos de roteamento, Rodoplu e Meng [23] propõem
um protocolo de conexão de energia mínima baseado no algoritmo Bellman-Ford de menor caminho.
Gomez et al. [10] investigam um algoritmo de roteamento para redes ad hoc representando a potência
de transmissão por custos lineares.
Ganesan et al. [6] apresentam curvas de tradeoff de energia e robustez através de um algoritmo
que permite o roteamento de dados através de vários caminhos, ou multipath routing. Através da
simulação, Ganesan et al [6] mostram que, apesar de não ser eficiente quanto ao consumo de energia,
o algoritmo deles apresenta certa robustez, isto é garante a entrega dos dados no nó sorvedouro.
Ganesan et al assumem a existência de vários caminhos de menor comprimento, considerando 2 tipos
1602
Pesquisa Operacional e o Desenvolvimento Sustentável
27 a 30/09/05, Gramado, RS
básicos de menor caminho. No primeiro tipo considerou apenas caminhos com nós disjuntos, isto é, o
sensor pertencente a um menor caminho, não pode pertencer a outro caminho. No segundo tipo,
relaxa-se a necessidade de nós disjuntos, permitindo-se que apenas alguns nós, próximos ao
sorvedouro, possam pertencer a mais de um menor caminho. Esse segundo tipo recebe o nome de
braided multipath routing.
Krishanamachari, Estrin, e Wicker em [13] estudam três abordagens para construção de uma
árvore de roteamento em redes de sensores sem fio planas e ainda avaliam o impacto de agregação de
dados nessas redes. As três abordagens são: Fonte Mais Próxima, Árvores de Caminho Mínimo e
Árvore Incremental Gulosa. Na primeira abordagem os nós fontes enviam seus dados ao nó que se
encontra mais perto do sorvedouro. Na segunda abordagem cada fonte envia seus dados pelo caminho
mais curto entre ele e o sorvedouro. Finalmente na última estratégia a topologia de disseminação é
uma árvore formada pelo caminho mínimo entre o nó sorvedouro e o nó fonte mais próximo, sendo o
nó mais próximo incluído a cada etapa na topologia.
Em [28], Zhou e Krishnamachari estudam a formação de uma árvore de disseminação através de
abordagens de escolha dos pais na árvore, tais como: a seleção Earliest First que consiste na escolha
do nó pai como sendo o primeiro nó que se candidata; a seleção Nearest first que corresponde na
seleção do nó mais próximo ao nó pai como candidato; a seleção Aleatória que consiste na escolha do
pai totalmente ao acaso; e, finalmente, a seleção Aleatória ponderada que funciona atribuindo aos
candidatos pesos em função do número de vizinhos, quanto maior o número de vizinhos menor o peso.
Através desses pesos, atribui-se uma probabilidade para cada nó, sendo posteriormente então
escolhido o pai.
Heinzelman et al [12] desenvolveram o LEACH (low-energy adaptive clustering hierarchy), um
protocolo que distribui a dissipação de energia através da formação de agrupamentos de sensores
(clusters) e da escolha de um desses sensores como líder responsável pelo gerenciamento de um
agrupamento.
A grande maioria dos algoritmos de roteamento são baseados no modelo de propagação de
ondas do tipo espaço livre (free space). Nesse modelo, a influência da superfície da Terra é desprezada
ao se explicar o comportamento da onda de rádio durante a transmissão e recepção. Os efeitos
indesejáveis durante a propagação de onda não são considerados. Os dois principais efeitos
indesejáveis são: (i) o shadowing, ou seja, o efeito que a potência do sinal recebido varia devido à
obstruções no caminho de propagação entre o transmissor e o receptor; e (ii) o multipath fading, ou a
interferência causada na recepção do sinal devido à ondas de sinais refletidas em obstáculos. Esse
último efeito causa degradações significativas no desempenho da transmissão e recepção. Catovic et
al. [4] propõem um modelo de roteamento no qual esses efeitos indesejáveis são simplificados e
representados através de uma função não linear. Akyildiz et al. [2] e Ganesan et al. [6] apresentam um
bom exame da literatura sobre a área.
No presente trabalho, um modelo não linear de roteamento considerando a dissipação de
potência é proposto. Contrário as estratégias de roteamento multi-caminhos (multipath routing), a
proposta desse artigo é fazer o roteamento balanceando-se a dissipação de potência pela rede através
de uma topologia de roteamento baseado em árvore. Esse balancemanto é conseguido ao se calcular
a não linearidade inerente a dissipação de potência durante o uso da energia em sistemas eletroeletrônicos. Essa abordagem se mostra coerente à rede de sensores, uma vez que uma das grandes
preocupações no projeto de rede de sensores é o tempo de vida da mesma. A robustez (garantia de
entrega dos pacotes ao sorvedouro) obtida por estratégias do tipo multipah routing não se justifica
plenamente ao se ter um tempo de vida da rede consideravelmente reduzido. As estratégias multipath
routing apresentam um maior consumo de energia [6]. Na próxima seção, o modelo não linear é
apresentado em maiores detalhes.
3 Formulação Matemática
Considerando que os sensores são idênticos, possuindo os mesmos equipamentos de
transmissão, uma quantidade limitada de energia da bateria e antenas omnidirecionais, podemos fazer
as seguintes considerações.
3.1 Definições
Uma RSSF é representada por um grafo direcionado G (V , E ) , onde V é o conjunto de nós
1603
Pesquisa Operacional e o Desenvolvimento Sustentável
27 a 30/09/05, Gramado, RS
sensores, E é o conjunto de arcos que representam os enlaces válidos de comunição entre os nós
sensores. Um arco, ou um enlace de comunição entre 2 nós i e j , é representado por (i, j ) ∈ E , onde
i , j ∈ V . Seja ainda o nó o , o nó sorvedouro que deve receber os dados de um número | K | , onde
K é o conjunto de nós sensores ativos. Cada sensor ativo possui uma demanda d k diferente, onde
k∈K e K ⊆V .
A existência ou não de um arco (i, j ) , nó i conseguindo se comunicar com nó j , depende da
potência de transmissão usada pelo nó i . Isto é, quanto maior o raio de alcance do transmissor, maior
a potência necessária. Como a potência de transmissão é diretamente proporcional ao quadrado da
distância, ou seja, uma relação não linear, pode-se então discretizar os raios de alcance de um sensor
em intervalos e, conseqüentemente, as respectivas potências de transmissão usadas para cada raio.
Dessa forma, temos o parâmetro bij que representa a potência usada estabelecer o arco (i, j ) . A figura
1 ilustra os diversos raios e suas respectivas potências de transmissão.
Figura 1: Alcance de transmissão e potência necessária
Como mencionado anteriormente, uma das maiores preocupações no projeto de uma RSSF é o
uso eficiente da energia, resultando na busca por métodos que minimizem a potência usada na
comunicação [21]. Considerando que o consumo de energia é dada pelas 4 atividades básicas de um
sensor: sensoreamento, recepção, computação e transmissão, temos, considerando a potência apenas,
que a potência total, P
, consumida é dada pela equação (1), onde P , P , P e P são,
total
s r c
t
respectivamente, as potências gastas no sensoreamento, recepção, computação e transmissão.
P
=P +P +P +P
(1)
total s r c t
Como a única dissipação de potência que depende da distância é a da transmissão,
permanecendo constantes as demais parcelas, podemos reescrever a equação (1) como a equação (2),
onde d é um valor constante indicando a sobrecarga das atividades de sensoreamento, recepção e
computação.
(2)
Ptotal = Pt + d
Podemos escrever a potência de transmissão, apresentada pela equação (3), em função do
número de pacotes g que são enviados pelo arco (i, j ) ; do número de bits de cada pacote, B ; da
ij
corrente necessária para a transmissão de 1 bit no arco (i, j ) , representada por a ; e onde R é a
resistência do sensor [20].
(3)
Pt = RI 2 = R ( g ij Ba ) 2 = c( g ij ) 2 , onde c = R( Ba) 2
A equação (3) é uma equação quadrática em função do fluxo de dados que passa pelo arco
(i, j ) . Podemos então criar uma função não linear que penaliza a sobrecarga de fluxo de dados num
determinado arco (i, j ) . Essa função permite o roteamento dos pacotes por rotas alternativas,
conseqüentemente, implicando numa diminuição da potência de transmissão total e num tempo de
vida da rede maior. A função que penaliza a sobrecarga de fluxo no arco (i, j ) é denominada τ ij ( g ij ) .
A função não linear τ ij ( g ij ) permite a elaboração do modelo de programação matemática a ser
apresentado na próxima seção. Esse modelo permite a seleção dos arcos que fazem a menor dissipação
de potência do sistema e, portanto, um uso mais eficiente da energia da rede. A seleção desses arcos
1604
27 a 30/09/05, Gramado, RS
Pesquisa Operacional e o Desenvolvimento Sustentável
cria as rotas dos nós fontes até o nó sorvedouro. Como há um balanceamento da dissipação total de
potência do sistema, alguns nós podem funcionar como nós do tipo multi-hop (nós de transbordo).
3.2 Modelo Matemático
O modelo de programação não linear responsável pelo roteamento de uma RSSF balanceando a
potência possui as seguintes variáveis de decisão:
⎧1 se o arco (i, j ) é estabelecido;
xij = ⎨
⎩0 caso contrário.
f :
fluxo de pacotes passando no arco (i, j ) originários do sensor k ;
ijk
g :
fluxo total da pacotes passando pelo arco (i, j ) .
ij
E os seguintes parâmetros:
b :
potência de ativação do arco (i, j ) ∈ E ;
ij
c :
ijk
o:
potência por unidade de pacote gasta no processamento dos
pacotes que passam no arco (i, j ) originários do sensor k ;
nó sorvedouro responsável por receber todos os dados de
sensoreamento;
número de pacotes originados no sensor k .
d :
k
O modelo matemático M é dado por:
⎧
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
M⎨
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪⎩
min
sujeito a:
∑
( i , j )∈E
[bij xij + τ ij ( g ij ) + ∑ cijk f ijk ]
(4)
k ∈K
∑ f −g ≤0
− ∑ f = −d
∀(i, j ) ∈ E
(5)
para nó o e ∀k ∈ K
(6)
∀k ∈ K
(7)
∀j ∈ V − {o} e j ≠ k e ∀k ∈ K
(8)
f ijk ≤ d k xij
∀(i, j ) ∈ E e ∀k ∈ K
(9)
f ijk ≥ 0
∀(i, j ) ∈ E e ∀k ∈ K
(10)
gij ≥ 0
∀(i, j ) ∈ E
(11)
xij ∈ {0,1}
∀(i, j ) ∈ E
(12)
k ∈K
ijk
( j , o )∈E
∑f
( k , i )∈E
−
kik
∑f
( i , j )∈E
ij
jok
k
= dk
ijk
+
∑f
( j , l )∈E
jlk
=0
A função objetivo (4) possui 3 parcelas: a primeira contabiliza a potência usada para ativar os
arcos; a segunda penaliza o uso abusivo (sobrecarga) dos arcos, enquanto a terceira parcela calcula o
custo linear operacional de se receber e processar os pacotes. As restrições (5) calculam o fluxo total
de dados que passa pelo arco (i, j ) . As restrições (6) garantem que o fluxo total originado no sensor
fonte k , que chega ao nó sorvedouro, é igual ao número de pacotes gerados em k , enquanto as
restrições (7) garantem que o fluxo total dos pacotes que saem do sensor fonte k é igual ao número de
pacotes gerados nesse sensor. As restrições (8) garantem a conservação de fluxo de pacotes nos nós
que fazem apenas o transbordo de pacotes. O acoplamento das variáveis x e f é realizado pelas
restrições (9), garantindo asssim que o fluxo de pacotes no arco (i, j ) só é permitido se o arco existir
e a potência bij é consumida. A potência bij é pré-processada através do modelo free-space de
propagação de sinais. As restrições (10) a (12) são, respectivamente, as restrições de não negatividade
dos fluxos de pacotes f ijk e g ij , e de integralidade (binária) da variável xij . Duas formulações
semelhantes, mas feitas para o projeto de redes do tipo multicasting, podem ser encontradas em [19,
1605
Pesquisa Operacional e o Desenvolvimento Sustentável
23].
27 a 30/09/05, Gramado, RS
Uma propriedade teórica importante para se destacar é que, para τ ij ( g ij ) = 0, (i, j ) ∈ E , o
modelo se reduz a uma formulação multiproduto para o problema de Steiner em grafos direcionados,
como demonstrado por Maculan e outros [5, 26, 15, 9].
Como a função de penalidade é uma função quadrática e como o parâmetro c ≥ 0 , veja (3),
temos portanto uma função convexa. Logo podemos resolver o modelo não linear inteiro misto M
através do método de Decomposição de Benders Generalizado [8], conforme ilustrado na próxima
seção.
4 Algoritmo
O modelo não linear inteiro misto M é resolvido por uma decomposição cruzada baseada no
método de Decomposição de Benders Generalizado [3, 8]. Apesar de ter sido originalmente
desenvolvido para problemas de programação inteira mista, a parte não linear pode ser incorporada ao
método desde que seja tratada separadamente por algum método de solução para problemas não
lineares, e incorporada á decomposição de forma apropriada [8]. O método de Decomposição de
Benders tem sido empregado com sucesso, ao longo das décadas, na resolução de problemas de
projeto de sistemas de distribuição de multiprodutos de larga escala [7, 16].
Vários autores trabalharam em extensões e melhorias do método de Decomposição de Benders.
Magnanti e Wong [16] propõem uma metodologia de escolha das variáveis duais para melhorar a
desempenho do método. McDaniel e Devine [18] conseguem acelerar o método propondo uma
relaxação temporária das restrições de integralidade do problema mestre. Balas e Bergthaller [1]
apresentam uma abordagem elegante para a geração de cortes de Benders antes do início das iterações
do método de Decomposição de Benders.
Basicamente, o problema original é decomposto em dois problemas chamados: problema mestre
(PM) e subproblema (SP). O PM, explicado em detalhes na seção 4.1, obtém uma solução viável que
garante a existência de uma árvore que conecta o sorvedouro aos nós fontes, gerando assim um limite
inferior (LI); enquanto que o SP, explicado na seção 4.2, obtém um limite superior (LS) e
desigualdades válidas que são adicionadas ao PM a cada iteração do algoritmo. Nessas desigualdades
válidas, as penalidades (função não linear) de dissipação de potência são incorporadas através da
derivada do fluxo total passando no arco (i, j ) , variável g ij . Quando o LS é igual ao LI, o algoritmo
pára, obtendo-se assim a solução ótima.
4.1 Problema Mestre
O método de Decomposição de Benders se fundamenta essencialmente em manipulações da
projeção do problema seguido por estratégias de dualização de soluções, linearização externa (outer
linearization) e a relaxação do problema. Vamos projetar o modelo M no espaço das variáveis
topológicas x , resultando no seguinte problema implicito:
min
x∈ X
∑b x
( i , j )∈E
ij ij
+ v( x)
onde X = {x | para valores de x fixados há fluxo de dados satisfazendo (5) - (11)}
calculado resolvendo-se o seguinte problema:
v( x) = min
[τ ij ( g ij ) + cijk f ijk ] sujeito a (9)
( f , g )∈G
∑
( i , j )∈E
∑
k ∈K
(13)
e v(x)
é
(14)
Para valores de x fixado e onde G = {( f , g ) | f ≥ 0 e g ≥ 0 satisfazendo (5) - (8)} .
A necessidade da viabilidade de fluxo referentes às variáveis topológicas x ∈ X indicam uma
arborescência, isto é, há um caminho de cada nó sensor k ∈ K até o nó sorvedouro o . Essa
arborescência assegura a viabilidade da projeção do problema (13), dispensando a necessidade de
outras restrições de viabilidade de fluxo. Além disso, como o problema (14) possui: (i) uma função
objetivo convexa diferenciável, (ii) restrições lineares e (iii) a existência assegurada de um mínimo
pela minimização de uma função convexa num conjunto compacto não vazio, as condições de KarushKunh-Tucker são necessárias e suficientes para a otimalidade do problema. Dessa forma o problema
(14) é passível de técnicas de dualização [8].
Dualizando as restrições de acoplamento (9) através do vetor de variáveis duais α ≥ 0 , a
1606
27 a 30/09/05, Gramado, RS
Pesquisa Operacional e o Desenvolvimento Sustentável
solução do problema (14) pode ser dado por, dado que x ∈ X :
⎡
⎡
⎤⎤
v( x) = max ⎢ min ∑ ⎢τ ij ( g ij ) + ∑ cijk f ijk + α ijk ( f ijk − d k xij ) ⎥ ⎥
(
f
,
g
)
∈
G
α ≥0
( i , j )∈E ⎣
k ∈K
⎦⎦
⎣
[
]
(15)
Fazendo algumas operações algébricas, o problema (13) então é equivalente à:
⎡
⎡
⎡
⎤⎤⎤
min ⎢ ∑ bij xij + max ⎢ ∑ ∑ − α ijk d k xij + min ∑ ⎢τ ij ( gij ) + ∑ (cijk + α ijk ) f ijk ⎥ ⎥ ⎥
(16)
x∈ X
( f , g )∈G
α ≥0
( i , j )∈E ⎣
k ∈K
⎦ ⎦ ⎦⎥
⎣( i , j )∈E k ∈K
⎣⎢( i , j )∈E
Sabendo que o supremo é o último LS e usando a ajuda da variável t representando o melhor LI
[
]
na soma de custos de dissipação de potência, o problema (4)-(12) é equivalente ao PM:
∑b x
min
t , x∈ X
ij ij
( i , j )∈E
+t
(17)
sujeito a:
t≥−
∑ ∑α
( i , j )∈E k ∈K
ijk
⎡
⎤
τ ij ( gij ) + ∑ (cijk + α ijk ) f ijk ⎥
⎢
( f , g )∈G
( i , j )∈E ⎣
k ∈K
⎦
d k xij + min
t≥0
∑
∀α ≥ 0
(18)
(19)
O método de Decomposição de Benders Generalizado resolve o problema (17)-(19) baseado na
estratégia de relaxação. Apenas algumas das restrições (18) são considerandas, ignorando-se as
demais. Isso resulta num procedimento que adiciona iterativamente as restrições (18) ao PM quando
necessário. Então, numa iteração h , o valor ótimo v( x h ) é obtido através do problema (16) após a
recuperação dos valores dos multiplicadores α h para uma dada topologia x h .
v( x) = −
∑ ∑α
( i , j )∈E k ∈K
h
ijk
⎡
⎤
τ ij ( gij ) + ∑ (cijk + α ijkh ) f ijk ⎥
⎢
( f , g )∈G
( i , j )∈E ⎣
k ∈K
⎦
d k xijh + min
∑
(20)
Fazendo algumas simplificações e operações algébricas, obtém-se o seguinte corte de Benders
do PM, conhecido como tipo I:
t ≥ v( x h ) +
∑ ∑α
( i , j )∈E k ∈K
h
ijk
d k ( xijh − xij )
(21)
Como a solução do problema mestre é uma arborescência, em qualquer iteração h , pode-se
fazer por construção
α ijkh d k xijh = 0 , obtendo-se o seguinte PM relaxado (PMR):
∑ ∑
( i , j )∈E k ∈K
min
t , x∈ X
∑b x
( i , j )∈E
ij ij
sujeito a:
t ≥ v( x h ) −
+t
∑ ∑α
( i , j )∈E k ∈K
(22)
h
ijk
d k xij
∀h ∈ H
(23)
xij ∈ {0,1}
∀(i, j ) ∈ E (24)
(25)
t≥0
Onde H na restrição (23) é o conjunto de cortes de Benders necessários para se obter a solução
ótima do problema original (4)-(12).
Infelizmente, o PMR (22)-(25) não garante que a solução ótima obtida a cada iteração h seja
uma arborescência. Em uma dada iteração, pode acontecer que a solução obtida contenha ciclos. Para
evitar a adição de cortes de viabilidade, conhecidos como cortes de Benders do tipo II, e perder uma
iteração do PMR na obtenção do ótimo do problema (4)-(12), restrições topológicas usando as
variáveis x são adicionadas ao PMR.
min
t , x∈ X
∑b x
( i , j )∈E
ij ij
+t
(26)
sujeito a:
1607
27 a 30/09/05, Gramado, RS
Pesquisa Operacional e o Desenvolvimento Sustentável
t ≥ v( x h ) −
∑ ∑α
h
ijk
d k xij
∀h ∈ H
(27)
≥1
para nó o
(28)
∑x
=1
∀k ∈ K
(29)
∑x
−
∀l ∈ V − k − {o}
(30)
∑x
≤1
∀i ∈ V
(31)
xij + x ji ≤ 1
∀(i, j ) ∈ E
(32)
xij ∈ {0,1}
t≥0
∀(i, j ) ∈ E
∑x
( j , o )∈E
( k , i )∈E
( l , j )∈E
( i , j )∈E
( i , j )∈E k ∈K
jo
ki
lj
ij
∑x
( i , l )∈E
il
≥0
(33)
(34)
Restrições (28) impõem que pelo menos um arco chega no nó sorvedouro o . Restrições (29)
estabelecem que apenas um arco deixa cada nó fonte k . Restrições (30) garantem que o número de
arcos saindo de um nó sensor de transbordo não é menor do que o número de arcos chegando no
mesmo. Restrições (31) não permitem que o número de arcos saindo de um nó sensor seja maior do
que 1. Finalmente, restrições (32) evitam a ocorrência dos ciclos envolvendo 2 arcos.
A estratégia de adicionar os cortes de Benders do tipo I a cada iteração, restrições (27), requer a
obtenção dos valores ótimos do vetor de multiplicadores α h e de v( x h ) . Esses valores são obtidos
resolvendo-se o SP, assunto da seção 4.2.
4.2 Subproblema
Dada uma arborescência Ah , obtida resolvendo-se o PMR, obtêm-se os valores x h . Usando
esses valores, pode-se calcular o valor de v( x h ) através de uma série de problemas triviais de fluxo
em rede. O subproblema a ser resolvido numa iteração h para um valor de x h ∈ X fixado é:
⎡
⎤
τ ij ( g ij ) + ∑ cijk f ijk ⎥
⎢
g ≥ 0, f ≥ 0
( i , j )∈E ⎣
k ∈K
⎦
min
∑
(35)
sujeito as restrições de (5)-(9):
As restrições (5) são satisfeitas na igualdade quando uma solução ótima é encontrada, pois a
função τ ij ( g ij ) é convexa e crescente. Em razão disso, dualizam-se as restrições (5) usando os
multiplicadores Lagrangeanos β ≥ 0 . Dessa forma, o subproblema pode ser separado em 2
subproblemas: um possuindo apenas as variáveis de fluxo f ijk ; e outro tendo somente as variáveis g ij .
Os multiplicadores são responsáveis pelo acoplamento desses 2 subproblemas. A dualização d ( β ) é
dada por (36):
d (β ) =
∑ min ∑ (c
k ∈K
f k ≥0
( i , j )∈E
ijk
+ β ij ) f ijk +
∑
( i , j )∈E
[
min τ ij ( g ij ) − β ij g ij
g ij ≥ 0
]
(36)
onde cada f k é o vetor de fluxos do produto k que é viável nas restrições (6)-(9) para uma dada
topologia x h .
A solução ótima de (36) está associada com a solução ótima dos valores de β ijh , dessa forma,
para cada g ij ∈ E , a parcela correspondente da função Lagrangeana (36) deve ser mínima. Então, isso
implica que o valor de β ijh é dado a cada iteração por:
β ij = τ ' ( gij )
ij
(37)
Após o cálculo de β ij , pode-se resolver os 2 subproblemas facilmente. O primeiro termo é
h
1608
Pesquisa Operacional e o Desenvolvimento Sustentável
27 a 30/09/05, Gramado, RS
resolvido separadamente para cada produto k um problema de fluxo em rede para um dado x h ;
enquanto o segundo termo é resolvido trivialmente. Na próxima seção 5, os resultados computacionais
e algumas análises são apresentados.
5 Resultados Computacionais
5.1 Exemplo
A figura 2 ilustra um exemplo de aplicação do algoritmo descrito na seção 4. A figura mostra
uma área de sensoreamento com 15 sensores e um sorvedouro no canto esquerdo superior. Neste
exemplo, todos os nós são considerados sensores fonte, isto é, possuem pacotes a serem enviados ao
sorvedouro. Todos os sensores possuem as mesmas características, a mesma quantidade de energia e o
mesmo número de pacotes a serem enviados.
Na solução sem balanceamento de dissipação de potência, a potência dissipada é 20% maior do
que ao se usar o balanceamento. O mapa de energia restante das baterias, após o roteamento sem
balanceamento, mostra claramente que os sensores A, B e C estão praticamente sem energia,
apagados, região escura; enquanto que, ao se fazer o roteamento com balanceamento, o tempo de vida
(energia) dos sensores é maior, mesmo com a sobrecarga nos sensores D e E.
Sem balanceamento
Com balanceamento
Mapa de energia sem balancemanto,
após roteamento da demanda
Mapa de energia com balancemanto,
após roteamento da demanda
Figura 2: Exemplo de uma rede sem e com o balanceamento de potência
5.2 Instâncias
Baseando-se nesse pequeno exemplo, 3 classes de problemas de RSSF foram gerados,
totalizando 30 instâncias testes diferentes. A área de sensoreamento foi fixada em uma área de 50 m x
50 m com o sorvedouro no canto esquerdo superior do quadrado. A posição dos sensores na área foi
feita de maneira aleatória segundo uma distribuição uniforme, porém garantindo a cobertura de toda a
área. A tabela 1 apresenta: o tamanho das instâncias geradas; o número de sensores monitorando a
área, coluna |V|; o número de arcos (i,j), coluna |E|; assim como o número de sensores fonte sorteados
|K|; e o número de variáveis inteiras e contínuas que cada instância possui.
Nas instâncias da classe 1, o número de sensores usados para monitorar a área e os possíveis
enlaces de comunicação entre eles foram gradativamente aumentados até alcançarem os valores de 80
e 220, respectivamente. Nessa classe, os nós com fluxo de pacotes a serem enviados para o sorvedouro
foram limitados a um número aleatório menor do que 25% do número total de sensores.
Nas instâncias da classe 2, o número de arcos (enlaces de comunição) foi gerado de forma que
poucas rotas alternativas entre os sensores fontes e o sorvedouro existissem. Para aumentar a
complexidade de roteamento, o número de sensores com pacotes a serem enviados foi aumentado para
cerca de 85% do número total de sensores presentes na área.
Tabela 1: Dimensão dos problemas testes.
1609
27 a 30/09/05, Gramado, RS
Pesquisa Operacional e o Desenvolvimento Sustentável
classe
1
2
3
Problema
|V|
|E|
|K|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
12
16
16
20
25
30
35
40
46
50
55
60
65
70
80
10
12
14
16
18
20
21
22
24
25
50
50
50
50
100
36
30
60
60
80
90
100
110
120
130
140
150
170
200
220
21
26
31
36
40
48
52
55
47
50
126
126
200
200
200
3
4
4
3
4
5
6
7
8
8
8
9
10
12
12
8
10
12
14
16
18
19
20
22
20
8
12
12
24
16
Número de variáveis
Inteiras Contínuas
36
108
30
120
60
240
60
180
80
320
90
450
100
600
110
770
120
960
130
1.040
140
1.120
150
1.350
170
1.700
200
2.400
220
2.640
21
168
26
260
31
372
36
504
40
640
48
864
52
988
55
1.100
47
1.034
50
1.000
126
1.008
126
1.512
200
2.400
200
4.800
200
3.200
Finalmente, nas instâncias da classe 3, um número elevado de arcos foi gerado, garantido assim
um número maior de rotas possíveis dos sensores fonte até o sorvedouro. O número total de sensores
foi fixado em 50 nós, enquanto que os sensores fontes foram sorteados aleatoriamente mantendo-se
uma distância mínima do sorvedouro. Em todas as instâncias, a demanda foi também sorteada
aleatoriamente segundo uma distribuição normal. A instância 30 foi apresentada apenas para mostrar
certa escalabilidade do algoritmo.
5.3 Resultados
Os testes computacionais foram realizados num Pentium IV 2.4 GHz com 1 Gb de memória
RAM e executando o sistema operacional Fedora (Linux). O algoritmo implementado foi
desenvolvido em C, fazendo uso da interface de programação do pacote de otimização gratuito, GLPK
3.1 [17].
A tabela 2 apresenta os resultados obtidos. Nas colunas 2 e 4, os valores de dissipação de
potência são mostrados. Na coluna 2, os valores foram obtidos usando-se o modelo M, sem a função
não linear de penalização, e o pacote de otimização GLPK 3.1. Na coluna 4, os valores de dissipação
de potência foram obtidos através do algoritmo proposto, isto é, com balanceamento de dissipação de
potência. As colunas 3 e 5 apresentam o menor tempo residual de bateria entre todos os sensores sem e
com balanceamento de dissipação de potência, respectivamente. Esse tempo residual é calculado pela
equação T =
C
de tempo de vida teórica da bateria dado por [20], onde: T é o tempo de vida, C é a
I
capacidade da bateria em ampère x hora e I é corrente de descarga, ou seja, a corrente consumida,
dada em ampères.
A coluna 6 apresenta o tempo de computação para se obter a solução ótima usando o algoritmo
proposto, com balanceamento de dissipação de potência. Como se pode ver, o tempo computacional é
abaixo de 15 minutos (900 segundos). Os tempos de computação usando apenas o GLPK 3.1 não
1610
27 a 30/09/05, Gramado, RS
Pesquisa Operacional e o Desenvolvimento Sustentável
foram apresentados. Nas instâncias 8 a 30, o tempo computacional do GLPK 3.1 foi superior a 15
minutos.
Tabela 2: Dissipação de potência, menor tempo residual de bateria dos sensores e tempo de CPU [s].
Problema
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Sem Balanceamento
Menor
Solução
Tempo
ótima
residual
579.500
1,15
688.835
5,11
85.654
4,70
49.368
3,39
520.694
5,41
826.485
4,68
635.257
4,56
630.029
4,57
4.366.234
5,53
489.331
2,27
643.097
4,22
488.895
5,55
548.572
3,38
67.402
3,83
856.977
5,36
475.391
0,71
5.686.102
4,97
6.971.122
3,33
593.003
4,78
5.825.494
3,75
4.470.778
1,81
6.958.054
1,25
72.716
2,86
5.847
3,73
536.811
0,88
7.829.254
5,09
4.780.054
0,92
51.198
0,97
518.080
2,06
4.614.526
3,28
Com Balanceamento
Menor
Solução
Tempo
ótima
residual
482.797
1,49
612.605
6,95
15.958
5,29
30.421
3,48
498.766
8,68
119.506
8,86
236.683
7,45
402.077
5,37
239.838
5,82
444.464
4,97
150.869
6,28
304.491
6,44
458.839
3,43
46.145
4,39
637.409
6,19
346.913
0,72
4.788.766
5,75
1.724.383
4,16
173.085
6,85
4.122.298
7,07
1.326.469
5,17
454.546
1,46
61.434
6,53
4.688
4,22
285.780
3,91
5.167.738
8,95
4.238.169
1,01
43.462
2,39
332.950
4,29
1.600.174
6,72
Tempo
CPU
[s]
4,26
3,84
3,90
7,12
7,88
12,60
20,10
31,72
70,52
231,90
257,32
412,48
685,28
713,70
774,34
42,68
80,24
134,90
127,66
600,18
436,00
657,30
754,36
718,42
834,28
19,88
14,68
141,54
355,46
365,36
A figura 3 apresenta o ganho percentual do menor tempo residual de bateria dos sensores. Podese observar que o ganho de tempo residual é maior para os problemas da classe 3, instâncias 26 a 30.
Isso pode ser explicado, pelo elevado número de sensores (redundância) e arcos (rotas alternativas).
Nas instâncias da classe 2, houve uma tendência de crescimento do ganho, com excessão dos
problemas 22 e 24. Esse comportamento pode ser em parte explicado pelo elevado número de sensores
fonte enviando pacotes para o sorvedouro. Esse número elevado permite o agrupamento de tráfego e,
conseqüentemente, um ganho de escala durante a transmissão. Ao se balancear a dissipação de
potência desse ganho de escala, tem-se uma maior eficiência do uso da energia da bateria.
Os ganhos percentuais dos problemas da classe 1, instâncias 1 a 15, não foram tão significativos
quanto os da classe 3, porém apresentaram um tempo residual maior, 35% em média, do que o
roteamento sem balanceamento de dissipação de potência.
Figura 3: Ganho percentual do menor tempo de vida de bateria dos sensores
Apesar de um pequeno aumento no tempo residual de vida de cada sensores, a economia da
1611
Pesquisa Operacional e o Desenvolvimento Sustentável
27 a 30/09/05, Gramado, RS
dissipação total de potência da RSSF foi considerável. Como se pode ver através da figura 4, a
economia na dissipação total de potência é significativa, sendo algumas ordens de grandeza de
diferença entre o roteamento sem o balanceamento e o com balanceamento de potência.
Figura 4: Comparação do ganho (%) do menor tempo de vida residual e ganho de economia da
dissipação total de potência (escala logarítmica)
6 Conclusões
No presente trabalho, uma nova abordagem para o problema de roteamento em RSSF é
apresentada. Uma função não linear é proposta com o objetivo de penalizar a sobrecarga da
transmissão de pacotes durante o roteamento. Essa função é responsável pelo balanceamento da
dissipação de potência na rede, sendo anexada ao modelo M de roteamento em RSSF. Além desse
novo modelo, um algoritmo baseado na decomposição de Benders é usado para resolução do modelo
não linear. Essa nova abordagem mostrou-se bastante aderente à realidade dos sensores, uma vez que
diminuiu a potência total dissipada pela rede e aumentou o menor tempo residual de vida das baterias
entre os sensores, conforme comprovado pelos experimentos computacionais realizados.
Como trabalhos futuros, novos resultados computacionais para novas instâncias serão
investigados, restrições de cobertura serão adicionadas ao modelo não linear M e novas estratégias de
resolução serão desenvolvidas.
7 Referências
[1] Balas, E. e Bergthaller, C. (1983), Benders’ Method Revisited. Journal of Computational and
Applied Mathematics, 9, 3-12.
[2] Akyildiz, I. F., Su, W., Sankarasubramaniam, Y. e Cyirci. E. (2002) Wireless sensor networks:
A survey. Computer Networks, 38 (4), 393–422, March.
[3] Benders, J. F. (1962) Partitioning procedures for solving mixed integer variables programming
problems. Numerische Methematik, 4, 238–252.
[4] Catovi, A., Tekinay, S., e Otsu., T. (2002) Reducing transmit power and extending network
lifetime via user cooperation in the next generation wireless multihop netwoks. Journal of
Communications and Networks, 4 (4), 351–362, December.
[5] Claus, A. e Maculan, N. (1983) Une nouvelle formulation du probème de Steiner sur un
graphe. Technical Report 280, Centre de Recherche sur les Transports, Université de
Montréal, Canada.
[6] Ganesan, D., Govindan, R., Shenker, S. e Estrin, D. (2002) Highly resilient, energy efficient
multipath routing in wireless sensor networks. Mobile Computing and Communications
Review, 1 (2), 1-13.
[7] Geoffrion, A. M. e Graves, G. W. (1974) Multicomodity distribution system design by
Benders decomposition. Management Science, 20, 822–844.
[8] Geoffrion, A.M. (1972) Generalized Benders Decomposition, Journal of Optimization Theory
and Applications, 10:4, 237-260.
[9] Goemans, M. X. e Mying, Y.-S. (1993) A catalogue of Steiner tree formulations. Networks,
23:19–28.
[10] Gomez, J., Campbell, A. T., Naghshineh, M. e Bisdikian, C. (2001) Conserving transmission
power in wireless ad hoc networks. In Proceedings of the 9th International Conference on
Network Protocols. ICNP 2001, Riverside, California, November.
[11] Havinga, P. J. M. e Smith, G. J. M. (2000). Design techniques for low-power systems. Journal
of Systems Architecture, 46:1–21.
[12] Heinzelman, W. R., Chandrakasan, A., e Balakrishnan, H. (2000). Energy-Efficient
1612
Pesquisa Operacional e o Desenvolvimento Sustentável
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
27 a 30/09/05, Gramado, RS
Communication Protocol for Wireless Microsensor Networks. In Proceedings of the 33rd
Hawaii International Conference on System Sciences, 1-10, Maui, Hawaii.
Krishanamachari, B., Estrin, D., e Wicker, S. (2002). The impact of data aggregation in
wireless sensor networks. In Proc. of the 22nd International Conference on Distributed
Computing Systems, 575–578, Vienna, Austria.
Loureiro, A. A. F., Nogueira, J. M. S., Ruiz, L. B., de F. Mini, R. A., Nakamura, E. F., e
Figueiredo, C. M. S. (2003). Redes de sensores sem fio. In Mini Curso: Livro Texto, 179–226.
SBRC.
Maculan, N., Arpin, D., e Nguyen, S. (1988). Le problème de Steiner sur un graphe orienté:
Formulations et relaxations. Matemática Aplicada e Computacional, 7, 109–118.
Magnanti, T. L. e Wong, R. T. (1984). Network design and transportation planning: Models
and algorithms. Transportation Science, 18, 1–55.
Makhorin, A. (2001). GLPK - The GNU linear programming kit. Moskow Aviation Institute,
Moscou, Rússia. http://www.gnu.org/software/glpk (12/07/2005).
McDaniel, D. e Devine, M. (1977) A modified Benders’ Partitioning Algorithm for Mixed
Integer Programming. Management Science, 24 (3), 312-319.
Miranda, G. J. (2004). Facility Location and Network Design with Congestion Costs and
Interdependency. Tese de doutorado, Universidade Federal de Minas Gerais, Departamento de
Ciência da Computação.
Park, S. e Srivastava, M. B. (2001). Simulating networks of wireless sensors. In Society, I. C.,
editor, Proceedings of the 33rd Conference on Winter Simulation, 1330–1338.
Raghunathan, V., Schurgers, C., Park, S., e Srivastava, M. (2002). Energy aware wireless
microsensor networks. IEEE Signal Processing Magazine, 19 (2), 40–50.
Randazzo, C. e Luna, H. (2001). A comparison of optimal methods for local access
uncapacitated network design. The Annals of Operations Research, 106, 263–286.
Rodoplu, V. e Meng, T. H.. (1999) Minimum energy mobile wireless networks. IEEE Journal
on Selected Areas In Communications, 17 (8), 1333–1344, August.
Sohrabi, K., Gao, J., e V. Ailawadhi, G. J. P. (2000). Protocols for self-organization of a
wireless sensor network. IEEE Personal Communications, 7, 16–27.
Tilak, S., Abu-Ghazaleh, N. B., e Heinzelman, W. (2002). A taxonomy of wireless
microsensor network models. ACM SIGMOBILE Mobile Computing and Communications
Review, 6 (2), 28–36.
Wong, R. (1984). A dual ascent algorithm for the Steiner problem in directed graphs.
Mathematical Programming, 28, 271–287.
Yuen, W. H. e Sung, C. W. (2003). On energy efficiency and network connectivity of mobile
ad hoc networks. In ICDCS ’03: Proceedings of the 23rd International Conference on
Distributed Computing Systems, 38–46, Providence, Rhode Island, USA. IEEE Computer
Society.
Zhou, C. e Krishnamachari, B. (2003). Localized topology generation mechanisms for selfconfiguring sensor networks. In Proceedings of the IEEE GLOBECOM 2003, 22, 1269–1273,
San Francisco, USA.
1613
Download

balanceamento da dissipação de potência no roteamento em rede