Inteligência de Enxames
Luiz Henrique Pinho de Sá
Agenda
Introdução
Categorias de algoritmo
Algoritmo ABC
Fases
Exemplo
Aplicações
Projeto de viga soldada
Conclusão
Introdução
Computação Natural
Computação Natural
Algoritmos
Evolutivos
Redes Neurais
Artificiais
Inteligência
de Enxames
Sistemas
Imunológicos
Artificiais
Computação Natural
Natureza como
fonte de inspiração
para solucionar
um problema
Modelo
Analogias
Algoritmos
estocásticos
Garante encontrar solução quase-ótima
Revoada dos estorninhos
Otimização
Problema
Maximização e
minimização
Global e local
Espaço de busca
(retângulo
N-dimensional)
Linear e não-linear
Com restrições e sem restrições
Otimização
Métodos de
resolução
Determinísticos
Usualmente
envolvem
gradiente da
função objetivo (∇f(x))
Estocásticos
Alternativos aos métodos determinísticos usuais
Otimização
Otimização
𝑎 ≤ 𝑥1 ≤ 𝑏
𝑐 ≤ 𝑥2 ≤ 𝑑
⋮
𝑤 ≤ 𝑥 𝑛 ≤ 𝑧
𝒙 ∈ 𝑺 ⊂ 𝕽 𝒏
Comunicação entre abelhas
Fundamental para
formação da
inteligência coletiva
Formas
Dança
Sons
Emissão de
substâncias químicas
Tato
Estímulos
eletromagnéticos
Dança
Pista de dança
Bússola solar
Coordenadas polares
Informações transmitidas
Direção da fonte
de alimento
Ângulo entre sol e
caminho da dança
Distância da
colmeia até a fonte
Duração da dança
Qualidade da fonte
Frequência da
dança
Dança
Categorias de algoritmo
Categorias de algoritmo
Comportamento de
coleta de alimentos
Comportamentos de
acasalamento
Conceito de abelha
rainha
Algoritmo ABC
Colônia Artificial de Abelhas (Karaboga – 2005)
Ideia geral
Abelhas descobrem aleatoriamente
uma população de vetores de
solução inicial
Esses vetores são melhorados
iterativamente através do emprego
de estratégias
Mover em direção das melhores
soluções por meio de uma busca na
vizinhança
Abandono de piores soluções
Componentes
Fontes de alimento
Abelhas empregadas
Abelhas não-empregadas
Observadoras
Exploradoras
(ou batedoras)
1 abelha empregada para
cada fonte de alimento!
Fluxo de atividades
Procurar novas fontes se fonte de alimento se esgotar
Abelhas empregadas viram exploradoras
Receber informações das empregadas sobre fontes de alimento
Abelhas observadoras
Coletar fontes de alimento
Abelhas empregadas
Descobrir fontes de alimento
Abelhas exploradoras
Analogias
Posição da fonte de
alimento
Possível solução
para o problema
Quantidade de néctar
da fonte de alimento
Qualidade (fitness)
da solução
Fases
Fase de inicialização
REPETIR
Fase das abelhas empregadas
Fase das abelhas observadoras
Fase das abelhas exploradoras
ATÉ (Ciclo = Número Máximo de Ciclos ou
Tempo Máximo da CPU)
Notações
Convenção adotada: índices começam do 0
vetor posição da fonte de alimento m (possível solução)
vetor posição da fonte de alimento vizinha à fonte m
CS tamanho da população
D número de dimensões do problema
m m-ésima fonte de alimento m = 0,1,...,N-1
k fonte de alimento aleatória, sendo k != m k = 0,1,...,N-1
i i-ésima coordenada do vetor posição i = 0,1,...,D-1
o o-ésima abelha observadora o = 0,1,...,N-1
mx

mv

