Avaliação de Heurísticas de Melhoramento e da Metaheurística ...

Avaliação de Heurísticas de Melhoramento e da Metaheurística ... Avaliação de Heurísticas de Melhoramento e da Metaheurística ...

09.05.2013 Views

Avaliação de Heurísticas de Melhoramento e da Metaheurística Busca Tabu para Solução de PRV Eliseu Celestino Schopf 1 , Claudio Schepke 1 , Marcus Lucas da Silva 1 , Pablo Furlan da Silva 1 1 Centro de Eletrônica e Tecnologia - Universidade Federal de Santa Maria (UFSM) Faixa de Camobi, km 9 - Santa Maria - RS - Brasil {eliseu, schepke, marc, pablof}@inf.ufsm.br Resumo. O roteamento de veículos é um problema de otimização combinatória, que consiste em arranjar o conjunto ótimo de rotas para determinada frota de veículos, de maneira a servir a um dado conjunto de clientes. O interesse no problema de roteamento de veículos é motivado pela sua relevância prática e pela sua considerável dificuldade. Na resolução desse problema, tratada neste artigo, são feitas comparações entre as heurísticas construtivas do “Vizinho Mais Próximo”, do “Vizinho Mais Próximo Dá Chance” e do de Savings. Também, as heurísticas de Melhoramento 2-OPT Intra-rotas, 2-OPT Inter-rotas e algoritmo de Swap, bem como a metaheurística Busca Tabu são comparadas a partir da execução sobre as soluções resultantes da melhor heurística construtiva. Dessa forma, conseguiu-se quantificar, neste estudo de caso, as melhorias definidas por cada heurística. 1. Introdução Uma classe de problemas que desperta interesse, por parte de pesquisadores, devido a sua complexidade, são os problemas não determinísticos em tempo polinomial (NP). Esses problemas não apresentam soluções viáveis através de algoritmos tradicionais, devido à alta exigência de tempo para a sua resolução. Uma alternativa normalmente adotada, é fazer uso de métodos heurísticos. Os métodos heurísticos visam encontrar uma solução, não necessariamente a melhor, em um tempo computacional aceitável. Estes são aplicados a problemas cuja obtenção da solução ótima é computacionalmente dispendiosa quando calculada por métodos exatos. As heurísticas analisadas neste artigo podem ser subdivididas em: Heurísticas Construtivas: Utilizam técnicas de adição na construção da solução do problema. A cada iteração vão sendo agregados pontos as rotas parciais. Esta construção é um processo contínuo e gradativo; Heurísticas de Melhoramento: A partir de uma solução inicial, são feitas trocas com o objetivo de melhorá-la. A cada passo são feitas trocas a fim de diminuir o custo original da rota. Estas tentativas de troca são feitas até um critério de parada, pré-estabelecidos, como o tempo, um determinado número de iterações ou a não existência de soluções aprimorantes no espaço de trocas definido. Outra definição utilizada que visa buscar um resultado viável para problemas da classe NP, em um tempo computacional, aceitável é a de metaheurística. Esta consiste em uma forma de controlar técnicas heurísticas a fim de permitir a inserção de pioras, buscando evitar encontrar soluções ótimas locais. Desta forma, é possível obter uma melhor

<strong>Avaliação</strong> <strong>de</strong> <strong>Heurísticas</strong> <strong>de</strong> <strong>Melhoramento</strong> e<br />

<strong>da</strong> <strong>Metaheurística</strong> Busca Tabu para Solução <strong>de</strong> PRV<br />

Eliseu Celestino Schopf 1 , Claudio Schepke 1 , Marcus Lucas <strong>da</strong> Silva 1 ,<br />

Pablo Furlan <strong>da</strong> Silva 1<br />

1 Centro <strong>de</strong> Eletrônica e Tecnologia - Universi<strong>da</strong><strong>de</strong> Fe<strong>de</strong>ral <strong>de</strong> Santa Maria (UFSM)<br />

Faixa <strong>de</strong> Camobi, km 9 - Santa Maria - RS - Brasil<br />

{eliseu, schepke, marc, pablof}@inf.ufsm.br<br />

