Você está na página 1de 7

Heurstica de Insero em Grafos na resoluo do Problema do Caixeiro Viajante

Critrios: mais prximo mais distante e randmico


Implementao e Testes

Diego Gomes Tom*


Francisca Fabiana Pereira da Silva**
Francisco Bruno Filgueiras***

RESUMO
Este trabalho tem como objetivo mostrar a resoluo do problema caixeiro viajante
atravs da heurstica de insero em grafos. O problema do caixeiro viajante consiste
em determinar num grafo ponderado, um ciclo hamiltoniano de custo mnimo. Na
implementao do algoritmo de insero foram utilizados trs critrios de escolha de
vrtices: mais prximo, mais distante e por escolha randmica.
Palavras-chave: Caixeiro viajante. Algoritmo de insero. Custo mnimo.

* Graduando em Cincia da Computao UECE, diegogomest@gmail.com.


** Graduando em Cincia da Computao UECE, ffabianapsl@gmail.com.
*** Graduando em Cincia da Computao UECE, brunouece7@gmail.com.

INDRODUO

O Problema do Caixeiro Viajante (PCV) mais conhecido na literatura como


Traveling Salesman Problem, teve sua primeira meno em 1934, devido a Hassler
Whitney em um trabalho na Princeton University. um problema que consiste em
percorrer um conjunto de cidades, dado as cidades e as distncias entre elas. O caixeiro
tem que visitar todas as cidades sem repeti-las, partindo da primeira, chamada de
origem, visitando as (n-1) cidades apenas uma nica vez e voltando para a cidade
origem e que o trajeto percorrido seja o menor possvel. Em outras palavras, seja um
grafo G= (V, E) onde V= {1,2,3...v} o conjunto de vrtices, e E={1,2,3...e} o
conjunto de arestas de G, e custos Cij, associados com cada arestas ligando os vrtices i
e j, o problema do caixeiro viajante consiste em localizar o menor ciclo hamiltoniano do
grafo G (lvaro Nunes, 2006, p.4).
O PCV tem larga aplicabilidade em situaes reais devido sua fcil compreenso
e descrio, apesar de difcil resoluo, pois pertence classe de problemas NP-rduos,
segundo Garey e Jonhson (1979). Os problemas de NP-rduos dificilmente sero
apresentados algoritmos polinomiais que os solucionam, pois o esforo computacional
para a resoluo do problema cresce exponencialmente com o tamanho do problema. O
PCV um problema de otimizao combinatria. Os problemas de alocao,
roteamento e programao de horrios so exemplos de problemas de otimizao. Os
problemas de otimizao so de difcil resoluo, por isso pesquisadores de diversas
reas buscam por solues desenvolvendo algoritmos cada vez mais eficientes.
A programao inteira possui algoritmos exatos que garantem a obteno da
soluo tima para o problema de otimizao combinatria. Segundo Dumitrescu e
Stutzle (2003), os mtodos exatos na soluo de problemas de otimizao combinatria
tem desvantagem em muitos problemas por ter custo computacional muito elevado,
principalmente naqueles que crescem exponencialmente. Para compensar o custo
computacional dos mtodos exatos, usam-se as heursticas. As heursticas so
algoritmos que buscam uma soluo boa em um tempo adequado, mas no a garantia
de uma soluo tima. Neste trabalho sero analisados e comparados os critrios de
insero do vrtice mais prximo, mais distante e vrtice aleatrio da heurstica de
insero aplicado ao problema do caixeiro viajante atravs de testes computacionais.
Em seguida ser feito a concluso dos resultados obtidos.

1.1 Heurstica de Insero


A heurstica de insero tambm conhecido como mtodo do guloso consiste em
gerar um circuito vivel de vrtices partindo de um conjunto inicial de trs vrtices, e
modificando esse conjunto aps adicionar um vrtice a cada iterao utilizando algum
critrio de escolha.
1.2 Algoritmo de Insero para o PCV

Dado G = (V, E) um grafo completo e simtrico, e Cij o custo no negativo associado


com cada aresta ligando os vrtices i e j do grafo. O algoritmo de insero dado por:
a) Partir de um ciclo inicial de tamanho K=3 ou K=4, escolhido de forma
aleatria.
b) Encontre um vrtice v pertencente ao grafo e no pertencente ao ciclo,
utilizando um dos critrios:

Mais prxima do ciclo


Mais distante do ciclo
Aleatrio

c) Incluir o vrtice v no ciclo na posio que gere o menor custo, ou seja,


encontre uma aresta (i, j) do ciclo que minimize {Civ + Cvj - Cij}
d) Insira o vrtice v entre i e j. Forme um novo ciclo com o vrtice incluso e
retorne a etapa-b at K=V.
Exemplo:
1.3 Heurstica de insero mais prximo
Seja G = (V, E), um grafo completo como na figura 1:

O ciclo inicial : C = {1, 3, 4, 1} com custo inicial Custo(C) = 22.


Iterao 1:

Vrtice mais prximo do ciclo : 5.

Temos 3 inseres possveis:

Insero 1: entre os vrtices 1 e 3


C51 + C53 C13 = 3 + 6 7 = 2

Insero 2: entre os vrtices 1 e 4


C51 + C54 C14 = 3 + 10 10 = 3

Insero 3: entre os vrtices 3 e 4


C53 + C54 C34 = 6 + 10 5 = 11

Insira o vrtice 5 entre os vrtices 1 e 3.


O novo ciclo C = {1, 5, 3, 4, 1} com o custo mnimo Custo(C) = 24

