• Nenhum resultado encontrado

1.4 Organiza¸c˜ ao do Trabalho

2.1.2 Computando uma solu¸c˜ ao

Os m´etodos mais comuns para tratar estes problemas consistem em desenvolver algo- ritmos para procurar solu¸c˜oes exatas, o que vai ser relativamente r´apido para instˆancias pequenas, ou desenvolver heur´ısticas, que calculam solu¸c˜oes boas que n˜ao podem ser confirmadas como ´otimas.

O problema tem se mostrado ser NP-dif´ıcil mesmo para o caso onde as cidades est˜ao em um plano com distˆancias Euclidianas ou para outros casos mais restritivos. Retirar a condi¸c˜ao de que cada cidade seja visitada apenas uma vez n˜ao remove a dificuldade do problema pois pode ser facilmente percebido que neste caso a melhor rota ainda seria uma que visitaria cada cidade apenas uma vez desde que pela desigualdade triangular, um atalho que pula a cidade j´a visitada era o que diminuiria o comprimento total da rota (Applegate, 2006).

Geralmente, se a medida de distˆancia ´e m´etrica e sim´etrica, o problema se torna um problema APX-completo (Lawler, 1985), o que quer dizer que se pode conseguir boas aproxima¸c˜oes com o uso de heur´ısticas. Existe tamb´em o problema de maximiza¸c˜ao, que ´e o de encontrar a rota mais comprida poss´ıvel.

A solu¸c˜ao exata mais intuitiva para o problema ´e a de tentar todas as permuta¸c˜oes, o que caracteriza o m´etodo de for¸ca bruta. A ordem de complexidade deste tipo de abordagem ´e de O(n!), ou seja, o fatorial do n´umero de cidades, o que pode tornar

12 PCV E PRV

esta solu¸c˜ao impr´atica mesmo para 20 cidades. Uma solu¸c˜ao baseada em programa¸c˜ao dinˆamica pode resolver o problema em um tempo O(n22n) (Bellman, 1962), por´em a solu¸c˜ao de programa¸c˜ao dinˆamica requer um espa¸co exponencial, pois s˜ao necess´arios m´etodos de inclus˜ao e exclus˜ao.

Algumas outras abordagens tamb´em s˜ao poss´ıveis, como algoritmos de ramifica¸c˜ao e poda que podem ser usados para instˆancias de 40 a 60 cidades, algoritmos de melhora progressiva que usam t´ecnicas rememorativas da programa¸c˜ao linear e funcionam bem para instˆancias de at´e 200 cidades ou implementa¸c˜oes de algoritmos de ramifica¸c˜ao e poda com poda de gera¸c˜oes espec´ıficas para o problema (Applegate, 2006).

Uma solu¸c˜ao exata para 15.112 cidades na Alemanha do TSPLib foi descoberta em 2001 usando o m´etodo de planos de corte j´a proposto na d´ecada de 50 (Dantzig et al., 1954), baseado em programa¸c˜ao linear. O processamento foi feito em uma rede de 110 processadores na Universidade de Rice e na Universidade de Princeton. O processamento total foi de 22,6 anos para um ´unico processador de 500MHz. Em maio de 2004, o problema de se visitar todas as 24.978 cidades da Su´ecia foi resolvido. Uma rota de aproximadamente 72.500 kilometros foi descoberta e foi-se provado que n˜ao existe uma rota menor (Applegate et al., 2004).

Em mar¸co de 2005, o PCV de se passar por todos os 33.810 pontos em um circuito foi resolvido usando o Concorde TSP Solver. Uma rota de tamanho 66.048.945 unidades foi encontrada e foi provado que n˜ao existe rota mais curta. O processamento levou aproximadamente 15,7 anos de CPU (Applegate et al. 2006). Em abril de 2006, uma instˆancia com 85.900 pontos foi resolvida com o Concorde TSP Solver, levando mais de 136 anos de CPU (Applegate et al., 2006).

V´arias heur´ısticas e algoritmos de aproxima¸c˜ao que levam a boas solu¸c˜oes em pouco tempo foram desenvolvidas. M´etodos modernos podem encontrar solu¸c˜oes para proble- mas de at´e milh˜oes de cidades em um tempo razo´avel e uma grande probabilidade de estarem apenas 3% pr´oximas do ´otimo.