Resumo. O roteamento <strong>de</strong> veículos é um problema <strong>de</strong> otimização combinatória,<br />

que consiste em arranjar o conjunto ótimo <strong>de</strong> rotas para <strong>de</strong>termina<strong>da</strong> frota <strong>de</strong><br />

veículos, <strong>de</strong> maneira a servir a um <strong>da</strong>do conjunto <strong>de</strong> clientes. O interesse no<br />

problema <strong>de</strong> roteamento <strong>de</strong> veículos é motivado pela sua relevância prática e<br />

pela sua consi<strong>de</strong>rável dificul<strong>da</strong><strong>de</strong>. Na resolução <strong>de</strong>sse problema, trata<strong>da</strong> neste<br />

artigo, são feitas comparações entre as heurísticas construtivas do “Vizinho Mais<br />

Próximo”, do “Vizinho Mais Próximo Dá Chance” e do <strong>de</strong> Savings. Também, as<br />

heurísticas <strong>de</strong> <strong>Melhoramento</strong> 2-OPT Intra-rotas, 2-OPT Inter-rotas e algoritmo<br />

<strong>de</strong> Swap, bem como a metaheurística Busca Tabu são compara<strong>da</strong>s a partir <strong>da</strong><br />

execução sobre as soluções resultantes <strong>da</strong> melhor heurística construtiva. Dessa<br />

forma, conseguiu-se quantificar, neste estudo <strong>de</strong> caso, as melhorias <strong>de</strong>fini<strong>da</strong>s por<br />

ca<strong>da</strong> heurística.<br />

1. Introdução<br />

Uma classe <strong>de</strong> problemas que <strong>de</strong>sperta interesse, por parte <strong>de</strong> pesquisadores, <strong>de</strong>vido a sua<br />

complexi<strong>da</strong><strong>de</strong>, são os problemas não <strong>de</strong>terminísticos em tempo polinomial (NP). Esses<br />

problemas não apresentam soluções viáveis através <strong>de</strong> algoritmos tradicionais, <strong>de</strong>vido à alta<br />

exigência <strong>de</strong> tempo para a sua resolução. Uma alternativa normalmente adota<strong>da</strong>, é fazer uso<br />

<strong>de</strong> métodos heurísticos.<br />

Os métodos heurísticos visam encontrar uma solução, não necessariamente a<br />

melhor, em um tempo computacional aceitável. Estes são aplicados a problemas cuja<br />

obtenção <strong>da</strong> solução ótima é computacionalmente dispendiosa quando calcula<strong>da</strong> por<br />

métodos exatos. As heurísticas analisa<strong>da</strong>s neste artigo po<strong>de</strong>m ser subdividi<strong>da</strong>s em:<br />

<strong>Heurísticas</strong> Construtivas: Utilizam técnicas <strong>de</strong> adição na construção <strong>da</strong> solução do<br />

problema. A ca<strong>da</strong> iteração vão sendo agregados pontos as rotas parciais. Esta construção é<br />

um processo contínuo e gra<strong>da</strong>tivo;<br />

<strong>Heurísticas</strong> <strong>de</strong> <strong>Melhoramento</strong>: A partir <strong>de</strong> uma solução inicial, são feitas trocas com<br />

o objetivo <strong>de</strong> melhorá-la. A ca<strong>da</strong> passo são feitas trocas a fim <strong>de</strong> diminuir o custo original<br />

<strong>da</strong> rota. Estas tentativas <strong>de</strong> troca são feitas até um critério <strong>de</strong> para<strong>da</strong>, pré-estabelecidos,<br />

como o tempo, um <strong>de</strong>terminado número <strong>de</strong> iterações ou a não existência <strong>de</strong> soluções<br />

aprimorantes no espaço <strong>de</strong> trocas <strong>de</strong>finido.<br />

Outra <strong>de</strong>finição utiliza<strong>da</strong> que visa buscar um resultado viável para problemas <strong>da</strong><br />

classe NP, em um tempo computacional, aceitável é a <strong>de</strong> metaheurística. Esta consiste em<br />

uma forma <strong>de</strong> controlar técnicas heurísticas a fim <strong>de</strong> permitir a inserção <strong>de</strong> pioras,<br />

