A Otimização
Colônia de Formigas
Estéfane G. M. de Lacerda
Departamento de Engenharia da Computação e Automação UFRN
Índice
A Inspiração Biológica
O Ant System Aplicado ao PCV
O Ant System Aplicado ao PQA
O que é Otimização por Colônia de
Formigas
A Inspiração Biológica
•
Muitas espécies de formigas são quase
cegas.
•
A comunicação entre as formigas é
realizada através de uma substância
química denominada de feromônio.
•
Em algumas espécies, o feromônio é usado
A Inspiração Biológica
•
Ao caminhar, as formigas depositam no
chão o feromônio, formando, deste modo,
uma trilha de feromônios.
•
As formigas sentem o cheiro do feromônio,
e quando elas têm que escolher um
caminho, escolhem, com maior
probabilidade, o caminho com maior
quantidade de feromônio (cheiro mais
forte).
•
A trilha ajuda a formiga a achar o caminho
O Experimento da Ponte Binária
O Experimento da Ponte Binária
No inicio:
As formigas são deixadas livres para escolher o
caminho.
O Experimento da Ponte Binária
As formigas convergem
para um dos caminhos
com igual
probabilidade.
Devido a flutuações
aleatórias, uma das
pontes terá mais
feromônio e atrairá as
formigas com maior
probabilidade.
No Fim:
O Experimento da Ponte Binária
Usando pontes de tamanhos diferentes, as
formigas convergem para a ponte mais curta.
Uma formiga percorre ida e volta a ponte curta no mesmo tempo que outra formiga realiza apenas o percurso de ida na ponte longa.
Formigas Artificiais
•
Formigas artificiais são heurísticas
construtivas.
•
Elas constroem soluções de forma
probabilística utilizando duas informações:
1. Atrilha de feromônio(artificial) que muda
dinamicamente durante a execução do programa de modo a refletir a experiência já adquirida durante a busca.
2. Ainformação heurísticaespecifica do
O Ant System Aplicado ao PCV
O Ant System é o primeiro algoritmo que surgiu inspirado em Colônia de formigas.
Matriz Distância do PCV
1 2 3 4 5
1 0,0 1,0 2,2 2,0 4,1
2 1,0 0,0 1,4 2,2 4,0
3 2,2 1,4 0,0 2,2 3,2
4 2,0 2,2 2,2 0,0 2,2
5 4,1 4,0 3,2 2,2 0,0
Exemplo com o PCV
Cada formiga irá
construir uma solução
movendo-se de uma
cidade para outra.
No ínicio, cada formiga
é colocada em uma
cidade diferente (ou
colocada
A Construção da Solução pela Formiga
Começando de uma
cidade
i
, a formiga
move-se escolhendo
probabilisticamente a
cidade vizinha
j
(entre
Probabilidade de Transição
A probabilidade da formigak que está na cidadei de
escolher a cidadej é dada pela regra:
pijk =
(τij)α(ηij)β
P
l∈Nk i (τil)
α(ηil)β, sej ∈ N
k i ,
onde:
• τij é feromônio associado a aresta(i,j);
• αeβ são parâmetros para determinar a influência
do feromônio e da informação heurística;
• Nk
i é a vizinhança factível da formigak (i.e., o
A Informação Heurística do PCV
Associada a aresta
(
i
,
j
)
existe um valor
heurístico
η
ijdado por
η
ij=
1
dij
que representa a atratividade da formiga visitar
a cidade
i
depois de visitar a cidade
j
.
O valor
η
ijé inversamente proporcional a
Passo 1
Candidatos / prob. solução
formiga de transição parcial
1 2(45%), 3(21%), 4(23%), 5(11%) 1-2
2 1(41%), 3(30%), 4(19%), 5(10%) 2-1
3 1(23%), 2(37%), 4(23%), 5(16%) 3-4
4 1(27%), 2(24%), 3(24%), 5(24%) 4-5
5 1(19%), 2(20%), 3(25%), 4(36%) 5-2
Passo 2
Candidatos / prob. solução
formiga de transição parcial
1 3(50%), 4(32%), 5(18%) 1-2-3
2 3(38%), 4(42%), 5(20%) 2-1-4
3 1(35%), 2(32%), 5(32%) 3-4-5
4 1(30%), 2(31%), 3(39%) 4-5-2
Passo 3
Candidatos / prob. solução
formiga de transição parcial
1 4(59%), 5(41%) 1-2-3-5
2 3(50%), 5(50%) 2-1-4-5
3 1(49%), 2(51%) 3-4-5-1
4 1(58%), 3(42%) 4-5-2-1
Passo 4
Candidatos / prob. solução
formiga de transição parcial
1 4(100%) 1-2-3-5-4
2 3(100%) 2-1-4-5-3
3 2(100%) 3-4-5-1-2
4 3(100%) 4-5-2-1-3
Término da Primeira Iteração
formiga solução comprimento
(k) completa da viajem (Lk)
1 1-2-3-5-4-1 9,8
2 2-1-4-5-3-2 9,8
3 3-4-5-1-2-3 10,9
4 4-5-2-1-3-4 11,6
O Pseudo-Código do Ant System
Coloque cada formiga em uma cidade aleatóriaparat =1aténúmero de iterações
parak =1atém
enquantoa formigak não construir a viagemSk
Selecione a próxima cidade pela regrapk
ij
fim enquanto
Calcule a distância Lk da viagemSk
seLk <L∗ então
S∗ =Sk,L∗ =Lk
fim se fim para
Atualize os feromônios
fim para
Atualização do Feromônio
No feromônio
τ
ijassociado a aresta
(
i
,
j
)
ocorre
dois eventos:
1.
A evaporação;
• Evita que o feromônio acumulado cresça
indefinidamente;
• Permite esquecer pobres decisões do passado
da busca.
Atualização do Feromônio
Depois que todas as formigas construíram suas viagens, o feromônio é atualizado.
∆τij(k) é a quantidade de feromônio que a formigak
deposita sobre a aresta(i,j). É dado por:
∆τij(k) =
Q/Lk, se a aresta(i,j)pertence a viagemSk.
0, caso contrário.
Atualização do Feromônio
O feromônioτij associado a aresta(i,j)é atualizado pelo
fórmula:
τij = (1−ρ)τij
| {z }
evaporação
+ m
X
k=1 ∆τij(k)
| {z }
depósito
Exemplo de atualização do feromônio
Atualização do feromônio na aresta
(
3
,
5
)
Apenas as formigas 1, 2 e 5 depositam feromônio nesta aresta. Suponha
Q=1,0. A contribuição de cada formiga:
∆τ3(1) ,5 =
1/L1=0,102
∆τ3(2)
,5 =1/L2=0,102
∆τ3(5,5)=1/L5=0,081
Suponhaρ=0,5.
k viagem Lk
1 1-2-3-5-4-1 9,8 2 2-1-4-5-3-2 9,8 3 3-4-5-1-2-3 10,9 4 4-5-2-1-3-4 11,6 5 5-2-1-4-3-5 12,4
τ3,5= (1−ρ)τ3,5+ ∆τ
(1)
3,5+ ∆τ
(2)
3,5+ ∆τ
(5)
3,5
= (1−0,5)1,0+0,102+0,102+0,081
Critérios de Parada
Estagnação
•
Estagnação é a situação na qual todas as
formigas seguem sempre o mesmo
percurso.
•
A Estagnação é causado pelo excessivo
Estagnação
Apesar da natureza estocástica do algoritmo, a forte concentração de feromônio nas arestas força a formiga a fazer sempre o mesmo percurso.
Distribuição de feromônio no inicio da busca.
Problema Quadrático de Alocação
fluxo A-C é o mais alto fluxos A-B e B-C são iguais.
Exemplo de PQA
Onde alocar os departamentos no terreno da Universidade?
Matriz FluxoF
F =
0 60 50 10 60 0 30 20 50 30 0 50 10 20 50 0
Matriz distânciaD
D =
0 1 2 3 1 0 4 5 2 4 0 6 3 5 6 0
Exemplo de PQA
Cálculo do custo da alocação.C(Π) = 4 X i=1 4 X j=1
fijdπiπj
ondeΠ = (3,1,4,2). Então,
C(Π) =f1,2d3,1+f1,3d3,4+f1,4d2,3
+f2,1d1,3+f2,3d1,4+f2,4d1,2
+f3,1d4,3+f3,2d4,1+f3,4d4,2
+f4,1d3,2+f4,2d2,1+f4,3d2,4
=1640
• Nota: o PQA
consiste em encontrar uma
permutaçãoΠ
Informação Heurística
Esta informação heurística foi proposta por Dorigo et al., (1996).
Distância PotencialD(soma das colunas deD)
D=
0 1 2 3 1 0 4 5 2 4 0 6 3 5 6 0
−→ D=
6 10 12 14
Fluxo potencialF (soma das colunas deF)
F =
0 60 50 10 60 0 30 20 50 30 0 50 10 20 50 0
−→ F=
Algoritmo Construtivo Guloso
Parece ser bom alocar facilidade com alto fluxo potencial a localizações de baixa distância potencial.Exemplo
F = [120,110,130,80]T D= [6,10,12,14]T
i) atribua facilidade 3 a localização 1;
ii) atribua facilidade 1 a localização 2;
iii) atribua facilidade 2 a localização 3;
Algoritmo Construtivo da Formiga
Passo 1 A formigak escolhe a próxima facilidadei de
forma gulosa (i.e., pelo menor valor
disponível no vetor de fluxo potencialF)
Passo 2 A formigak atribui uma localização j para a
facilidadei de acordo com a probabilidade:
pkij = (τij)
α(ηj)β
P
l∈Nk i (τil)
α(ηil)β, sej ∈ N
k i .
ondeηj =1/Dj
Passo 3 Se já construiu uma solução pare, caso
Elitist Ant System (EAS)
•
É o primeiro melhoramento no AS.
Introduzido por Dorigo (1992);
•
IDÉIA : fornecer um forte reforço adicional
nas arestas pertencendo ao melhor
percurso achado desde do inicio do
algoritmo;
•
Este percurso será denotado por
Tbs
(do
inglês
best-so-far tour
);
•
É uma idéia similar a estratégia elitismo
Elitist Ant System (EAS)
•
Atualização do Feromônio:
τ
ij= (
1
−
ρ)τ
ij+
mX
k=1
∆τ
ij+
e
∆τ
ij(bs)onde
∆τ
ij(bs)é definido como:
∆τ
ij(bs)=
Q
/
Lbs
,
se a aresta
(
i
,
j
)
pertence
ao percurso
Tbs
.
0
,
caso contrário.
Rank-Based Ant System (AS
rank
)
•
Introduzido por Bullnheimer et al (1999);
•Cada formiga deposita uma quantidade de
feromônio que diminui de acordo com seu
rank;
•
Como no Elistist Ant System, a formiga que
realiza o percurso “best-so-far”
T
bstambém
Rank-Based Ant System (AS
rank
)
•
Atualização do Feromônio:
τ
ij= (
1
−
ρ)τ
ij+
w−1X
r=1
(
w
−
r
)∆τ
ij(r)+
w
∆τ
ij(bs)onde
r
é o rank da formiga;
•
Apenas as
(
w
−
1
)
formigas com melhor
rank depositam feromônio;
•
De acordo com Bullnheimer et al (1999),
AS
ranké levemente melhor que EAS e
Ant Colony System (ACS)
•
Introduzido por Dorigo & Gambardella,
1997;
•
Através de elitismo, faz uso de mais
intensificação
do que o AS;
•
Apenas a formiga “
best-so-far
” deposita
feromônio;
•
As formigas removem feromônio para
Ant Colony System (ACS)
•
Regra Proporcional Pseudoaleatória:
• Com probabilidade q0
Escolha a cidadej com o maiorτil(ηil)β, isto é:
j =argmaxl∈Nk
i {τil(ηil)
β},
(intensificação)
• Com probabilidade(1−q0)
Use a regra tradicional do AS:
pkij = (τij)
α(ηij)β
P
l∈Nk i (τil)
α(ηil)β, sej ∈ N
k i
Ant Colony System (ACS)
•
Regra de Atualização Global de
Feromônio:
• Apenas a formiga “best-so-far” deposita
feromônio depois de cada iteração:
τij = (1−ρ)τij +ρ∆τij(bs), ∀(i,j)∈Tbs
• A evaporação e depósito de feromônio
somente ocorre nas arestas do percurso “best-so-far”Tbs.
• O feromônio depositado é uma média
Ant Colony System (ACS)
•
Regra de Atualização Local de
Feromônio:
• É aplicado imediatamente após a formiga
atravessar a aresta:
τij = (1−ξ)τij +ξτ0;
• τ0 (nível mínimo de feromônio) eξ (0< ξ <1) são parametros;
• A formiga remove o feromônio da aresta que
acabou de atravessar;
• Aumenta a diversificação ao reduzir a