Você está na página 1de 26

UNIVERSIDADE FEDERAL DE UBERLNDIA

Hugo Gustavo Valin Oliveira da Cunha

Problema do Caixeiro Viajante com Algoritmo


Evolutivo e Algoritmo de Vaga-lume

Uberlndia, Brasil
2018
UNIVERSIDADE FEDERAL DE UBERLNDIA

Hugo Gustavo Valin Oliveira da Cunha

Problema do Caixeiro Viajante com Algoritmo Evolutivo


e Algoritmo de Vaga-lume

Trabalho de concluso de curso apresentado


Faculdade de Computao da Universidade
Federal de Uberlndia, Minas Gerais, como
requisito exigido parcial obteno do grau
de Bacharel em Cincia da Computao.

Orientador: Christiane Regina Soares Brasil

Universidade Federal de Uberlndia UFU


Faculdade de Computao
Bacharelado em Cincia da Computao

Uberlndia, Brasil
2018
Hugo Gustavo Valin Oliveira da Cunha

Problema do Caixeiro Viajante com Algoritmo Evolutivo


e Algoritmo de Vaga-lume

Trabalho de concluso de curso apresentado


Faculdade de Computao da Universidade
Federal de Uberlndia, Minas Gerais, como
requisito exigido parcial obteno do grau
de Bacharel em Cincia da Computao.

Christiane Regina Soares Brasil


Orientador

Professor

Professor

Uberlndia, Brasil
2018
Lista de ilustraes

Figura 1 Exemplo de Crossover. . . . . . . . . . . . . . . . . . . . . . . . . . . . 9


Figura 2 Exemplo de Mutao. . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Figura 3 Diagrama de atividade de um tpico Algoritmo Gentico. . . . . . . . . 12
Figura 4 Fluxograma do algoritmo AVL. . . . . . . . . . . . . . . . . . . . . . . 15
Figura 5 Um possvel circuito no grafo. . . . . . . . . . . . . . . . . . . . . . . . 16
Figura 6 Rota no grafo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Lista de tabelas
Lista de abreviaturas e siglas

AG Algoritmos Genticos

AVL Algoritmo de Vaga-lumes

PCV Problema do Caixeiro Viajante

PCVA Problema do Caixeiro Viajante Aleatrio

PMCV Problema de Mltiplos Caixeiros Viajantes

PSO Particle Swarm Optimization

SA Simulated Anneling
Sumrio

1 INTRODUO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 ALGORITMOS GENTICOS . . . . . . . . . . . . . . . . . . . . . . 9

3 ALGORTIMO DE VAGA-LUMES (AVL) . . . . . . . . . . . . . . . 13

4 PROBLEMA DO CAIXEIRO VIAJANTE . . . . . . . . . . . . . . . 16


4.1 Algoritmo Evolutivo para o Problema do Caixeiro Viajante . . . . . 17
4.2 Algoritmo de Vaga-lumes para o Problema do Caixeiro Viajante . . 18

5 TRABALHOS CORRELATOS . . . . . . . . . . . . . . . . . . . . . 20

6 CRONOGRAMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

REFERNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7

1 Introduo

A computao bioinspirada uma rea de pesquisa que utiliza a natureza como


