• Nenhum resultado encontrado

Otimização baseada na Eco-localização de Morcegos (Bat Algorithm)

No documento wesleyperes (páginas 64-70)

2.6 MÉTODOS POPULACIONAIS BIOINSPIRADOS PARA SOLUÇÃO DE

2.6.4 Otimização baseada na Eco-localização de Morcegos (Bat Algorithm)

2.6.4.1 Bioinspiração

O processo de otimização bioinspirada na eco-localização de morcegos (do inglês Bat Algorithm) é uma recente metodologia proposta em (YANG, 2010b)10. A eco-localização é a capacidade dos morcegos detectarem suas presas e evitarem obstáculos através da emissão de sons e da recepção dos ecos, mesmo estando na escuridão. Com base no tempo gasto para que o som emitido alcance o alvo e retorne à fonte (eco), o morcego identifica a distância em que se encontra do obstáculo ou presa.

Existem diferentes tamanhos de morcegos, sendo que os de menores tamanhos, denominados de microbats, usam extensivamente a eco-localização para caçar suas presas (mesmo estando na completa escuridão e as presas em movimento).

Os morcegos emitem sons modulados de acordo com a estratégia de caça. Estudos mostraram que os microbats emitem sons na faixa de 20 kHz à 150 kHz. O volume do som emitido diminui durante o processo de caça, atingindo um valor mínimo quando a presa é alcançada. Já a taxa de emissão de pulsos sonoros aumenta durante o processo até um valor alto quando o objetivo (presa) é alcançado.

Baseado na eco-localização dos morcegos, o método de otimização proposto em (YANG, 2010b) faz uso de três regras básicas:

1. todos os morcegos do grupo fazem uso da eco-localização para a identificação e alcance das presas;

2. os morcegos se deslocam no espaço de busca com velocidade 𝑣𝑖 na posição 𝑥𝑖 variando a frequência do som emitido 𝑓𝑟 𝑖, o volume do som emitido 𝐴𝑖 e a taxa de

emissão de pulsos 𝑟𝑖 de acordo com a estratégia de caça;

3. o volume do som 𝐴𝑖 diminui de um valor alto 𝐴0 até um valor baixo 𝐴𝑚𝑖𝑛 durante o processo de busca. Em contrapartida a taxa de emissão de pulsos 𝑟𝑖 aumenta de um

valor mínimo até 𝑟𝑖0.

10 O algoritmo do Bat pode ser agrupado junto com o PSO em uma subclasse de algoritmos

41

Algumas aplicações recentes do Bat Algorithm em engenharia elétrica podem ser obtidas em (LEMMA e BIN MOHD HASHIM, 2011), (BORA, COELHO e LEBENSZTAJN, 2012), (COELHO, 2013), (ARCANJO, 2014) e (MORAES, 2015), onde se verificam resultados promissores. Uma revisão sobre as aplicações desse método pode ser obtida em (YANG, 2013b).

2.6.4.2 Equações de Movimento

Em uma geração 𝑡 um morcego (indivíduo) 𝑖 se desloca no espaço de busca atualizando os seguintes parâmetros: velocidade 𝑣𝑖𝑡, posição 𝑥𝑖𝑡, frequência 𝑓𝑟 𝑖, volume do som 𝐴𝑡𝑖 e taxa de emissão dos pulsos 𝑟

𝑖𝑡.

A frequência do som emitido 𝑓𝑟 𝑖 é atualizada considerando um limite mínimo 𝑓𝑟 𝑚𝑖𝑛 e

máximo 𝑓𝑟 𝑚𝑎𝑥 de acordo com a equação (2.14).

𝑓𝑟 𝑖 = 𝑓𝑟 𝑚𝑖𝑛 + 𝑓𝑟 𝑚𝑎𝑥 − 𝑓𝑟 𝑚𝑖𝑛 . 𝛽 (2.14)

em que:

 𝛽𝜖 0,1 é um escalar randômico.

Uma vez atualizada a frequência, a velocidade de cada indivíduo também é atualizada de acordo com a equação (2.15). O vetor de velocidades 𝑣𝑖 possui a mesma dimensão do vetor de posições (ou soluções) 𝑥𝑖.

𝑣𝑖𝑡 = 𝑣

𝑖𝑡−1+ 𝑥𝑖𝑡−1 − 𝑥∗ . 𝑓𝑟 𝑖 (2.15)

em que 𝑥∗é a melhor posição (ou solução) corrente.

A atualização da posição de cada indivíduo é realizada conforme a equação (2.16):

𝑥𝑖𝑡 = 𝑥

42

A nova posição 𝑥𝑖𝑡 de cada indivíduo deve satisfazer aos limites das variáveis de otimização, conforme apresentado na equação (2.17).

