Your SlideShare is downloading. ×
0
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problem
Genetic Algorithm Applied In Travel Salesman Problem
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Genetic Algorithm Applied In Travel Salesman Problem

1,793

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,793
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
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. UFRJ - COPPE <ul><li>Implementação e Comparação de Algoritmos para Solução do Problema do Caixeiro Viajante </li></ul>Marcelo Beckmann
  • 2. Em pauta <ul><li>O Problema do caixeiro viajante </li></ul><ul><li>Algoritmos </li></ul><ul><li>Implementação </li></ul><ul><li>Experimentos e resultados </li></ul><ul><li>Demonstração </li></ul><ul><li>Conclusões </li></ul>
  • 3. O problema do caixeiro viajante <ul><li>O problema do caixeiro viajante é representado matematicamente por um grafo hamiltoniano, onde se aplicam as seguintes restrições: </li></ul><ul><ul><li>O vendedor deve estar somente em uma cidade; </li></ul></ul><ul><ul><li>Todas as cidades devem ser visitadas somente uma vez; </li></ul></ul><ul><ul><li>A rota de visitas termina na cidade de origem; </li></ul></ul><ul><ul><li>Função de custo padrão: </li></ul></ul>
  • 4. Algoritmos <ul><li>Algoritmo Genético (Heurística) </li></ul><ul><ul><li>Cicle crossover (CX) </li></ul></ul><ul><ul><li>Seleção por roda da roleta </li></ul></ul><ul><ul><li>Elitismo </li></ul></ul><ul><ul><li>Mutação por inversão de genes </li></ul></ul>
  • 5. Algoritmos <ul><li>Colônia de Formigas (Meta Heurística) </li></ul>O rastro de feromônio atua como um bias que influencia a decisão de uma formiga a ir pelo caminho A, B, C, D ou E.
  • 6. Algoritmos <ul><li>AG com operador Inver Over </li></ul><ul><li>“ Algoritmo evolucionário puro= Sem busca local, evita ótimos locais e com alta pressão de seleção.” [Tao & Michalewicz, 1998]. </li></ul><ul><ul><li>Cada indivíduo compete somente indivíduos de sua geração; </li></ul></ul><ul><ul><li>Há somente um operador de variação (adaptativo); </li></ul></ul><ul><ul><li>O número de vezes que o operador é aplicado a um indivíduo durante a geração é variável. </li></ul></ul>
  • 7. Algoritmos <ul><li>Seja, </li></ul><ul><li>p = Um seletor de probabilidade entre 0 e 1 </li></ul><ul><li>c = Uma cidade selecionada randomicamente </li></ul><ul><li>S’ = Um indivíduo selecionado randomicamente da população </li></ul><ul><li>Para o indivíduo S’ = (2 3 9 4 1 5 8 6 7) e c = 3. </li></ul><ul><li>Se rand() < p , então selecione (randomicamente) c’ de S’ , </li></ul><ul><li>(8 por exemplo), e inverta: (2 3 9 4 1 5 8 6 7)  (2 3 8 5 1 4 9 6 7). </li></ul><ul><li>Se não, selecione outro indivíduo (randomicamente) da população, digamos </li></ul><ul><li>(1 6 4 3 5 7 9 2 8). Busque neste indivíduo para a cidade c’, qual é “próxima” a c </li></ul><ul><li>neste novo indivíduo: Você achará a cidade 5 . </li></ul><ul><li>Então o segmento para inversão em S’ começa em 3 e termina em 5, e o novo </li></ul><ul><li>indivíduo será S’  (2 3 5 1 4 9 8 6 7). </li></ul>
  • 8. Implementação <ul><li>Desenvolvido em Java; </li></ul><ul><ul><li>Arquitetura orientada a objetos permite a reutilização de código e a adição ou modificação de operadores; </li></ul></ul><ul><li>Abre arquivos com extensão .tsp; </li></ul><ul><li>Seleção e/ou sorteio de pontos no grafo; </li></ul><ul><li>Parametrização e acompanhamento de execução; </li></ul><ul><li>Salvamento e recuperação do grafo, parâmetros e estado da aplicação; </li></ul>
  • 9. Experimentos e resultados <ul><li>Bases de dados da TSPLIB </li></ul><ul><ul><li>A TSPLIB é um repositório de dados com várias fontes e tipos de exemplos relacionados ao problema do caixeiro viajante (Travel Sallesman Problem) [G. Reinelt. TSPLIB, 1991]; </li></ul></ul><ul><ul><li>Os arquivos fornecidos seguem uma padronização específica, com extensão .tsp, onde o ótimo global e o melhor caminho é conhecido. </li></ul></ul><ul><li>Comparação de resultados </li></ul><ul><ul><li>Os algoritmos implementados serão comparados com os resultados obtidos por [ Burkowski, Forbes, 2003] com o operador Inver Over. </li></ul></ul>
  • 10. Experimentos e resultados <ul><li>Algoritmo Genético </li></ul><ul><ul><li>População inicial: 600, máxima: 300, CX: 0.5, Mutação: 0.1 </li></ul></ul>
  • 11. Experimentos e resultados <ul><li>Algoritmo de Colônia de Formigas </li></ul><ul><ul><li>Número de formigas=200,  = 0.1,  =2, q0=0.8,  =0.1 </li></ul></ul>
  • 12. Experimentos e resultados
  • 13. Experimentos e resultados
  • 14. Conclusões <ul><li>Em relação ao AG-CX, a implementação ACO apresentou os melhores resultados e o melhor desempenho em todos os problemas; </li></ul><ul><li>O ACO apresentou convergência prematura, mesmo assim apresentou resultados relativamente próximos dos obtidos pelo AG-IO. Em todos os problemas o ACO obteve o melhor tempo de resposta; </li></ul><ul><li>O AG-CX implementado se mostrou pouco escalável e bastante sensível ao aumento no número de vértices </li></ul>
  • 15. Referências <ul><li>Burkowski, Forbes, Proximity and Priority: Applying a Gene, </li></ul><ul><li>Expression Algorithm to the Traveling Salesperson Problem, </li></ul><ul><li>Dept.Computer Science –Waterloo University– Canada, 2003 </li></ul><ul><li>Tao & Michalewicz, Evolutionary algorithms for the TSP, Proceedings </li></ul><ul><li>of the 5th Parallel Problem Solving from Nature Conference , Lecture </li></ul><ul><li>Notes in CS, #1498, Springer-Verlag, 1998 </li></ul><ul><li>G. Reinelt. TSPLIB - A Traveling Salesman Problem Library. ORSA </li></ul><ul><li>Journal on Computing 3 , 376 - 384, 1991 </li></ul><ul><li>See also: http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/ </li></ul><ul><li>Marco Dorigo, Luca Gambardella, Ant Colony System: A Cooperative </li></ul><ul><li>Leaning Approach to he Traveling Salesman Problem. IEEE Transactions on </li></ul><ul><li>Evolutionary Computation, Vol. 1, No.1, pp 1089-778X, 1997 </li></ul>

×