• Nenhum resultado encontrado

Revisão dos métodos heurísticos da literatura

Capítulo 2. Problema de Roteamento de Veículos com Janelas de Tempo (PRVJT)

2.2. Revisão dos métodos heurísticos da literatura

2.2.1. Problema de Roteamento de Veículos (PRV)

Antes de apresentar os métodos heurísticos do PRVJT, é feita uma breve introdução das heurísticas clássicas para a resolução do Problema de Roteamento de Veículos básico (PRV), considerando somente a restrição de capacidade dos veículos.

Laporte et al. (2000) expõem uma revisão dos métodos heurísticos para o PRV, incluindo

as principais heurísticas construtivas tais como o algoritmo das economias de Clarke e Wright (1964), algoritmo sweep atribuído a Gillet and Miller (1974), algoritmos de pétalas, algoritmo cluster-first, route second de Fisher e Jaikumar (1981), entre outros. A comparação do desempenho das heurísticas construtivas aponta que bons resultados são obtidos rapidamente com o algoritmo das economias e o sweep. Os autores também apresentam as principais metaheurísticas, concluindo que em geral os algoritmos baseados em busca tabu, como o Taburoute de Gendreau et al. (1994) e a busca tabu de Taillard (1993), obtiveram ótimos resultados.

Cordeau et al. (2002) expandem a comparação entre heurísticas construtivas e

Dentre os métodos testados, a busca tabu unificada de Cordeau et al. (1997) foi considerada como uma das melhores metaheurísticas.

Recentemente, Toth e Vigo (2003) introduziram a busca tabu granular para o PRV. A idéia central das vizinhanças granulares é a redução do espaço de busca, focando apenas na avaliação de movimentos promissores. Por exemplo, para problemas de roteamento é razoável imaginar que arcos muito “longos” não estariam presentes nas melhores soluções, portanto, descartam-se movimentos que gerariam tais arcos.

2.2.2. Problema de Roteamento de Veículos com Janelas de Tempo (PRVJT)

Existe uma grande variedade de métodos heurísticos para a resolução do PRVJT. Dentre as heurísticas construtivas, destacam-se as heurísticas de Solomon (1987), Potvin e Rousseau (1995) e Ioannou et al. (2001). Resultados comparativos no trabalho de Ioannou et al. (2001) mostram que a heurística proposta (IMPACT) é superior às outras duas heurísticas, embora gaste mais tempo computacional que a heurística I1 de Solomon (1987). Esta, por sua vez é, em geral, superior à heurística de Potvin e Rousseau (1995).

Balakrishnan (1993) introduz três heurísticas para o PRVJT com penalidade para a violação das restrições de janela de tempo: heurística do vizinho mais próximo, heurística da economia e heurística do espaço-tempo. Nas três heurísticas as rotas são criadas seqüencialmente – uma nova rota somente é criada na impossibilidade de atendimento dos clientes com a rota corrente. As heurísticas diferem no critério de seleção do primeiro cliente a ser inserido na rota (o cliente-semente) e na regra de seleção dos clientes seguintes (ponderação de valores de distância e janela de tempo). O autor conclui que o número de veículos pode ser significativamente reduzido ao permitir a violação das restrições de janela de tempo, e que a heurística do vizinho mais próximo obteve, em geral, o melhor desempenho.

Diversas metaheurísticas foram sugeridas na literatura para o PRVJT, e destacamos a seguir as que, aparentemente, são mais eficientes.

Rochat e Taillard (1995) mantêm um conjunto de rotas extraídas das melhores soluções obtidas durante a busca e, a cada iteração da metaheurística, constrói-se uma solução a partir de rotas selecionadas probabilisticamente do conjunto. O resumo do método pode ser encontrado no Anexo B.

Cordeau et al. (2001) mencionam que as implementações de metaheurísticas mais comuns na literatura para o PRVJT são busca tabu e algoritmos genéticos. Algoritmos de busca tabu foram propostos em (Rochat e Taillard, 1995, Potvin et al., 1996, Chiang e Russel, 1997, Taillard

et al., 1997, Cordeau et al., 2001). Algoritmos genéticos com busca local foram sugeridos por

Potvin e Bengio (1996) e Tan et al. (2001). Homberger e Gehringh (1999) desenvolveram um algoritmo evolucionário, muito semelhante a algoritmos genéticos atuais (não requerem codificação binária, ver Michalewicz, 1996), com busca local que faz o papel de mutação.

A busca tabu implementada por Cordeau et al. (2001) considera uma função objetivo penalizada pela violação de restrições de capacidade, duração máxima das rotas e de janela de tempo. Clientes são movidos de uma rota a outra, sendo proibida a volta do cliente à rota original por um determinado número de iterações. Os autores aplicam uma estratégia de diversificação baseada numa matriz de freqüência, matriz que armazena o número de vezes que o cliente foi inserido em cada rota. A busca tabu implementada pelos autores teve excelente desempenho, superando, na época, os melhores resultados da literatura em 20% dos problemas testados.

Recentemente, Bräysy (2003) tratou o problema de redução do número de veículos e de minimização da distância de forma separada, segmentando sua heurística em quatro fases:

• Fase 1: criação de soluções iniciais distintas para que, futuramente, diferentes mínimos locais possam ser encontrados;

• Fase 2: aplicação de um eficiente procedimento focado na eliminação de rotas, o qual foi baseado na vizinhança cadeia de ejeções de Glover (1991, 1996) – vide Anexo H; • Fases 3 e 4: minimização da distância percorrida através de uma busca em vizinhança

variada (variable neighborhood search).

Cada fase do método é projetada para buscar qualidade num objetivo específico – diversidade, redução do número de veículos e minimização da distância. Esta segmentação torna independente a avaliação do desempenho dos procedimentos em cada fase, facilitando, além da implementação, o teste de idéias para melhorar a qualidade de cada objetivo. O método se demonstrou extremamente bem sucedido.

Esta mesma vertente foi seguida por Bent e Hentenryck (2004a). Primeiro o método minimiza o número de veículos utilizando simulated annealing e em seguida aplica uma busca local de vizinhança de grande porte para minimizar a distância. Este é atualmente o melhor método da literatura para o PRVJT, considerando ambos os objetivos. O simulated annealing da

primeira fase possui uma vizinhança com 5 tipos de movimentos e uma função objetivo lexicográfica, a qual analisa o número de rotas da solução, o número de clientes por rota (prioriza o desequilíbrio entre o número de clientes por rota) e a violação das restrições de janela de tempo. O método de busca local da segunda fase é complexo e contém um algoritmo de exploração baseado em branch-and-bound.

Finalmente, Russel e Chiang (2004) implementaram a metaheurística scatter search para o PRVJT, utilizando como algoritmo de melhoria de soluções uma busca tabu reativa. O método de combinação é baseado na conservação de arcos comuns de duas ou mais soluções, aplicando em seguida um método de recuperação de factibilidade.

Os testes computacionais destas metaheurísticas são geralmente executados no conjunto de 56 problemas teste propostos por Solomon (1987), todos com 100 nós3. Este conjunto contém problemas com posição dos nós gerada com distribuição uniforme, posição dos nós agrupadas e uma mistura destes dois tipos. Recentemente, Homberger (2000) estendeu os problemas de Solomon para 200, 400, 600, 800 e 1000 nós.