𝑥𝑖𝑡 = 𝑥𝑖𝑡 𝑠𝑒 𝑥𝑚𝑖𝑛 ≤ 𝑥𝑖𝑡 ≤ 𝑥𝑚𝑎𝑥 𝑥𝑚𝑖𝑛 𝑠𝑒 𝑥𝑖𝑡 < 𝑥𝑚𝑖𝑛 𝑥𝑚𝑎𝑥 𝑠𝑒 𝑥𝑖𝑡 > 𝑥 𝑚𝑎𝑥 (2.17)

Como anteriormente mencionado, a cada indivíduo está associado um valor para o volume do som emitido 𝐴𝑖𝑡 e outro para a taxa de emissão dos pulsos 𝑟𝑖. Quando o indivíduo

está próximo de soluções de boa qualidade (na analogia de um morcego estar próximo de sua presa), o volume do som é reduzido e a taxa de emissão de pulsos é incrementada.

Dessa forma, para cada indivíduo, pode-se avaliar a proximidade das soluções de boa qualidade com base na taxa de emissão de pulsos 𝑟𝑖 através do seguinte procedimento:

amostra-se um número rand. Se o número randômico for maior que a taxa de emissão de pulsos, significa que provavelmente o morcego está distante da sua presa (solução ótima). Dessa forma é executada uma busca local ao redor da melhor solução corrente, conforme a equação (2.18)11.

𝑥𝑖𝑡 = 𝑥∗+ 𝜀 (2.18)

em que ε é um vetor de números randômicos reais de baixa magnitude.

Diferentemente do método PSO, as novas soluções não são automaticamente aceitas. Para que uma nova solução 𝑥𝑖𝑡 seja aceita, deve-se satisfazer os seguintes critérios: (i) a solução do indivíduo deve melhorar, isto é 𝑓 𝑥𝑖𝑡 < 𝑓 𝑥𝑖𝑡−1 12, e (ii) um número rand deve ser menor que o volume do som 𝐴𝑖𝑡. A motivação para esse procedimento está associada ao fato de que o volume do som é reduzido a medida que o morcego se aproxima da presa (ou o algoritmo se aproxima das soluções de boa qualidade): dessa forma, se o rand for menor que o volume do som, significa que esse morcego está se aproximando das boas soluções.

11 Pode-se ainda fazer a busca local considerando x

i

t= x+ ϵ. At , em que ϵ ∈ −1,1 e At é a média do som de todos os morcegos na geração 𝑡. Nesse caso, quanto mais perto da melhor solução, menor é a média do som e mais refinada é a busca local.

12 Em (COELHO, 2013) é apresentada um passo adicional com o objetivo de aumentar a diversidade da

população: é permitido que uma porcentagem dos piores indivíduos (ordenados de acordo com sua função de aptidão) se desloque livremente (de acordo com as equações de movimento) independentemente da sua nova função aptidão e volume do som.

43

Quando uma solução nova é aceita, o volume do som 𝐴𝑖 e a taxa de pulsos 𝑟𝑖 devem ser atualizados, conforme as equações (2.19) e (2.20).

𝐴𝑖𝑡+1 = 𝜇. 𝐴 𝑖

𝑡 (2.19)

𝑟𝑖𝑡+1 = 𝑟

𝑖0. 1 − 𝑒−𝛾.𝑡 (2.20)

em que 𝜇 e 𝛾 são parâmetros cujos valores são comumente ajustados em 0,9 conforme (YANG, 2010b).

Observa-se que a posição ótima será obtida quando: 𝐴𝑖𝑡 → 0 e 𝑟

𝑖𝑡 → 𝑟𝑖0 quando 𝑡 → ∞ (2.21)

Os seguintes valores são geralmente adotados (YANG, 2010b): (i) o valor inicial para o volume do som foi de 0,25 (𝐴𝑖𝑡 = 0,25); (ii) a taxa de emissão de pulsos 𝑟𝑖0 = 0,5 e faixa de freqüência fr min fr max = 0 2 Hz.

2.6.4.3 Análise de Parâmetros

Como no método PSO, o primeiro parâmetro a ser ajustado é o número de indivíduos a serem utilizados na população. Conforme (YANG, 2010b) (CORDEIRO, PARPINELLI e LOPES, 2012) (YANG, 2013b) esse valor pode ser escolhido na faixa de 20 a 50 indivíduos.

Conforme (YANG, 2010b), o Bat Algorithm é baseado em uma combinação entre busca global e busca local intensa controlada pelo volume do som e taxa de emissão de pulsos. Em comparação com o PSO, pode-se fazer as seguintes observações:

