• Nenhum resultado encontrado

O algoritmo Colˆonia de Abelhas Artificiais (ABC - do inglˆes Artificial Bee Colony) foi proposto em 2005 por Karaboga [26], para a resolu¸c˜ao de problemas de otimiza¸c˜ao multimodal e multidimensional. Consiste de um algoritmo populacional bio-inspirado. O fenˆomeno natural que serviu de inspira¸c˜ao para o desenvolvimento do ABC foi o comportamento social observado em colˆonias de abelhas reais, em particular a realiza¸c˜ao das atividades envolvidas no forrageamento.

No ABC as posi¸c˜oes das fontes de alimento representam as poss´ıveis solu¸c˜oes para o problema. A qualidade de uma fonte artificial equivale ao valor da fun¸c˜ao objetivo produzido pela solu¸c˜ao. Artificialmente est˜ao presentes as abelhas campeiras, observadoras e exploradoras. Inicialmente o enxame ´e composto por abelhas campeiras observadoras. Se a solu¸c˜ao apontada por uma abelha campeira n˜ao melhorar durante as itera¸c˜oes do ABC, tal abelha ser´a considerada exploradora at´e a substitui¸c˜ao da solu¸c˜ao. No ABC existe uma fonte de alimento associada a cada abelha campeira. As abelhas observadoras artificiais escolher˜ao as fontes com base nas aptid˜oes das solu¸c˜oes (fontes) apontadas pelas abelhas campeiras. A abelha exploradora artificial gerar´a aleatoriamente uma nova solu¸c˜ao candidata.

Para que um algoritmo de busca seja robusto, dever˜ao estar presentes as fases de explora¸c˜ao e intensifica¸c˜ao. No ABC a fase de intensifica¸c˜ao ´e realizada pelas abelhas campeiras e observadoras enquanto que a fase de explora¸c˜ao fica por conta das abelhas exploradoras.

A taxa de recrutamento numa colˆonia real representa o qu˜ao r´apido o enxame localiza e explora fontes de alimento. No ABC esta taxa representa o qu˜ao r´apido ´e poss´ıvel encontrar boas solu¸c˜oes para o problema. Numa colˆonia real a sobrevivˆencia fica condicionada `a eficiˆencia das abelhas para encontrar e explorar fontes de alimento. No ABC, a resolu¸c˜ao do problema est´a condicionada `a capacidade de descobrir e operar sobre boas solu¸c˜oes.

abelhas praticando o forrageamento na busca por uma solu¸c˜ao ´otima para um problema de otimiza¸c˜ao. Os principais passos do ABC podem ser descritos no Algoritmo 1 [26, 28, 27, 31].

Algoritmo 1: ABC Inicialize a popula¸c˜ao; repita

Posicione as abelhas campeiras em suas fontes de alimento;

Calcule a probabilidade de escolha da fonte por abelhas observadoras;

Posicione as abelhas observadoras nas fontes de alimento dependendo de seus valores;

Interrompa explora¸c˜ao de fontes esgotadas;

Envie abelhas exploradoras para buscar novas fontes de alimento; Memorize a melhor fonte de alimento encontrada at´e o momento; at´e N´umero m´aximo de ciclos;

.

Na etapa de inicializa¸c˜ao da popula¸c˜ao do Algoritmo 1, posi¸c˜oes de fontes de alimento (solu¸c˜oes candidatas) ser˜ao geradas aleatoriamente dentro do espa¸co de busca do problema para que as abelhas campeiras artificiais sejam posicionadas. Com isto, a inicializa¸c˜ao de cada solu¸c˜ao candidata pode ser definida por [32]

xij = xminij + rand(0, 1)(xmaxij − xminij ), (3.1)

onde min e max correspondem respectivamente aos limites inferior e superior do parˆametro j (j = 1, 2, ..., D) da solu¸c˜ao xi (i = 1, 2, ..., SN/2), rand(0, 1) produz um

valor aleat´orio entre [0, 1]. A popula¸c˜ao inicial ser´a composta por SN/2 solu¸c˜oes (fontes de alimento), onde SN ´e o total de abelhas na popula¸c˜ao, sendo que metade delas j´a conhecem fontes de alimento e a outra metade far´a a escolha de acordo com a qualidade da fonte. Cada solu¸c˜ao xi ´e um vetor D-dimensional, sendo D o n´umero de vari´aveis de

projeto do problema. Iniciada a popula¸c˜ao, ser˜ao repetidos ciclos C = 1, 2, ..., Cmax do

processo de busca das abelhas campeiras, observadoras e exploradoras [28, 31].

