2. Problema do Caixeiro Viajante
• Problema do Caixeiro Viajante (PCV) ou Traveling Salesman Problem.
• Trata-se de um problema que tenta determinar a menor rota para
percorrer uma série de cidades visitando uma única vez cada cidade e
retornando à cidade de origem (circuito hamiltoniano).
• Esse é um problema NP-difícil.
• Tem uma larga aplicabilidade em situações reais.
• Para abordar o problema, existem métodos exatos e heurísticos.
• Animação: https://www.youtube.com/watch?v=SC5CX8drAtU
2
3. Problema do Caixeiro Viajante
• Um exemplo de método exato seria testar todas as possibilidades.
• Mas isso é muito custoso para um problema NP-difícil, torna-se
impraticável por causa do crescimento exponencial.
• Existem estratégias baseadas em programação inteira (exemplo:
Branch & Bound) que podem garantir a obtenção da solução ótima.
• A principal desvantagem de métodos exatos é o custo computacional
muito elevado, pois o tempo de processamento cresce muito em
função do número de possibilidades.
3
4. Problema do Caixeiro Viajante
• Já os métodos heurísticos não garantem soluções ótimas, mas podem
garantir soluções aproximadas de boa qualidade.
• Um exemplo de método heurístico são os algoritmos genéticos que
podem ser usados para resolver o problema do PCV.
• O Simulated Annealing (AS) é outro método heurístico para resolver o
problema do PCV.
• Existem vários métodos heurísticos...
• A vantagem em se utilizar heurísticos é a redução drástica do custo
computacional.
4