a velocidade de uma partícula no PSO (equação (2.9)) é atualizada levando em consideração a componente de inércia (proporcional a 𝑣𝑖𝑡−1), cognitiva (proporcional a 𝑝𝑏𝑒𝑠𝑡𝑖) e social (proporcional a 𝑔𝑏𝑒𝑠𝑡). No algoritmo Bat original (usado nessa tese) a componente cognitiva não é levada em consideração. Nesse caso é conferida a cada indivíduo um maior grau de liberdade no movimento em busca pelas melhores soluções. Entretanto, em (JADDI, ABDULLAH e HAMDAN, 2015), é proposta a inclusão da componente cognitiva na equação de movimento visando aumentar a capacidade de exploração local das melhores experiências individuais;

44

enquanto que no PSO existe um coeficiente multiplicativo na componente de inércia (𝑤𝑡. 𝑣

𝑖𝑡−1), no algoritmo original do BAT não se utiliza essa constante. Uma

vez que o algoritmo do BAT apresenta uma etapa de busca local controlada pela taxa de emissão de pulsos, no algoritmo original a constante de inércia é considerada unitária (no PSO ela é reduzida durante as gerações);

por fim cita-se que, enquanto a velocidade do PSO é limitada, esse procedimento não é aplicado no algoritmo do Bat original devido ao fato da componente 𝑥𝑖𝑡−1− 𝑥 . 𝑓

𝑟 𝑖 geralmente assumir valores pequenos. Caso a velocidade

fosse limitada, o método poderia ter sua capacidade exploratória deteriorada.

Com relação aos parâmetros 𝜇 e 𝛾, utilizados para redução do volume 𝐴𝑡+1𝑖 = 𝜇. 𝐴

𝑖

𝑡 do som e aumento da taxa de emissão de pulsos

𝑟𝑖𝑡+1 = 𝑟

𝑖0. 1 − 𝑒−𝛾.𝑡 , deve-se ter: 0 < 𝜇 < 1 e 𝛾 > 0.

As seguintes análises são válidas:

 𝜇 = 0: o volume do som seria nulo 𝐴𝑖𝑡+1 = 0, fazendo com que as novas soluções não fossem aceitas e as soluções ficariam estagnadas em suas condições iniciais;

 𝛾 = 0: a taxa de emissão de pulsos seria nula 𝑟𝑖𝑡+1 = 0, aumentando a probabilidade de que a busca fosse feita ao redor da melhor solução corrente. Isso conduziria à perda de diversidade da população, pois os indivíduos se aglomerariam ao redor de uma única solução;

 valores muito elevados para 𝛾 fazem com que a taxa de emissão de pulsos seja aumentada rapidamente. Isso reduziria a probabilidade da busca ao redor da melhor solução, deteriorando a capacidade da busca local do método.

2.6.4.4 Algoritmo

O algoritmo do método de Otimização baseado na eco-localização de morcegos é apresentado no Algoritmo 2.5. O critério de parada é baseado no número máximo de gerações.

45

Algoritmo do Bat Passo

Início 1

Definir a função objetivo e as variáveis do problema e inicializar os

parâmetros do algoritmo 2

Inicializar contador de iterações 𝑡 ← 1 3 Inicializar as posições 𝑥𝑖𝑡 e velocidades 𝑣𝑖𝑡 de todos os indivíduos

(morcegos) dentro dos limites permitidos 4

Calcular a função aptidão 𝑓 𝑥𝑖𝑡 associada a cada indivíduo 𝑥𝑖𝑡 5 Encontrar a melhor posição global 𝑥∗

6

Repita 7

Para Todos os Indivíduos Faça 8

Gerar uma nova solução ajustando-se a frequência e atualizando a velocidade e a posição do morcego: equações

(2.14)-(2.16) 9

Se 𝑟𝑎𝑛𝑑 > 𝑟𝑖𝑡 Faça 10

Gerar uma solução ao redor da melhor solução corrente (busca local) através da equação (2.18) 11

Fim-Se 12

Avaliar a viabilidade da solução de acordo com a equação (2.17) e calcular a função aptidão associada 𝑓 𝑥𝑖𝑡 13

Se 𝑟𝑎𝑛𝑑 < 𝐴𝑖𝑡 𝑒 𝑓 𝑥𝑖𝑡 < 𝑓 𝑥𝑖𝑡−1 Faça 14 Aceitar a nova solução

Aumentar 𝑟𝑖𝑡e reduzir 𝐴𝑖𝑡: equações (2.19)-(2.20)

15

Fim-Se 16

Fim-Para 17

Encontrar a melhor posição global 𝑥∗

18

𝑡 ← 𝑡 + 1 19

Fim-Repita 20

Fim 21

46

No documento wesleyperes (páginas 64-70)