buscando evitar encontrar soluções ótimas locais. Desta forma, é possível obter uma melhor


solução geral para o problema. A metaheurística <strong>de</strong> Busca Tabu é analisa<strong>da</strong> neste artigo.<br />

Um dos problemas <strong>da</strong> classe NP é Problema do Roteamento <strong>de</strong> Veículos (PRV). O<br />

PRV é o nome genérico <strong>da</strong>do a uma classe <strong>de</strong> problemas, no qual é preciso <strong>de</strong>terminar as<br />

rotas que minimizem o custo <strong>da</strong>s mesmas <strong>de</strong> todos os pontos em uma dispersão geográfica.<br />

Ele po<strong>de</strong> ser utilizado em uma série <strong>de</strong> situações práticas tanto em âmbito local (centros<br />

distribuidores <strong>de</strong> produtos), quanto nacional (indústria automotiva) [GALBIER,2004].<br />

O presente artigo tem como principal objetivo quantificar, conforme os estudos<br />

realizados e apresentados ao longo <strong>de</strong>ste, as melhorias <strong>de</strong>fini<strong>da</strong>s pelas heurísticas <strong>de</strong><br />

melhoramento e metaheurística Busca Tabu no Problema <strong>de</strong> Roteamento <strong>de</strong> Veículos. A<br />

seção 2 <strong>de</strong>screve as heurísticas codifica<strong>da</strong>s e aplica<strong>da</strong>s. A seção 3 apresenta a análise <strong>da</strong>s<br />

heurísticas <strong>de</strong> melhoramento e <strong>da</strong> metaheurística Busca Tabu sobre o construtivo <strong>de</strong><br />

melhor resultado, e a seção seguinte conclui o presente trabalho.<br />

2. Descrição <strong>da</strong>s <strong>Heurísticas</strong> Aplica<strong>da</strong>s<br />

Para resolução do Problema <strong>de</strong> Roteamento <strong>de</strong> Veículos, foram emprega<strong>da</strong>s heurísticas<br />

construtivas, <strong>de</strong> melhoramento e metaheurística, que seguem abaixo <strong>de</strong>scritas.<br />

2.1 <strong>Heurísticas</strong> Construtivas<br />

Algoritmo “Vizinho Mais Próximo”<br />

A heurística do Vizinho Mais Próximo, <strong>de</strong>scrita por Solomon [SOLOMON,1987], utiliza<br />

uma matriz para <strong>de</strong>finir a distância entre os pontos. O percurso é construído com base na<br />

distância entre estes pontos, sendo o ponto mais próximo <strong>da</strong> origem adicionado primeiro e<br />

os <strong>de</strong>mais pontos adicionados posteriormente conforme a necessi<strong>da</strong><strong>de</strong> <strong>da</strong> criação <strong>de</strong> novas<br />

rotas. Um ponto é adicionado a uma rota, segundo a sua proximi<strong>da</strong><strong>de</strong> em relação ao último<br />

ponto adicionado. Este processo se repete enquanto o limite <strong>da</strong> capaci<strong>da</strong><strong>de</strong> <strong>da</strong> rota é<br />

respeitado.<br />

Algoritmo “Vizinho Mais Próximo Dá Chance”<br />

Este método é semelhante ao método <strong>de</strong> busca do Mais Próximo, porém, em vez <strong>de</strong><br />

encerrar a rota quando a <strong>de</strong>man<strong>da</strong> é extrapola<strong>da</strong>, ele escolhe o ponto mais próximo seguinte<br />

ao atual. Porém, se a <strong>de</strong>man<strong>da</strong> <strong>de</strong>ste for maior que o espaço ain<strong>da</strong> existente para a rota,<br />

repete-se este passo sucessivamente, até encontrar um elemento que respeite a <strong>de</strong>man<strong>da</strong><br />

ain<strong>da</strong> disponível <strong>da</strong> rota. Caso não for encontrado nenhum, encerra-se rota. O objetivo <strong>de</strong>sta<br />

modificação sobre o Vizinho Mais Próximo é diminuir o número total <strong>de</strong> rotas.<br />

Algoritmo <strong>de</strong> Savings<br />