fonte de inspirao, para a descoberta de novas solues de problemas computacional-
mente complexos. Com o recente entusiasmo e seu avano inigualvel, a computao
bioinspirada est presente nas formas mais variadas hoje em dia, como mquinas de lavar
roupa, brinquedos, dispositivos de filmes, at sistemas financeiros e ferrovirios (CAS-
TRO, 2006). As razes para esse crescimento deve-se: (1) ao desenvolvimento de algorit-
mos capazes de resolver problemas complexos, que dificilmente so resolvidos por tcnicas
clssicas; (2) simplicidade de seu mtodos baseado na biologia, que podem ser modela-
dos em poucas linhas de cdigo; (3) a sua adequao e aplicao s mais diversas reas
do conhecimento (DELBEM; GABRIEL, 2008).
Um dos estudos mais importante da computao bioinspirada so os Algoritmos
Genticos, que foram desenvolvidos durante as dcadas de 60 e 70 (HOLLAND, 1975).
Fundamentado nas pesquisas de Darwin sobre sistemas naturais e sua capacidade de adap-
tao (DARWIN, 1859; GOLDBERG, 1989), David E. Goldberg verificou que tal processo
poderia ser incorporado e simulado matematicamente em um algoritmo de busca, que pos-
teriormente foi chamado de Algoritmos Genticos (RAMOS, 2001). Mesmo com sua sim-
plicidade, fortes aproximaes numricas tm sido encontradas em problemas complexos
e difceis de serem resolvidos.
Alm dos Algoritmos Genticos, existe uma diversidade de outras meta-heursticas,
dentre as quais pode-se citar...., e recentemente desenvolvida, baseada no comportamento
social dos insetos lampirdeos, o Algoritmo de Vaga-lumes (AVL), introduzido por Yang
(2009). O AVL um algoritmo estocstico que tem por simulao, os mecanismos de
comunicao entre indivduos pirilampos de mesma espcie. Por seu carcter randmico,
o processo permite que a busca evite problemas de solues locais e plats[nota de rodap]
(ARBOLEDA, 2012). Os blocos de construo so agrupados com diferentes solues por
meio de cruzamento, permitindo que solues promissoras se mantenham em cada etapa
do processo. Ademais, o ajuste de parmetros permitidos pelo algoritmo a oportunidade
de se reter boas solues e equilibrar a explorao, bem como a direo no espao de
busca (FISTER et al., 2000).
O Problema do Caixeiro Viajante (PCV) uma questo matemtica muito impor-
tante, no s para o meio acadmico, mas tambm para problemas do mundo real que tem
sua representao em grafos, como manufatura, sistemas de transportes e comunicao de
dados dentre outros (RAMOS, 2001). O problema, apesar de simples, tem perdurado por
longo tempo e, portanto, um alvo de estudos. O PCV definido como um problema de
Captulo 1. Introduo 8

busca de um percurso em um grafo, partindo-se de vrtice inicial e visitando cada um dos


outros vrtices e retornando ao ponto de partida (NILSSON, 1982). Sua complexidade
fatorial faz com que seja classificado como um problema NP-Completo, e, deste modo,
no se pode saber sua soluo tima em tempo razovel (LINDEN, 2008).

1.1 Objetivo
O presente trabalho tem como objetivo realizar um comparativo entre as tcnicas
de otimizao computacional - o conhecido Algoritmo Gentico e o recente Algoritmo de
Vaga-lumes no contexto do tradicional Problema do Caixeiro Viajante, analisando resul-
tados e o efeito de cada parmetro usado nas tcnicas, definindo assim uma configurao
mais adequada.

1.2 Justificativa
O Problema do Caixeiro Viajante dos principais problemas de otimizao compu-
tacional que pode ser facilmente adaptado para problemas combinatrios do mundo real,
como fabricao de placas de circuitos eletrnicos, sequenciamento de tarefas, serializao
em arqueologia, roteamento IP, trfego urbano, distribuio de rede eltrica e entre tantos
outros. Dado sua importncia e sua complexidade computacional, tal problema deve-se
uma abordagem sofisticada como a utilizao de algoritmos genticos e o algoritmo de
vaga-lumes em busca de uma otimizao e/ou soluo.
9

2 Algoritmos Genticos

Os Algoritmos Genticos (AGs) so mtodos de busca e otimizao inspirados na


biologia evolucionria da populao de seres vivos (DARWIN, 1859; HOLLAND, 1975;
GOLDBERG, 1989). Como uma tcnica de otimizao e busca, os algoritmos genticos
apresentam uma funo objetivo (tambm chamado aptido ou fitness), utilizada para
avaliar cada uma de uma solues obtidas, uma vez que o mtodo gera um conjunto de
solues, e no apenas uma.
A primeira etapa de um tpico AG a gerao de uma populao inicial de indi-
vduos, cada qual representando uma possvel soluo do problema em questo. Durante
o processo de evoluo, cada indivduo avaliado de acordo com sua aptido, ou seja,
existem indivduos mais ou menos aptos. Dentre estes, so selecionados alguns para so-
frerem operaes de reproduo, como cruzamento ou crossover Figura 1, e/ou mutao
Figura 2 gerando, deste modo, os possveis descendentes para a nova populao. Todos
esses passos so repetidos at que o critrio de parada seja alcanado. O Algoritmo 1
apresenta um tpico AG:

Figura 1 Exemplo de Crossover.

Figura 2 Exemplo de Mutao.

A inspirao dos algoritmos genticos na Biologia fez com que certas expresses
fossem herdadas desta cincia. Para um melhor entendimento, uma lista de termos espe-
cficos apresentada com os seus respectivos significados(DELBEM; GABRIEL, 2008):
Captulo 2. Algoritmos Genticos 10

Populao: um conjunto de indivduos, que so solues codificadas para um


determinado problema.

Indivduo: um elemento da populao formado por um conjunto de genes e pela


aptido, isto , a qualidade da soluo que ele representa.

Gene: um elemento do cromossomo do indivduo.

