A Otimização Colônia de Formigas

45 

Full text

(1)

A Otimização

Colônia de Formigas

Estéfane G. M. de Lacerda

Departamento de Engenharia da Computação e Automação UFRN

(2)

Índice

A Inspiração Biológica

O Ant System Aplicado ao PCV

O Ant System Aplicado ao PQA

(3)

O que é Otimização por Colônia de

Formigas

(4)

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

(5)
(6)
(7)
(8)

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

(9)

O Experimento da Ponte Binária

(10)

O Experimento da Ponte Binária

No inicio:

As formigas são deixadas livres para escolher o

caminho.

(11)

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:

(12)

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.

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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

(18)

A Informação Heurística do PCV

Associada a aresta

(

i

,

j

)

existe um valor

heurístico

η

ij

dado 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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

O Pseudo-Código do Ant System

Coloque cada formiga em uma cidade aleatória

parat =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

(25)

Atualização do Feromônio

No feromônio

τ

ij

associado 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.

(26)

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.

(27)

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

(28)

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

(29)

Critérios de Parada

(30)

Estagnação

Estagnação é a situação na qual todas as

formigas seguem sempre o mesmo

percurso.

A Estagnação é causado pelo excessivo

(31)

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.

(32)

Problema Quadrático de Alocação

fluxo A-C é o mais alto fluxos A-B e B-C são iguais.

(33)

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

  

(34)

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Π

(35)

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=

(36)

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;

(37)

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

(38)

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

(39)

Elitist Ant System (EAS)

Atualização do Feromônio:

τ

ij

= (

1

ρ)τ

ij

+

m

X

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.

(40)

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

bs

também

(41)

Rank-Based Ant System (AS

rank

)

Atualização do Feromônio:

τ

ij

= (

1

ρ)τ

ij

+

w−1

X

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

(42)

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

(43)

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(1q0)

Use a regra tradicional do AS:

pkij = (τij)

α(ηij)β

P

l∈Nk i (τil)

α(ηil)β, sej ∈ N

k i

(44)

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

(45)

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

Figure

Updating...

References

Updating...

Download now (45 pages)