Professional Documents
Culture Documents
n1
i=1
(i), (i + 1) + (n), (1)
A Figura 2 mostra a matriz de dist ancias utilizada neste trabalho, juntamente com
o grafo gerado por esta matriz.
Figura 2. Valores utilizados na modelagem do sistema. Em formato de tabela e
em formato de grafo
3.2. Caixeiro Viajante com Busca em Feixe
Para desenvolver algorimto, foi necess aria a modicac ao do algoritmo de busca em feixe,
pois trata-se de um problema do mundo real TSP (ou problema do caixeiro viajante), ou
seja, um n o alvo especco n ao existe inicialmente. A heuristica escolhida foi de expandir
os sete n os de menor dist ancia com o n o pai, ou seja, os sete n os mais pomissores, sendo
que o n o pai e o n o atual. Para isso, e obrigat oria a visita de dois n os e escolher qual e o
mais promissor (menor caminho) antes de chegar ao alvo.
Emoutras palavras, o algoritmo primeiro escolhe os sete caminhos mais curtos (ou
seja, as sete cidades vizinhas mais pr oximas); Dentre as sete escolhidas em cada rodada,
escolhe-se a mais pr oxima de cada uma; Soma-se o caminho de de uma cidade at e a mais
pr oxima dela e a mais pr oxima desta escolhida; Seleciona-se a soma de menor dist ancia
e percorre-se as duas cidades que pertencem a essa soma de menor dist ancia e por m, o
laco de repetic ao volta o algoritmo do comeco at e acabarem as cidades (de 15 at e 0).
3.3. Caixeiro Viajante com Algoritmos Gen eticos
Inicialmente uma populac ao foi gerada, formando indivduos com cidades escolhidas
aleatoriamente e adicionando na lista da populac ao at e que o tamanho m aximo (pr e-
estabelecido) seja atingido. Inicia-se ent ao o ciclo, repetindo as fases de selec ao, cru-
zamento e mutac ao. Repete-se todo o processo at e o n umero de ciclos pr e-estabelecido.
No m etodo do cruzamento usam-se dois indivduos pais, realiza-se a operac ao
de cruzamento e retornam-se dois indivduos lhos. Esta operac ao e repetida at e que a
populac ao tenha atingido o seu tamanho m aximo.
Ap os o cruzamento, a mutac ao e aplicada, escolhendo-se aleatoriamente in-
divduos e aplicando a mutac ao, o que gera novos indivduos que s ao adicionados ` a
populac ao. Os piores ser ao removidos na pr oxima selec ao. A mutac ao e aplicada em
um percentual da populac ao.
Para cada gerac ao e apresentado o resultado do melhor caminho, bem como a
dist ancia obtida por aquela soluc ao.
4. Utilizac ao do A* para resolver o problema do caixeiro viajante
A heurstica aqui seria exatamente a ideia de sempre viajar para a cidade mais perto ou
quer dizer com o caminho mais barato. Se as estamativas para os caminhos foram boas, o
algoritmo vira otimo.
O algoritmo A* guarda todos os n os na mem oria at e chegar no objetivo. Num
problema com quinze cidades j a existem muitos n os guardados na mem oria. O tempo da
execuc ao do algoritmo A* cresce exponencial com o num ero dos n os. Particularmente
por causa da complexidade do tempo e do espaco esse algoritmo n ao e adequada para
resolver o problema do caixeiro viajante.
5. Resultados e Discuss ao
O resultado do TSP (Problema do Caixeiro Viajante) usando Busca em Feixe Local, rea-
lizado em cima da heurstica descrita na sec ao 3.2 (pegar os sete lhos mais promissores
de cada pai, fazendo assim a soma da menor dist ancia e percorre as duas cidades que
pertencem a esta menor soma e assim repetidamente at e terminar o n umero de cidades).
O resultado adquirido e sempre o mesmo: somando-se os melhores caminhos
encontrados, obtem-se a quantidade de quilometros percorridos pelo caxeiro, que no caso
da tabela dada, 291 km.
Para obter resultados com o algoritmo gen etico, foi necess ario rodar o algoritmo
v arias vezes, modicando alguns dos par ametros, sendo eles o n umero da populac ao, o
n umero de gerac oes, a taxa de crossover e a taxa de mutac ao. O melhor resultado obtido
foi com o valor de 0,010 na mutac ao e 0,85 de crossover foi com o percurso de 369, obtido
na gerac ao 17, comforme a Figura 3.
6. Conclus ao
Este trabalho teve como objetivo a realizac ao de experimentos e an alises de resultados
obtidos na implementac ao de heursticas para a resoluc ao do TSP (problema do caixeiro
viajante) utilizando Algoritmos Gen eticos e Busca em Feixe local considerando uma
Figura 3. melhores resultados para a populac ao de 1500
inst ancia de 15 cidades cujas dist ancias s ao denidas na matriz da Figura 2. Para isso
foi necess ario denir uma m etrica de comparac ao entre as duas t ecnicas e avaliar vanta-
gens e desvantagens de cada uma delas, tal m etrica foi a realizar a comparac ao qualitativa
e quantitativa de desempenho e utilizac ao de mem oria.
Os resultados obtidos mostraramque o caixeiro viajante como algoritmo de Busca
em Feixe Local retornou que o caixeiro andaria 291 km no menor caminho e utilizando
algoritmos gen eticos, para a populac ao de tamanho de 1500, o melhor resultado obtido foi
com o valor de 0,010 na mutac ao e 0,85 de crossover foi com o percurso de 369, obtido
na gerac ao 17.
Comparando os resultados do algoritmos com o algoritmo A*, o tempo da
execuc ao do algoritmo A* cresce exponencial com o num ero dos n os e por conta de
sua complexidade do tempo e do espaco esse algoritmo n ao e adequada para resolver o
problema do caixeiro viajante.
Refer encias
Calado, F. d. M. and Ladeira, A. P. (2011). Problema do caixeiro viajanta: Um estudo
comparativo de t ecnicas de intelig encia articial. e-Xacta, 4(1).
da Cunha, C. B., de Oliveira Bonasser, U., and Abrah ao, F. T. M. (2002). Experimentos
computacionais com heursticas de melhorias para o problema do caixeiro viajante. In
XVI Congresso da Anpet.
Helsgaun, K. (2000). An effective implementation of the linkernighan traveling sales-
man heuristic. European Journal of Operational Research, 126(1):106130.
Russell, S. J. and Norvig, P. (2009). Articial intelligence: a modern approach (3rd
edition). Prentice Hall.