O Algoritmo <strong>de</strong> Savings, ou Algoritmos <strong>da</strong>s Economias, proposto por Clarke e Wright<br />

[CLARKE,1964], baseia-se na noção <strong>de</strong> economias, que po<strong>de</strong> ser <strong>de</strong>finido como o custo <strong>da</strong><br />

combinação, ou união, <strong>de</strong> duas sub-rotas existentes. Trata-se <strong>de</strong> uma heurística iterativa <strong>de</strong><br />

construção basea<strong>da</strong> numa função gulosa <strong>de</strong> inserção. Um algoritmo <strong>de</strong> Savings inicia com<br />

um processo iterativo que visa percorrer to<strong>da</strong>s as ci<strong>da</strong><strong>de</strong>s duas a duas, <strong>de</strong> maneira a calcular<br />

as economias, ou seja, sendo i e j ci<strong>da</strong><strong>de</strong>s distintas, Cij o custo entre as duas ci<strong>da</strong><strong>de</strong>s, e 0 o<br />

<strong>de</strong>pósito, tem-se as economias Sij:<br />

Sij = C0i + Cj0 - Cij


Esta fórmula permite, então, ter o conhecimento <strong>da</strong>s ci<strong>da</strong><strong>de</strong>s com distâncias mais<br />

próximas. Em segun<strong>da</strong> instância, um outro processo iterativo busca o maior Savings, toma<br />

as duas ci<strong>da</strong><strong>de</strong>s mais próximas e as roteia em relação à ci<strong>da</strong><strong>de</strong>-base. Segundo a <strong>de</strong>finição <strong>de</strong><br />

[LIU, 1999], duas rotas contendo os clientes i e j po<strong>de</strong>m ser combina<strong>da</strong>s, <strong>de</strong>s<strong>de</strong> que i e j<br />

estejam ou na primeira ou na última posição <strong>de</strong> suas respectivas rotas e que a <strong>de</strong>man<strong>da</strong> total<br />

<strong>da</strong>s rotas combina<strong>da</strong>s não ultrapasse a capaci<strong>da</strong><strong>de</strong> do veículo. Por ser sempre escolhi<strong>da</strong> a<br />

maior economia <strong>de</strong>ntre as possíveis, a função <strong>de</strong> escolha é dita gulosa.<br />

2.2 <strong>Heurísticas</strong> <strong>de</strong> <strong>Melhoramento</strong><br />

Heurística 2-OPT Intra-rotas<br />

O método <strong>de</strong> melhoramento 2-OPT intra-rotas proposto por [LINS,1973], consiste na<br />

possível troca <strong>de</strong> dois arcos, não consecutivos, <strong>de</strong> uma rota e refazer as conexões, criando<br />

uma nova rota. Se o custo <strong>da</strong> nova rota for menor que o custo <strong>da</strong> rota original, a nova é<br />

manti<strong>da</strong>. O processo termina através <strong>de</strong> um critério <strong>de</strong> para<strong>da</strong>. Como po<strong>de</strong> ocorrer inversão<br />

<strong>de</strong> sentido em parte <strong>da</strong> rota, pressupõe-se simetria <strong>de</strong> distâncias.<br />

Heurística 2-OPT Inter-rotas<br />

O método <strong>de</strong> melhoramento 2-OPT inter-rotas proposto por [LINS,1973], consiste na<br />

possível troca <strong>de</strong> dois arcos <strong>de</strong> duas rotas diferentes, um <strong>de</strong> ca<strong>da</strong> rota e refazer as conexões,<br />

criando duas rotas novas. As novas rotas serão manti<strong>da</strong>s se o custo <strong>de</strong>las forem menores<br />

que o custo <strong>da</strong>s rotas originais e se a capaci<strong>da</strong><strong>de</strong> dos veículos não for ultrapassa<strong>da</strong>. O<br />

processo termina através <strong>de</strong> um critério <strong>de</strong> para<strong>da</strong>. Como po<strong>de</strong> ocorrer inversão <strong>de</strong> sentido<br />

em parte <strong>da</strong> rota, pressupõe-se simetria <strong>de</strong> distâncias.<br />

Swap<br />

O algoritmo <strong>de</strong> Swap, <strong>de</strong>scrito em [CORBERAN,2000], consiste <strong>de</strong> trocas simples entre<br />

