Sei sulla pagina 1di 12

PROBLEMA DO CAIXEIRO VIAJANTE: UM ESTUDO COMPARATIVO DE TCNICAS DE INTELIGNCIA ARTIFICIAL

ISSN: 1984-3151

TRAVELING SALESMAN PROBLEM: A COMPARATIVE APPROACH BY USING ARTIFICIAL INTELLIGENCE TECHNIQUES


Fabiano das Mercs Calado; Ana Paula Ladeira
Centro Universitrio de Belo Horizonte, Belo Horizonte, MG fabianocalado@gmail.com; aladeira.unibh@gmail.com

Recebido em: 22/05/2011 - Aprovado em: 30/06/2011 - Disponibilizado em: 24/07/2011

RESUMO: O Problema do Caixeiro Viajante tema de pesquisa devido a sua complexidade. Vrias tcnicas so constantemente pesquisadas para obter solues aproximadas, mas eficientes. Neste trabalho so comparadas as tcnicas de algoritmos genticos, redes neurais auto-incrementveis de Kohonen e um algoritmo heurstico proposto na literatura. Os resultados obtidos mostraram que os algoritmos genticos apresentaram os melhores ndices de acerto. PALAVRAS-CHAVE: Caixeiro Viajante. Algoritmo Gentico. Redes Neurais Artificiais. Redes de Kohonen. Heurstica. ABSTRACT: Several techniques for the Traveling Salesman Problem are constantly being researched to obtain approximate solutions, and efficient. This paper compared genetic algorithms, Kohonen neural networks selforganizing and a heuristic proposed in the literature. The results illustrate that genetic algorithms showed the best accuracy rate. KEYWORDS: TSP. Genetic Algorithms. Kohonen Net.

____________________________________________________________________________ 1 INTRODUO
Os problemas da classe NP-completo tm sido um grande desafio devido sua complexidade: Um problema antigo e sabidamente conhecido como NP-difcil o problema do caixeiro viajante (PCV). O PCV consiste em achar o menor caminho, dado um conjunto n de cidades, visitando todas elas uma vez, e retornando cidade inicial. A soluo consiste numa sequncia de cidades, na ordem de visitao. Para um grande nmero de cidades invivel avaliar todas as possibilidades, pois o nmero de tentativas cresce exponencialmente. Sendo assim, torna-se essencial utilizar mtodos heursticos que amenizem essa explorao combinatria. O PCV tem importantes aplicaes prticas, tais como identificar itinerrios de cobertura de regies, como, por exemplo, a rota de um carteiro, visto que diminuir o trajeto pode significar economia de tempo e de pessoal. Outra aplicao prtica o processo de furao de placas para circuito impresso. Como
e-xacta, Belo Horizonte, v. 4, n.1, p. 5-16. (2011) Editora UniBH Disponvel em: www.unibh.br/revistas/exacta/

geralmente fatorial ou exponencial. Para um nmero considervel de exemplos no existe recurso

computacional para resolv-los em tempo hbil. Segundo Helsgaun (2000), no h como achar a soluo tima sem o uso da fora bruta, ou algum algoritmo exato, que normalmente de complexa programao, com cdigos da ordem de 10.000 linhas e exagerado tempo de execuo. Diante disso, comum utilizar heursticas para obter uma soluo aproximada e consequentemente, mais rpida. Nos ltimos anos, tem-se observado tambm a utilizao de tcnicas de Inteligncia Artificial (IA) como algoritmos genticos e redes neurais para resolver problemas desse tipo.

6
existem vrios furos de dimetros diferentes, e a troca da ferramenta pode demandar tempo, os furos de mesmo tamanho devem ser feitos de maneira sequencial, percorrendo-se a menor distncia recombinao. O seu desempenho depende do operador de recombinao usado. Diante do supracitado, o objetivo geral deste estudo comparar mtodos inteligentes para resolver o problema do caixeiro viajante, tais como algoritmos genticos, redes neurais artificiais e o algoritmo heurstico Lin-Kernighan, apresentado por Helsgaun (2000). Dentre os objetivos especficos tem-se: 1. Investigar acerca dos mtodos utilizados para o problema do caixeiro viajante; 2. Obter bases de dados reconhecidas em

possvel, para diminuir o tempo gasto numa produo em srie. Segundo Helsgaun (2000), esse problema, por ser combinatorial, tem (n-1)!/2 solues possveis para um conjunto de n ns, e que por isso importante escolher uma boa heurstica para obter uma soluo vivel: baixo custo computacional e, se possvel, prxima da tima. Ainda de acordo com o autor, o maior mapa com soluo tima conhecida de 7.397 cidades, sendo que, a soluo tima conseguida com algoritmos exatos foi obtida por uma rede de computadores com entre trs a quatro anos de processamento. Alm disso, o autor destaca que o algoritmo heurstico proposto no seu estudo