Cruzamento: o processo de troca ou de combinao de genes entre dois ou mais


indivduos, obtendo novos indivduos.

Mutao: a operao que modifica um ou mais genes de um cromossomo.

Gerao: a populao em um determinado instante da iterao do algoritmo


gentico durante a evoluo.

Tendo conhecimento desses termos, podemos discutir cada um dos passos deste
algoritmo.
Um AG processa sua populao de indivduos, onde cada um codificado de uma
forma que possa ser manipulado, em que, geralmente, usado a representao binria ou
real. Para cada indivduo atribuda uma aptido, isto , uma informao de quo boa
sua soluo.
A partir de sua populao, o AG seleciona alguns indivduos, para gerar novos
filhos (ou variantes dos pais) por mutao e/ou crossover.
Algoritmo 1: Algoritmo Gentico.
Entrada: Parmetros necessrios
Sada: Populao de solues
incio
criao da populao inicial;
avaliao de cada indivduo da populao inicial;
repita
seleo dos pais;
combinao entre os pais;
mutao dos descentes gerados;
avaliao de novos candidatos;
seleo de indivduos para nova gerao;
at condio seja satisfeita;
fim

As operaes de reproduo so os mecanismos para explorao do espao de busca.


Em geral, a operao de crossover (combinao) toma dois indivduos pais retirados da
populao gerando dois filhos que podem ser adicionados a sua soluo.
Captulo 2. Algoritmos Genticos 11

A operao de combinao feita pela troca ou combinao de dois ou mais indi-


vduos no intuito de se obter novos indivduos. Um tipo bastante comum a combinao
n-pontos, no qual se divide cromossomos em n parties que sero utilizadas para com-
posio de novos indivduos. Outra forma possvel a recombinao uniforme, que leva
em considerao quais genes individualmente sero passados para os filhos.
O processo de reproduo que composto pelos processos de combinao e mu-
tao, de extrema importncia em problema de permutaes, isto , problemas em que
eventos devem ocorrem em determina sequncia (EIBEN; SMITH, 2003). No entanto, no
basta apenas combinarmos solues, mas tambm garantir que novas solues so vlidas
no espao de busca. Para isso, foram desenvolvidos vrios operadores conforme descrito a
seguir (DELBEM; GABRIEL, 2008):

Crossover OX (Baseado em ordem): selecionam-se dois pontos de corte que definem


uma subsequncia de genes que os filhos herdaro dos pais. O restante dos genes
obtido de maneira aleatria.

Crossover PBX (Baseado em Posio): seleciona-se um conjunto de posies aleat-


rias de um dos pais que sero copiados para o filho, exatamente na mesma posio,
os outros genes que estaro presente no filho so herdados do outro pai, compondo
assim o cromossomo.

Crossover OBX (Baseado em Ordem): similar ao PBX, seleciona de forma aleatria


os genes do pai 1, herdando genes do pai 2 de mesma posio. Depois disso, o
processo seleciona os genes que esto faltando do pai 1.

Crossover CX (Cclico): O processo comea copiando o primeiro elemento do pai 1


para o filho 1 evitando repeties, na etapa final, as posies que ficaram em branco
so obtidas por troca de elementos entre os pais.

Crossover PMX (Parcialmente Mapeado): Semelhante ao OX, inicia-se com dois


pontos de cortes que definem subsequncias.. Em seguida, realizam-se trocas no
sentido do pai 1 ao pai 2 e logo aps em sentido inverso evitando repeties de
sequncias.

Na mutao, pequenos genes de um determinado indivduo sofrem alteraes. A


desvantagem desses processos que podem fazer com que os melhores cromossomos sejam
perdidos. Neste sentido, o elitismo responsvel por manter a melhor soluo (ou uma
porcentagem das melhores solues), deste modo, acelerando o processo de evoluo em
busca do timo global.
O algoritmo gentico ilustrado na forma de um diagrama de atividades, conforme
a Figura 3:
Captulo 2. Algoritmos Genticos 12

Figura 3 Diagrama de atividade de um tpico Algoritmo Gentico.

Vale ressaltar que os operadores de reproduo exploram o espao de busca (ex-


ploration), enquanto que a seleo direciona a busca (exploitation). Contudo, a presso da
seleo, que a razo da aptido mxima da populao e aptido mdia, que influencia
a quantidade de exploitation e exploration.
Portanto, o AG pode convergir para um mnimo ou mximo local no espao co-
mum. Pode-se destacar algumas vantagens na aplicao dos AGs, que so:

Realizam buscas simultneas em vrias regies do espao de busca.

Funcionam tanto com parmetros contnuos como discretos.

