Localização de Robôs Utilizando Inteligência de Enxame

Propaganda
Anais do XX Congresso Brasileiro de Automática
Belo Horizonte, MG, 20 a 24 de Setembro de 2014
LOCALIZAÇÃO DE ROBÔS UTILIZANDO INTELIGÊNCIA DE ENXAME
Alan Oliveira de Sá∗, Nadia Nedjah†, Luiza de Macedo Mourelle‡, Leandro dos Santos
Coelho§
∗
Centro de Eletrônica, Comunicações e Tecnologia da Informação
Centro de Instrução Almirante Wandenkolk, Marinha do Brasil
†
Departamento de Engenharia Eletrônica e Telecomunicações
‡
Departamento de Engenharia de Sistemas e Computação
Faculdade de Engenharia, Universidade do Estado do Rio de Janeiro
§
Programa de Pós-Graduação em Engenharia de Produção e Sistemas (PPGEPS), Pontifı́cia
Universidade Católica do Paraná
Programa de Pós-Graduação em Engenharia Elétrica (PPGEE), Universidade Federal do Paraná
Emails: [email protected], [email protected], [email protected],
[email protected]
Abstract— The localization problem arises from the need of the agents of a Wireless Sensor Network (WSN)
in general, and of a swarm of robots in particular, to determine its position without the use of external references,
such as the Global Positioning System (GPS). In this problem, the localization is computed based on distance
measurements to anchor nodes, which have known positions. In the search for efficient and accurate algorithms
to discover the location, some bio-inspired algorithms have been explored, such as Genetic Algorithm (GA) and
Particle Swarm Optimization Algorithm (PSO). Accordingly, in order to obtain more accurate solutions to the
localization problem, this paper presents and compares the results obtained with the PSO, with the Backtracking
Search Optimization Algorithm (BSA) and with a new algorithm that combines characteristics of both, entitled
Backtracking Cognitive Particle Swarm Optimization Algorithm (BC-PSO). The results show that the BSA is
more robust with regard to changes in the nodes’ distribution, the PSO demands less processing time and the
BC-PSO, under specific conditions, is the most accurate.
Keywords— Particle Swarm Optimization (PSO), Backtracking Search Optimization Algorithm (BSA),
swarm intelligence, swarm robotics, Wireless Sensor Network (WSN), localization.
Resumo— O problema de localização surge da necessidade dos agentes de uma rede de sensores sem fio
em geral, e de um enxame de robôs em particular, de determinar as suas posições sem o uso de referências
externas, tal como o Sistema de Posicionamento Global ou GPS (Global Positioning System). Neste problema,
a localização é realizada baseando-se em medidas de distância para nós de referência, os quais têm suas posições
conhecidas. Na busca por algoritmos eficientes e precisos para descobrir a localização, alguns algoritmos bioinspirados vêm sendo explorados, tais como o Algoritmo Genético ou GA (Genetic Algorithm) e o algoritmo de
Otimização por Enxame de Partı́culas ou PSO (Particle Swarm Optimization). Nesse sentido, visando soluções
mais precisas para o problema de localização, este artigo apresenta e compara os resultados alcançados com o
PSO, com o Algoritmo de Busca por Retrocesso ou BSA (Backtracking Search Optimization Algorithm) e com
um novo algoritmo que combina caracterı́sticas de ambos, denominado algoritmo de Otimização por Enxame
de Partı́culas com Retroação Cognitiva ou BC-PSO (Backtracking Cognitive Particle Swarm Optimization). Os
resultados mostram que o BSA é mais robusto no que diz respeito às variações na distribuição dos nós, o PSO
demanda menos tempo de processamento e o BC-PSO, em condições especı́ficas, é o mais preciso.
Palavras-chave— Otimização por Enxame de Partı́culas, Algoritmo de Busca por Retrocesso, inteligência de
enxame, robótica de enxame, Rede de Sensores sem fio, localização.
1
Introdução
racterı́sticas comuns aos dispositivos, sejam eles
robôs ou sensores. A solução mais evidente, que
consiste em equipar cada elemento com um Sistema de Posicionamento Global ou GPS(Global
Positioning System), torna-se muitas vezes inviável.
Diversas das possı́veis aplicações de um enxame de
robôs demandam que cada indivı́duo seja capaz de
descobrir sua posição, seja ela absoluta, em função
de um sistema de referência universal, ou relativa,
em relação a outros indivı́duos, com base em um
sistema de coordenadas local. Da mesma forma,
as redes de sensores sem fio, cujas perspectivas de
aplicação são amplas e têm atraı́do grande atenção
da indústria, na maioria dos casos possuem pouca
utilidade quando não é possı́vel dispor da posição
de seus sensores (Sun, 2011).
Em ambos os casos, o tamanho reduzido, a
limitada fonte de energia e o baixo custo são ca-
O problema de localização consiste em inferir a posição de um conjunto de robôs ou sensores
em situações onde não é possı́vel utilizar referências externas, como o GPS. Muitos dos algoritmos de localização dependem da capacidade do
nó (robô ou sensor) de medir sua distância para
os nós de referência, cujas posições são conhecidas.
Algumas das técnicas mais comuns para a medição
de distância baseiam-se na potência do sinal rece-
9
Anais do XX Congresso Brasileiro de Automática
Belo Horizonte, MG, 20 a 24 de Setembro de 2014
bido, no tempo de propagação de um sinal, e/ou
na comparação do tempo de propagação de dois
sinais com velocidades de propagação diferentes
(Ekberg, 2009) (Mao et al., 2007) (Lymberopoulos
et al., 2006).
Uma vez que as técnicas de medição apresentadas dependem da propagação de sinais, há de
se considerar uma distância limite para tais medições. Nos casos mais simples, onde todos os nós de
referência estão dentro da distância limite de medição, as medidas são diretas e feitas em um único
salto. Entretanto, nos casos em que um ou mais
nós de referência estão fora da distância limite, as
medidas são obtidas indiretamente em múltiplos
saltos, por meio de algoritmos como Sum-dist ou
DV-hop (Langendoen, 2005). Dependendo da topologia da rede, ou enxame, os casos de um e de
múltiplos saltos podem coexistir.
Em (Langendoen, 2005), os autores propõem
três fases para a abordagem do problema com
múltiplos saltos:
na Seção 8, são apresentadas as conclusões, juntamente com algumas possibilidades de trabalhos
futuros.
2
Trabalhos Relacionados
A importância da informação de localização dos
elementos de uma rede de sensores, ou enxame de
robôs, e as limitações de hardware e energia, tı́picas destes dispositivos, têm motivado a busca por
algoritmos de localização cada vez mais eficientes
e precisos.
Em (Sun, 2011), os autores reportam o uso de
algoritmos genéticos para a solução do problema
de localização em uma rede de sensores, sem obstáculos e sem ruı́do.
Uma outra abordagem ao problema de localização é relatada em (Huanxiang et al., 2010),
onde os autores propõem o uso de nós de referência móveis e um algoritmo baseado em algoritmos genéticos para estabelecer a localização de
nós desconhecidos estáticos. Este método, entretanto, pode apresentar desvantagens em redes com
grande área de cobertura, devido ao elevado gasto
de energia na movimentação dos nós de referência.
Em (Ekberg, 2009), o autor apresenta o algoritmo de localização por inteligência de enxame
ou SIL (Swarm-Intelligent Localization), baseado
no PSO, para a solução do problema de localização em uma rede de sensores estáticos, de duas ou
três dimensões, com medidas de distância para os
nós de referência feitas em múltiplos saltos. Em
(Ekberg, 2011), é demonstrada a capacidade do
SIL em resolver o problema de localização em redes de sensores móveis.
Nesse contexto, este trabalho visa contribuir
com a busca por algoritmos mais eficientes e mais
precisos para o problema de localização, por meio
da avaliação e da comparação do desempenho do
PSO, BSA e de um algoritmo proposto, que combina as caracterı́sticas de ambos.
1. Estimar as distâncias de cada nó para os nós
de referência.
2. Calcular a posição de cada nó a partir das
distâncias medidas na fase 1.
3. Refinar a posição de cada nó a partir das
informações de posição e distância dos nós
vizinhos.
A otimização por técnicas bio-inspiradas vem
sendo aplicada ao problema de localização, tanto
nos casos de um único salto, quanto nos casos de
múltiplos saltos (Sun, 2011) (Ekberg, 2009). Este
trabalho visa comparar o desempenho e a precisão do algoritmo de otimização por enxame de
partı́culas ou PSO (Particle Swarm Optimization)
(Engelbrecht, 2005), do algoritmo de busca por retrocesso ou BSA (Backtracking Search Optimization Algorithm) (Civicioglu, 2013a) e de um novo
algoritmo que combina caracterı́sticas de ambos,
denominado algoritmo de otimização por enxame
de partı́culas com retroação cognitiva ou BC-PSO
(Backtracking Cognitive Particle Swarm Optimization), na solução de problemas de localização.
Nos três casos, as distâncias medidas são de um
único salto.
Para tal, o presente artigo é organizado da
seguinte forma: Primeiramente, na Seção 2, são
apresentados alguns trabalhos relacionados. Posteriormente, na Seção 3, é especificado o problema
de localização. Nas Seções 4 e 5, são brevemente
descritos os passos do PSO e BSA, respectivamente. Na Seção 6, é proposto o algoritmo BCPSO, que combina as caracterı́sticas do PSO com
o BSA, visando obter maior precisão na solução do
problema de localização. Em seguida, na Seção 7,
são reportados os resultados obtidos. Finalmente,
3
Especificação do Problema
A formulação dada ao problema de localização
pode ser aplicada a problemas com duas ou três
dimensões. Sendo assim, para simplificar a análise, adotou-se caso de duas dimensões. Como premissa, o problema é considerado como sendo de
um único salto, ou seja, todos os nós desconhecidos são capazes de medir a distância para os nós
de referência, de forma direta. Neste cenário não
foram considerados erros nas medidas de distância.
Para estabelecer a função de aptidão, é preciso
considerar que, para um dado nó desconhecido, o
quadrado do erro em distância para cada nó de referência é definido conforme (1), onde, dr e pr são
a distância medida e posição do nó de referência
10
Anais do XX Congresso Brasileiro de Automática
Belo Horizonte, MG, 20 a 24 de Setembro de 2014
Algoritmo 1: Algoritmo PSO
inı́cio
Inicia o enxame com x e v aleatórias;
Avalia o enxame;
Armazena mi e mg ;
repita
Atualiza velocidades, conforme
(4) e (5);
Atualiza posições, conforme (3);
Avalia o enxame;
Atualiza mi e mg , caso melhores
posições tenham sido
encontradas;
até Condição de parada;
retorna mg ;
r, respectivamente, e xi é a posição estimada para
o nó desconhecido i.
g(xi , dr , pr ) = (dr − ||pr − xi ||)2
(1)
Dessa forma, a função de aptidão para a posição de um nó desconhecido é obtida pela soma
do quadrado dos erros de distância para cada nó
de referência, conforme apresentado em (2), onde
R é o número de nós de referência.
f (xi , dr , pr ) =
R
X
g(xi , dr , pr )
(2)
r=1
Sendo assim, para encontrar a posição de um
nó é preciso minimizar a função definida em (2).
Neste cenário, onde não há erros de medida de
distância, o valor mı́nimo de f (xi , dr , pr ) é 0.
4
fim
5
Otimização por Enxame de Partı́culas
O BSA é um novo algoritmo evolucionário
(Civicioglu, 2013a), que utiliza informações obtidas por gerações passadas para buscar soluções de
melhor aptidão. A filosofia bio-inspirada do BSA é
análoga a um grupo social de seres vivos que, em
intervalos aleatórios, retornam às zonas de caça
que foram previamente consideradas boas para a
busca de alimentos. A estrutura geral do BSA é
apresentada no Algoritmo 2.
O PSO tem origem na simulação de modelos sociais simplificados, como, por exemplo, a movimentação de cardumes de peixes ou bandos de aves
(Kennedy, 1995) (Shi, 1998), sendo o termo partı́cula utilizado para generalizar o indivı́duo. Nesta
analogia, uma partı́cula representa uma possı́vel
solução para um problema. O enxame, por sua
vez, representa um conjunto de possı́veis soluções.
A cada ciclo iterativo a posição de cada partı́cula é
atualizada conforme (3), onde xi e vi são a posição
e a velocidade da partı́cula i, respectivamente.
xi (t + 1) = xi (t) + vi (t + 1)
Algoritmo 2: BSA
inı́cio
Inicialização;
repita
Seleção-I;
Gera nova população
Mutação;
Cruzamento;
fim
Seleção-II;
até Condição de parada;
fim
(3)
Após atualizar a posição das partı́culas, é feita
a avaliação das suas aptidões.
O vetor de velocidade vi de cada partı́cula é
calculado pela soma de três componentes: uma
componente de inércia do movimento, uma componente cognitiva, baseada na melhor solução obtida pela partı́cula, e uma componente social, baseada na melhor solução global encontrada pelo
enxame. O cálculo de vi é feito conforme (4),
onde w é uma constante que representa a inércia
da partı́cula, ϕ1 e ϕ1 são constantes que atribuem
pesos às componentes social e cognitiva, respectivamente, r1 e r2 são números aleatórios entre [0,1],
mi é a melhor posição da partı́cula i e mg é a melhor posição do enxame. É estabelecido ainda um
limite de velocidade para cada dimensão j, dado
por (5), onde maxj e minj são os limites máximo
e mı́nimo do espaço de busca na dimensão j, e
δ ∈ [0, 1].
vi (t + 1) = wvi (t) + ϕ1 r1 (t)(mi − xi (t))
+ϕ2 r2 (t)(mg − xi (t))
0 ≤ vij ≤ δ(maxj − minj )
Algoritmo de Busca por Retrocesso
Na etapa de inicialização, o algoritmo gera e
avalia a população inicial P0 e inicia uma população histórica Phist . A população histórica constitui a memória do BSA.
Durante a Seleção-I, o algoritmo determina
aleatoriamente, utilizando uma distribuição uniforme, se a população atual P será gravada como
população histórica Phist e então embaralha indivı́duos de Phist .
O operador de mutação cria Pmod (versão inicial da nova população Pnova ), de acordo com (6).
Dessa forma, Pmod é o resultado do movimento
dos indivı́duos de P nas direções estabelecidas por
(Phist − P ). S representa a amplitude do deslocamento, que, neste algoritmo, é dada por (7).
(4)
(5)
A estrutura geral do PSO é definida pelo Algoritmo 1.
Pmod = P + S(Phist − P )
11
(6)
Anais do XX Congresso Brasileiro de Automática
Belo Horizonte, MG, 20 a 24 de Setembro de 2014
S =k·Γ
Cabe ressaltar que para formar a componente
cognitiva, não é armazenado o histórico completo
das posições já visitadas pelas partı́culas. A cada
iteração, o algoritmo determina aleatoriamente,
utilizando uma distribuição uniforme, se a posição atual das partı́culas será gravada na memória
para compor a componente cognitiva. Uma vez
determinada a gravação, tais posições sobrescrevem as posições gravadas anteriormente na memória. Dessa forma, a retroação cognitiva não
aumenta os requisitos computacionais, em termos
de memória, quando comparado ao PSO.
No que tange ao cálculo da componente de
inércia, o modelo utilizado é inspirado nos conceitos apresentados em (Shi, 1998), no qual é estabelecido que altos valores de coeficiente de inércia
tendem a facilitar a busca global, enquanto baixos
valores de coeficiente de inércia tendem a facilitar
a busca local.
A estrutura do BC-PSO é definida pelo Algoritmo 3, onde xhist é a população histórica selecionada aleatoriamente.
(7)
O valor de k é ajustado empiricamente via
uma série de simulações, já Γ ∼ N(0, 1), onde N
é a distribuição normal padrão. Para criar a versão final de Pnova , o operador de cruzamento combina aleatoriamente, utilizando uma distribuição
uniforme, elementos de Pmod com elementos de P.
Na etapa Seleção-II, o algoritmo seleciona os
elementos de Pnova (indivı́duos obtidos após mutação e cruzamento) que tenham a aptidão melhor
do que os de P (indivı́duos antes da mutação e do
cruzamento) e os substitui em P. Dessa forma, P
só incluirá novos indivı́duos que tenham evoluı́do.
Após atendida a condição de parada, o algoritmo
retorna a melhor solução encontrada.
6
Algoritmo de Otimização por Enxame
de Partı́culas com Retroação Cognitiva
O algoritmo BC-PSO, que combina caracterı́sticas do PSO com o BSA, é proposto com base na
estrutura geral do PSO, porém, com modificações
no que tange ao cálculo da velocidade das partı́culas. Neste algoritmo, a componente cognitiva de
(4) foi modificada, inspirada no BSA, passando a
ser computada não em função da melhor posição
da partı́cula e sim em função de uma posição da
mesma selecionada aleatoriamente no passado. A
componente social foi mantida de forma idêntica
àquela usada no PSO. Já a componente de inércia foi mantida apenas para os ciclos iniciais do
algoritmo, a fim de prover uma melhor exploração
do espaço de busca, sendo anulada quando o coeficiente de variação da população atinge um valor
ajustado empiricamente, com o objetivo de melhorar a busca local no final do processo de otimização. Estas modificações resultam em (8), onde cv
é o coeficiente de variação da população, xh é uma
posição histórica da partı́cula, escolhida aleatoriamente utilizando uma distribuição uniforme, e λ
é uma constante que representa o valor do coeficiente de variação a partir do qual a componente
de inércia é anulada. Foi mantido um limite de
velocidade, conforme definido em (5).
Algoritmo 3: Algoritmo BC-PSO
inı́cio
Inicia xhist aleatoriamente; Inicia o
enxame com x e v aleatórias;
Avalia o enxame;
Armazena mg ;
repita
Atualiza velocidades, conforme
(8) e (5);
Atualiza posições, conforme (3);
Avalia o enxame;
Atualiza mg , caso uma melhor
posição tenha sido encontrada;
Seja xhist = x , aleatoriamente;
até Condição de parada;
retorna mg ;
fim
7
As simulações foram feitas numa área de 100 ×
100 unidades de medida. Neste espaço de busca,
foram distribuı́dos aleatoriamente 1000 nós, denominados nós desconhecidos pelo fato deles não
conhecerem sua posição real. Ainda neste espaço
de busca, foram alocados aleatoriamente 3, depois
4 e posteriormente 5 nós de referência, sendo 3 o
número mı́nimo para um problema de duas dimensões (Ekberg, 2009). Para cada quantidade de nós
de referência, foram gerados 10 cenários distintos.
O grande número de nós desconhecidos foi
adotado para dar confiabilidade aos resultados obtidos, tendo em vista o caráter estocástico dos algoritmos utilizados, e o fato de que cada nó desconhecido representa um problema de localização.
Cumpre ressaltar que, apesar de gerados aleatoriamente, os mesmos cenários foram precisa-

