Bacterial Foraging Optimization Algorithm

24
Bacterial Foraging Optimization Algorithm

Transcript of Bacterial Foraging Optimization Algorithm

Page 1: Bacterial Foraging Optimization Algorithm

Bacterial Foraging Optimization Algorithm

Page 2: Bacterial Foraging Optimization Algorithm

Equipe● João Farias ([email protected])● Miguel Araújo ([email protected])● Pedro Castilho ([email protected])

Page 3: Bacterial Foraging Optimization Algorithm

Sumário1. Foraging como um problema de otimização2. Escherichia Coli3. Bacterial Foraging Optimization Algorithm4. Escolha de Parâmetros do BFOA5. Improved Bacterial Foraging Optimization Algorithm

Page 4: Bacterial Foraging Optimization Algorithm

Foraging como um problema de otimização● O que é Foraging?● Como isso pode ser modelado como um problema de otimização?● Social Foraging

Page 5: Bacterial Foraging Optimization Algorithm

Escherichia Coli

Page 6: Bacterial Foraging Optimization Algorithm

Escherichia Coli○ Flagela

○ Tumble

○ Nado

Page 7: Bacterial Foraging Optimization Algorithm

Escherichia Coli○ Reprodução

○ Eliminação-Dispersão

○ Atração-Repulsão

Page 8: Bacterial Foraging Optimization Algorithm

Bacterial Foraging Optimization Algorithm● Passo Quimotático - Sem Atração

● Continua andando enquanto for favorável, por no máximo uma constante.

Page 9: Bacterial Foraging Optimization Algorithm

Bacterial Foraging Optimization Algorithm● Passo Quimotático - Fator Social

○ Profundidade de Atração○ Largura de Atração○ Profundidade de Repulsão○ Largura de Repulsão

Page 10: Bacterial Foraging Optimization Algorithm

Bacterial Foraging Optimization Algorithm● Passo Quimotático - Fator Ambiental + Fator Social

Page 11: Bacterial Foraging Optimization Algorithm

Bacterial Foraging Optimization Algorithm● Reprodução

○ Após N passos quimotáticos, as bactérias vão morrer○ As melhores se reproduzirão por bi-partição○ As piores serão removidas da população○ Obs: População fixa

Page 12: Bacterial Foraging Optimization Algorithm

Bacterial Foraging Optimization Algorithm● Eliminação-Dispersão

○ Após N passos reprodutivos,■ Cada bactéria, com uma chance fixa,

● É eliminada da população;● Outra bactéria surge aleatoriamente.

○ População fixa

Page 13: Bacterial Foraging Optimization Algorithm

Bacterial Foraging Optimization Algorithm● BFOA

○ Define-se as constantes:■ Tamanho da população (S);■ Número de passos quimotáticos (n1);■ Número de passos de reprodução (n2);■ Número de passos de eliminação-dispersão (n3);■ Possibilidade de eliminação-dispersão ( Ped );■ Tamanho do passo quimotático para cada bactéria ( C(i) );

Page 14: Bacterial Foraging Optimization Algorithm

Bacterial Foraging Optimization Algorithm● BFOA1. Colocar S bactérias randomicamente no espaço de busca;2. Loop n1 vezes

2.1. Para cada bactéria,2.1.1. Realize um tumble randômico2.1.2. Ande na mesmo direção enquanto melhorar o fitness ( ambiental + social);

3. Realize 1 passo reprodutivo4. Se não realizou n2 passos reprodutivos, vá para 25. Realize 1 passo de eliminação-dispersão6. Se não realizou n3 passos de eliminação-dispersão, vá para 2

Page 15: Bacterial Foraging Optimization Algorithm

BFOA - Escolha de Parâmetros● Tamanho da População

○ Grande:■ Complexidade computacional■ Maior chance de encontrar mínimos locais rapidamente

● Tamanho do Passo Quimotático○ Grande:

■ Pula-se vales○ Pequeno:

■ Demora de Convergência

Page 16: Bacterial Foraging Optimization Algorithm

BFOA - Escolha de Parâmetros● Níveis de atração-repulsão

○ Social versus individual foraging

● Número de passos quimotáticos○ Grande

■ Complexidade computacional■ Progresso de otimização

○ Pequeno■ Sorte e reprodução

Page 17: Bacterial Foraging Optimization Algorithm

BFOA - Escolha de Parâmetros● Número de passos de eliminação-dispersão

○ Pequeno■ Menor dependência de randomicidade

● Probabilidade de eliminação-dispersão○ Grande

■ Busca randomica exaustiva■ Ajuda a fugir de mínimos locais

Page 18: Bacterial Foraging Optimization Algorithm

Improved Bacterial Foraging Optimization Algorithm● Problema do Escape

Page 19: Bacterial Foraging Optimization Algorithm

Improved Bacterial Foraging Optimization Algorithm● Problema do Escape

○ Seleção eletista das bactérias propícias à eliminação-dispersão○ Diminuir a quantidade de bactérias propícias à eliminação-dispersão com o tempo○ Q = 1 − (2ged*L)

■ Ged -> Número da geração■ L -> Percentual inicial das bactérias que não participam da eliminação-dispersão■ Q -> Porcentagem de bactérias propícias à eliminação-dispersão

Page 20: Bacterial Foraging Optimization Algorithm

Improved Bacterial Foraging Optimization Algorithm● Problema do Tamanho do Passo Quimotático

○ Tamanho fixo não atinge boa convergência e precisão○ Tamanho do passo quimotático variado○ If generation MOD 10 == 0, {g= generation DIV 10, STEP=STEP/2g}

Page 21: Bacterial Foraging Optimization Algorithm

Improved Bacterial Foraging Optimization Algorithm● Resultados Experimentais

○ (a) Rosenbrock, (b) rotated hyper-ellipsoid

Page 22: Bacterial Foraging Optimization Algorithm

Improved Bacterial Foraging Optimization Algorithm● Resultados Experimentais

○ (c) Ackley, (d) Rastrigin

Page 23: Bacterial Foraging Optimization Algorithm

Improved Bacterial Foraging Optimization Algorithm● Resultados Experimentais

○ (e) Griewank

Page 24: Bacterial Foraging Optimization Algorithm

Referências● K. M. Passino, “Biomimicry of bacterial foraging for distributed optimization

and control,” IEEE Control Systems, vol. 22, no. 3, pp. 52-67, 2002.● L. Jun, D. Jianwu, B. Feng and W. Jiansheng, “Analysis and Improvement

on Bacterial Foraging Optimization Algorithm ”, Journal of Computing Science and Engineering, vol. 8 , no. 1, (2014), pp. 1-7.