SlideShare uma empresa Scribd logo
Ant Colony Optimization
        (Otimização por Colônia de Formigas)


                      Por: Bruno Felipe
                             brunofelipefr@gmail.com
O que é Otimização por Colônia de Formigas?




  É uma meta-heurística baseada em população e inspirada no
  comportamento de uma colônia de formigas.
Como é o comportamento de uma colônia de formiga?


  Como essa técnica é baseada no comportamento das formigas, Marco
  Doringo observou que as formigas ao saírem de sua colônia para buscarem
  alimento primeiramente traçam diferentes caminhos. Com o passar do
  tempo, na busca do alimento elas descobrem caminhos alternativos mais
  curtos entre sua colônia e o alimento, então nessas rotas é deixado uma
  substância chamada feromônio, que serve para as formigas se
  comunicarem através do cheiro. Então as formigas escolhem o melhor
  caminho, com probabilidade no maior teor de feromônio em uma
  determinada rota. Com isso é encontrado a melhor rota com o caminho
  mais curto entre a colônia e o alimento.
Computacionalmente falando...

No meio computacional, existem diversos algoritmos baseados no
comportamento das formigas, onde se tem como principal objetivo a
otimização e a busca por soluções. As formigas reais são substituídas por
“formigas artificiais” e o feromônio por “feromônio artificial”, assim como
outras variantes. As formigas artificiais são heurísticas probabilísticas que
constroem informações de duas formas: trilha de feromônio e informações
heurísticas.
ANT Sytem

ANT System foi o primeiro algoritmo implementado no comportamento das
formigas. Tem como características a otimização e busca por soluções. A
partir dele, foi desenvolvido soluções de otimização em roteamento de
redes, sistema de roteamento de veículos, busca por soluções em grafos
dinâmicos e usado no problema do caixeiro viajante.
Pseudo-Código Ant System


Coloque cada formiga em uma cidade aleatória

    para t = 1 até número de iterações
        para k = 1 até m
             enquanto a formiga k não construir a viagem Sk
                                                    k
             Selecione a próxima cidade pela regra p
             fim enquanto
             Calcule a distância Lk da viagem Sk
                       ∗
            se Lk < L então
                  ∗         ∗
                 S = S k , L = Lk
            fim se
        fim para
        Atualize os feromônios
                         ∗
    fim para retornar S
O Ant System aplico ao TSP(Travelling Salesman Problem)

        Matriz distância do PCV


    1        2     3      4       5

1   0,0      1,0   2,2    2,0     4,1
                                                2
2   1,0      0,0   1,4    2,2     4,0                       3
3   2,2      1,4   0,0    2,2     3,2

4   2,0      2,2   2,2    0,0     2,2
                                        1
5   4,1      4,0   3,2    2,2     0,0
                                                Cidades do PCV



                                                        4
                                            5
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 aleatoriamente).
                                             2
                                                     3


                                     1




                                                 4
                                         5
Como a formiga constrói uma solução?


Começando de uma cidade i , a formiga
move-se escolhendo probabilisticamente a
cidade vizinha j (entre os vizinhos factíveis).

                                                          2




                                                  ?
                                                      4       3




                                                          5
A Probabilidade de Transição


A probabilidade da formiga k que está na cidade i de escolher a cidade j é dada
pela regra:




• τ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;

• Ni é a vizinhança factível da formiga k (i.e., o conjunto das cidades ainda não
visitadas pela formiga k ).
Informações Heurísticas do PVC


Associada a aresta (i , j ) existe um valor heurístico ηij dado por:




que representa a atratividade da formiga visitar a cidade i depois
de visitar a cidade j.

O valor ηij é inversamente proporcional a distância dij entre as cidades i e j.
Começo da primeira iteração: 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




A escolha do candidato é de acordo com a probabilidade
de transição. É feita de forma similar ao algoritmo da roleta dos
algoritmos genéticos.
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
      5   1(46%), 3(33%), 4(21%)   5-2-1
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
          5   3(48%), 4(52%)       5-2-1-4
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
          5    3(100%)             5-2-1-4-3