So simples de serem implementados em computadores.

So flexveis para otimizar e trabalhar com funes objetivos conflitantes (problemas


multiobjetivos).
13

3 Algortimo de Vaga-lumes (AVL)

Os vaga-lumes so insetos lampirdeos, isto , insetos que produzem padres de


luzes nicos em cada espcie. A caracterstica do lampejo como durao, ritmo e velo-
cidade determinante para a sua sobrevivncia, uma vez que pode ser utilizado para o
acasalamento ou para atrair uma possvel presa (ARBOLEDA, 2012).
O matemtico Xin-She Yang (2010) introduziu um algoritmo de otimizao bioins-
pirado nos vaga-lumes, baseado na comunicao entre os lampirdeos. O algoritmo associa
a funo objetivo a ser otimizada com a intensidade dos lampejos produzidos (ARBO-
LEDA, 2012). A concepo do algoritmo assume algumas simplificaes como: (a) os
vaga-lumes so unissex, de modo que a atrao entre eles independe do sexo; (b) o brilho
de um vaga-lume determinado pela funo objetivo a ser otimizada; (c) a atratividade
inversamente proporcional ao quadrado da distncia dos comunicantes e proporcional
ao maior brilho produzido por um deles (KOIDE, 2016).
O funcionamento bsico est ilustrado conforme o Algoritmo 2. A intensidade
dos flashes de cada lampirdeo est associado a funo objetivo F(X). O coeficiente 0
representa a luminosidade inicial, representa absoro de luz no ambiente e um
parmetro de busca global, representa a atratividade dos vaga-lumes que relativo
a cada um e que varia com a distncia , . Uma representao em fluxograma est
representado na Figura 4.
Alguns pontos importantes sobre os parmetros foram anteriormente apresentados
e outros devem ser destacados, e como cada um pode ser calculado discutido a seguir
(KOIDE, 2016). Com relao intensidade luminosa I, sua forma de clculo em relao
distncia r pode ser dado pela equao (3.1).

2
() = 0 (3.1)

Como a atratividade proporcional a intensidade dos vaga-lumes comunicantes, e


o tamanho da distncia entre eles, sua equao pode ser dado por (3.2).

2
() = 0 (3.2)
Captulo 3. Algortimo de Vaga-lumes (AVL) 14

Algoritmo 2: Algoritmo de Vaga-lumes.


Entrada: F(X), X=(1 , 2 , ..., ), nmeroDeVagalumes, 0 , ,
Sada: O melhor vaga-lume
incio
para i de 1 at nmeroDeVagalumes faa
soluoInicial();
fim
determinao do coeficiente de absoro ;
enquanto critrio de fim no terminar faa
para i de 1 at n faa
para j de 1 at n faa
se ( ) < ( ) ento
, ( , );
(0 , , , );
(1 ) + + ( (0.5));
fim
fim
fim
+ ( (0.5));
fim
retorna
fim

Se a atratividade = 0, pode-se concluir que os vaga-lumes no veem uns aos


outros, alm disso, se = 0 os vaga-lumes tambm veem com dificuldade.
A distncia cartesiana , a partir do vetor de posio e que representa as
posies dos lampirdeos, pode ser definida pela equao (3.3).



, )2