ci<strong>da</strong><strong>de</strong>s <strong>da</strong>s rotas. Duas ci<strong>da</strong><strong>de</strong>s diferentes são escolhi<strong>da</strong>s aleatoriamente e, se a troca <strong>de</strong>las<br />

diminui o custo total <strong>da</strong>s rotas, essas ci<strong>da</strong><strong>de</strong>s são troca<strong>da</strong>s <strong>de</strong> posição. O processo termina<br />

através <strong>de</strong> um critério <strong>de</strong> para<strong>da</strong> po<strong>de</strong>ndo este ser um número <strong>de</strong> iterações pré-estabelecido.<br />

2.3 <strong>Metaheurística</strong><br />

Busca Tabu<br />

O método <strong>de</strong> Busca Tabu, proposto por Glover e Laguna [GLOVER,1997], consiste num<br />

procedimento a<strong>da</strong>ptativo que guia um algoritmo <strong>de</strong> busca local na exploração contínua do<br />

espaço <strong>de</strong> busca, sem ser confundido pela ausência <strong>de</strong> vizinhos aprimorantes, retornando a<br />

um ótimo local previamente visitado (condição <strong>de</strong>seja<strong>da</strong>, mas não necessária). O método <strong>de</strong><br />

Busca Tabu parte <strong>de</strong> uma solução inicial e, a ca<strong>da</strong> iteração, move-se para a melhor solução<br />

na vizinhança, não aceitando movimentos que levem a soluções já visita<strong>da</strong>s armazena<strong>da</strong>s<br />

em uma lista tabu. Esta lista permanece na memória guar<strong>da</strong>ndo as soluções já visita<strong>da</strong>s<br />

(tabu) durante um espaço <strong>de</strong> tempo ou durante um certo número <strong>de</strong> iterações (prazo tabu).<br />

Ao contrário <strong>de</strong> algoritmos como o GRASP [FEO,1995], que não usa memória para<br />

armazenar conhecimento sobre os espaços percorridos, a Busca Tabu utiliza estruturas<br />

flexíveis <strong>de</strong> memória para esta finali<strong>da</strong><strong>de</strong>. Graças ao uso intensivo <strong>de</strong> memória a<strong>da</strong>ptativa,<br />

o método <strong>de</strong> Busca Tabu consegue ter boas soluções. Além disso, a solução final tem pouca<br />

<strong>de</strong>pendência com a inicial pelo fato <strong>de</strong> os mecanismos que o método implementa fugir <strong>de</strong><br />

ótimos locais.


3. Análise dos Algoritmos <strong>de</strong> <strong>Melhoramento</strong> Implementados e <strong>da</strong> <strong>Metaheurística</strong><br />

Busca Tabu<br />

Neste trabalho, foram efetuados estudos relacionados à aplicação e combinação <strong>de</strong><br />

heurísticas e metaheurística Busca Tabu para resolução do Problema <strong>de</strong> Roteamento <strong>de</strong><br />

Veículos. Os algoritmos foram implementados na linguagem Java, utilizando o pacote JDK<br />

1.4.1_02. As execuções foram feitas em um computador com processador Pentium 4 <strong>de</strong> 2.4<br />

Ghz <strong>de</strong> freqüência, 512 MB <strong>de</strong> memória física e 512 KB <strong>de</strong> memória cache.<br />

A or<strong>de</strong>m dos testes efetuados é <strong>de</strong>scrita conforme a estrutura exposta na figura 1.<br />

Primeiramente, há um módulo <strong>de</strong> entra<strong>da</strong>, responsável pela aquisição <strong>da</strong>s instâncias 1 em um<br />

arquivo com formato específico. Este arquivo possui o número total <strong>de</strong> ci<strong>da</strong><strong>de</strong>s a serem<br />

percorri<strong>da</strong>s pelos veículos, as capaci<strong>da</strong><strong>de</strong>s máximas dos veículos, a localização do ponto <strong>de</strong><br />

origem, bem como a localização <strong>da</strong>s <strong>de</strong>mais pontos e <strong>de</strong> suas <strong>de</strong>man<strong>da</strong>s. To<strong>da</strong>s as estruturas<br />