Algoritmo ABC
#1 Fase de inicialização
Estabelecer Parâmetros de Controle
Tamanho da população (CS)
Fontes de alimento (N=CS/2)
Abelhas empregadas (N=CS/2)
Abelhas observadoras (N=CS/2)
Abelhas exploradoras
Limite para abelha exploradora
ou critério de abandono (L)
Número de dimensões do
problema (D)
Número máximo de ciclos (C)
#1 Fase de inicialização
#1 Fase de inicialização
 iiimi lurandlx  )1,0(















 )1(
1
0
Dm
m
m
m
x
x
x
x



































 )1)(1(1)1(0)1(
)1(11110
)1(00100
1
1
0
DNNN
D
D
T
N
T
T
xxx
xxx
xxx
x
x
x
X








Inicializar aleatoriamente posições das N fontes de alimento
#1 Fase de inicialização
X













 )(
)(
)(
1
1
0
Nxf
xf
xf
f




















)(
)(
)(
1
1
0
Nxfit
xfit
xfit
fit

















0
0
0


t
Contador de
tentativas
O que é
Analogia
Significado do valor alto e baixo
O que é f
#1 Fase de inicialização
X













 )(
)(
)(
1
1
0
Nxf
xf
xf
f












0)(|)(|1
0)(
)(1
1
)(
mm
m
mm
xfxf
xf
xfxfit



se,
se,
:calcular,vetorcadaPara mx
















)(
)(
)(
1
1
0
Nxfit
xfit
xfit
fit

















0
0
0


t
Contador de
tentativas
Algoritmo ABC
Ciclo = 1
Algoritmo ABC
#2 Fase das abelhas empregadas
1. Obter
#2 Fase das abelhas empregadas
Para cada abelha empregada (associada a uma fonte m),
ou seja, para m = 0,1,…, CS-1:
Empregadas procuram uma nova fonte com
mais alimento na vizinhança de mx

mv

Escolher aleatoriamente uma das coordenadas
(i=0,1,...,D-1) de e substituí-la por
1. Obter
#2 Fase das abelhas empregadas
 kimimimimi xxxv  
)Calcular mvf

(2.
Para cada abelha empregada (associada a uma fonte m),
ou seja, para m = 0,1,…, CS-1:
k é uma fonte
aleatória, k != m
)Calcular mvfit

(3.
mx

mv

= rand(-a,a)mi
Se
Zerar m-ésimo elemento do contador de tentativas
Substituir elemento no(a):
Matriz X :
Vetor :
Vetor :
Caso contrário
Incrementar m-ésimo elemento do contador de tentativas
#2 Fase das abelhas empregadas
X)matrizda(eentregulosaseleçãoAplicar T
mmm xxv

4.
)) mm xfitvfit