, = = (, (3.3)
=1

O movimento do vaga-lume dado em funo do brilho de outro vaga-lume j de


maior brilho e determinado pela equao (3.4).

2
= + 0 , ( ) + (3.4)

Em que o segundo termo a atrao entre os vaga-lumes em relao a distncia. O


terceiro termo formado por um nmero randmico e do vetor de nmeros randmicos
uniformemente distribudos que est entre [0,1].
Captulo 3. Algortimo de Vaga-lumes (AVL) 15

Figura 4 Fluxograma do algoritmo AVL.


16

4 Problema do Caixeiro Viajante

O Problema do Caixeiro Viajante (PCV) um problema combinatrio fundamen-


talmente matemtico que tem perdurado por longo tempo. No se sabe ao certo um
documento que comprove sua autoria, muito menos a origem do nome. Em meados de
1800, problemas relacionados ao PCV comearam a ser desenvolvidos, mas somente em
1950 ficou conhecido globalmente em sua forma geral (APPLEGATE et al., 2007).
Define-se o Problema do Caixeiro Viajante como a busca de um percurso em um
grafo, partindo-se de um vrtice inicial e visitando cada um dos outros vrtices uma nica
vez, e retrocedendo ao ponto de partida, de forma que a distncia do circuito percorrido
seja mnimo (NILSSON, 1982). A Figura 5 mostra um grafo com um possvel percurso.

Figura 5 Um possvel circuito no grafo.

Considere o circuito a ser formado a partir de um grafo com n vrtices. Partindo-se


de determinado vrtice, o prximo vrtice a ser escolhido deve ser um dos n-1 vrtices
restantes do conjunto, dado que no haja repetio de vrtice, exceto o primeiro e o ltimo
vrtice que forma o fechamento do percurso. O seguinte a ser escolhido ser um dos n-2
vrtices ainda no escolhidos. Dessa forma, por um raciocnio indutivo, conclui-se que o
conjunto de todas as rotas possveis descrita pela relao (4.1).

()( 1)( 2)...(2)(1) = ! (4.1)

Por exemplo, para um grafo de 30 vrtices, o nmero de rotas ser dado por
30!, isto , 265252859812191058636308480000000 caminhos possveis, o que caracteriza o
Captulo 4. Problema do Caixeiro Viajante 17

problema como no-determinstico. Por se tratar de um problema NP-Completo, o nmero


de circuitos possveis tem crescimento exponencial, o que aumenta o espao de busca, e
consequentemente, o tempo de se encontrar a soluo (RAMOS, 2001). Portanto, uma
abordagem de otimizao computacional, como a utilizao de algoritmos evolutivos, em
busca da soluo deve ser implementada.

4.1 Algoritmo Evolutivo para o Problema do Caixeiro Viajante


Considere um grafo com n vrtices, representado em uma matriz de distncias
ligando cada par de vrtice. O objetivo do PCV partir de um vrtice de origem, visitar
cada um dos outros vrtices uma nica vez e retorna ao vrtice original, minimizando a
distncia total (RAMOS, 2001).
Dado os n vrtices do grafo, as rotas possveis podem ser representadas como uma
permutao dos n vrtices, isto , um circuito ligando cada um desses pontos considerando
que h uma ligao entre o ltimo vrtice e o primeiro de tal permutao. Por exemplo,
a permutao [7,2,5,6,1,3,4] corresponde ao circuito da Figura 6.

Figura 6 Rota no grafo.

A representao de uma rota no algoritmo evolutivo pode ser representado de forma


similar (RAMOS, 2001). O cromossomo denotado por um vetor idntico a permutao,
ou seja, dado a rota ou permutao descrita anteriormente, seu cromossomo respectivo
ser [7,2,5,6,1,3,4].
Assim, utilizando essa representao, o PCV tem como espao de busca o conjunto
de todas as permutaes possveis, ou seja, dado uma coleo de rotas, determina-se a
melhor soluo, como o caminho de menor distncia.
O processo de gerao da populao inicial de indivduos no AG, para o PCV,
pode ser abordado de vrias formas, utilizando at mesmo um procedimento aleatrio.
Por exemplo, para a populao inicial com m indivduos, gera-se m vetores distintos de
tamanho n por uma sequncia de vrtices que tambm so distintos entre si (RAMOS,
2001).
A funo de avaliao a ser otimizada ser a soma das distncias , , ou seja,
deve-se minimizar custos do percurso ou descobrir a menor rota possvel. Logo, a funo
Captulo 4. Problema do Caixeiro Viajante 18

de avaliao f ser dado por (4.2):

1

= ,+1 + ,1 (4.2)
=1

O processo de reproduo consiste na seleo de rotas da populao atual como


maior fitness, para a formao de novos indivduos. Os operadores de reproduo so
aqueles comuns aos AG, como crossover e mutao. Um exemplo do operador de crossover
o OX criado por Davis (1985), que impede rotas invlidas sejam criadas no processo
de gerao, alm de manter subsequncia dos pais geradores. J o processo de mutao,
altera um ou mais genes do cromossomo gerado de acordo com algum operador. Por
exemplo, atribui-se uma probabilidade a cada um dos genes presente no cromossomo, e
utilizando uma funo de probabilidades, selecionam-se dois genes para que seus alelos
seja invertidos (RAMOS, 2001).

4.2 Algoritmo de Vaga-lumes para o Problema do Caixeiro Viajante


O algoritmo AVL foi concebido para lidar com variveis contnuas. Contudo, pode-
se estender para solues discretas, aplicando em alguns problemas como o problema do
caixeiro viajante (KOIDE, 2016).
No problema em questo necessrio redefinir algumas funes. Segundo Durkota
(2011), considera-se o espao de busca como todas as permutaes possveis de (1, 2, ...,
n). Para as equaes do movimento definido pela equao (4.3).

= (1 ) + + ( 0.5)) (4.3)