<strong>de</strong> <strong>da</strong>dos são representa<strong>da</strong>s através <strong>de</strong> inteiros, sendo que a matriz <strong>de</strong> distâncias é obti<strong>da</strong><br />

através do truncamento dos números. Além <strong>da</strong> matriz <strong>de</strong> distâncias, o módulo inicial<br />

também disponibiliza o vetor <strong>de</strong> <strong>de</strong>man<strong>da</strong>s e outras informações úteis, como o número <strong>de</strong><br />

ci<strong>da</strong><strong>de</strong>s e a capaci<strong>da</strong><strong>de</strong> dos veículos.<br />

Figura 1: Passos adotados para análise <strong>da</strong>s heurísticas <strong>de</strong> melhoramento e <strong>da</strong> metaheurística.<br />

Em um segundo momento, as informações <strong>de</strong> entra<strong>da</strong> são ofereci<strong>da</strong>s às três<br />

heurísticas construtivas. Este bloco <strong>de</strong> processamento fornece o custo e as rotas forma<strong>da</strong>s<br />

por ca<strong>da</strong> um dos algoritmos. Essas informações são analisa<strong>da</strong>s e apenas o melhor resultado<br />

gerado é passado como entra<strong>da</strong> às heurísticas <strong>de</strong> melhoramento a metaheurística <strong>de</strong> Busca<br />

Tabu. Esta última, conforme avaliações prévias realiza<strong>da</strong>s, foi <strong>de</strong>fini<strong>da</strong> com uma lista tabu<br />

<strong>de</strong> tamanho 11 e efetua 10.000 iterações em busca <strong>de</strong> uma melhor solução.<br />

1 Foram analisa<strong>da</strong>s três instâncias, intitula<strong>da</strong>s 'DGRVB7XUPD, e , as quais po<strong>de</strong>m ser baixa<strong>da</strong>s em<br />

htttp://www.inf.ufsm.br/~marc/ia.zip


Os resultados gerados, como o número total <strong>de</strong> rotas, pontos pertencentes a ca<strong>da</strong><br />

rota, bem como o custo e <strong>de</strong>man<strong>da</strong> para ca<strong>da</strong> uma <strong>de</strong>las, além do custo, <strong>de</strong>man<strong>da</strong> e tempo<br />

<strong>de</strong> execução total, são gravados em um arquivo <strong>de</strong> saí<strong>da</strong>. Para este artigo serão analisados<br />

somente os custos <strong>de</strong> formação <strong>da</strong>s rotas.<br />

3.1 Comparação e análise dos custos <strong>da</strong>s <strong>Heurísticas</strong> Construtivas<br />

Com base na execução sobre diversas instâncias, po<strong>de</strong>-se concluir que o algoritmo <strong>de</strong><br />

Savings é superior em todos os casos analisados. Isto se <strong>de</strong>ve ao or<strong>de</strong>namento inicial <strong>da</strong>s<br />

economias, informação utiliza<strong>da</strong> no algoritmo para que ci<strong>da</strong><strong>de</strong>s muito distantes <strong>da</strong> origem<br />

sejam liga<strong>da</strong>s entre si, a fim <strong>de</strong> diminuir o custo <strong>da</strong> formação <strong>de</strong> uma rota. Já o método do<br />

“Vizinho Mais Próximo Dá Chance” apresentou-se superior ao “Vizinho Mais Próximo”<br />

somente em um dos casos. A tabela 1 apresenta o resultado dos custos, enquanto que a<br />

tabela 2 mostra a porcentagem média <strong>de</strong> melhoria dos métodos “Vizinho Mais Próximo” e<br />

Savings em relação ao “Vizinho Mais Próximo Dá Chance”, o qual apresentou o pior caso.<br />

Tabela 1: <strong>Heurísticas</strong> construtivas para as quatro instâncias propostas.<br />

Savings VMP VMPDC<br />

Dados_Turma 9788 9983 9958<br />

51 575 693 695<br />

101 855 1104 1129<br />

Tabela 2: Porcentagem <strong>de</strong> melhoria do método “ Vizinho Mais Próximo” e <strong>de</strong> Savings em relação<br />