experimentos envolvendo o problema do caixeiro viajante; 3. Comparar o desempenho de operadores de recombinao dos algoritmos genticos; 4. Comparar o desempenho entre as tcnicas de IA escolhidas; 5. Verificar possibilidades de melhoria dos algoritmos na resoluo desse problema. Na prxima seo sero descritas as tcnicas avaliadas no presente estudo, na seo 3 ser exposta a metodologia adotada na implementao do presente trabalho. Na seo 4 sero mostrados e discutidos os resultados obtidos, enquanto que a concluso apresentada na seo 5.

encontrou uma soluo tima em sete das dez tentativas com uma mdia de 3,6 horas. Alm dos algoritmos heursticos, outras tcnicas da IA podem ser aplicadas neste problema, dentre elas as redes neurais, que so eficientes por causa de sua adaptabilidade, ou seja, capacidade de aprendizado por treinamento; e os algoritmos genticos, que so eficientes pela grande diversidade de solues testadas e pela convergncia atravs do cruzamento das solues mais promissoras (baseado na seleo natural). Mais especificamente, as redes neurais so usadas para o problema do caixeiro viajante pela sua capacidade de convergir gradativamente aos ns, que representam as cidades, tomando uma configurao similar ao mapa das cidades. O seu desempenho depende do ajuste dos parmetros de aprendizado da rede e do tipo de rede utilizada. Os algoritmos genticos, por sua vez, so usados pela capacidade de gerar vrios caminhos aleatrios e convergir para os caminhos mais curtos atravs de seleo e
e-xacta, Belo Horizonte, v. 4, n.1, p. 5-16. (2011) Editora UniBH Disponvel em: www.unibh.br/revistas/exacta/

2 FUNDAMENTAO TERICA
Dentre as tcnicas aplicadas ao problema do caixeiro viajante, foram escolhidos os algoritmos genticos, as redes neurais e um algoritmo heurstico Lin-

Kernighan, apresentado em Helsgaun (2000), que sero detalhados a seguir. Essa escolha foi baseada nos resultados apresentados em Dorigo e

Gambardella (1997). Para os algoritmos genticos foram selecionados dois operadores de cruzamento, alm do cruzamento

[Digite texto]
aleatrio, para comparao de desempenho. J a rede neural usada foi a de Kohonen (HAYKIN, 1999), e o algoritmo heurstico Lin-Kernighan foi simulado, usando uma verso simplificada para teste.

ALGORITMO 1 ESTRUTURA BSICA DO ALGORITMO


GENTICO.