A soluo inicial, isto , a permutao (1, 2, ..., n) pode ser eleita de forma rand-
mica. O clculo da distncia para o caso de variveis discretas pode ser realizada com o
clculo da distncia de Hamming, que definida como o nmero de elementos que no se
correspondem entre duas permutaes de mesmo tamanho (KOIDE, 2016). Por exemplo,
dado as permutaes 1 = [1, 2, 3, 4, 5] e 2 = [1, 2, 3, 5, 4], a distncia de Hamming
(1 , 2 ) = 2.
No decorrer das iteraes do algoritmo, as distncias dos vaga-lumes em relao a
outros vaga-lumes tendem a diminuir. Utilizando a distncia de Hamming, as quantidades
de elementos comuns devem aumentar para obterem-se as menores distncias. Deste modo,
o inicia com a anlise dos elementos comuns entre as permutaes (KOIDE,
2016). Para explicao, considere as seguintes permutaes 1 = [4, 9, 3, 7, 6, 8, 2, 1, 5]
e 2 = [4, 1, 3, 2, 5, 9, 7, 8]. Verifique que 1 2 = [ 4, _, 3, _, 6, _, _, _, _ ].
Captulo 4. Problema do Caixeiro Viajante 19

Os espaos vazios so completados em relao s permutaes 1 e 2 . Utilizando


a probabilidade de (), sendo r a distncia de Hamming, complementa-se a permutao
1 2 ) inserindo elementos de 1 ou 1 , evitando a repetio de elementos. Contudo, se
ainda assim houver espaos em branco, eles so preenchidos de maneira aleatria. Pode-se
observar que o se encaixa no processo de crossover nos algoritmos genticos.
Para o processo de mutao pode-se utilizar o passo-, que consiste em permutar
dois elementos vizinhos. Essa permutao pode ser tanto pela escolha aleatria de alguns
elementos, quanto pela troca de dois elementos adjacentes.
20

5 Trabalhos Correlatos

O Problema do Caixeiro Viajante (PCV) um dos problemas de otimizao com-


binatria mais largamente estudado. Sua definio simples, mas ainda assim continua
sendo um dos problemas mais desafiadores e aplicveis dos ltimos anos, o que levou a
importantes desenvolvimentos tericos. Lawler (1985) fornece uma pesquisa abrangente
de todos os principais resultados de PCV com diversos mtodos de otimizao at aquele
momento.
Laporte (1991) apresenta uma viso geral do PCV juntamente com aplicaes
utilizando alguns dos melhores algoritmos desenvolvidos at a dcada de 90, incluindo
algoritmos exatos e heursticos, como os algoritmos genticos, por exemplo.
Fister et al. (2000) apresenta um reviso abrangente do algoritmo de vaga-lumes
e seus variantes, aplicado a rea de otimizao bem como de engenharia. Alm disso, o
trabalho apresenta modificaes e hibridizao do AVL para resolver diversos problemas.
Ramos (2001) apresenta uma nova proposta de um mtodo de aproximao ba-
seado na combinao dos Algoritmos Genticos (AG) e o Simulated Anneling (SA)1,
observando seu comportamento no problema combinatorial do caixeiro viajante.
Nilsson (2003) desenvolve uma srie de heursticas para o PCV simtrico, mas
que podem ser facilmente ser adaptadas para lidar com caso assimtrico. Alm disso, o
trabalho engloba questes sobre tempo de execuo e a qualidade das solues.
Lukasik e ak (2010)explica como a maioria dos algoritmos evolutivos, e tambm o
algoritmo de vaga-lumes, enfrenta o problema de configurao de parmetros. Deste modo,
sugere definies sobre o tamanho da populao e o mximo de coeficiente de absoro que
poderiam ser utilizados. Alm disso, alguns recursos adicionais, como reduo aleatria
do tamanho da populao e a hibridao de outras tcnicas aumentaria sua eficincia.
Yang (2010) apresenta um o Algoritmo Vaga-lumes (AVL) e fornece o estudo
comparativo do AVL com PSO (Particle Swarm Optimization Otimizao Partcula de
Enxame)1 e Algoritmo Gentico, descrevendo como o AVL parece mais promissor ao lidar
com algumas funes multimodais especficas.
Kumbharana e Pandey (2012) implementa o Algoritmo de Vaga-lumes bsico com
alguns modificaes em parmetros para adapt-lo para o Problema do Caixeiro Via-
jante. Essas modificaes consistem em construir um converso adequada das funes
contnuas (como atratividade, distncia e movimento) em novas funes discretas. Por
1
Particle Swarm Optimization (PSO) uma tcnica de otimizao estocstica, bio-inspirada no com-
portamento do bando de aves e de cardumes de peixes na procura de alimento. Neste algoritmo cada
soluo considerado uma partcula, da seu nome (ARBOLEDA, 2012).
Captulo 5. Trabalhos Correlatos 21

fim, o trabalho tambm mostra como o AVL fornece melhores resultados em relao a
outras heursticas.
Sureja e Chawda (2012) apresenta o Problema do Caixeiro Viajante Aleatrio
(PCVA) por meio do modelo do algoritmo gentico. O PCVA basicamente um PCV
com todas as instncias geradas aleatoriamente. Ao resolver esse problema usando o al-
goritmo gentico (AG), utilizado um esquema de codificao normal juntamente com o
mecanismo de cruzamento bsico.
Gupta (2013) utiliza oito algoritmos bioinspirados para comparao de resultados,
dentre estes esto o AVL e o AG, mostrando uma base de dados para experimentos com
seis casos. Este artigo pode ser um trabalho para possvel benchmark.
Saraei e Mansouri (2015) apresenta o Problema de Mltiplos Caixeiros Viajantes
(PMCV), que uma generalizao do PCV. Nesta nova abordagem tem uma restrio
na tarefa de otimizao, onde cada caixeiro viaja um conjunto nico de cidades. Como
tambm, este trabalho avalia como o algoritmo gentico pode ser aplicado para resolver
esse problema e prope uma soluo eficiente.
22

6 Cronograma

Atividades Primeiro Segundo Terceiro Quarto


Trimestre Trimestre Trimestre Trimestre
Reviso bibliogrfica de Al- X X
goritmos Evolutivos
Reviso bibliogrfica de Al- X X
goritmos de Vaga-lumes
Reviso bibliogrfica de Al- X X
goritmos Evolutivos aplica-
dos ao problema do caixeiro
viajante
Reviso bibliogrfica de X X
Algoritmos de Vaga-lumes
aplicados ao problema do
caixeiro viajante
Implementao de Algorit- X
mos Evolutivos aplicados ao
problema do caixeiro via-
jante
Implementao de Algorit-
mos de Vaga-lumes aplica-
dos ao problema do caixeiro
viajante
Validao das implementa-
es realizadas
Anlise comparativa dos re-
sultados obtidos pelas tcni-
cas implementadas
Elaborao da monografia
do Trabalho de Concluso
de Curso
23

Referncias

APPLEGATE, D. L. et al. The Traveling Salesman Problem: A Computational Study.


Princeton, Estados Unidos da Amrica: Princeton University Press, 2007. Citado na
pgina 16.

ARBOLEDA, D. M. M. Otimizao por inteligncia de enxames usando arquiteturas


paralelas para aplicaes embarcadas. Tese (Doutorado) Faculdade de Tecnologia
Departamento de Engenharia Mecnica, Universidade de Braslia, Braslia, Brasil,
2012. Disponvel em: <http://repositorio.unb.br/bitstream/10482/13055/1/2012_
DanielMauricioMunozArboleda.pdf>. Acesso em: 27.11.2017. Citado 3 vezes nas
pginas 7, 13 e 20.

CASTRO, L. N. D. Fundamentals of Natural Computing: Basic Concepts, Algorithms,


and Applications. Boca Raton, Estados Unidos da Amrica: Chapman Hall/CRC, 2006.
Citado na pgina 7.

DARWIN, C. On the origin of species by means of natural selection, or, the preservation
of favoured races in the struggle for life. Londres, Reino Unido: [s.n.], 1859. Citado 2
vezes nas pginas 7 e 9.

DAVIS, L. Applying adaptive algorithms to epistatic domains. 1985. Disponvel em:


<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.76.4906&rep=rep1&type=
pdf>. Citado na pgina 18.

DELBEM, A. C. B.; GABRIEL, P. H. R. Fundamentos de algoritmos evolutivos. 2008.


Disponvel em: <http://conteudo.icmc.usp.br/CMS/Arquivos/arquivos_enviados/
BIBLIOTECA_113_ND_75.pdf>. Citado 3 vezes nas pginas 7, 9 e 11.

DURKOTA, K. Implementation of a Discrete Firefly Algorithm Within the SEAGE. 2011.


Disponvel em: <http://agents.fel.cvut.cz/~durkota/files/BachelorThesisDurkota.pdf>.
Citado na pgina 18.

EIBEN, A.; SMITH, J. Introduction to evolutionary computing. Berlim, Alemanha:


Springer, 2003. Citado na pgina 11.

FISTER, I. et al. A comprehensive review of firefly algorithms. 2000. Disponvel em:


<https://www.researchgate.net/publication/259170624_A_comprehensive_review_
of_firefly_algorithms>. Citado 2 vezes nas pginas 7 e 20.