(( 
mm vx


Para cada abelha empregada (associada a uma fonte m),
ou seja, para m = 0,1,…, CS-1:
















1
1
0
#
#
#
Nm
m
m
tent
tent
tent
t


f


fit
)vf()xf( mm


)( mm vfit()xfit


Usaremos na próxima fase…
#2 Fase das abelhas empregadas



 1
0
)(
)(
)( N
m
m
m
m
xfit
xfit
xp
















 )(
)(
)(
1
1
0
Nxp
xp
xp
p





5. Calcular para obter)( mxp

Para cada abelha empregada (associada a uma fonte m),
ou seja, para m = 0,1,…, CS-1:
p

p

#2 Fase das abelhas empregadas



 1
0
)(
)(
)( N
m
m
m
m
xfit
xfit
xp



Distribuição não-uniforme de probabilidades
Exemplos:
Algoritmo ABC
#3 Fase das abelhas observadoras
#3 Fase das abelhas observadoras
1. “Girar a roleta” para descobrir qual foi a fonte m
escolhida pela abelha observadora o
Para cada abelha observadora, ou seja, para o=0,1,...,N-1:
Abelhas observadoras
observam empregadas na
pista de dança
#3 Fase das abelhas observadoras
2. Calcular
3. Calcular
4. Calcular
5. Aplicar seleção gulosa entre e
Atualizar
X, e (se necessário)
Para cada abelha observadora, ou seja, para o=0,1,...,N-1:
mv

)mvf

(
mx

mv

Mesmos passos da fase das
abelhas empregadas!
m: roleta
i e k: distribuição uniforme
)mvfit

(
1. “Girar a roleta” para descobrir qual foi a fonte m
escolhida pela abelha observadora o
#3 Fase das abelhas observadoras













 )(
)(
)(
1
1
0
Nxf
xf
xf
f




















)(
)(
)(
1
1
0
Nxfit
xfit
xfit
fit




















1
1
0
#
#
#
Nm
m
m
tent
tent
tent
t


✓
✓
✓
















T
N
T
T
x
x
x
X
1
1
0




✓
#3 Fase das abelhas observadoras













 )(
)(
)(
1
1
0
Nxf
xf
xf
f




















)(
)(
)(
1
1
0
Nxfit
xfit
xfit
fit




















1
1
0
#
#
#
Nm
m
m
tent
tent
tent
t


✓
✓
✓
















T
N
T
T
x
x
x
X
1
1
0




✓
Memorizar melhor fonte mx

Algoritmo ABC
#4 Fase das abelhas exploradoras
#4 Fase das abelhas exploradoras
















1
1
0
#
#
#
Nm
m
m
tent
tent
tent
t


1. Abandonar fonte (solução)
quando
Fonte esgotada
Abelha empregada vira
exploradora
Substituir fonte por uma nova aleatória
(lembrar de )
2. Ciclo = Ciclo+1
3. Repetir algoritmo até atingir critério de parada
Ltentm #
mx

 iiimi lurandlx  )1,0(
Algoritmo ABC
Exemplo
Problema de Otimização
Local
Sem restrições
Sabemos de antemão que o vetor ótimo é [0 0]T
Problema
Minimizar f(x) = x1
2 + x2
2 -5≤x1,x2≤5
Estabelecer Parâmetros de Controle
Tamanho da população: CS=6
Fontes de alimento: N=CS/2=3
Abelhas empregadas: N=CS/2=3
Abelhas observadoras: N=CS/2=3
Abelhas exploradoras
Número de dimensões do
problema: D=2
Limite para abelha exploradora
ou critério de abandono: L=(CS*D)/2=6
Número máximo de ciclos: C
#1 Fase de inicialização
Inicializar aleatoriamente posições das N=3 fontes de alimento
#1 Fase de inicialização
 iiimi lurandlx  )1,0(






















1.0323-0.1824-
1.43380.4756
2.5644-1.4112
T
T
T
x
x
x
X
2
1
0




























0
0
0
#
#
#
1
0
0
m
m
m
tent
tent
tent
t







iu
il
,xx
i
i
,5
,5
55 21
#1 Fase de inicialização







0)(|)(|1
0)(
)(1
1
)(
mm
m
mm
xfxf
xf
xfxfit



se,
se,























0.4764
0.3047
0.1045
)(
)(
)(
2
1
0
xfit
xfit
xfit
fit

























1.0990
2.2820
8.5678
)(
)(
)(
2
1
0
xf
xf
xf
f




Ciclo=1 se iniciará no próximo slide...
Substituir uma das coordenadas de por
Valores sorteados Possibilidades
k ∈ {1,2}
i ∈ {0,1}
Φ ∈ [-1,1]
Obter uma nova fonte (solução candidata) vizinha de
#2 Fase das abelhas empregadas
1ª abelha empregada (1ª fonte de alimento m=0)
 kimimimimi xxxv  







2.5644-
1.4112
0x

0x

Escolher aleatoriamente
k (fonte != m), i e Φ
0x

0v

Valores sorteados Possibilidades
k=1 k ∈ {1,2}
i=0 i ∈ {0,1}
Φ = 0.8050 Φ ∈ [-1,1]
Substituir uma das coordenadas de por
Obter uma nova fonte (solução candidata) vizinha de
#2 Fase das abelhas empregadas
1ª abelha empregada (1ª fonte de alimento m=0)
 kimimimimi xxxv  







2.5644-
1.4112
0x

0x

Escolher aleatoriamente
k (fonte != m), i e Φ
0x

0v

#2 Fase das abelhas empregadas
1ª abelha empregada (1ª fonte de alimento m=0)







2.5644-
2.1644
0v

08160)( 0 .vfit 

261011)( 0 .vf 

Aplicar seleção gulosa entre e
0.0816 < 0.1045
A solução m=0 não foi melhorada
Incrementar seu contador de tentativas











0
0
1
t

0v

0x

 1000000000 xxxv  
01x
#2 Fase das abelhas empregadas
2ª abelha empregada (2ª fonte de alimento m=1)
Valores sorteados
k=2
i=1
Φ = 0.0762
Aplicar seleção gulosa entre e
0.2593 < 0.3047
A solução m=1 não foi melhorada
Incrementar seu contador de tentativas











0
1
1
t

1v

1x








1.6217
0.4756
1v
 2.8560)( 1vf

0.2593)( 1vfit

#2 Fase das abelhas empregadas
3ª abelha empregada (3ª fonte de alimento m=2)
Aplicar seleção gulosa entre e
0.4828 > 0.4764
A solução m=2 foi melhorada
Zerar seu contador de tentativas
Substituir solução por











0
1
1
t

2v

2x








1.0323-
0.0754-
2v
 1.0714)( 2vf

0.4828)( 2vfit

2x

2v

Valores sorteados
k=0
i=0
Φ = -0.0671
#2 Fase das abelhas empregadas











1.0323-0.0754-
1.43380.4756
2.5644-1.4112
X











1.0714
2.2820
8.5678
f













0.4828
0.3047
0.1045
fit











0
1
1
t

#2 Fase das abelhas empregadas

 2
0
)(
)(
)(
m
m
m
m
xfit
xfit
xp

























0.5412
0.3416
0.1172
)(
)(
)(
2
1
0
xp
xp
xp
p




#3 Fase das abelhas observadoras






















0.5412
0.3416
0.1172
)(
)(
)(
2
1
0
xp
xp
xp
p




2
1
0



m
m
m
m=2
1ª abelha observadora (o=0)
#3 Fase das abelhas observadoras
Aplicar seleção gulosa entre e
0.1645 < 0.4828
A solução m=2 não foi melhorada
Incrementar seu contador de tentativas











1
1
1
t

2v

2x

m=2
16450)( 2 .vfit 

0772.5)( 2 vf








2.2520-
0.0754-
2v

1ª abelha observadora (o=0)
#3 Fase das abelhas observadoras






















0.5412
0.3416
0.1172
)(
)(
)(
2
1
0
xp
xp
xp
p




2
1
0



m
m
m
m=1
2ª abelha observadora (o=1)
#3 Fase das abelhas observadoras
Aplicar seleção gulosa entre e
0.3241 > 0.3047
A solução m=1 foi melhorada
Zerar seu contador de tentativas
Substituir solução por











1
0
1
t

1v

1x

m=1
2ª abelha observadora (o=1)







1.4338
0.1722
1v
 0855.2)( 1 vf

32410)( 1 .vfit 

1x

1v

#3 Fase das abelhas observadoras











1.0323-0.0754-
1.43380.1722
2.5644-1.4112
X











1.0714
2.0855
8.5678
f













0.4828
0.3241
0.1045
fit











1
0
1
t

#3 Fase das abelhas observadoras






















0.5412
0.3416
0.1172
)(
)(
)(
2
1
0
xp
xp
xp
p




2
1
0



m
m
m
m=2
3ª abelha observadora (o=2)
#3 Fase das abelhas observadoras
Aplicar seleção gulosa entre e
0.4838 > 0.4828
A solução m=2 foi melhorada
Zerar seu contador de tentativas
Substituir solução por











0
0
1
t

2v

2x

m=2
3ª abelha observadora (o=2)
2x

2v








1.0323-
0.0348
2v
 0669.1)( 2 vf

48380)( 2 .vfit 

#3 Fase das abelhas observadoras











1.0323-0.0348
1.43380.1722
2.5644-1.4112
X











1.0669
2.0855
8.5678
f













0.4828
0.3241
0.1045
fit











0
0
1
t

✓
✓
✓
✓
#3 Fase das abelhas observadoras











1.0323-0.0348
1.43380.1722
2.5644-1.4112
X











1.0669
2.0855
8.5678
f













0.4828
0.3241
0.1045
fit











0
0
1
t

✓
✓
✓
✓
Melhor fonte:
(ótimo é [0 0]T )
 T
x 1.0323-0.03482

#4 Fase das abelhas exploradoras
Nenhuma fonte (solução)
possui
Não há abandono de
soluções!
Ciclo = Ciclo+1
Repetir algoritmo até atingir
critério de parada
Ltentm #











0
0
1
t

Aplicações
Projeto de viga soldada
Dimensionar
aço de viga e
comprimento
da solda
Problema de
otimização
com restrições!
Propriedades envolvidas
Tensão de cisalhamento
Tensão de flexão
Carga de flambagem
Deflexão da solda
Projeto de viga soldada


CP

Projeto de viga soldada
𝑠𝑢𝑗𝑒𝑖𝑡𝑎 𝑎
Projeto de viga soldada
Não consigo resolver
problema com seleção
gulosa entre vetor e
vizinho
Utilização das regras de
Deb para comparar
soluções
Projeto de viga soldada
x1 x2 x3 x4
0.20573 3.470489 9.036624 0.20573
g1 g2 g3 g4 g5 g6 g7
0 -2E-06 0 -3.43298 -0.08073 -0.23554 0
f(x)
1.724852
Projeto de viga soldada
Melhor Esperança
Desvio
padrão
ABC
(30 execuções)
1.724852 1.741913 3.1E-02
μ – λES
Montes e Coello
1.724852 1.777692 8.8E-2
Mineração de dados
Bioinformática
Escalonamento de tarefas
Logística
Outras aplicações
http://www.estadao.com.br/noticias/geral,abelhas-inspiram-mudancas-no-samu-imp-,978942
Conclusão
Conclusão
Poucos
parâmetros de
controle
Rápida
convergência
Paralelizável
Espaço de busca
limitado pela
solução inicial
Lentidão no
processamento
sequencial
Referências bibliográficas
D. Karaboga, “An idea based on honey bee swarm for numerical
optimization”, Technical Report (2005)
D. Karaboga, B. Basturk, “A powerful and efficient algorithm for
numerical function optimization: Artificial bee Colony (ABC)
algorithm”, J Glob Optim (2007)
A. Serapião, “Fundamentos de Otimização por Inteligência de
Enxames: uma visão geral”, Revista de Controle e
Automação/Vol.20 no.3 (2009)
Links
http://mirzaei.iut.ac.ir/Evolutionary/EC3891/PowerPoints/Artificiel%2
0Bee%20Colony%20Algorithm.ppsx
http://mf.erciyes.edu.tr/abc/
http://www.scholarpedia.org/article/Artificial_bee_colony_algorithm
http://homepages.dcc.ufmg.br/~glpappa/aula01.pdf
Obrigado!

Inteligência de Enxames: Abelhas

  • 1.
    Inteligência de Enxames LuizHenrique Pinho de Sá
  • 2.
    Agenda Introdução Categorias de algoritmo AlgoritmoABC Fases Exemplo Aplicações Projeto de viga soldada Conclusão
  • 3.
  • 4.
    Computação Natural Computação Natural Algoritmos Evolutivos RedesNeurais Artificiais Inteligência de Enxames Sistemas Imunológicos Artificiais
  • 5.
    Computação Natural Natureza como fontede inspiração para solucionar um problema Modelo Analogias Algoritmos estocásticos Garante encontrar solução quase-ótima Revoada dos estorninhos
  • 6.
    Otimização Problema Maximização e minimização Global elocal Espaço de busca (retângulo N-dimensional) Linear e não-linear Com restrições e sem restrições
  • 7.
    Otimização Métodos de resolução Determinísticos Usualmente envolvem gradiente da funçãoobjetivo (∇f(x)) Estocásticos Alternativos aos métodos determinísticos usuais
  • 8.
  • 9.
    Otimização 𝑎 ≤ 𝑥1≤ 𝑏 𝑐 ≤ 𝑥2 ≤ 𝑑 ⋮ 𝑤 ≤ 𝑥 𝑛 ≤ 𝑧 𝒙 ∈ 𝑺 ⊂ 𝕽 𝒏
  • 10.
    Comunicação entre abelhas Fundamentalpara formação da inteligência coletiva Formas Dança Sons Emissão de substâncias químicas Tato Estímulos eletromagnéticos
  • 11.
    Dança Pista de dança Bússolasolar Coordenadas polares Informações transmitidas Direção da fonte de alimento Ângulo entre sol e caminho da dança Distância da colmeia até a fonte Duração da dança Qualidade da fonte Frequência da dança
  • 12.
  • 13.
  • 14.
    Categorias de algoritmo Comportamentode coleta de alimentos Comportamentos de acasalamento Conceito de abelha rainha
  • 15.
    Algoritmo ABC Colônia Artificialde Abelhas (Karaboga – 2005)
  • 16.
    Ideia geral Abelhas descobremaleatoriamente uma população de vetores de solução inicial Esses vetores são melhorados iterativamente através do emprego de estratégias Mover em direção das melhores soluções por meio de uma busca na vizinhança Abandono de piores soluções
  • 17.
    Componentes Fontes de alimento Abelhasempregadas Abelhas não-empregadas Observadoras Exploradoras (ou batedoras) 1 abelha empregada para cada fonte de alimento!
  • 18.
    Fluxo de atividades Procurarnovas fontes se fonte de alimento se esgotar Abelhas empregadas viram exploradoras Receber informações das empregadas sobre fontes de alimento Abelhas observadoras Coletar fontes de alimento Abelhas empregadas Descobrir fontes de alimento Abelhas exploradoras
  • 19.
    Analogias Posição da fontede alimento Possível solução para o problema Quantidade de néctar da fonte de alimento Qualidade (fitness) da solução
  • 20.
    Fases Fase de inicialização REPETIR Fasedas abelhas empregadas Fase das abelhas observadoras Fase das abelhas exploradoras ATÉ (Ciclo = Número Máximo de Ciclos ou Tempo Máximo da CPU)
  • 21.
    Notações Convenção adotada: índicescomeçam do 0 vetor posição da fonte de alimento m (possível solução) vetor posição da fonte de alimento vizinha à fonte m CS tamanho da população D número de dimensões do problema m m-ésima fonte de alimento m = 0,1,...,N-1 k fonte de alimento aleatória, sendo k != m k = 0,1,...,N-1 i i-ésima coordenada do vetor posição i = 0,1,...,D-1 o o-ésima abelha observadora o = 0,1,...,N-1 mx  mv 
  • 22.
    Algoritmo ABC #1 Fasede inicialização
  • 23.
    Estabelecer Parâmetros deControle Tamanho da população (CS) Fontes de alimento (N=CS/2) Abelhas empregadas (N=CS/2) Abelhas observadoras (N=CS/2) Abelhas exploradoras Limite para abelha exploradora ou critério de abandono (L) Número de dimensões do problema (D) Número máximo de ciclos (C) #1 Fase de inicialização
  • 24.
    #1 Fase deinicialização  iiimi lurandlx  )1,0(                 )1( 1 0 Dm m m m x x x x                                     )1)(1(1)1(0)1( )1(11110 )1(00100 1 1 0 DNNN D D T N T T xxx xxx xxx x x x X         Inicializar aleatoriamente posições das N fontes de alimento
  • 25.
    #1 Fase deinicialização X               )( )( )( 1 1 0 Nxf xf xf f                     )( )( )( 1 1 0 Nxfit xfit xfit fit                  0 0 0   t Contador de tentativas O que é Analogia Significado do valor alto e baixo O que é f
  • 26.
    #1 Fase deinicialização X               )( )( )( 1 1 0 Nxf xf xf f             0)(|)(|1 0)( )(1 1 )( mm m mm xfxf xf xfxfit    se, se, :calcular,vetorcadaPara mx                 )( )( )( 1 1 0 Nxfit xfit xfit fit                  0 0 0   t Contador de tentativas
  • 27.
  • 28.
    Algoritmo ABC #2 Fasedas abelhas empregadas
  • 29.
    1. Obter #2 Fasedas abelhas empregadas Para cada abelha empregada (associada a uma fonte m), ou seja, para m = 0,1,…, CS-1: Empregadas procuram uma nova fonte com mais alimento na vizinhança de mx  mv 
  • 30.
    Escolher aleatoriamente umadas coordenadas (i=0,1,...,D-1) de e substituí-la por 1. Obter #2 Fase das abelhas empregadas  kimimimimi xxxv   )Calcular mvf  (2. Para cada abelha empregada (associada a uma fonte m), ou seja, para m = 0,1,…, CS-1: k é uma fonte aleatória, k != m )Calcular mvfit  (3. mx  mv  = rand(-a,a)mi
  • 31.
    Se Zerar m-ésimo elementodo contador de tentativas Substituir elemento no(a): Matriz X : Vetor : Vetor : Caso contrário Incrementar m-ésimo elemento do contador de tentativas #2 Fase das abelhas empregadas X)matrizda(eentregulosaseleçãoAplicar T mmm xxv  4. )) mm xfitvfit  ((  mm vx   Para cada abelha empregada (associada a uma fonte m), ou seja, para m = 0,1,…, CS-1:                 1 1 0 # # # Nm m m tent tent tent t   f   fit )vf()xf( mm   )( mm vfit()xfit  
  • 32.
    Usaremos na próximafase… #2 Fase das abelhas empregadas     1 0 )( )( )( N m m m m xfit xfit xp                  )( )( )( 1 1 0 Nxp xp xp p      5. Calcular para obter)( mxp  Para cada abelha empregada (associada a uma fonte m), ou seja, para m = 0,1,…, CS-1: p  p 
  • 33.
    #2 Fase dasabelhas empregadas     1 0 )( )( )( N m m m m xfit xfit xp    Distribuição não-uniforme de probabilidades Exemplos:
  • 34.
    Algoritmo ABC #3 Fasedas abelhas observadoras
  • 35.
    #3 Fase dasabelhas observadoras 1. “Girar a roleta” para descobrir qual foi a fonte m escolhida pela abelha observadora o Para cada abelha observadora, ou seja, para o=0,1,...,N-1: Abelhas observadoras observam empregadas na pista de dança
  • 36.
    #3 Fase dasabelhas observadoras 2. Calcular 3. Calcular 4. Calcular 5. Aplicar seleção gulosa entre e Atualizar X, e (se necessário) Para cada abelha observadora, ou seja, para o=0,1,...,N-1: mv  )mvf  ( mx  mv  Mesmos passos da fase das abelhas empregadas! m: roleta i e k: distribuição uniforme )mvfit  ( 1. “Girar a roleta” para descobrir qual foi a fonte m escolhida pela abelha observadora o
  • 37.
    #3 Fase dasabelhas observadoras               )( )( )( 1 1 0 Nxf xf xf f                     )( )( )( 1 1 0 Nxfit xfit xfit fit                     1 1 0 # # # Nm m m tent tent tent t   ✓ ✓ ✓                 T N T T x x x X 1 1 0     ✓
  • 38.
    #3 Fase dasabelhas observadoras               )( )( )( 1 1 0 Nxf xf xf f                     )( )( )( 1 1 0 Nxfit xfit xfit fit                     1 1 0 # # # Nm m m tent tent tent t   ✓ ✓ ✓                 T N T T x x x X 1 1 0     ✓ Memorizar melhor fonte mx 
  • 39.
    Algoritmo ABC #4 Fasedas abelhas exploradoras
  • 40.
    #4 Fase dasabelhas exploradoras                 1 1 0 # # # Nm m m tent tent tent t   1. Abandonar fonte (solução) quando Fonte esgotada Abelha empregada vira exploradora Substituir fonte por uma nova aleatória (lembrar de ) 2. Ciclo = Ciclo+1 3. Repetir algoritmo até atingir critério de parada Ltentm # mx   iiimi lurandlx  )1,0(
  • 41.
  • 42.
    Problema de Otimização Local Semrestrições Sabemos de antemão que o vetor ótimo é [0 0]T Problema Minimizar f(x) = x1 2 + x2 2 -5≤x1,x2≤5
  • 43.
    Estabelecer Parâmetros deControle Tamanho da população: CS=6 Fontes de alimento: N=CS/2=3 Abelhas empregadas: N=CS/2=3 Abelhas observadoras: N=CS/2=3 Abelhas exploradoras Número de dimensões do problema: D=2 Limite para abelha exploradora ou critério de abandono: L=(CS*D)/2=6 Número máximo de ciclos: C #1 Fase de inicialização
  • 44.
    Inicializar aleatoriamente posiçõesdas N=3 fontes de alimento #1 Fase de inicialização  iiimi lurandlx  )1,0(                       1.0323-0.1824- 1.43380.4756 2.5644-1.4112 T T T x x x X 2 1 0                             0 0 0 # # # 1 0 0 m m m tent tent tent t        iu il ,xx i i ,5 ,5 55 21
  • 45.
    #1 Fase deinicialização        0)(|)(|1 0)( )(1 1 )( mm m mm xfxf xf xfxfit    se, se,                        0.4764 0.3047 0.1045 )( )( )( 2 1 0 xfit xfit xfit fit                          1.0990 2.2820 8.5678 )( )( )( 2 1 0 xf xf xf f     Ciclo=1 se iniciará no próximo slide...
  • 46.
    Substituir uma dascoordenadas de por Valores sorteados Possibilidades k ∈ {1,2} i ∈ {0,1} Φ ∈ [-1,1] Obter uma nova fonte (solução candidata) vizinha de #2 Fase das abelhas empregadas 1ª abelha empregada (1ª fonte de alimento m=0)  kimimimimi xxxv          2.5644- 1.4112 0x  0x  Escolher aleatoriamente k (fonte != m), i e Φ 0x  0v 
  • 47.
    Valores sorteados Possibilidades k=1k ∈ {1,2} i=0 i ∈ {0,1} Φ = 0.8050 Φ ∈ [-1,1] Substituir uma das coordenadas de por Obter uma nova fonte (solução candidata) vizinha de #2 Fase das abelhas empregadas 1ª abelha empregada (1ª fonte de alimento m=0)  kimimimimi xxxv          2.5644- 1.4112 0x  0x  Escolher aleatoriamente k (fonte != m), i e Φ 0x  0v 
  • 48.
    #2 Fase dasabelhas empregadas 1ª abelha empregada (1ª fonte de alimento m=0)        2.5644- 2.1644 0v  08160)( 0 .vfit   261011)( 0 .vf   Aplicar seleção gulosa entre e 0.0816 < 0.1045 A solução m=0 não foi melhorada Incrementar seu contador de tentativas            0 0 1 t  0v  0x   1000000000 xxxv   01x
  • 49.
    #2 Fase dasabelhas empregadas 2ª abelha empregada (2ª fonte de alimento m=1) Valores sorteados k=2 i=1 Φ = 0.0762 Aplicar seleção gulosa entre e 0.2593 < 0.3047 A solução m=1 não foi melhorada Incrementar seu contador de tentativas            0 1 1 t  1v  1x         1.6217 0.4756 1v  2.8560)( 1vf  0.2593)( 1vfit 
  • 50.
    #2 Fase dasabelhas empregadas 3ª abelha empregada (3ª fonte de alimento m=2) Aplicar seleção gulosa entre e 0.4828 > 0.4764 A solução m=2 foi melhorada Zerar seu contador de tentativas Substituir solução por            0 1 1 t  2v  2x         1.0323- 0.0754- 2v  1.0714)( 2vf  0.4828)( 2vfit  2x  2v  Valores sorteados k=0 i=0 Φ = -0.0671
  • 51.
    #2 Fase dasabelhas empregadas            1.0323-0.0754- 1.43380.4756 2.5644-1.4112 X            1.0714 2.2820 8.5678 f              0.4828 0.3047 0.1045 fit            0 1 1 t 
  • 52.
    #2 Fase dasabelhas empregadas   2 0 )( )( )( m m m m xfit xfit xp                          0.5412 0.3416 0.1172 )( )( )( 2 1 0 xp xp xp p    
  • 53.
    #3 Fase dasabelhas observadoras                       0.5412 0.3416 0.1172 )( )( )( 2 1 0 xp xp xp p     2 1 0    m m m m=2 1ª abelha observadora (o=0)
  • 54.
    #3 Fase dasabelhas observadoras Aplicar seleção gulosa entre e 0.1645 < 0.4828 A solução m=2 não foi melhorada Incrementar seu contador de tentativas            1 1 1 t  2v  2x  m=2 16450)( 2 .vfit   0772.5)( 2 vf         2.2520- 0.0754- 2v  1ª abelha observadora (o=0)
  • 55.
    #3 Fase dasabelhas observadoras                       0.5412 0.3416 0.1172 )( )( )( 2 1 0 xp xp xp p     2 1 0    m m m m=1 2ª abelha observadora (o=1)
  • 56.
    #3 Fase dasabelhas observadoras Aplicar seleção gulosa entre e 0.3241 > 0.3047 A solução m=1 foi melhorada Zerar seu contador de tentativas Substituir solução por            1 0 1 t  1v  1x  m=1 2ª abelha observadora (o=1)        1.4338 0.1722 1v  0855.2)( 1 vf  32410)( 1 .vfit   1x  1v 
  • 57.
    #3 Fase dasabelhas observadoras            1.0323-0.0754- 1.43380.1722 2.5644-1.4112 X            1.0714 2.0855 8.5678 f              0.4828 0.3241 0.1045 fit            1 0 1 t 
  • 58.
    #3 Fase dasabelhas observadoras                       0.5412 0.3416 0.1172 )( )( )( 2 1 0 xp xp xp p     2 1 0    m m m m=2 3ª abelha observadora (o=2)
  • 59.
    #3 Fase dasabelhas observadoras Aplicar seleção gulosa entre e 0.4838 > 0.4828 A solução m=2 foi melhorada Zerar seu contador de tentativas Substituir solução por            0 0 1 t  2v  2x  m=2 3ª abelha observadora (o=2) 2x  2v         1.0323- 0.0348 2v  0669.1)( 2 vf  48380)( 2 .vfit  
  • 60.
    #3 Fase dasabelhas observadoras            1.0323-0.0348 1.43380.1722 2.5644-1.4112 X            1.0669 2.0855 8.5678 f              0.4828 0.3241 0.1045 fit            0 0 1 t  ✓ ✓ ✓ ✓
  • 61.
    #3 Fase dasabelhas observadoras            1.0323-0.0348 1.43380.1722 2.5644-1.4112 X            1.0669 2.0855 8.5678 f              0.4828 0.3241 0.1045 fit            0 0 1 t  ✓ ✓ ✓ ✓ Melhor fonte: (ótimo é [0 0]T )  T x 1.0323-0.03482 
  • 62.
    #4 Fase dasabelhas exploradoras Nenhuma fonte (solução) possui Não há abandono de soluções! Ciclo = Ciclo+1 Repetir algoritmo até atingir critério de parada Ltentm #            0 0 1 t 
  • 63.
  • 64.
    Projeto de vigasoldada Dimensionar aço de viga e comprimento da solda Problema de otimização com restrições!
  • 65.
    Propriedades envolvidas Tensão decisalhamento Tensão de flexão Carga de flambagem Deflexão da solda Projeto de viga soldada   CP 
  • 66.
    Projeto de vigasoldada 𝑠𝑢𝑗𝑒𝑖𝑡𝑎 𝑎
  • 67.
    Projeto de vigasoldada Não consigo resolver problema com seleção gulosa entre vetor e vizinho Utilização das regras de Deb para comparar soluções
  • 68.
    Projeto de vigasoldada x1 x2 x3 x4 0.20573 3.470489 9.036624 0.20573 g1 g2 g3 g4 g5 g6 g7 0 -2E-06 0 -3.43298 -0.08073 -0.23554 0 f(x) 1.724852
  • 69.
    Projeto de vigasoldada Melhor Esperança Desvio padrão ABC (30 execuções) 1.724852 1.741913 3.1E-02 μ – λES Montes e Coello 1.724852 1.777692 8.8E-2
  • 70.
    Mineração de dados Bioinformática Escalonamentode tarefas Logística Outras aplicações
  • 71.
  • 72.
  • 73.
    Conclusão Poucos parâmetros de controle Rápida convergência Paralelizável Espaço debusca limitado pela solução inicial Lentidão no processamento sequencial
  • 74.
    Referências bibliográficas D. Karaboga,“An idea based on honey bee swarm for numerical optimization”, Technical Report (2005) D. Karaboga, B. Basturk, “A powerful and efficient algorithm for numerical function optimization: Artificial bee Colony (ABC) algorithm”, J Glob Optim (2007) A. Serapião, “Fundamentos de Otimização por Inteligência de Enxames: uma visão geral”, Revista de Controle e Automação/Vol.20 no.3 (2009) Links http://mirzaei.iut.ac.ir/Evolutionary/EC3891/PowerPoints/Artificiel%2 0Bee%20Colony%20Algorithm.ppsx http://mf.erciyes.edu.tr/abc/ http://www.scholarpedia.org/article/Artificial_bee_colony_algorithm http://homepages.dcc.ufmg.br/~glpappa/aula01.pdf
  • 75.