otimização por colônia de formigas (ant colony optimization - … · 2008-03-14 · sum´ario...
TRANSCRIPT
![Page 1: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/1.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Otimizacao por Colonia de Formigas(Ant Colony Optimization - ACO)
Eros Moreira de CarvalhoGabriel Silva Ramos
CI209 - Inteligencia ArtificialBCC - Bacharelado em Ciencia da Computacao
DInf - Departamento de InformaticaUFPR - Universidade Federal do Parana
11 de Junho de 2007
![Page 2: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/2.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
1 ACO
2 TSP
3 Algoritmos
4 Testes
5 Conclusoes
![Page 3: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/3.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
ACO - Otimizacao por Colonia de Formigas
Metaheurıstica baseada em populacao
Inspirada na natureza: cooperacao de colonias de formigas
Proposta inicialmente por Marco Dorigo, Vitorio Maniezzo eAlberto Colorni em 1992
![Page 4: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/4.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Motivacoes
Usar tanto informacao heurıstica quanto acumulo deexperiencia na construcao de uma solucao.
Construcao meramente gulosa gera poucas solucoes e, emgeral, elas sao sub-otimas.
Uma construcao gulosa e randomica, como em GRASP,aumenta a diversidade, mas ainda nao incorpora oconhecimento que se obtem durante a busca.
O uso dos feromonios na construcao da solucao tem tanto umefeito de diversificacao quanto de intensificacao.
![Page 5: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/5.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Grafo de uma construcao gulosa
![Page 6: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/6.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Pseudo-codigo
Iniciar parametros, iniciar rastros de feromonio
Agendar AtividadesConstruc~ao de Soluc~oesAc~oes Globais [Opcional]Atualizac~ao dos Feromonios
Fim do Agendamento
![Page 7: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/7.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Fase: Construcao de Solucoes
Cada formiga inicia em um no aleatorio do grafo deconstrucao;
A cada iteracao, cada formiga decide para qual no ira emseguida, baseadas em informacoes heurısticas e nosferomonios das arestas;
Repete-se o passo anterior ate que todas as formigas tenhamconstruıdo uma solucao completa.
![Page 8: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/8.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Fase: Acoes Globais
Nesta fase opcional, um agente com conhecimento global dosistema executa acoes que nao poderiam ser executadas poruma formiga individualmente;
A acao mais comum nesta fase e aplicar uma Busca Local emcada uma das solucoes construıdas pelas formigas na fase deConstrucao de Solucoes;
Embora opcional, essa etapa tem sido usada para se obter osmelhores resultados com o ACO. ACO com busca local podeser considerado um algoritmo hıbrido[4].
![Page 9: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/9.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Fase: Atualizacao dos Feromonios
Nesta fase, os rastros de feromonio de cada arestapertencente as solucoes de cada formiga sao atualizados. Estafase envolve duas etapas: a evaporacao e o incremento doferomonio depositado em cada aresta;
Na evaporacao, o feromonio e diminuıdo por um fatorconstante e produz um efeito de diversificacao no algoritmo;
O incremento e baseado no uso da aresta no caminho dasformigas. Quanto mais a aresta for usada pelas formigas,maior sera o deposito de feromonio. O incremento produz umefeito de intensificacao no algoritmo.
![Page 10: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/10.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Aplicando o ACO ao TSP
Na aplicacao da metaheurıstica ACO ao problema do CaixeiroViajante Simetrico deve-se:
Associar cada cidade a um no do grafo de construcao dasformigas;
Associar cada distancia entre duas cidades ao custo de suaaresta correspondente no grafo de construcao;
Considerar o valor heurıstico de cada aresta com sendo oinverso da distancia entre as duas cidades conectadas.
![Page 11: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/11.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Algoritmos
Principais Algoritmos de ACO:
Ant System - AS
Ant Colony System - ACS
MAX-MIN Ant System - MMAS
Outras variacoes:
Elitist Ant System
Rank-based Ant System
Best-Worst Ant System
![Page 12: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/12.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Notacao
m - parametro que indica o numero de formigas na colonia.
α (alpha) - parametro que indica a importancia do feromonio.
β (beta) - parametro que indica a importancia da informacaoheurıstica, no TSP, o custo entre uma cidade e outra.
ρ (rho) - parametro que regula a taxa de evaporacao doferomonio.
τ (tau) - τij indica a quantidade de feromonio na aresta ij , eτ0 e a quantidade de feromonio inicial das arestas.
![Page 13: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/13.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Notacao
η (eta) - ηij = 1dij
, onde dij e a distancia entre as cidades i e j .
Nki - Conjunto das cidades que uma formiga k ainda nao
visitou.
∆τkij - e definida por{
1Lk , se aresta ij faz parte do caminho da formiga k
0, caso contrario
, onde Lk e o custo do caminho percorrido pela formiga k.
Lnn - Custo de um caminho guloso (nearest neighbor heuristic)
![Page 14: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/14.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Ant System
Desenvolvido por Marco Dorigo, Vitorio Maniezzo e AlbertoColorni em 1996.
Fase de Construcao: as formigas que atravessam o grafo emconstrucao fazem uma decisao probabilıstica em cada nodo.Essa decisao e definida pela formula:
pkij =
[τij ]α[ηij ]
β∑l∈Nk
i[τil ]
α[ηil ]β
Atualizacao do Feromonio: o feromonio e atualizado portodas as formigas, ao completar o caminho:
τij = (1− ρ).τij +m∑
k=1
∆τkij
Melhores parametros: m = n α = 1 β = 5 ρ = 0.5τ0 = 1/ρ.Lnn[2].
![Page 15: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/15.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Ant Colony System - ACS
Desenvolvido por Marco Dorigo e Luca Gambardella em 1997.
Fase de Construcao: Com probabilidade q0, escolhe a arestaque maximiza a expressao τijη
βij , caso contrario utiliza a
mesma regra de decisao do AS
Atualizacao Local de Feromonio: a cada iteracao daconstrucao, cada formiga atualiza o feromonio da ultimaaresta pela qual passou: τij = (1− ϕ).τij + ϕ.τ0
Atualizacao Global de Feromonio: feito somente pela melhorformiga, ou seja, somente as arestas visitadas pela melhorformiga sao atualizadas: τij = (1− ρ).τij + ρ.∆τmelhor
ij
Melhores parametros: m = 10 α = 0.1 β = 2 ρ = 0.1q0 = 0.9 ϕ = 0.1 τ0 = 1/n.Lnn[1].
![Page 16: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/16.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
MAX-MIN Ant System - MMAS
Desenvolvido por Thomas Stutzle e Holger Hoos em 1999.
Atualizacao do Feromonio: feito somente pela melhorformiga, ou seja, somente as arestas visitadas pela melhorformiga sao atualizadas: τij = (1− ρ).τij + ∆τmelhor
ij
Melhor formiga: pode ser tanto a melhor formiga ate omomento ou a melhor formiga de uma iteracao. ACS foca namelhor formiga ate o momento, enquanto MAX-MIN foca namelhor formiga de uma interacao.
Estrategia dinamica: usar ora a melhor formiga ate omomento, ora a melhor formiga de uma iteracao. Algumasimplementacoes do MAX-MIN usam essa estrategia [4].
![Page 17: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/17.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
MAX-MIN Ant System - MMAS
Limites para a taxa de Feromonio: para evitar a estagnacaoprecoce, os rastros de feromonio sao limitados a um intervalo[τmin, τmax ].
Inicializacao: τ0 = τmax .
τmax : O limite maximo e definido por 1ρ.L∗ , onde L∗ seria o
tamanho do caminho otimo. Quando nao se tem oconhecimento deste valor, pode-se aproximar dele por Lbs , istoe, pelo tamanho do melhor caminho encontrado ate omomento (Na inicializacao utiliza-se Lnn).
![Page 18: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/18.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
MAX-MIN Ant System - MMAS
τmin: Geralmente determinado empiricamente ouanaliticamente, como proposto por Stutzle[4], por:
τmin = τmax .(1−Pdec )k.Pdec
, onde k e o numero de escolhas que a
formiga ainda pode fazer e Pdec = n−1√
Pbest , onde Pbest e aprobabilidade de uma formiga construir o melhor caminho ateagora e n o numero de passos no caminho.
Melhores parametros: m = n α = 1 β = 2 ρ = 0.02[4].
![Page 19: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/19.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Comparativo entre as atualizacoes de Feromonio
Alg. Expressao Realizado
AS τij = (1−ρ).τij+m∑
k=1
∆τkij por todas as formigas ao
completar o caminho
ACS τij = (1− ϕ).τij + ϕ.τ0 por todas as formigas emcada passo da construcao
ACS τij = (1 − ρ).τij +ρ.∆τmelhor
ij
apenas pela melhorformiga ate agora aocompletar o caminho
MMAS τij = (1 − ρ).τij +∆τmelhor
ij
apenas pela melhorformiga da iteracao (oumelhor ate o momento)ao completar o caminho
![Page 20: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/20.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Comparacoes entre Algoritmos
Foram utilizados os melhores parametros da literatura ealguns escolhidos pela equipe.
Buscas locais: 2-opt, 3-opt, First Improvement e nenhumabusca.
Criterio de Parada: tempo limite de 10 segundos por teste
Instancia: pcb3038 (Otimo: 137694)3 Algs x 108 Comb. de parametros x 10 testes cada = 3240 testes
Alg. Media σ Melhor Pior Tempo Med.
AS 158469.9 19366.7 141109 239852 7.06
ACS 154165.0 13257.9 139512 178748 7.88
MMAS 162705.5 27080.5 138924 256076 8.27
![Page 21: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/21.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Variacao da busca local
![Page 22: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/22.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Variacao do α
![Page 23: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/23.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Variacao do β
![Page 24: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/24.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Variacao do ρ
![Page 25: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/25.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Testes com as bases propostas
Nos testes foi utilizado o algoritmo MAX-MIN Ant Systemcom os seguintes parametros: m = 25, α = 2, β = 8, ρ = 0.7
Buscas locais: 2-opt, 3-opt, First Improvement e nenhumabusca.
Para cada base: 10 testes x 4 Buscas locais = 40 testes
base Media σ Melhor Pior Tempo Med.
dantzig42 699 0 699 699 0.66
fri26 937 0 937 937 0.008
gr48 5051.1 7.4 5046 5069 2.09
hk48 11461 0 11461 11461 0.84
![Page 26: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/26.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Medias de custo
![Page 27: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/27.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Medias de tempo
![Page 28: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/28.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Aplicacoes
TSP
Roteamento em redes de comunicacao
Roteamento de Veıculos
![Page 29: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/29.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Conclusoes
MAX-MIN Ant System se mostrou o melhor dentre osalgoritmos analisados.
A busca local e muito importante para a obtencao de bonsresultados com ACO [3].
Inicializacao dos feromonios levando em conta o Lnn eimportante para a construcao de boas solucoes.
O uso de conhecimento adquirido durante a busca para gerarnovas solucoes e uma ideia promissora para algoritmosbaseados na construcao de solucoes.
![Page 30: Otimização por Colônia de Formigas (Ant Colony Optimization - … · 2008-03-14 · Sum´ario ACO TSP Algoritmos Testes Conclus˜oes Otimiza¸c˜ao por Colˆonia de Formigas (Ant](https://reader033.vdocuments.net/reader033/viewer/2022060207/5f03f6ac7e708231d40ba381/html5/thumbnails/30.jpg)
Sumario ACO TSP Algoritmos Testes Conclusoes
Referencias
M. Dorigo and L.M. Gambardella.Ant colony system: A cooperative learning approach to thetraveling salesman problem.IEEE Transactions on Evolutionary Computation, Vol.1, No.1,pages 1–24, 1997.
M. Dorigo, V. Maniezzo, and Colorni A.Ant system: Optimization by a colony of cooperatings agents.IEEE Transactions on Systems, Man, and Cybernetics-Part B,26(1):1–13, 1996.
M. Dorigo and T. Stutzle.Ant colony optimization metaheuristic: Algorithms,applications, and advance, 2002.
T. Stutzle.Max-min ant system.Preprint submitted to Elsevier Science, pages 1–26, 1999.