Iterao 2:
Inserir o vertice 2 no ciclo C = {1, 5, 3, 4, 1}
Temos 4 inseres possveis:

Insero 1: entre os vrtices 1 e 5


C21 + C25 C15 = 13 + 11 3 = 21

Insero 2: entre os vrtices 5 e 3


C25 + C23 C53 = 11 + 8 6 = 13

Insero 3: entre os vrtices 3 e 4


C23 + C24 C34 = 8 + 15 5 = 18

Insero 4: entre os vrtices 4 e 1


C24 + C21 C41 = 15 + 13 10 = 18

Insira o vrtice 2 entre os vrtices 5 e 3.


O novo ciclo C = {1, 5, 2, 3, 4, 1} com o custo mnimo Custo(C) = 37

Fim da insero do mais prximo. Formou-se um ciclo Hamiltoniano que passa por
todos os ns de um grafo G.
1.4 Heurstica de insero mais distante
Idntica heurstica do mais prximo, exceto no passo b onde se escolhe o vrtice v
no pertencente ao ciclo, mais distante de qualquer vrtice do ciclo.
1.5 Heurstica de insero aleatria
Idntica heurstica do mais prximo e do mais distante, exceto no passo b onde se
escolhe o vrtice v no pertencente ao ciclo, de forma randmica de qualquer vrtice do
ciclo.
2 TESTES E RESULTADOS COMPUTACIONAIS
A Heurstica de insero foi implementada em Netbeans 7.3 (Java). Os testes
computacionais foram realizados em um notebook com processador Intel(R) I5, 2,50
GHz e 8GB de RAM. Foram utilizados dados dos arquivos enviados pelo nosso
orientador (Valdisio Viana). Os resultados obtidos foram comparados entre si com os
trs critrios de insero. Os resultados foram encontrados executando cada instncia
trs vezes. O resultado mostrado nas tabelas 1 e 2 abaixo:
Tabela 1: Resultados obtidos PCV

Instancias Comparativas
N
1
2
3
4

Referncia
s
kroC100

Soluo

tima

100

20749

Inicial

Soluo Obtida
Tempo(s)

Melhor

21515.5
0.009
5
a280
280
2579
2997.83
0.059
ali535
535 2023,39 2336.25
0.192
fl1400
1400
20127
23045.6
1.701
8
Mdias das aproximaes com resultados obtidos

21515.5
5
2898.22
2198.53
21649.7
4

Aproxima
o
Gap
1.037
1.124
1.086
1.076
1.081

Tabela 2: Resultados obtidos PCV

N
5

Referncias
Tsp107

n
107

Tsp159

159

7
8

Tsp225
Tsp1379

225
1379

Inicial
46793.1
4
49083.4
1
4408.52
70267.3
8

Mxima
52775.8
9
52214.5
2
4690.23
70708.1
7

Mdia
48251.3
5
49642.4
1
4444.95
68259.8
7

Melhor
45185.0
3
47629.3
0
4236.11
63804.0
7

Tempo(s)
0.011
0.022
0.043
1.648

CONCLUSES

Neste trabalho foram realizados testes com a Heursticas de Insero. Os testes


foram feitos para os trs critrios de insero do vrtice mais prximo do ciclo, do mais
distante do ciclo e do vrtice escolhido com distncia aleatrio ao ciclo. Em relao
comparao de desempenho entre as Heursticas e o valor timo de cada instncia,
observa-se na primeira tabela que os valores obtidos do custo do melhor ciclo bastante
prximos do valor timo. Na segunda tabela no se usa o valor timo das instancias
para comparar os valores obtidos, no entanto, o valor mdio encontrado teve pouco
desvio padro dos valores mximos e melhores, dando a ideia que a heurstica de
insero atingiu seu objetivo de encontrar um ciclo mnimo prximo do timo.

4 REFERNCIAS

Universidade Federal de Minas Gerais. Departamento de Cincia da


Computao. Luciano Bertini, 16 de Junho de 2003. Site:
http://homepages.dcc.ufmg.br/~nivio/cursos/pa03/tp2/tp22/tp22.html
Universidade Federal do Rio Grande do Norte. Departamento de Informtica e
Matemtica Aplicada. Uma Analise Experimental de Abordagens Heursticas
Aplicadas ao Problema do Caixeiro Viajante. lvaro Nunes Prestes. Site:
ftp://ftp.ufrn.br/pub/biblioteca/ext/bdtd/AlvaroNP.pdf
Universidade Federal de Ouro Preto. Departamento de Computao. Heursticas
Construtivas. Transparncias adaptadas do professor Marcone Jamilson Freitas
Souza. Site:
http://wwwusr.inf.ufsm.br/~andrezc/ia/heuristicas_construtivas_transparencias.p
df
Faculdade de Informtica da UNOESTE. Algoritmos Heursticos Construtivos
Aplicados ao Problema do Caixeiro Viajante para a Definio de Rotas
Otimizadas. Gabriel Altafini Neves da Silva et. Al., 2013. Endereo eletrnico:
http://revistas.unoeste.br/revistas/ojs/index.php/ce/article/viewFile/939/995
Universidade Estadual de Campinas. Departamento de Engenharia de Sistemas.
Faculdade de Engenharia Eltrica e de Computao. Mtodos de Resoluo em
Otimizao Combinatria. Vincius Amaral Armentano. Endereo eletrnico:
http://www.densis.fee.unicamp.br/~franca/EA043/Transpa-Cap-3a.pdf