Existem heur´ısticas construtivas, como o algoritmo do vizinho mais pr´oximo (Nea- rest Neighbour - NN), uma solu¸c˜ao gulosa onde deixamos o caixeiro decidir a cidade mais pr´oxima ainda n˜ao visitada no seu pr´oximo movimento. Este algoritmo leva rapi- damente a uma rota efetivamente pequena. Para n cidades distribu´ıdas em um plano aleatoriamente, o algoritmo leva a uma solu¸c˜ao 25% maior do que a melhor rota na m´edia (Rosenkrantz, 1977).

PCV E PRV 13

Contudo, existem v´arias distribui¸c˜oes arranjadas de cidades que fazem o NN retor- nar a pior rota (Gutin et al., 2002) tanto para PCVs sim´etricos quanto assim´etricos. Existe tamb´em um fator de aproxima¸c˜ao θ(log|V |) para instˆancias que satisfazem a desigualdade triangular (Rosenkrantz et al., 1977).

Existe uma nova heur´ıstica construtiva chamada Match Twice and Stitch (MTS) (Kahng & Reda, 2004) que empiricamente tem desempenho superior a todas as ou- tras heur´ısticas construtivas existentes. MTS faz duas combina¸c˜oes sequenciais, onde a segunda combina¸c˜ao ´e executada depois de se deletar todas as arestas da primeira combina¸c˜ao para que se produza uma cole¸c˜ao de ciclos. Os ciclos s˜ao ent˜ao costurados para produzir a rota final.

Outra classe de heur´ısticas que pode ser utilizada para a resolu¸c˜ao deste tipo de problema ´e a da Melhora Iterativa. Como o m´etodo de Pairwise Exchange ou t´ecnica 2-opt que se baseia em remover duas arestas e substitu´ı-las por outras duas (Lin & Kernighan, 1973). Depois, se reconectam os fragmentos criados pela remo¸c˜ao das arestas iterativamente para se encontrar uma rota nova e menor. Este ´e um caso particular do m´etodo k-opt.

Existe tamb´em a heur´ıstica k-opt, que tem um comportamento semelhante, sendo o m´etodo mais popular o 3-opt. O k-opt ´e na verdade um caso espec´ıfico da heur´ıstica V-opt, que ´e um m´etodo mais generalizado.

Al´em de todas j´a citadas, ainda existem as heur´ısticas de melhora aleat´oria, que podem ser melhorias de algoritmos baseados em cadeias de Markov (Kemeny, 1959) que usam algoritmos heur´ısticos de busca local e podem chegar a rotas extremamente pr´oximas do ´otimo para instˆancias de 850 cidades facilmente ou algoritmos de mudan¸ca aleat´oria de rotas que s˜ao atualmente os mais sofisticados algoritmos de busca e funcio- nam com at´e 100.000 cidades.

Escolhendo-se uma rota e alguns pontos pr´oximos, troca-se os caminhos entre eles para se criar um novo caminho aleat´orio `a medida que diminu´ımos o valor da menor rota conhecida o que leva ap´os certo tempo a um m´ınimo local.

Assim, o PCV ´e um crit´erio de avalia¸c˜ao para v´arias heur´ısticas desenvolvidas para otimiza¸c˜ao combinat´oria como Algoritmos Gen´eticos (AG) (Banzhaf et al., 1998), onde cada indiv´ıduo pode representar um rota e ap´os v´arias itera¸c˜oes temos uma evolu¸c˜ao da popula¸c˜ao por processos de muta¸c˜ao e/ou cruzamento, Recozimento Simulado (Si- mulated Annealing - SA) (Kirkpatrick et al., 1983), onde usa-se uma analogia com a

14 PCV E PRV

termodinˆamica para que se fuja de ´otimos locais e se encontre um ´otimo global, Busca Tabu (Glover & Laguna, 1997), m´etodo de otimiza¸c˜ao com estruturas de mem´oria que evitam o retorno para um ´otimo local j´a pesquisado, o m´etodo de colˆonia de formigas (Dorigo, 1992) e o de entropia cruzada (De Boer et al., 2005) entre outros.

Documentos relacionados