ao “ Vizinho Mais Próximo Dá Chance” .<br />

Heurística Melhoria (porcentagem)<br />

Vizinho Mais Próximo 4.04<br />

Savings 18.62<br />

3.2 Comparação e análise <strong>da</strong>s <strong>Heurísticas</strong> <strong>de</strong> <strong>Melhoramento</strong> e Busca Tabu<br />

As heurísticas <strong>de</strong> melhoramento e as metaheurísticas sofrem gran<strong>de</strong> influência <strong>da</strong>s soluções<br />

iniciais. Em geral uma solução inicial <strong>de</strong> boa quali<strong>da</strong><strong>de</strong> apresenta um processo <strong>de</strong> busca<br />

mais rápido e <strong>de</strong> melhor quali<strong>da</strong><strong>de</strong>. Por este motivo é que estas execuções foram feitas com<br />

base nos resultados fornecidos pelo Savings.<br />

As comparações <strong>de</strong> custo entre as heurísticas <strong>de</strong> melhoramento 2-OPT Intra-rotas,<br />

2-OPT Inter-rotas, <strong>de</strong> Swap e <strong>da</strong> metaheurística Busca Tabu, realiza<strong>da</strong>s sobre as instâncias<br />

Dados_Turma, 51 e 101 po<strong>de</strong>m ser visualiza<strong>da</strong>s através <strong>da</strong>s figuras 2, 3 e 4,<br />

respectivamente. Na instância Dados_Turma a metaheurística Busca Tabu obteve o melhor<br />

resultado, sendo 1.78% melhor do que o segundo colocado, assumido pelo 2-OPT Interrotas.<br />

Já na instância 51, a Busca Tabu obteve uma melhora <strong>de</strong> 4.5% sobre o 2-OPT Interrotas<br />

enquanto que na instância 101 a melhora foi <strong>de</strong> 0.82%.<br />

A tabela 3 mostra os custos e a porcentagem <strong>de</strong> melhora para ca<strong>da</strong> uma <strong>da</strong>s<br />

heurísticas <strong>de</strong> melhoramento e a Busca Tabu, sobre o método <strong>de</strong> Savings. Os melhores<br />

resultados estão enfatizados em itálico. De uma forma geral, a Busca Tabu obteve uma<br />

significativa melhora em relação aos <strong>de</strong>mais métodos. Entre os <strong>de</strong> melhoramento o método<br />

2-OPT Inter-rotas obteve os melhores resultados, seguido pelo Swap e o 2-OPT Intra-rotas,<br />

lembrando que o último não se concentra somente no custo <strong>da</strong> rota.


9800<br />

9750<br />

9700<br />

9650<br />

9600<br />

9550<br />

9500<br />

9450<br />

9400<br />

9350<br />

9300<br />

9250<br />

Custos <strong>de</strong> <strong>Melhoramento</strong> e Tabu -<br />

Dados_Turma<br />

Figura 2: Comparação entre os custos obtidos pelas heurísticas <strong>de</strong> melhoramento e Busca Tabu na<br />

instância Dados_Turma.<br />

560<br />

555<br />

550<br />

545<br />

540<br />

535<br />

530<br />

525<br />

520<br />

515<br />

¢¡¤£¦¥ §©¨ ¤§ ¥ §©¡¦¤<br />

Intr a Rotas<br />

Inter Rotas<br />

Swap<br />

T abu<br />

Intra Rotas<br />

Inter Rotas<br />

Figura 3: Comparação entre os custos obtidos pelas heurísticas <strong>de</strong> melhoramento e Busca Tabu na<br />

instância 51.<br />

852<br />

850<br />

848<br />

846<br />

844<br />

842<br />

840<br />

838<br />

836<br />

<br />

Sw ap<br />

Tabu<br />

Intra Rotas<br />

Inter Rotas<br />

Figura 4: Comparação entre os custos obtidos pelas heurísticas <strong>de</strong> melhoramento e Busca Tabu na<br />

instância 101.<br />

S wap<br />

T abu


4. Conclusão<br />

Tabela 3: Custos obtidos pelas heurísticas <strong>de</strong> melhoramento e metaheurística <strong>de</strong> lista Tabu<br />