Final da primeira iteração



formiga            solução       comprimento
          (k)      completa      da 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
Atualização do feromônio


É necessário atualizar os feromônios.

No feromônio τij associado a aresta (i , j ) ocorre dois eventos:
 A evaporação;

    • Evita que o feromônio acumulado cresça indefinidamente;
    • Permite esquecer pobres decisões do passado da busca.

O depósito de feromônio de todas as formigas que passaram sobre (i , j).
Atualização do feromônio

Depois que todas as formigas construíram suas viagens,
o feromônio é atualizado.



        é a quantidade de feromônio que a formiga k
deposita sobre a aresta (i , j ). É dado por:



                    se a aresta (i , j ) pertence a viagem Sk .
                    Caso contrário.



onde Q é uma constante.
Atualização do feromônio

O feromônio τij associado a aresta (i , j ) é atualizado pelo fórmula:




 onde 0 < ρ ≤ 1 é a taxa de evaporação de feromônio.
Atualização do feromônio
                        (atualizando a 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:




Suponha ρ = 0, 5.
Quando parar com a iteração?


• Estagnação é a situação na qual todas as formigas seguem
sempre o mesmo percurso.

• A Estagnação é causado pelo excessivo crescimento de
feromônio nas arestas de uma viagem subótima.
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        Distribuição de feromônio
   no inicio da busca.              após 100 iterações.

Mais conteúdo relacionado

Mais procurados

Hepatite B e Gestação
Hepatite B e GestaçãoHepatite B e Gestação
Fisica exercicios resolvidos 004
Fisica exercicios resolvidos  004Fisica exercicios resolvidos  004
Fisica exercicios resolvidos 004
comentada
 
Lavagem Nasal
Lavagem NasalLavagem Nasal
Lavagem Nasal
Fabricio Batistoni
 
Questao termodinamica
Questao termodinamicaQuestao termodinamica
Questao termodinamica
Benjamin Batista
 
Derivadas direcionais
Derivadas direcionaisDerivadas direcionais
Derivadas direcionais
Franklin G Mendes
 
HIV e Aids - Epidemiologia, Fisiopatologia, Diagnóstico e Tratamento
HIV e Aids - Epidemiologia, Fisiopatologia, Diagnóstico e TratamentoHIV e Aids - Epidemiologia, Fisiopatologia, Diagnóstico e Tratamento
HIV e Aids - Epidemiologia, Fisiopatologia, Diagnóstico e Tratamento
Alexandre Naime Barbosa
 
Rubéola
RubéolaRubéola
Rubéola
Marcos Moraes
 
Matemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntosMatemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntos
Ulrich Schiel
 
Semiologia dos Edemas
Semiologia dos EdemasSemiologia dos Edemas
Semiologia dos Edemas
Paulo Alambert
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
Adriano Teixeira de Souza
 
Assistência de Enfermagem Sífilis
Assistência de Enfermagem SífilisAssistência de Enfermagem Sífilis
Assistência de Enfermagem Sífilis
luzienne moraes
 
Física - Exercícios Resolvidos de Cinemática
Física - Exercícios Resolvidos de CinemáticaFísica - Exercícios Resolvidos de Cinemática
Física - Exercícios Resolvidos de Cinemática
Joana Figueredo
 
Ascite
AsciteAscite
Amii a complexa_2011
Amii a complexa_2011Amii a complexa_2011
Amii a complexa_2011
Diogo Freire
 
Abcde diagnostico hepatites_virais
Abcde diagnostico hepatites_viraisAbcde diagnostico hepatites_virais
Abcde diagnostico hepatites_virais
Arquivo-FClinico
 
Vetor velocidade e aceleração 2003
Vetor velocidade e aceleração 2003Vetor velocidade e aceleração 2003
Vetor velocidade e aceleração 2003
fisicaatual
 
Aula: DPOC
Aula: DPOCAula: DPOC
Aula: DPOC
Edienny Viana
 
Apresentação Febre amarela
Apresentação Febre amarelaApresentação Febre amarela
Apresentação Febre amarela
Mariana Freire
 
Ginecomastia.
Ginecomastia.Ginecomastia.
Ginecomastia.
Brunno Rosique
 
Infecção Urinária - Pediatria
Infecção Urinária - PediatriaInfecção Urinária - Pediatria
Infecção Urinária - Pediatria
Dany Romeira
 

Mais procurados (20)

Hepatite B e Gestação
Hepatite B e GestaçãoHepatite B e Gestação
Hepatite B e Gestação
 
Fisica exercicios resolvidos 004
Fisica exercicios resolvidos  004Fisica exercicios resolvidos  004
Fisica exercicios resolvidos 004
 
Lavagem Nasal
Lavagem NasalLavagem Nasal
Lavagem Nasal
 
Questao termodinamica
Questao termodinamicaQuestao termodinamica
Questao termodinamica
 
Derivadas direcionais
Derivadas direcionaisDerivadas direcionais
Derivadas direcionais
 
HIV e Aids - Epidemiologia, Fisiopatologia, Diagnóstico e Tratamento
HIV e Aids - Epidemiologia, Fisiopatologia, Diagnóstico e TratamentoHIV e Aids - Epidemiologia, Fisiopatologia, Diagnóstico e Tratamento
HIV e Aids - Epidemiologia, Fisiopatologia, Diagnóstico e Tratamento
 
Rubéola
RubéolaRubéola
Rubéola
 
Matemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntosMatemática Discreta - Parte IV teoria dos-conjuntos
Matemática Discreta - Parte IV teoria dos-conjuntos
 
Semiologia dos Edemas
Semiologia dos EdemasSemiologia dos Edemas
Semiologia dos Edemas
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Assistência de Enfermagem Sífilis
Assistência de Enfermagem SífilisAssistência de Enfermagem Sífilis
Assistência de Enfermagem Sífilis
 
Física - Exercícios Resolvidos de Cinemática
Física - Exercícios Resolvidos de CinemáticaFísica - Exercícios Resolvidos de Cinemática
Física - Exercícios Resolvidos de Cinemática
 
Ascite
AsciteAscite
Ascite
 
Amii a complexa_2011
Amii a complexa_2011Amii a complexa_2011
Amii a complexa_2011
 
Abcde diagnostico hepatites_virais
Abcde diagnostico hepatites_viraisAbcde diagnostico hepatites_virais
Abcde diagnostico hepatites_virais
 
Vetor velocidade e aceleração 2003
Vetor velocidade e aceleração 2003Vetor velocidade e aceleração 2003
Vetor velocidade e aceleração 2003
 
Aula: DPOC
Aula: DPOCAula: DPOC
Aula: DPOC
 
Apresentação Febre amarela
Apresentação Febre amarelaApresentação Febre amarela
Apresentação Febre amarela
 
Ginecomastia.
Ginecomastia.Ginecomastia.
Ginecomastia.
 
Infecção Urinária - Pediatria
Infecção Urinária - PediatriaInfecção Urinária - Pediatria
Infecção Urinária - Pediatria
 

Mais de Bruno Felipe

Blockchain Aplicado à Saúde
Blockchain Aplicado à SaúdeBlockchain Aplicado à Saúde
Blockchain Aplicado à Saúde
Bruno Felipe
 
Segurança da Informação: Proteção no ambiente Virtual
Segurança da Informação: Proteção no ambiente VirtualSegurança da Informação: Proteção no ambiente Virtual
Segurança da Informação: Proteção no ambiente Virtual
Bruno Felipe
 
Information Quality Criteria Analysis in Query Reformulation in Distributed D...
Information Quality Criteria Analysis in Query Reformulation in Distributed D...Information Quality Criteria Analysis in Query Reformulation in Distributed D...
Information Quality Criteria Analysis in Query Reformulation in Distributed D...
Bruno Felipe
 
Linked Data
Linked DataLinked Data
Linked Data
Bruno Felipe
 
Qualidade do Contexto
Qualidade do ContextoQualidade do Contexto
Qualidade do Contexto
Bruno Felipe
 
Banco de Dados e Contexto
Banco de Dados e ContextoBanco de Dados e Contexto
Banco de Dados e Contexto
Bruno Felipe
 
Segurança em Migração de Virtual Machines
Segurança em Migração de Virtual MachinesSegurança em Migração de Virtual Machines
Segurança em Migração de Virtual Machines
Bruno Felipe
 
Arquitetura da Informação - Interatividade
Arquitetura da Informação - InteratividadeArquitetura da Informação - Interatividade
Arquitetura da Informação - Interatividade
Bruno Felipe
 
SAD e OLAP
SAD e OLAPSAD e OLAP
SAD e OLAP
Bruno Felipe
 
12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídos12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídos
Bruno Felipe
 
Scrum
ScrumScrum

Mais de Bruno Felipe (11)

Blockchain Aplicado à Saúde
Blockchain Aplicado à SaúdeBlockchain Aplicado à Saúde
Blockchain Aplicado à Saúde
 
Segurança da Informação: Proteção no ambiente Virtual
Segurança da Informação: Proteção no ambiente VirtualSegurança da Informação: Proteção no ambiente Virtual
Segurança da Informação: Proteção no ambiente Virtual
 
Information Quality Criteria Analysis in Query Reformulation in Distributed D...
Information Quality Criteria Analysis in Query Reformulation in Distributed D...Information Quality Criteria Analysis in Query Reformulation in Distributed D...
Information Quality Criteria Analysis in Query Reformulation in Distributed D...
 
Linked Data
Linked DataLinked Data
Linked Data
 
Qualidade do Contexto
Qualidade do ContextoQualidade do Contexto
Qualidade do Contexto
 
Banco de Dados e Contexto
Banco de Dados e ContextoBanco de Dados e Contexto
Banco de Dados e Contexto
 
Segurança em Migração de Virtual Machines
Segurança em Migração de Virtual MachinesSegurança em Migração de Virtual Machines
Segurança em Migração de Virtual Machines
 
Arquitetura da Informação - Interatividade
Arquitetura da Informação - InteratividadeArquitetura da Informação - Interatividade
Arquitetura da Informação - Interatividade
 
SAD e OLAP
SAD e OLAPSAD e OLAP
SAD e OLAP
 
12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídos12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídos
 
Scrum
ScrumScrum
Scrum
 

Último

Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 

Último (8)

Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 

Otimização por Colônia de Formigas (ACO)

  • 1. Ant Colony Optimization (Otimização por Colônia de Formigas) Por: Bruno Felipe brunofelipefr@gmail.com
  • 2. O que é Otimização por Colônia de Formigas? É uma meta-heurística baseada em população e inspirada no comportamento de uma colônia de formigas.
  • 3. Como é o comportamento de uma colônia de formiga? Como essa técnica é baseada no comportamento das formigas, Marco Doringo observou que as formigas ao saírem de sua colônia para buscarem alimento primeiramente traçam diferentes caminhos. Com o passar do tempo, na busca do alimento elas descobrem caminhos alternativos mais curtos entre sua colônia e o alimento, então nessas rotas é deixado uma substância chamada feromônio, que serve para as formigas se comunicarem através do cheiro. Então as formigas escolhem o melhor caminho, com probabilidade no maior teor de feromônio em uma determinada rota. Com isso é encontrado a melhor rota com o caminho mais curto entre a colônia e o alimento.
  • 4. Computacionalmente falando... No meio computacional, existem diversos algoritmos baseados no comportamento das formigas, onde se tem como principal objetivo a otimização e a busca por soluções. As formigas reais são substituídas por “formigas artificiais” e o feromônio por “feromônio artificial”, assim como outras variantes. As formigas artificiais são heurísticas probabilísticas que constroem informações de duas formas: trilha de feromônio e informações heurísticas.
  • 5. ANT Sytem ANT System foi o primeiro algoritmo implementado no comportamento das formigas. Tem como características a otimização e busca por soluções. A partir dele, foi desenvolvido soluções de otimização em roteamento de redes, sistema de roteamento de veículos, busca por soluções em grafos dinâmicos e usado no problema do caixeiro viajante.
  • 6. Pseudo-Código Ant System Coloque cada formiga em uma cidade aleatória para t = 1 até número de iterações para k = 1 até m enquanto a formiga k não construir a viagem Sk k Selecione a próxima cidade pela regra p fim enquanto Calcule a distância Lk da viagem Sk ∗ se Lk < L então ∗ ∗ S = S k , L = Lk fim se fim para Atualize os feromônios ∗ fim para retornar S
  • 7. O Ant System aplico ao TSP(Travelling Salesman Problem) Matriz distância do PCV 1 2 3 4 5 1 0,0 1,0 2,2 2,0 4,1 2 2 1,0 0,0 1,4 2,2 4,0 3 3 2,2 1,4 0,0 2,2 3,2 4 2,0 2,2 2,2 0,0 2,2 1 5 4,1 4,0 3,2 2,2 0,0 Cidades do PCV 4 5
  • 8. 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 aleatoriamente). 2 3 1 4 5
  • 9. Como a formiga constrói uma solução? Começando de uma cidade i , a formiga move-se escolhendo probabilisticamente a cidade vizinha j (entre os vizinhos factíveis). 2 ? 4 3 5
  • 10. A Probabilidade de Transição A probabilidade da formiga k que está na cidade i de escolher a cidade j é dada pela regra: • τ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; • Ni é a vizinhança factível da formiga k (i.e., o conjunto das cidades ainda não visitadas pela formiga k ).
  • 11. Informações Heurísticas do PVC Associada a aresta (i , j ) existe um valor heurístico ηij dado por: que representa a atratividade da formiga visitar a cidade i depois de visitar a cidade j. O valor ηij é inversamente proporcional a distância dij entre as cidades i e j.
  • 12. Começo da primeira iteração: 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 A escolha do candidato é de acordo com a probabilidade de transição. É feita de forma similar ao algoritmo da roleta dos algoritmos genéticos.
  • 13. 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 5 1(46%), 3(33%), 4(21%) 5-2-1
  • 14. 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 5 3(48%), 4(52%) 5-2-1-4
  • 15. 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 5 3(100%) 5-2-1-4-3
  • 16. Final da primeira iteração formiga solução comprimento (k) completa da 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
  • 17. Atualização do feromônio É necessário atualizar os feromônios. No feromônio τij associado a aresta (i , j ) ocorre dois eventos: A evaporação; • Evita que o feromônio acumulado cresça indefinidamente; • Permite esquecer pobres decisões do passado da busca. O depósito de feromônio de todas as formigas que passaram sobre (i , j).
  • 18. Atualização do feromônio Depois que todas as formigas construíram suas viagens, o feromônio é atualizado. é a quantidade de feromônio que a formiga k deposita sobre a aresta (i , j ). É dado por: se a aresta (i , j ) pertence a viagem Sk . Caso contrário. onde Q é uma constante.
  • 19. Atualização do feromônio O feromônio τij associado a aresta (i , j ) é atualizado pelo fórmula: onde 0 < ρ ≤ 1 é a taxa de evaporação de feromônio.
  • 20. Atualização do feromônio (atualizando a 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: Suponha ρ = 0, 5.
  • 21. Quando parar com a iteração? • Estagnação é a situação na qual todas as formigas seguem sempre o mesmo percurso. • A Estagnação é causado pelo excessivo crescimento de feromônio nas arestas de uma viagem subótima.
  • 22. 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 Distribuição de feromônio no inicio da busca. após 100 iterações.