Com as fontes de alimento artificiais j´a relacionadas `as abelhas campeiras, cada uma delas ser´a avaliada e uma probabilidade de escolha ser´a associada com base na qualidade da solu¸c˜ao para resolver o problema. Ainda no Algoritmo 1, o posicionamento das

abelhas observadoras nas fontes, ocorrer´a por um processo de sele¸c˜ao de acordo com as probabilidades atribu´ıdas e compartilhadas pelas abelhas campeiras. Em consequˆencia, as fontes com altas probabilidades ter˜ao um recrutamento maior de abelhas observadoras, intensificando assim a explora¸c˜ao em tais posi¸c˜oes [26, 28].

Como j´a mencionado, durante as visitas `as fontes, as abelhas poder˜ao escolher memorizar uma nova fonte vizinha daquela conhecida. No ABC este evento se d´a por meio de compara¸c˜ao entre solu¸c˜oes ap´os realiza¸c˜ao de busca local nas fontes conhecidas [28]. Para tanto, a explora¸c˜ao da vizinhan¸ca de uma determinada fonte artificial xi ocorre

de acordo com a equa¸c˜ao

vij = xij + φij(xij− xkj), (3.2)

onde vij ´e o novo valor candidato a substituir xij, k ∈ {1, 2, ..., BN } e j ∈ {1, 2, ..., D} s˜ao

´ındices escolhidos aleatoriamente, sendo que k 6= i, BN = SN/2 ´e o n´umero de abelhas campeiras ou observadoras e φij ´e um valor aleat´orio entre [−1, 1]. Se o valor produzido

pela Equa¸c˜ao (3.2) violar os limites pr´e-definidos para a vari´avel j da solu¸c˜ao xi, este

dever´a ser ajustado para um valor aceit´avel. Avaliada a qualidade da nova solu¸c˜ao (vi),

e sendo esta melhor que a antiga (xi), a solu¸c˜ao ser´a substitu´ıda, caso contr´ario ser´a

mantida. Todas as abelhas visitar˜ao a fonte de alimento conhecida. Desta forma a Equa¸c˜ao (3.2) ser´a executada SN vezes [28, 31].

Cada abelha observadora escolher´a uma fonte artificial com uma probabilidade de sele¸c˜ao calculada por

pi = f iti BN X n=1 f itn , (3.3)

onde pi ´e a probabilidade de sele¸c˜ao da fonte xi (i = 1, 2, ..., BN ), f iti ´e o valor da

aptid˜ao da mesma solu¸c˜ao xi para resolver o problema. A aptid˜ao f iti de cada solu¸c˜ao

ser´a determinada por [33]

f iti =    1/(1 + fi), se fi ≥ 0 1 + |fi| , se fi <0 , (3.4)

onde fi ´e o valor da fun¸c˜ao objetivo produzido com a solu¸c˜ao xi. Deve-se atentar que ao

visitar a fonte escolhida, cada abelha observadora artificial far´a uma busca local aplicando a Equa¸c˜ao (3.2) [28].

Numa colˆonia real, uma fonte de alimento cujo n´ectar tenha esgotado ser´a abandonada e dever´a ser substitu´ıda por outra encontrada por uma abelha exploradora. No ABC a simula¸c˜ao deste evento ocorre quando abelhas campeiras artificiais tornam-se exploradoras e buscam de forma aleat´oria novas fontes (solu¸c˜oes). A sele¸c˜ao das abelhas campeiras que se tornar˜ao exploradoras ´e orientada por um parˆametro de controle chamado limite. Se uma solu¸c˜ao n˜ao tiver sua qualidade melhorada por um determinado n´umero de ciclos (limite), esta ser´a abandonada e a abelha campeira a ela relacionada passar´a a ser considerada exploradora. As abelhas exploradoras artificiais substituem uma determinada solu¸c˜ao xi abandonada por uma nova gerada com a Equa¸c˜ao (3.1) [26, 28, 31].

Com base nos par´agrafos anteriores, destaca-se que o ABC proporciona quatro processos de sele¸c˜ao [28, 31]

• Sele¸c˜ao global na fase das abelhas observadoras, que escolhem solu¸c˜oes de acordo com probabilidades.

• Sele¸c˜ao local ao definir uma solu¸c˜ao vizinha (k) ao aplicar a Equa¸c˜ao (3.2).

• Sele¸c˜ao local gulosa ao determinar se uma solu¸c˜ao ser´a substitu´ıda ou n˜ao de acordo com avalia¸c˜ao da solu¸c˜ao gerada com a Equa¸c˜ao (3.2).

• Sele¸c˜ao aleat´oria na fase das abelhas exploradoras.

Por fim, deve ser destacado que os ´unicos parˆametros a serem definidos para a execu¸c˜ao do ABC s˜ao:

1. N´umero de fontes de alimento (SN ); 2. Valor de limite;

3. N´umero m´aximo de ciclos (Cmax).