e porcentagem <strong>de</strong> melhora, a partir do algoritmo <strong>de</strong> Savings.<br />

Dados_Turma 51 101<br />

Gerado pelo Savings 9788 Melhora 575 Melhora 855 Melhora<br />

2-OPT Intra-rotas 9764 0.24% 559 2.78% 852 0.35%<br />

2-OPT Inter-rotas 9622 1.67% 557 3.13% 849 0.7%<br />

Swap 9705 0.85% 559 2.78% 851 0.47%<br />

Tabu (10.000<br />

iterações)<br />

9451 3.44% 532 7.48% 842 1.52%<br />

A solução <strong>de</strong> problemas <strong>de</strong> gran<strong>de</strong> porte po<strong>de</strong> fazer uso <strong>da</strong> combinação <strong>de</strong> diversas técnicas<br />

heurísticas. A escolha correta para esta combinação é um fator <strong>de</strong>cisivo para a obtenção <strong>de</strong><br />

bons resultados. Desta forma é possível fazer a combinação <strong>da</strong>s características positivas<br />

ofereci<strong>da</strong>s por ca<strong>da</strong> método.<br />

Para este trabalho, a implementação do Savings se apresentou mais eficiente entre<br />

as heurísticas construtivas. A estrutura <strong>de</strong>ste algoritmo busca evitar que os pontos que<br />

ficam longe <strong>da</strong> origem sejam ligados diretamente a ela. Nas heurísticas <strong>de</strong> melhoramento, o<br />

número <strong>de</strong> trocas possíveis interfere na possibili<strong>da</strong><strong>de</strong> <strong>de</strong> formação <strong>de</strong> rotas com custos<br />

menores.<br />

Como resultado geral a Busca Tabu conseguiu obter a melhor solução em relação às<br />

<strong>de</strong>mais implementações. A estratégia utiliza<strong>da</strong> em sua implementação foi a <strong>de</strong> <strong>de</strong>sci<strong>da</strong> mais<br />

rápi<strong>da</strong>, a qual converge rapi<strong>da</strong>mente para ótimos locais. Uma melhoria que po<strong>de</strong>ria ser<br />

incorpora<strong>da</strong> em um trabalho futuro é a implementação <strong>da</strong> Busca Tabu <strong>de</strong> forma híbri<strong>da</strong> com<br />

outras heurísticas <strong>de</strong> melhoramento.<br />

Referências Bibliográficas<br />

[CLARKE,1964] CLARKE, G. & WRIGHT, J., "Scheduling of vehicles from a central<br />

<strong>de</strong>pot to a number of <strong>de</strong>livery points", Operations Research, 12 #4, 568-581, 1964.<br />

[CORBERAN,2000] CORBERÁN, A. & FERNÁNDEZ, E. & LAGUNA, M. & MARTÍ,<br />

R. Heuristic Solutions to the Problem of Routing School Buses with Multiple Objectives.<br />

Departament d’Estadística i Investigació Operativa, Universitat <strong>de</strong> València, Burjassot<br />

46100, Spain.August 7, 2000.<br />

[GALBIER,2004] GALBIER, F & LORENA, L. A. N. Uma Heurística Construtiva<br />

aplica<strong>da</strong> a Problemas <strong>de</strong> Roteamento <strong>de</strong> Veículos. 2004.<br />

[LINS,1973] LINS, S. & B. W. Kernigham. An Effective Heuristic Algorithm for the<br />

Traveling Salesman Problem, Operations Research, v.21, p.498-516, 1973.<br />

[LIU,1999] LIU, Fuh-Hwa & SHEN, Sheng-Yuan, A Metohd for Vehicle Routing Problem<br />

with Multiple Vehicle Types ad Time Windows, Department of Industrial Enginnering and


Management National Chiao Tung University, Hsinchu, Taiwan, Proc. Natl. Sci. Counc.,<br />

vol 23, n. 4, p. 526-536, 1999.<br />

[SOLOMON,1987] SOLOMON, M.M. Algorithms for the Vehicle Routing and Scheduling<br />

Problems with Time Window Constraints. Operations Research, 35(2): p. 254-265. 1987.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!