Algoritmo Inicializa populao enquanto satisfeita) realiza Seleo realiza Cruzamento aplica Mutao fim_enquanto fim_algoritmo (condio de parada no

2.1 ALGORITMOS GENTICOS


Os algoritmos genticos so baseados no princpio da seleo natural para resolver os problemas. Utiliza-se uma populao de indivduos, onde cada indivduo uma possvel soluo para o problema em questo. Para o problema do caixeiro viajante, cada indivduo pode ser uma sequncia que representa a ordem em que as cidades so visitadas. Atravs de seleo e cruzamento entre os indivduos da populao,

As etapas de Seleo, Cruzamento e Mutao sero apresentadas nas sees seguintes.

indivduos melhores so obtidos, gradativamente. Os indivduos so classificados de acordo com uma funo de avaliao, e existem vrias tcnicas para seleo e cruzamento desses indivduos. Para o PCV, a funo de avaliao soma a distncia entre cada cidade do indivduo. Um indivduo considerado melhor que outro quando a sua distncia total menor. Em alguns estudos analisados foi usado um algoritmo otimizador (Lin-Kernighan), cuja verso chamada 2opt utilizada como operador de mutao,

2.1.1 SELEO
A cada iterao, que chamada de gerao, so selecionados os melhores indivduos. Esse processo de identificar os melhores indivduos para serem perpetuados para a prxima gerao chamado de seleo. Dentre as estratgias de seleo

disponveis, no presente trabalho foi usada a seleo por torneio, que consiste em escolher dois pais aleatoriamente da populao atual e selecionar o que possui melhor funo de avaliao para ficar para a prxima gerao. Os indivduos de menor avaliao so considerados perdedores e, portanto so

oferecendo uma boa chance de melhorar um indivduo atravs da inverso de parte de seu caminho. Essa estratgia tende a melhorar significativamente o desempenho dos algoritmos genticos para o PCV. Tais algoritmos usam um processo de otimizao, comumente chamado de busca local, como

descartados. Desta forma, parte da populao passa para a prxima gerao e os melhores indivduos tm mais chance de sobreviver.

2.1.2 CRUZAMENTO
O algoritmo gentico melhora sua populao atravs

observado em Merz (2002). A estrutura geral de um algoritmo gentico mostrada a seguir. do cruzamento. O cruzamento consiste em escolher dois indivduos da populao atual e gerar um novo indivduo (chamado de filho) baseado nos genes dos pais. O PCV tem uma caracterstica peculiar para o cruzamento, que a permutao. Um indivduo no
e-xacta, Belo Horizonte, v. 4, n.1, p. 5-16. (2011) Editora UniBH Disponvel em: www.unibh.br/revistas/exacta/

8
pode conter cidades repetidas, portanto o cruzamento deve manter o controle de quais cidades j foram colocadas no caminho do indivduo para que no haja repetio. Outra caracterstica importante do operador de cruzamento a escolha da sequncia de montagem da cadeia de genes do filho. desejvel que as cidades adjacentes presentes no filho sejam O operador EER supracitado usa uma tabela de arestas para construir um indivduo que herde o mximo de informao possvel dos pais. Esta tabela armazena todas as conexes dos pais que chegam em uma cidade e que saem dela. Como a distncia a mesma nos dois sentidos (considerando o PCV simtrico), cada cidade tem pelo menos duas e no mximo quatro arestas (duas de cada pai). O processo de construo da tabela de adjacncia Nesse sentido, deve-se obedecer caracterstica de respeitabilidade: o indivduo deve conter todas as arestas presentes em ambos os pais. Segundo Merz (2002), essa uma propriedade importante para operadores de cruzamento no PCV. No presente trabalho foram implementados dois operadores de cruzamento: o EER (Enhanced Edge Recombination), que usa informao de adjacncia para a montagem da cadeia gentica, e um operador guloso, que compara o tamanho das arestas para a montagem do novo indivduo. Ambos geram Adjacentes a 1: (-2, -6) Adjacentes a 2: (-1, 3, 5) Adjacentes a 3: (2, -4, 6) Adjacentes a 4: (-3, -5) Adjacentes a 5: (2, -4, 6) Adjacentes a 6: (-1, 3, 5) simples: para cada cidade, armazenam-se quais cidades so adjacentes a esta nos caminhos dos indivduos pais. Para identificar as arestas que aparecem em ambos os pais, basta colocar um sinal negativo na cidade correspondente. Por exemplo, considere um problema com seis cidades (1, 2, 3, 4, 5, 6). Se os pais forem P1=(1-2-3-4-5-6) e P2=(2-1-6-3-4-5), a tabela seria da seguinte forma:

2.1.2.1 ENHANCED EDGE RECOMBINATION OPERATOR

adjacentes tambm nos pais, ou seja, que o indivduo seja gerado com as arestas dos pais, refletindo a qualidade da estrutura dos mesmos.

indivduos baseados nas cadeias dos pais, mas com uma diferena bsica: o EER d preferncia respeitabilidade, ao contrrio do guloso. Porm, o operador guloso cria o indivduo somente com arestas presentes nos pais. Os algoritmos genticos tendem a convergir muito rpido quando o cruzamento feito deliberadamente, devido ao fato de a populao ficar homognea, ou seja, com vrios indivduos idnticos (MERZ, 2000). Neste sentido, pode-se adotar a restrio de que um indivduo gerado pelo cruzamento s seja adicionado na populao, se no houver outro na populao com a mesma sequncia gentica. Assim, uma grande variedade de indivduos na populao, aumenta as chances de escapar de timos locais.

Com a recombinao de arestas, pode acontecer o problema de cidades ficarem sem uma aresta para continuidade. Estas cidades ficam ento isoladas, e uma nova aresta deve ser introduzida, causando uma mutao indesejvel. Usando a tabela de arestas possvel escolher as prximas cidades de forma que aquelas que tiverem a menor quantidade de arestas no usadas tm prioridade de ser a prxima escolhida (WHITLEY; STARKWEATHER; SHANER, 1991, p.3). Desta forma, na hora de escolher a prxima cidade a ser includa no caminho do novo indivduo, dentre as possveis prximas cidades (as que fazem adjacncia

e-xacta, Belo Horizonte, v. 4, n.1, p. 5-16. (2011) Editora UniBH Disponvel em: www.unibh.br/revistas/exacta/

[Digite texto]
com a cidade atual nos pais), escolhida a que possui menos cidades adjacentes remanescentes, a no ser que haja alguma aresta que comum aos pais (representada pelo valor negativo). modificando suas sinapses entre os demais neurnios para adaptar aos estmulos recebidos. As redes neurais so teis para problemas como associao e classificao de padres, deteco de regularidades, processamento de imagens, anlise de fala, problemas de otimizao, processamento de entradas incompletas ou imprecisas, dentre outros (FRHLICH, 2004). As redes neurais possuem camadas de neurnios, que, ao receberem uma informao, geram uma sada e essas camadas so conectadas. Essas conexes so representadas por uma matriz de pesos, que so ajustados durante o treinamento da rede. Normalmente, uma rede treinada antes de ser utilizada para o problema. Segundo Braga, Carvalho e Ludermir (2007), diversos mtodos para

2.1.2.2 OPERADOR GULOSO


O operador guloso usa conhecimento do problema para realizar o cruzamento. O objetivo gerar um indivduo que tenha uma avaliao melhor que os pais. Para isso, o operador escolhe as prximas cidades de forma gulosa, ignorando a quantidade de adjacncias e escolhendo a cidade mais prxima dentre as que so adjacentes aos pais. Esse operador segue o princpio de que o indivduo deve conter somente arestas que estejam presentes nos pais, mas no atende respeitabilidade.

treinamento de redes foram desenvolvidos, mas

2.1.3 MUTAO
O operador de mutao responsvel por provocar alteraes genticas nos indivduos com o intuito principal de diversificar a populao. Dentre as opes possveis, o operador de mutao utilizado foi o algoritmo 2-opt, usado em Brocki (2007), que consiste em inverter parte do caminho, o que pode remover ciclos, diminuindo a distncia total. Guedes, Leite e Aloise (2005) sugerem como alternativa uma tcnica denominada infeco viral, para substituir a mutao, podendo apresentar bons resultados para os algoritmos genticos, que ser avaliada futuramente.

podem ser agrupados em dois paradigmas principais: aprendizado supervisionado e aprendizado no

supervisionado. No treinamento supervisionado, a cada iterao uma entrada, cuja sada desejvel seja conhecida, apresentada rede e a sada obtida comparada com essa sada desejada. Em funo disso a matriz de pesos da rede atualizada. Redes neurais no supervisionadas, que aprendem sem superviso, no possuem sadas esperadas. Durante o processo de aprendizagem, os valores dos pesos da rede so organizados dentro de certa faixa, dependendo dos valores de entrada apresentados (BRAGA; CARVALHO; LUDERMIR, 2007). O objetivo agrupar unidades similares prximas em certas reas da faixa de valores. Esse efeito pode ser usado com eficincia para classificao de padres

2.2 REDES NEURAIS


Uma rede neural uma representao artificial do crebro humano que tenta simular seu processo de aprendizagem (HAYKIN, 1999). As redes neurais so compostas por neurnios artificiais, que tm um funcionamento similar a um neurnio humano,

(FRHLICH, 2004). As redes neurais so empregadas ao PCV pelo fato de convergirem gradualmente aos ns (cidades), atravs do treinamento, tendo vrias tcnicas e tipos de rede que podem ser usadas.
e-xacta, Belo Horizonte, v. 4, n.1, p. 5-16. (2011) Editora UniBH Disponvel em: www.unibh.br/revistas/exacta/

gerando uma sada para uma determinada entrada e

10
Um tipo interessante de rede neural, que ser citado neste trabalho a rede neural auto-organizvel, comumente chamado de mapa de Kohonen (HAYKIN, 1999). Esse tipo de rede usa o aprendizado no supervisionado, pois os pesos dos neurnios so mudados quando uma entrada apresentada rede, sem a necessidade de uma funo de ajuste. O desempenho da rede neural depende de certos parmetros, onde cada rede pode possuir alguns parmetros especficos. Os mais comuns so a velocidade de aprendizado e a funo de ajuste dos pesos dos neurnios. comumente empregada alguma verso simplificada do algoritmo Lin-Kernighan (geralmente o 2-opt) para melhorar o resultado final obtido pela rede neural (BROCKI, 2007). Brocki (2007) observou que essa rede tenta organizar seus neurnios de uma forma que forme uma rota pequena entre os neurnios, sugerindo que uma rede unidimensional de Kohonen seria til para resolver o PCV. O estudo proposto por ele consiste numa rede SOM unidimensional, com um neurnio para cada cidade, e os pesos do neurnio representam suas coordenadas, sendo que aps o treinamento da rede cada neurnio ter os pesos representando as coordenadas de uma cidade, formando assim um caminho pelo mapa de cidades, ou seja, uma soluo para o PCV. Aps o treinamento do SOM, o resultado obtido deve ser melhorado usando-se o algoritmo 2-opt (BROCKI, 2007). Esse algoritmo tem a capacidade de remover ciclos do caminho encontrado por inverter uma parte do circuito, proporcionando boa chance de melhorar a soluo encontrada pelo mapa de Kohonen. Os neurnios da entrada se conectam com todos os neurnios do mapa. A matriz de pesos resultante propaga os valores da entrada para os neurnios do mapa. Como os neurnios esto interconectados, o neurnio com maior ativao propaga um feedback para os
e-xacta, Belo Horizonte, v. 4, n.1, p. 5-16. (2011) Editora UniBH Disponvel em: www.unibh.br/revistas/exacta/

neurnios vizinhos, ajudando a agrupar os neurnios com posies (pesos) similares. A ativao do neurnio obtida pelo produto escalar entre a entrada e os pesos do neurnio (FRHLICH, 2004).

FIGURA 1. Arquitetura do SOM FONTE: FRHLICH, 2004

2.2.1 M APA DE KOHONEN (SOM)


O mapa auto-organizvel, do ingls Self Organizing Map (SOM), consiste numa rede neural com

aprendizagem no supervisionada, onde a funo de ajuste dos pesos da rede neural usa a prpria entrada para ajustar os pesos dos neurnios. Em uma rede neural auto-organizvel, os neurnios se organizam sem grupos, de acordo com

informaes que recebem. Essas informaes no so recebidas somente por um nico neurnio, mas pela influncia dos outros que esto prximos. Essa auto-organizao, que acontece no mapa de Kohonen, forma uma espcie de mapa, onde os neurnios com funes similares ficam agrupados (FIG. 1).

Brocki (2007) sugere que esses parmetros sejam definidos em funo do nmero de cidades em questo.

[Digite texto] 2.3 LIN-KERNIGHAN


um mtodo heurstico proposto por Lin e Kernighan em 1971, apresentado em Helsgaun (2000) e que, ao longo dos anos, foi aperfeioado por pesquisadores. O algoritmo original tinha ordem exponencial. O algoritmo usa o conceito da otimalidade, e um caminho dito -timo se impossvel melhor-lo trocando arestas do mesmo por outro conjunto de arestas (HELSGAUN, 2000). Atravs de sucessivas trocas aleatrias de arestas em um caminho, tende-se a melhorar a soluo (diminuindo-se a distncia). um algoritmo leve, de baixo custo computacional, comumente usado Inicialmente uma populao foi gerada, formando indivduos com cidades escolhidas aleatoriamente e adicionando na lista da populao at que o tamanho mximo (pr-estabelecido) seja atingido. Inicia-se ento o ciclo, repetindo as fases de seleo, cruzamento e mutao at que o limite de tempo seja Os resultados obtidos pelo algoritmo, que so apresentados por Brocki (2007) inspiraram a Foram implementados trs mtodos de cruzamento: o operador EER, o operador guloso e um cruzamento aleatrio. Os trs mtodos usam os mesmos atingido. A programao da estrutura bsica do algoritmo gentico foi feita conforme o algoritmo mostrado na seo 2.1. Dentre as tcnicas de IA avaliadas, foram comparados os algoritmos genticos, as redes neurais auto-organizveis de Kohonen e o algoritmo heurstico Lin-Kernighan. biblioteca, foram selecionados trs mapas de

tamanhos distintos.

3.1 ALGORITMOS GENTICOS

combinado com as tcnicas de IA (como algoritmo de busca local e otimizao), que so avaliadas neste trabalho.

implementao do mesmo para comparao neste trabalho.

3 METODOLOGIA
Para o desenvolvimento dos experimentos propostos neste trabalho, foi escolhida a plataforma Java para programao dos algoritmos genticos e das redes neurais. Para comparar os algoritmos foi utilizada a biblioteca de mapas TSPLIB (Traveling Salesman Problem Library), usada nos estudos referenciados neste artigo. A TSPLIB uma biblioteca que contm diversos mapas prontos com a soluo tima para cada caso. Cada mapa dessa biblioteca um arquivo texto com extenso .tsp, e contm dados do mapa, como nome, quantidade de cidades, tipo dos dados das cidades. Foram escolhidos mapas 2D, que apresentam cada cidade com um conjunto de coordenadas x e y, usado para a montagem do mapa. Dentre as dezenas de mapas disponveis na

parmetros de entrada (os dois indivduos pais), fazem o cruzamento e retornam um indivduo filho. Para o EER, uma tabela (Hashtable) gerada, percorrendo o caminho dos pais, as cidades

adjacentes so adicionadas uma no registro da outra. Construda a tabela, a recombinao iniciada pela cidade inicial de um dos pais. So removidas todas as ocorrncias da cidade na tabela. Da lista de cidades adjacentes a ela, escolhida a que tiver a menor lista de adjacentes, dando preferncia se alguma cidade estiver representada por valor negativo (obedecendo respeitabilidade). Repete-se o ciclo at que todas as cidades tenham sido escolhidas. Caso o programa chegue a alguma cidade que no tem nenhuma cidade adjacente restante, ele continua a partir de outra cidade selecionada aleatoriamente.

e-xacta, Belo Horizonte, v. 4, n.1, p. 5-16. (2011) Editora UniBH Disponvel em: www.unibh.br/revistas/exacta/

12
Para o operador guloso, o programa tambm inicia de uma cidade inicial de um dos pais. Para a prxima cidade, procura-se nos pais, quais cidades so adjacentes a atual, e escolhida a que tiver menor distncia cidade atual, repetindo-se o ciclo. Para o operador aleatrio, a sequncia similar ao do guloso, porm uma das quatro cidades adjacentes atual nos pais (a da esquerda e da direita em cada indivduo) escolhida de forma aleatria. Aps completar a sequncia, o indivduo criado e retornado para o programa principal. O cruzamento repetido at que a populao tenha atingido o seu tamanho mximo. Aps o cruzamento, a mutao aplicada, Um mapa auto-organizvel (SOM) foi criado, onde cada n possui dois adjacentes, formando uma linha que representa o caminho do caixeiro viajante. Aps a criao da rede SOM com valores aleatrios, inmeras iteraes de treinamento so realizadas, onde as coordenadas de uma cidade aleatria so apresentadas como entrada, e os ns vo se autoorganizando. Aps o treinamento, os pesos dos neurnios da rede podem no coincidir com as coordenadas das cidades. Diante disso, os pesos so ajustados para a cidade mais prxima, desde que no haja nenhum neurnio associado a ela ainda, visto que a relao de neurnio por cidade de um para um, no pode haver dois neurnios na mesma cidade. O mapa de Kohonen foi implementado com

escolhendo-se aleatoriamente indivduos e aplicando a mutao, o que gera novos indivduos que so adicionados populao. Os piores sero removidos na prxima seleo. A mutao aplicada em um percentual da populao, pr-estabelecido em 5%, conforme sugerido por Starkweather et al. (1991). Como a seleo inicialmente testada foi

treinamento WTA (Winner Takes All) onde, a cada iterao, somente o neurnio com maior ativao tem seus pesos ajustados, para evitar a acumulao de mais de um neurnio com os mesmos pesos (representando a mesma cidade). Ao contrrio do estudo de Brocki (2007), no foi utilizado um algoritmo otimizador aps o treinamento, pois o objetivo testar somente o desempenho do mapa de Kohonen.

simplesmente eliminar uma poro dos piores (por exemplo, eliminar 50% dos indivduos), a lista de indivduos da populao foi mantida ordenada, inserindo sempre um indivduo na sua posio pela ordem de fitness. Desta forma, o indivduo na posio zero do vetor sempre ser o de melhor avaliao, e mostrada sua fitness a cada iterao para

3.3 LIN-KERNIGHAN
Para comparar os algoritmos genticos e as redes neurais com o algoritmo Lin-Kernighan sob as mesmas condies, foi implementada uma verso simplificada desse algoritmo. O algoritmo Lin-Kernighan realiza troca de arestas com o intuito de diminuir a distncia do percurso, at

acompanhamento da evoluo do algoritmo gentico. Ao final das iteraes, mostrado o caminho do melhor indivduo da populao.

3.2 REDE NEURAL


A programao da estrutura bsica foi implementada conforme a seo 2.2.1, baseando-se na mesma arquitetura do mapa usada para os algoritmos genticos, porm, apenas um caminho criado e melhorado gradativamente atravs do treinamento da rede neural.
e-xacta, Belo Horizonte, v. 4, n.1, p. 5-16. (2011) Editora UniBH Disponvel em: www.unibh.br/revistas/exacta/

um limite de trocas por iterao. A cada iterao uma nova cidade escolhida aleatoriamente e a troca comea removendo a aresta adjacente cidade.

[Digite texto]
O tempo foi estabelecido como condio de parada, sendo que a cada perodo determinado de tempo, o limite de trocas aumentado, permitindo uma otimalidade de maior grau. ativados quando uma cidade era apresentada entrada da rede. Ao final do treinamento, o processo de associao de cada neurnio com uma cidade no gerou uma boa soluo, devido ao agrupamento dos neurnios.

4 RESULTADOS
Foram realizados dez experimentos com os principais mapas usados, alterando-se alguns parmetros. Para os algoritmos genticos, o tamanho da populao variou entre 20 e 1.000, a seleo foi por torneio (seleciona metade para a prxima gerao), e fator de mutao entre 5% e 20% da populao. Para o algoritmo de Lin-Kernighan, o nmero de trocas variou entre 3 e a metade do total de cidades. Todas as simulaes foram feitas em uma mquina com processador Intel Core 2 Duo de 2.0 GHz, atravs da IDE do NetBeans em um Mac OS X. Inicialmente sero apresentados os resultados

4.2 ALGORITMOS GENTICOS


Os resultados obtidos com os experimentos

envolvendo os algoritmos genticos so sintetizados na Tabela 1 e discutidos com detalhes a seguir. Os melhores resultados para o algoritmo gentico foram obtidos com uma populao de 1.000

indivduos e taxa de mutao de 10%. Durante os testes foi possvel observar que para populaes pequenas, um nmero maior de geraes no apresentava melhora na soluo, no entanto, o algoritmo converge em menos tempo. Em funo disso, adotou-se tambm como critrio de parada, o mximo de 20 geraes sem alterao do resultado do melhor indivduo (alm do limite da quantidade de geraes pr-estabelecido). Para mapas menores, o EER obteve resultados melhores, enquanto que para mapas maiores foi necessrio mais tempo de execuo para obter resultados melhores.

obtidos pela utilizao da rede SOM (Seo 4.1). Em seguida, os resultados alcanados com a utilizao dos algoritmos genticos, variando-se os operadores de cruzamento implementados (Seo 4.2).

Finalmente, os melhores resultados obtidos com os algoritmos genticos sero comparados com o desempenho do algoritmo Lin-Kernighan.

4.1 REDE NEURAL


Durante o treinamento da rede neural foi observado que os neurnios vo coincidindo os pesos a cada iterao, fazendo com que estejam aglomerados em dois grupos ao final do treinamento, inviabilizando a formao de um caminho pelas coordenadas dos mesmos. Para amenizar o problema, foi descartado o feedback do neurnio de maior ativao para os demais, sendo que a cada iterao somente um neurnio tenha seus pesos alterados. Mesmo assim alguns neurnios continuaram a se agrupar e somente alguns eram

O operador de cruzamento guloso tende a convergir mais rpido, mas medida que as geraes aumentam, leva-se mais tempo para gerar a nova populao, visto que os indivduos obtidos tendem a ficar repetidos, conforme a populao vai se tornando mais homognea. J o operador de cruzamento aleatrio apresentou resultados muito ruins, se comparados aos demais. Na Tabela 1, para cada mapa utilizado so

apresentados o caminho timo, informado pela biblioteca TSPLIB, e os caminhos mdios obtidos pelos algoritmos. Entre parnteses apresentado o tempo de execuo mdio, medido em segundos.
e-xacta, Belo Horizonte, v. 4, n.1, p. 5-16. (2011) Editora UniBH Disponvel em: www.unibh.br/revistas/exacta/

14
TABELA 1 RESULTADOS OBTIDOS NA EXECUO DOS ALGORITMOS
GENTICOS

TABELA 2 COMPARAO LIN-KERNIGHAN X ALGORITMO GENTICO Mapa Guloso 445 (43) 4221 (60) 438991 (161) O algoritmo Lin-Kernighan obteve solues piores eil51 tsp225 timo 426 3916 LK 449 (2) 5236 (10) 703950 (142) AG-Guloso 445 (43) 4221 (60) 438991 (161)

Mapa timo eil51 426

EER 438 (63)


6

Aleatrio 982 (105)


6

tsp225 3916 11327 (122) 35193 (50) pr2392 37803 2 11,8 .10 (462) 13,9 .10 (892)

pr2392 378032

possvel observar que para mapas pequenos, o operador EER apresentou o caminho mais prximo do timo. No entanto, para os demais mapas, o operador de cruzamento guloso apresentou os melhores resultados, apesar de estarem muito

que do algoritmo gentico, porm com tempo de execuo menor. Apesar de encontrar uma soluo razovel em pouco tempo, ele tende a estabilizar em um timo local. Ou seja, aps encontrar essa soluo, ele no consegue escapar desse timo local e melhorar a soluo, mesmo que lhe sejam dadas mais iteraes. Na Figura 2 so apresentados os erros relativos

distantes do caminho timo. Alm disso, vale destacar que o operador guloso tende a convergir mais rpido, como pode ser observado na Tabela 1. Com isso, o operador de cruzamento guloso mostrou ser mais eficiente que o EER e o aleatrio, apresentando boas solues em tempos muito menores.

mdios obtidos pelos algoritmos analisados. Nota-se que os algoritmos genticos com operador de cruzamento guloso e o algoritmo Lin-Kernighan apresentaram erros bem menores que os demais.

4.3 LIN-KERNIGHAN
A verso implementada do algoritmo Lin-Kernighan foi testada com os mesmos mapas usados nos experimentos com os operadores de cruzamento dos algoritmos genticos. Foi usado como parmetro um limite de trocas que, inicialmente, foi estabelecido para 40% do nmero de cidades do mapa. Alm disso, a cada segundo esse limite era aumentado em 1, sendo que o mximo de trocas possveis foi ajustado para a metade do nmero de cidades. Na Tabela 2, so apresentados os caminhos obtidos e os tempos mdios de execuo (em segundos) tanto do algoritmo Lin-Kernighan, como do algoritmo gentico com o operador guloso. Diante disso, e com o intuito de avaliar a variabilidade dos resultados obtidos, definiu-se um ndice de
e-xacta, Belo Horizonte, v. 4, n.1, p. 5-16. (2011) Editora UniBH Disponvel em: www.unibh.br/revistas/exacta/

FIGURA 2. Erro relativo mdio obtido pelos algoritmos analisados

[Digite texto]
eficincia como o produto do tempo de execuo e o erro relativo obtido. vrias vezes, usando cada resultado como um indivduo da populao inicial do AG, que atravs do cruzamento entre as solues encontradas pode sair TABELA 3 TEMPO DE EXECUO MDIO E NDICE DE EFICINCIA
DOS ALGORITMOS AVALIADOS

dos timos locais e encontrar a soluo tima para o problema.

5 CONCLUSO
A rede auto-organizvel no obteve xito ao gerar uma soluo para o PCV. Como os neurnios se acumulam no mesmo ponto, aps associar cada neurnio com a cidade mais prxima, muitos teriam que ser associados com uma cidade aleatria, pois a cidade mais prxima j estaria ocupada por outro neurnio coincidente. Isso invalidaria todo o

Algoritmo EER Aleatrio Guloso LK

Tempo de execuo mdio 216 349 88 51

ndice de eficincia 4731 10814 11 42

Na Tabela 3 so apresentados os tempos de execuo mdios, obtidos pelos algoritmos

treinamento da rede, gerando ao final do processo uma soluo aleatria. Alm disso, e baseando-se nos resultados obtidos, possvel concluir que o algoritmo gentico com o operador de cruzamento guloso apresentou

analisados e os respectivos ndices mdios de eficincia. possvel observar que o algoritmo LinKernighan apresentou os menores tempos de

execuo para todos os mapas utilizados. No entanto, ao analisar o ndice de eficincia, o algoritmo gentico com operador de cruzamento guloso continuou apresentando os melhores resultados. Diante dos resultados obtidos, uma alternativa usar o algoritmo Lin-Kernighan para melhorar os indivduos do algoritmo gentico, o que no foi avaliado no escopo deste trabalho. Como o algoritmo converge rapidamente para um timo local, pode-se execut-lo

desempenho superior ao observado no EER e no algoritmo Lin-Kernighan implementados neste estudo. Vale ressaltar que, Whitley (1991), em seu trabalho, apresentou resultados melhores que os observados no presente artigo: o EER encontrou soluo tima na maioria dos casos. No entanto, sabe-se que os resultados obtidos pelos algoritmos genticos

dependem dos operadores de seleo e mutao utilizados.

REFERNCIAS BRAGA, A. P., CARVALHO, A. P. L. F., LUDERMIR, T. B., Redes Neurais Artificiais: Teoria e Aplicaes, Editora LTC, 2. ed., 226 p., 2007. BROCKI, Lucas. Kohonen Self-Organizing Map for the Traveling Salesperson Problem. Berlin: Recent Advances in Mechatronics, Springer, 2007. DORIGO, Marco. GAMBARDELLA, Luca Maria. Ant colonies for the traveling salesman problem. Bruxelas: IRIDIA, Universit Libre de Bruxelles, IEEE Transactions on Evolutionary Computation, 1(1):53 66, 1997. FRHLICH, Jochen. Neural Networks with Java. Disponvel em: http://www.nnwj.de (verso 2004). Acesso em: mar. 2010. GUEDES, Neiva de algoritmo problema Allison da Costa Batista. LEITE, Jssica Figueiredo. ALOISE, Dario Jos. Um gentico com infeco viral para o do caixeiro viajante. Natal [Brasil]:

e-xacta, Belo Horizonte, v. 4, n.1, p. 5-16. (2011) Editora UniBH Disponvel em: www.unibh.br/revistas/exacta/

16
Revista On Line de Iniciao Cientfica, 2005. Disponvel em: http://www.propesq.ufrn.br/publica/artigos1edicao/et/MSIC-ET-011.pdf, Acesso em: fev. 2010. HAYKIN, S. S., Neural Networks: A Comprehensive Foundation, Editora Prentice-Hall, 2. ed., 842 p., 1999. HELSGAUN, Keld. An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic. European Journal of Operational Research 126 (1), p. 106-130, Elsevier, 2000. MERZ, Peter. A Comparison of Memetic Recombination Operators for the Traveling Salesman Problem. GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference, Morgan Kaufmann Publishers, 2002. STARKWEATHER, T., et al. A Comparison Of Genetic Sequencing Operators. San Diego: International Conference On Gas, 1991. TSPLIB - traveling salesman problem library, Biblioteca de mapas, disponvel em comopt.ifi.uniheidelberg.de/software/ TSPLIB95/, acesso em: mar. 2010. WHITLEY, Darrell. STARKWEATHER, Timothy. SHANER, Daniel. Traveling Salesman And Sequence Scheduling: Quality Solutions Using Genetic Edge Recombination. Handbook Of Genetic Algorithms. New York: Van Nostrand Reinhold, 1991.

e-xacta, Belo Horizonte, v. 4, n.1, p. 5-16. (2011) Editora UniBH Disponvel em: www.unibh.br/revistas/exacta/

Potrebbero piacerti anche