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

  • 4,932 views
Uploaded on

Uma descrição de como surgiu e funciona a técnica de otimizaçõa por colônia de formigas. Com um exemplo aplicado ao problema clássico de otimização Caixeiro Viajante

Uma descrição de como surgiu e funciona a técnica de otimizaçõa por colônia de formigas. Com um exemplo aplicado ao problema clássico de otimização Caixeiro Viajante

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
4,932
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
153
Comments
2
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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