O Bacterial Foraging Optimization (BFO) ´e um algoritmo de otimiza¸c˜ao estoc´astico, desenvolvido por Passino(2002), baseado em determinadas etapas do ciclo de vida das bact´erias.
2.10.1
Inspira¸c˜ao Natural do BFO
Na natureza existem milh˜oes de bact´erias, tendo este micro-organismo m´ultiplas esp´ecies, fun¸c˜oes e uma importˆancia fundamental para vida na terra. O BFO ´e um m´etodo de otimiza¸c˜ao estoc´astico inspirado no processo de explora¸c˜ao e reprodu¸c˜ao das bact´erias, principalmente de Escherichia coli (E. coli ). Uma bact´eria, tal como todos os seres vivos, procura e obtˆem nutrientes num determinado espa¸co de tempo na tentativa de maximizar a sua energia. O processo que permite explicar o compor- tamento/movimento das bact´erias ´e a quimiotaxia, que consiste na migra¸c˜ao destes organismos em dire¸c˜ao a um gradiente. Em suma, as bact´erias avan¸cam no sentido de um gradiente de nutrientes positivo e, simultaneamente, evitam ´areas onde o gradiente ´e negativo ou nocivo. Na maioria das bact´erias, a locomo¸c˜ao ´e alcan¸cada atrav´es de v´arios flagelos dispostos `a volta da mesma e o seu sentido de rota¸c˜ao de- termina a dire¸c˜ao do seu movimento. Na E.coli quando os flagelos rodam no sentido contr´ario ao do movimento dos ponteiros do rel´ogio, as c´elulas realizam um movi- mento retil´ıneo numa determinada dire¸c˜ao, designada corrida; quando o sentido de rota¸c˜ao do flagelo ´e invertido, o movimento retil´ıneo termina e ocorrem tombos e quedas. O movimento das bact´erias resulta, assim, de uma sucessiva alternˆancia de corridas e quedas atrav´es do meio (Passino,2005).
2.10. BACTERIAL FORAGING OPTIMIZATION (BFO) 51
Uma etapa importante na vida das bact´erias ´e a reprodu¸c˜ao. Se todas as condi¸c˜oes para esta etapa se verificarem, no caso da E. coli, esta reproduz-se assexuadamente por biparti¸c˜ao, um processo pelo qual uma c´elula, depois de um aumento de tama- nho, se divide para originar duas c´elulas filhas semelhantes (Ferreira et al., 2010). Este crescimento celular origina, consequentemente, um crescimento da popula¸c˜ao celular. Eventualmente, o meio onde a bact´eria est´a inserida pode alterar-se gradual- mente, devido ao consumo de nutrientes, ou subitamente, devido a influˆencias exter- nas como por exemplo a temperatura. Eventos designados de elimina¸c˜ao-dispers˜ao poder˜ao assim ocorrer, o que levar´a `a destrui¸c˜ao do processo de quimiotaxia, no en- tanto, podem colocar as bact´erias em ´areas com um gradiente de nutrientes positivo.
2.10.2
Descri¸c˜ao do Algoritmo BFO
No algoritmo 2.10 ´e fornecida a estrutura fundamental do algoritmo BFO para um problema de minimiza¸c˜ao.
O algoritmo BFO ´e inicializado construindo uma popula¸c˜ao de N solu¸c˜oes, P (j, k, l) = {θi(j, k, l)|i = 1, 2, . . . , N }. Esta nota¸c˜ao representa a posi¸c˜ao θ de uma bact´eria
i, numa quimiotaxia j, com um ´ındice de reprodu¸c˜ao k e um fator de eventos eli- mina¸c˜ao-dispers˜ao l. Assim, sendo o objetivo do algoritmo encontrar o m´ınimo J (θ), onde este parˆametro representa o perfil atrativo-repulsivo do espa¸co, i.e., caso J < 0, J = 0, J > 0, representam, respetivamente, a presen¸ca de nutrientes de um meio neutro e de um meio com substˆancias nocivas.
O BFO ´e formulado, como se pode observar no algoritmo 2.10, em determinadas etapas que s˜ao uma analogia aos conceitos biol´ogicos da sua inspira¸c˜ao natural (Liu
e Passino, 2002):
1. quimiotaxia;
2. reprodu¸c˜ao;
in´ıcio
inicializar popula¸c˜ao de bact´erias P (j, k, l); j = k = l = 0;
inicializar parˆametros p, N , Nc, Ns, Nre, Ned, Ped, c(i);
repetir
// ciclo de elimina¸c~ao-dispers~ao enquanto l < Ned fa¸ca
// ciclo de reprodu¸c~ao enquanto k < Nre fa¸ca
// ciclo de quimiotaxia enquanto j < Nc fa¸ca
para cada bact´eria i fazer
J (i, j, k, l) = J (i, j, k, l) + Jcc(θi(j, k, l), P (j, k, l));
Jlast = J (i, j, k, l);
realizar um movimento utilizando a eq. (2.69); J (i, j + 1, k, l) =
J (i, j + 1, k, l) + Jcc(θi(j + 1, k, l), P (j + 1, k, l));
m = 0; // aglomera¸c~ao enquanto m < Ns fa¸ca
m = m + 1;
se J (i, j + 1, k, l) < Jlast ent˜ao
Jlast= J (i, j + 1, k, l); θi(j + 1, k, l) = θi(j + 1, k, l) + c(i) · φ(j); J (i, j + 1, k, l) = J (i, j + 1, k, l) + Jcc(θi(j + 1, k, l), P (j + 1, k, l)); sen˜ao m = Ns fim fim fim j = j + 1 fim
realizar a reprodu¸c˜ao de bact´erias utilizando a eq. (2.73); k = k + 1;
fim
eliminar e dispersar cada bact´eria com uma probabilidade Ped;
l = l + 1; fim
at´e condi¸c˜ao de conclus˜ao verificada; fim
2.10. BACTERIAL FORAGING OPTIMIZATION (BFO) 53
Assim s˜ao executadas, Ncetapas de quimiotaxia ao fim das quais ´e realizada a etapa
de reprodu¸c˜ao Nre vezes. De seguida, ´e executada Ned vezes a etapa elimina¸c˜ao-
-dispers˜ao.
O movimento realizado pela bact´eria numa determina¸c˜ao itera¸c˜ao simula o processo de quimiotaxia, que ´e definido atrav´es da equa¸c˜ao:
θi(j + 1, k, l) = θi(j, k, l) + c(i) · φ(j) (2.69)
onde c(i) > 0 representa a distˆancia do movimento efetuado numa dire¸c˜ao aleat´oria em cada itera¸c˜ao. O parˆametro φ(j) representa a dire¸c˜ao do vetor de ordem j na mesma etapa da quimiotaxia. O BFO can´onico implementa (2.70) para descrever este parˆametro:
φ(j) = ∆(i)
p∆T(i)∆(i) (2.70)
onde ∆(i) representa um vetor gerado aleatoriamente de um intervalo [−1, 1].
Na meta-heur´ıstica BFO o valor de aptid˜ao em θi(j + 1, k, l) ´e representado por
J (i, j + 1, k, l). Assim, para um dado problema de minimiza¸c˜ao, caso se verifique a condi¸c˜ao J (i, j + 1, k, l) < J (i, j, k, l) ´e realizado um movimento retil´ıneo numa dire¸c˜ao φ(i) com tamanho de passo c(i). Este movimento ´e efetuado iterativamente enquanto se verifique a condi¸c˜ao anterior, ou seja, uma redu¸c˜ao de custo/aumento do valor de aptid˜ao. Caso contr´ario, s˜ao realizadas quedas numa dire¸c˜ao aleat´oria. Esta etapa ´e realizada at´e um m´aximo de Nc itera¸c˜oes.
Algumas bact´erias possuem a habilidade de se moveram em grupo, caracterizando a aglomera¸c˜ao (swarming). Este comportamento ocorre pela liberta¸c˜ao de feromonas que atraem as bact´erias afim de uni-las sem que ocorram colis˜oes. Em (Passino,
2002), a aglomera¸c˜ao ´e implementada atrav´es da equa¸c˜ao (2.71), fazendo com que cada bact´eria atraia as bact´erias adjacentes para perto de si. Este comportamento reflete a tendˆencia das bact´erias de permanecerem pr´oximas umas das outras. Estas tamb´em repelem outras bact´erias mais pr´oximas, numa analogia ao consumo de
nutrientes pelas mesmas, mantendo uma distˆancia m´ınima entre si. Jcc θ, P (j, k, l) = n X i=1 Jcc θ, θi(j, k, l) = n X i=1 −dattractant· exp −ωattractant p X m=1 (θm− θim) 2 + n X i=1 hrepellant· exp −ωrepellant p X m=1 (θm− θmi ) 2 (2.71)
onde Jcc indica o custo da fun¸c˜ao objetivo a ser adicionada `a fun¸c˜ao objetivo atual, e
dattractant, ωattractant, hrepellant, ωrepellant representam, respetivamente, a importˆancia
dos coeficientes de atratividade e repulsividade da c´elula que devem ser minuciosa- mente definidos.
De seguida, a fun¸c˜ao Jcc ´e adicionada `a fun¸c˜ao custo atual resultando assim na
equa¸c˜ao (2.72):
J (i, j, k, l) = J (i, j, k, l) + Jcc(θi(j, k, l), P (j, k, l)) (2.72)
Na etapa de reprodu¸c˜ao, as solu¸c˜oes s˜ao ordenadas segundo o seu valor de aptid˜ao. Assim, Sr bact´erias mais saud´aveis s˜ao replicadas e introduzidas no mesmo local
do espa¸co de pesquisa dos seus progenitores e as Sr bact´erias menos saud´aveis s˜ao
eliminadas. A sa´ude das bact´erias ´e definida segundo a equa¸c˜ao:
Jhealthi =
Nc+1
X
j=1
J (i, j, k, l) (2.73)
Por fim, as bact´erias s˜ao sujeitas a eventos de elimina¸c˜ao-dispers˜ao com uma pro- babilidade Ped, de modo a divergir de m´ınimos locais e nos quais a popula¸c˜ao se
mantem sempre constante.
2.10.3
Aplica¸c˜oes em Engenharia do BFO
Na seguinte lista, apresentam-se algumas aplica¸c˜oes do BFO em diversas ´areas ci- ent´ıficas: