ISBN 978-85-62830-10-5
VII CONNEPI©2012
Um algoritmo memético para a solução do TSP
Tayná Costa Gonçalves
1
, Roberto Leite de M. R. Filho
1
, Omar Andres Carmona Cortez
2
1
Alunos do Curso de Sistemas de Informação - IFMA e-mail: fulanodetal@ifto.edu.br
2
. e-mail: omar@ifma.edu.br
Resumo: O problema do caixeiro viajante é um problema clássico de otimização combinatorial, cuja
resolução por busca exaustiva é inviável em alguns casos, como por exemplo, se considerarmos um
número grande de cidades. Por ser aplicável a muitos problemas da vida real, o TSP é amplamente
estudado, buscando-se abordagens mais eficiente para solucioná-lo. Neste trabalho é proposto um
algoritmo memético para solução do TSP. O objetivo é mostrar que o uso de tal algoritmo possibilita
encontrar uma solução satisfatório para uma instância do TSP em um tempo aceitável. O algoritmo
memético se mostra adequado nessa circunstância pois combina operadores genéticos tradicionais e
operadores de busca local, aumentando assim a qualidade das soluções. Serão apresentadas
comparações entre diferentes combinações de representações de indivíduos e operadores. Ainda, no
intuito de comprovar a eficiência do algoritmo proposto, serão apresentados resultados de testes que
utilizam uma função de benchmark da conhecida biblioteca TSPLIB.
Palavras–chave: Algoritmo Memetico, Busca Local, Operadores Genéticos, TSP
1. INTRODUÇÃO
Algoritmos evolutivos são bastante difundidos e estudados, e geralmente são aplicados a
problemas difíceis de solucionar utilizando outras abordagens. As aplicações são muitas, pois, apesar
de contarem com uma estrutura básica definida na teoria, em geral é possível adaptar um algoritmo
evolutivo às necessidades de um problema específico, variando apenas os operadores e representações
utilizados.
Um exemplo de problema que exige atenção especial é o problema do caixeiro viajante (TSP),
onde dado um número n de cidades, um caixeiro precisa visitar cada uma delas uma única vez e
retornar à cidade de origem. Trata-se de um problema simples de definir, porém de difícil solução,
dada a explosão combinatorial gerada pelo aumento do número de cidades a serem visitadas. O TSP é,
portanto, um importante problema de otimização combinatorial. Sua aplicabilidade em problemas da
vida real estimula as pesquisas no sentido de encontrar melhores abordagens para solucioná-lo.
Em diversos trabalhos a computação evolutiva tem sido aplicada à resolução de problemas de
otimização discreta. Rabak & Sichman (2001) modelaram o problema da inserção automática de
componentes eletrônicos em placas de circuito impresso como um problema de otimização
combinatorial, e propuseram um arranjo de algoritmos que utiliza os conceitos de agentes e memórias,
conceitos pertencentes ao mundo dos Algoritmos Meméticos. Becceneri (2012) utiliza uma
metaheurística, no caso a colônia de formigas aplicada ao TSP. Merz & Freisleben (1997) revisaram a
aplicação ao TSP de heurísticas de busca local associadas a algoritmos genéticos, no intuito de
melhorar alguns aspectos dessa combinação.
As heurísticas de busca local associadas a outras técnicas melhoram a qualidade das soluções,
porém podem aumentar significativamente o tempo de execução para problemas de maior escala
(Arshad 2009). O algoritmo memético proposto busca encontrar o equilíbrio entre soluções próximas
ao ótimo e tempo de execução aceitáveis
2. MATERIAL E MÉTODOS
2.1. ALGORITMOS GENÉTICOS