wvi (t)
Se (cv < λ);




+ϕ
r
(t)(x
−
x
(t))

1
1
h
i


+ϕ2 r2 (t)(mg − xi (t))
vi (t+1) =




Se (cv ≥ λ).

 ϕ1 r1 (t)(xh − xi (t))

+ϕ2 r2 (t)(mg − xi (t))
(8)
O coeficiente de variação da população cv é
cálculado conforme (9), onde σ e µ são o desvio
padrão e a média da população, respectivamente.
cv =
σ
µ
Resultados Obtidos
(9)
12
Anais do XX Congresso Brasileiro de Automática
Belo Horizonte, MG, 20 a 24 de Setembro de 2014
mente reproduzidos para ser submetidos aos três
algoritmos, tornando justa a comparação de desempenho. Em todas as simulações realizadas foram empregadas populações de 100 indivı́duos.
Para efeito de comparação entre os três algoritmos, foi calculada, a cada geração, a média
do erro de posicionamento (MEP) de todos os
nós desconhecidos, para todos os cenários gerados, conforme descrito em (10), onde g representa
o número da geração, c o número do cenário, i o
identificador do nó desconhecido, D é o número
total de nós desconhecidos, xreal é a posição real
do nó e xcalc é a posição calculada pelo algoritmo
de otimização.
P10 PD
||xreal (c, i) − xcalc (c, i)||
M EPg = c=1 i=1
10D
(10)
As simulações com o PSO, BSA e BC-PSO foram conduzidas em implementações feitas no MATLAB, sendo, no caso do BSA, utilizada a implementação disponı́vel em (Civicioglu, 2013b).
Os parâmetros dos três algoritmos foram ajustados empiricamente por meio de uma série de
simulações. Com o BSA, o melhor resultado foi
obtido com k = 1. Para o PSO e para o BC-PSO,
o melhor resultado foi obtido com os parâmetros
apresentados na Tabela 1.
ótimo em 100 gerações.
1
Média do Erro de Posicionamento (MEP) (log)
10
0
10
−1
10
−2
10
BSA
PSO
BC−PSO
−3
10
0
10
20
30
40
50
Gerações
60
70
80
90
100
Figura 1: Curvas de MEP × geração, com 3 nós
de referência
1
Média do Erro de Posicionamento (MEP) (log)
10
Tabela 1: Parâmeros do PSO e BC-PSO
Parâmetro
PSO
BC-PSO
λ
–
0,31
w
0,7298
0,7298
ϕ1
2,05
1,05
ϕ2
2,05
2,05
δ
0,01
0,01
0
10
−1
10
−2
10
−3
10
BSA
PSO
BC−PSO
−4
10
0
10
20
30
40
50
Gerações
60
70
80
90
100
Figura 2: Curvas de MEP × geração, com 4 nós
de referência
Os resultados da MEP por geração, obtidos
com os três algoritmos, são apresentados nas Figuras 1, 2 e 3. Observando as Figuras 1 e 2, podese constatar que, para 3 e 4 nós de referência, o
BSA apresenta a menor MEP. Na Figura 1, para
3 nós de referência, verifica-se que ao final de 100
gerações o BSA apresenta uma MEP da ordem de
10−3 enquanto que os outros algoritmos apresentam uma MEP da ordem de 1. Na Figura 2, para
4 nós de referência, o BSA apresenta uma MEP da
ordem de 10−4 enquanto que os outros algoritmos
apresentam uma MEP da ordem de 10−2 .
Entretanto, comparando as Figuras 2 e 3,
pode-se constatar uma melhora significativa no
desempenho dos algoritmos PSO e BC-PSO,
quando são adotados 5 nós de referência. Neste
caso o algoritmo BC-PSO apresentou uma MEP
da ordem de 10−6 , superando a MEP dos demais
algoritmos em duas ordens de grandeza. Cabe
ainda ressaltar que, com o algoritmo BC-PSO,
para 5 nós de referência, 34,06% dos nós desconhecidos alcançaram o resultado ótimo (i.e. erro=0)
ao final de 100 gerações. Com o BSA e PSO, nenhum dos nós desconhecidos alcançou o resultado
1
10
Média do Erro de Posicionamento (MEP) (log)
0
10
−1
10
−2
10
−3
10
−4
10
−5
BSA
PSO
BC−PSO
10
−6
10
0
10
20
30
40
50
Gerações
60
70
80
90
100
Figura 3: Curvas de MEP × geração, com 5 nós
de referência
A elevada MEP dos algoritmos PSO e BCPSO, para 3 e 4 nós de referência, ocorre em virtude destes algoritmos terem apresentado maior
dificuldade para solucionar problemas em que os
nós de referência se aproximam de formar uma
linha reta. No caso extremo, quando os nós de
13
Anais do XX Congresso Brasileiro de Automática
Belo Horizonte, MG, 20 a 24 de Setembro de 2014
0
100
referência são colineares, a função de aptidão é simétrica em relação a reta formada por estes nós e
consequentemente o problema admite matematicamente duas soluções, sendo apenas uma válida
(Langendoen, 2005). Nos casos onde os nós de
referência não são colineares, mas se aproximam
desta condição, a função de aptidão se aproxima
de tal simetria apresentando dois mı́nimos (um local e um global) com valores de aptidão próximos.
Nestas condições, os algoritmos PSO e BC-PSO
convergem, em alguns casos, para o mı́nimo local que não corresponde à posição real (mı́nimo
global). O BSA, por sua vez, não encontra dificuldades para convergir para o mı́nimo global, em
condições idênticas. As Figuras 4, 5 e 6 exemplificam a diferença de resposta dos três algoritmos
para nós de referência quase colineares. Nestas figuras, 3 nós de referência estão posicionados próximos à reta destacada. Nos mapas gerados para
os algoritmos PSO e BC-PSO (Figuras 4 e 5, respectivamente), foram demarcadas regiões onde há
grande incidência de nós cujas posições calculadas estão incorretamente do lado oposto da reta.
A Figura 6 mostra a solução correta obtida pelo
BSA para o mesmo problema.
0
100
20
40
60
80
50
40
30
20
10
0
Há uma melhora significativa nos resultados,
com os três algoritmos, quando o número de nós
de referência aumenta. Cabe ressaltar que a medida que o número de nós de referência aumenta,
diminui a probabilidade destes nós se alinharem,
o que também contribui para a melhora do desempenho dos algoritmos PSO e BC-PSO.
Observa-se ainda que os algoritmos PSO e
BC-PSO demoram mais a convergir para a solução do problema quando o nó desconhecido está
próximo ao limite do espaço de busca. O BSA, por
sua vez, converge para a solução com a mesma velocidade, independente da localização do nó desconhecido. O comportamento dos três algoritmos,
sob este aspecto, é demonstrado no vı́deo disponibilizado em (Sá, A. O., 2014).
No que diz respeito ao tempo de processamento, o PSO foi o algoritmo que teve o menor
tempo médio, aproximadamente 14% menos do
que o BC-PSO e 28% menos do que o BSA. O
tempo de processamento não sofreu mudanças significativas com o aumento do número de nós de referência: entre 2,5% e 4,1% de aumento a cada nó
de referência adicionado. A Figura 7, apresenta
uma comparação entre o tempo de processamento
requerido pelos três algoritmos, para 3, 4 e 5 nós
de referência. Os tempos de processamento foram
normalizados em relação ao maior tempo de processamento, que ocorre para o BSA com 5 nós de
referência.
100
40
30
20
10
Posição calculada
Posição real
Nós de referência
Figura 4: Exemplo de erro de simetria com o PSO
80
100
90
80
Tempo de Processamento, normalizado (%)
70
60
50
40
30
20
10
0
Posição calculada
Posição real
Nós de referência
Figura 6: Exemplo de resposta sem erro de simetria, com o BSA
50
60
100
60
60
40
80
70
70
20
60
80
80
0
100
40
90
90
0
20
Posição calculada
Posição real
Nós de referência
100
80
82,6%
68,3%
64,4%
85,3%
71,4%
60
40
20
0
Figura 5: Exemplo de erro de simetria com o BCPSO
78,4%
100%
96,0%
93,5%
PSO
BC−PSO
BSA
3
4
Nós de referência
5
Figura 7: Comparação dos tempos de processamento
14
Anais do XX Congresso Brasileiro de Automática
Belo Horizonte, MG, 20 a 24 de Setembro de 2014
8
Conclusões
networks with mobile nodes, Wireless Communications and Mobile Computing Conference (IWCMC), 7th International, IEEE,
pp. 83–88.
Com base nos resultados obtidos, conclui-se que,
para o problema de localização, o BSA apresenta
maior robustez que os demais algoritmos testados
no que tange à disposição dos nós. No que diz
respeito à posição dos nós desconhecidos, a velocidade de convergência foi a mesma tanto para os
nós da periferia quanto para os nós posicionados
em outras regiões do espaço de busca. No que diz
respeito à posição relativa dos nós de referência,
o BSA manteve a capacidade de convergir para o
mı́nimo global, mesmo quando os nós de referência estão quase alinhados. Esta robustez, garantiu
ao BSA menores erros que os demais algoritmos
para 3 e 4 nós de referência.
O algoritmo que apresentou a menor MEP foi
o BC-PSO, para 5 nós de referência. Neste caso, o
mesmo superou a MEP do BSA em aproximadamente duas ordens de grandeza, tendo 34,06% dos
nós desconhecidos alcançado o resultado ótimo em
menos de 100 gerações. Cabe ressaltar que este
resultado foi obtido em um tempo de processamento 14% menor do que o consumido pelo BSA.
Em contrapartida, este algoritmo se mostrou inadequado para problemas cujos nós de referência
são colineares ou quase colineares.
O PSO foi o algoritmo com menor consumo
de tempo de processamento, o que pode ser vantajoso para problemas em que não existam nós de
referência quase colineares.
Para trabalhos futuros, propõe-se a investigação do desempenho destes algoritmos em problemas com múltiplos saltos e em problemas onde
haja ruı́do nas medidas de distância.
9
Engelbrecht, A. P. (2005). Fundamentals of Computational Swarm Intelligence, Wiley.
Huanxiang, J. et al. (2010). Localization algorithm for mobile anchor node based on genetic algorithm in wireless sensor network, Intelligent Computing and Integrated Systems
(ICISS), International Conference on, IEEE,
pp. 40–44.
Kennedy, J. e Eberhart, R. (1995). Particle swarm
optimization, Proceedings of 1995 IEEE International Conference on Neural Networks,
pp. 1942–1948.
Langendoen, K. e Reijers, N. (2005). Distributed localization algorithms, In: R. Zurawski
(Eds.) Embedded Systems Handbook, CRC
press, pp. 36.1–36.23.
Lymberopoulos, D. et al. (2006). An empirical characterization of radio signal strength
variability in 3-d ieee 802.15. 4 networks
using monopole antennas, Wireless Sensor
Networks, Springer, pp. 326–341.
Mao, G. et al. (2007). Wireless sensor network
localization techniques, Computer networks
51(10): 2529–2553.
Sá, A. O. (2014). Comportamento dos algoritmos
PSO, BC-PSO e BSA, aplicados ao problema
de localização, http://youtu.be/d7xgjlKTXs.
Agradecimentos
Shi, Y. e Eberhart, R. (1998). A modified particle
swarm optimizer, Evolutionary Computation
Proceedings, 1998. IEEE World Congress on
Computational Intelligence., The 1998 IEEE
International Conference on, IEEE, pp. 69–
73.
Agradecemos à Fundação Carlos Chagas Filho de
Amparo à Pesquisa do Estado do Rio de Janeiro
(FAPERJ, http://www.faperj.br), por financiar
este estudo.
Sun, W. e Su, X. (2011). Wireless sensor network
node localization based on genetic algorithm,
IEEE 3rd. Int. Conf. on Communication
Software and Networks, 2011, pp. 316–319.
Referências
Civicioglu, P. (2013a). Backtracking search optimization algorithm for numerical optimization problems, Applied Mathematics and
Computation 219(15): 8121–8144.
Civicioglu, P. (2013b). BSA code for MATLAB,
http://www.pinarcivicioglu.com/bsa.html.
Ekberg, P. (2009). Swarm-intelligent localization,
Master’s thesis, Uppsala Universitet, Uppsala, Sweden.
Ekberg, P. e Ngai, E. (2011).
A distributed swarm-intelligent localization for sensor
15
Download