GOLDBERG, D. E. Genetic Algorithms in Search, Optimization and Machine Learning.


Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc, 1989. Citado 2 vezes
nas pginas 7 e 9.

GUPTA, D. Solving tsp using various meta-heuristic algorithms. 2013. Disponvel em:
<http://online-journals.org/index.php/i-jes/article/download/3233/2930>. Citado na
pgina 21.

HOLLAND, J. H. Adaptation in Natural and Artificial Systems. Cambridge, MA, USA:


John Murray, 1975. Citado 2 vezes nas pginas 7 e 9.
Referncias 24

KOIDE, R. M. Aplicacao de regresso de vetores de suporte na otimizao


em flambagem e ps-flambagem de estruturas compsitas. Tese (Doutorado)
Programa de Ps-graduao em Engenharia Mecnica e de Materiais, Universidade
Tecnolgica Federal do Paran, Curitiba, Brasil, 2016. Disponvel em: <http:
//www.utfpr.edu.br/curitiba/estrutura-universitaria/diretorias/dirppg/programas/
ppgem/banco-teses/teses/Tese_Rubem_Koide.pdf>. Acesso em: 27.11.2017. Citado 2
vezes nas pginas 13 e 18.

KUMBHARANA, S. N.; PANDEY, G. M. Solving travelling salesman problem using


firefly algorithm. 2012. Disponvel em: <http://citeseerx.ist.psu.edu/viewdoc/download;
jsessionid=A0C8279078FD51227F808A3AFFFD52B4?doi=10.1.1.668.3119&rep=rep1&
type=pdf>. Citado na pgina 20.

LAPORTE, G. The traveling salesman problem: An overview of exact and approximate


algorithms. 1991. Disponvel em: <http://citeseerx.ist.psu.edu/viewdoc/download?doi=
10.1.1.461.189&rep=rep1&type=pdf>. Citado na pgina 20.

LAWLER, E. L. The Traveling salesman problem : a guided tour of combinatorial


optimization. Nova Iorque, Estados Unidos da Amrica: Chichester [West Sussex], 1985.
Citado na pgina 20.

LINDEN, R. Algoritmos Genticos. So Paulo, Brasil: Brasport, 2008. Citado na pgina


8.

LUKASIK, S.; AK, S. Firefly algorithm for continuous constrained optimization tasks.
2010. Disponvel em: <http://home.agh.edu.pl/~slukasik/pub/016_Lukasik_Zak_
LNAI_ICCCI2009.pdf>. Citado na pgina 20.

NILSSON, C. Heuristics for the traveling salesman problem. 2003. Disponvel em: <http:
//citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.104.9895&rep=rep1&type=pdf>.
Citado na pgina 20.

NILSSON, N. J. Principles of Artificial Intelligence. Nova Iorque, Estados Unidos da


Amrica: Springer-Verlag Berlin Heidelberg, 1982. Citado 2 vezes nas pginas 8 e 16.

RAMOS, J. M. B. Implementao e anlise do problema do caixeiro viajante usando


uma nova abordagem atravs dos algoritmos gentico e simulated annealing. 2001.
Disponvel em: <https://repositorio.ufsc.br/xmlui/bitstream/handle/123456789/79640/
250657.pdf?sequence=1&isAllowed=y>. Citado 4 vezes nas pginas 7, 17, 18 e 20.

SARAEI, M.; MANSOURI, P. Solving of travelling salesman problem


using firefly algorithm with greedy approach. 2015. Disponvel em:
<https://www.researchgate.net/profile/Mohammad_Saraei4/publication/
304625935_Solving_of_Travelling_Salesman_Problem_using_Firefly_
Algorithm_with_Greedy_Approach/links/5775302e08ae1b18a7dfdaac/
Solving-of-Travelling-Salesman-Problem-using-Firefly-Algorithm-with-Greedy-Approach.
pdf>. Citado na pgina 21.

SUREJA, N. M.; CHAWDA, B. V. Random travelling salesman problem using


genetic algorithms. 2012. Disponvel em: <https://www.researchgate.net/publication/
291697285_Random_Travelling_Salesman_Problem_using_Genetic_Algorithms>.
Citado na pgina 21.
Referncias 25

YANG, X.-S. Firefly algorithms for multimodal optimization. 2009. Disponvel em:
<https://arxiv.org/pdf/1003.1466.pdf>. Citado na pgina 7.

YANG, X.-S. Nature-Inspired Metaheuristic Algorithms. Frome, Reino Unido: Luniver


Press, 2010. Citado 2 vezes nas pginas 13 e 20.

Você também pode gostar