uma proposta de infecção viral em algoritmos meméticos

Propaganda
!"#$"
%'&)(*&)+,.- /10.2*&4365879&4/1:.+58;.2*<>=?5.@A2*3B;.- C)D 5.,.5FE)5.G.+&4- (IHJ&?,.+/?<>=)5.KA:.+5MLN&OHJ5F&4E)2*EOHJ&)(IHJ/)G.- D - ;./);.&
Foz do Iguaçu, PR, Brasil, 09 a 11 de outubro de 2007
UMA PROPOSTA DE INFECÇÃO VIRAL
EM ALGORITMOS MEMÉTICOS:
APLICAÇÃO NO PROBLEMA DO
CAIXEIRO VIAJANTE ASSIMÉTRICO
Fábio Francisco da Costa Fontes (UFRN)
[email protected]
Alisson da Costa Batista Guedes (UFRN)
[email protected]
Werner Kleyson da Silva Soares (UFRN)
[email protected]
Dario José Aloise (UFRN)
[email protected]
Ana Cristina Girão E Silva (UFRN)
[email protected]
Wagner de Oliveira (UFRN)
[email protected]
Dentre vários problemas da Pesquisa Operacional, o Caixeiro
Viajante (PCV) e suas variantes/generalizações possui diversas
aplicações práticas que tratam basicamente de minimização de custos.
Por se tratar de um problema NP-dificil, tem desspertado particular
interesse de pesquisadores na resolução de problemas de grande porte
através do uso de heurísticas/metaheurísticas eficientes. Guedes et al.
(2007) desenvolveu uma metaheurística híbrida utilizando Algoritmo
Memético com Infecção Viral aplicado ao Problema do Caixeiro
Viajante Assimétrico (PCVA). Este trabalho apresenta um
aprimoramento nessa técnica, através de uma fase de Normalização e
apresenta também a comparação com o método anterior, o que
proporcionou uma melhoria nos resultados obtidos usando as mesmas
instâncias e se mantendo eficiente computacionalmente.
Palavras-chaves: Pesquisa Operacional, Problema do Caixeiro
Viajante, Algoritmo Memético, Infecção Viral
PPQRSRUT8VWXYVAZ\[XVA]WRSXYVA]^F_Y`6`.aYbY`8aYcY%dYe %f_Y`6gUdhY_Yijk%h
l'mMn?mIo p?q rsut9mvwJx*myrz9o w9{?t9|~}~w??t?v€{9q ~‚ w?p9wƒ~w9„?o myq nO…mMp9o r~|u}~w9†>z?o wO‡ˆm…NwmyƒIt?ƒN…mMnJ…rM„?q ‚ q {?r~{9m
Foz do Iguaçu, PR, Brasil, 09 a 11 de outubro de 2007
1. Introdução
Em busca de vantagens competitivas nos diversos setores produtivos, diminuição de custos
torna-se palavra de ordem para qualquer empresa. A Pesquisa Operacional é uma das áreas da
Engenharia de Produção que tem esse objetivo.
Dentre vários problemas da Pesquisa Operacional, o Caixeiro Viajante (PCV) e suas
variantes/generalizações possui diversas aplicações práticas (problemas de roteamento de
veículos, programação de transporte entre células de manufatura (SLACK, CHAMBERS &
JOHNSTON, 2002), inserção de componentes eletrônicos em placas de circuito impresso
(RABAK & SICHMAN, 2001), (LAPORTE, 1992), (LAWLER et al., 1985), e etc.), que
tratam basicamente de minimização de custos. Por se tratar de um problema NP-dificil, tem
despertado particular interesse de pesquisadores na resolução de problemas de grande porte
através do uso de heurísticas/metaheurísticas eficientes.
Guedes et al. (2007) desenvolveu uma metaheurística híbrida utilizando Algoritmo Memético
com Infecção Viral aplicado ao Problema do Caixeiro Viajante Assimétrico (PCVA), onde o
agente e o vírus passam por um processo de simbiose, que favoreceu a obtenção de um
algoritmo evolutivo híbrido computacionalmente viável e competitivo. Este trabalho
apresenta um aprimoramento nessa técnica, através de uma fase de Normalização e apresenta
também a comparação com o método anterior, o que proporcionou uma melhoria nos
resultados obtidos usando as mesmas instâncias e se mantendo eficiente computacionalmente.
2. Problema do Caixeiro Viajante Assimétrico
O enunciado do PCV diz que um caixeiro viajante tem que visitar n cidades diferentes,
iniciando e encerrando sua viagem na primeira cidade e passando pelas outras cidades uma
única vez, não importando a ordem com que as cidades são visitadas. No caso do Problema do
Caixeiro Viajante Assimétrico (PCVA), ao se considerar o custo Cij de um caixeiro viajante
seguir de uma cidade i para uma cidade j, temos Cij ≠ Cji, ∀ i, j ∈ N, (CAMPELO &
MACULAN, 1994).
3. O Algoritmo Memético
O Algoritmo Memético proposto por Moscato (1989), além de simular matematicamente os
fenômenos de adaptação, naturais ou artificiais, utilizar-se dos operadores genéticos de
seleção e cruzamento, ainda utiliza o conceito de evolução cultural, onde a adaptabilidade de
um indivíduo pode ser modificada no decorrer de sua existência dentro da população
(MENDES, 1999). A população de um Algoritmo Memético para um determinado momento é
chamada de geração, constituída de agentes que representam as soluções atuais de
determinado problema dentro do seu espaço de soluções, sendo cada agente constituído de
memes (unidade de informação) e fitness, que representa o seu nível de aptidão. A busca local
realizada por um Algoritmo memético, na vizinhança dos indivíduos de uma geração, visa
encontrar melhores indivíduos e assim transformar a geração de agentes em mínimos locais
(rotas de baixo custo, no caso do PCV).
4. A Infecção Viral
Alguns autores como Nakahara e Sagawa (1986) apud Kanoh et al. (1996) propõem que, na
teoria da evolução, o material genético possa ser transferido de um organismo para outro
através de vírus (KANOH et al., 1996), ou seja, um vírus, transportando material genético,
pode infectar um organismo e, através desta infecção, reescrever o gene do organismo
2
PPQRSRUT8VWXYVAZ\[XVA]WRSXYVA]^F_Y`6`.aYbY`8aYcY%dYe %f_Y`6gUdhY_Yijk%h
l'mMn?mIo p?q rsut9mvwJx*myrz9o w9{?t9|~}~w??t?v€{9q ~‚ w?p9wƒ~w9„?o myq nO…mMp9o r~|u}~w9†>z?o wO‡ˆm…NwmyƒIt?ƒN…mMnJ…rM„?q ‚ q {?r~{9m
Foz do Iguaçu, PR, Brasil, 09 a 11 de outubro de 2007
infectado. A idéia da Infecção Viral vem sendo utilizada no Algoritmo Genético em
substituição ao operador de mutação, como em: Kanoh & Nakamura (2000), Kanoh et al.
(1996), Kanoh, Kondo & Sugimoto (2002), Guedes, Leite & Aloise (2005), entre outros. E
segundo Kanoh, Kondo & Sugimoto (2002), o uso da Infecção viral no Algoritmo Genético
melhora a taxa de busca do algoritmo.
Na memética, que estuda os memes, certos grupos de memes podem agir como vírus
meméticos, ou seja, como padrões de informações que são transmitidas entre os indivíduos ao
longo de gerações por serem considerados bons memes. Com isso, Guedes et al. (2007)
utilizou o conceito de vírus memético, originando um Algoritmo Memético com Infecção
Viral.
4.1 O Vírus
O vírus é uma solução parcial que ao infectar um agente reescreve o material genético deste,
aumentando ou diminuindo o seu valor de fitness. Considerando-se o problema do Caixeiro
Viajante onde o agente representa uma rota completa, um vírus seria um trecho (pedaço) de
uma rota (Figura 1).
Figura 1 - Exemplo de um vírus para um agente de representação do tipo real
Assim como na genética o vírus necessita de um organismo para interagir e na memética o
“vírus” meme necessita de mentes para serem repassados, não se perdendo ao longo de
gerações. Também nos algoritmos evolutivos um vírus só atuará na evolução de uma geração
se existir um agente onde possa hospedar-se, visto que o mesmo sempre será um trecho de
uma solução e nunca uma solução completa de determinado problema. Da mesma forma que
o agente possui um valor de fitness, o vírus traz consigo uma taxa de infectividade, que varia
de acordo com a sua qualidade.
4.2 Taxa de infectividade
A taxa de infectividade indica o quanto o vírus pode melhorar uma solução. O valor inicial
dessa taxa é o mesmo para todos os vírus independente da iteração em que se encontra o
algoritmo. Esta taxa pode aumentar até um valor máximo ou pode reduzir a zero. O valor
inicial e o limite máximo dessa taxa são pré-estabelecidos.
A intensificação e a diversificação, em um algoritmo com infecção viral, estão diretamente
ligadas à taxa de infectividade. Esta intensificação e diversificação são fatores relevantes na
busca de ótimos globais em problemas diversos, pois, segundo Noronha, Aloise & Silva
(2001), o sucesso de uma heurística depende de sua capacidade de diversificação de busca
quando nenhuma melhoria adicional parece possível, de intensificação da busca em regiões
promissoras e etc. Esta taxa de infectividade aumenta, após a infecção do agente, se o vírus
conseguir melhorar a fitness e diminui se piorá-la.
5. O Algoritmo Memético com Infecção Viral
3
PPQRSRUT8VWXYVAZ\[XVA]WRSXYVA]^F_Y`6`.aYbY`8aYcY%dYe %f_Y`6gUdhY_Yijk%h
l'mMn?mIo p?q rsut9mvwJx*myrz9o w9{?t9|~}~w??t?v€{9q ~‚ w?p9wƒ~w9„?o myq nO…mMp9o r~|u}~w9†>z?o wO‡ˆm…NwmyƒIt?ƒN…mMnJ…rM„?q ‚ q {?r~{9m
Foz do Iguaçu, PR, Brasil, 09 a 11 de outubro de 2007
Este algoritmo apresenta como características principais, além da combinação do Algoritmo
Memético com a infecção viral, o processo de simbiose que se dá durante o ato de infectar. Na
obtenção de uma geração inicial de agentes (Algoritmo 1), um agente é produzido utilizandose a Heurística GKS (GLOVER et al., 1999) e cada um dos agentes restantes pode ser
produzido pelo método do Vizinho Mais Próximo (50% de chance) ou pelo método da
Inserção Arbitrária (50% de chance). A forma de representação utilizada para os agentes do
algoritmo foi a codificação de caminho, que é a forma mais empregada de representação
quando se trata do PCV, onde cada cidade é associada a um meme, sendo a solução dada pela
seqüência em que os memes aparecem no agente. O nível de aptidão (fitness) de cada agente,
para esta forma de codificação, representa o comprimento da solução parcial. Neste algoritmo,
além da geração de uma população de agentes, é gerada também uma população de vírus.
Neste estudo, a população de vírus foi gerada aleatoriamente.
1 -Início
2 Produzir uma geração inicial de Agentes
3 Produzir uma população inicial de Vírus
4 Avaliar a fitness dos agentes da Geração
5 Busca Local para cada agente da geração
6 Repetir
7
Nova Geração = conj. vazio
8
elitismo
9
Infecção
10
Repetir
11
Selecionar um conjunto de pais na Geração
12
Cruzar os pais de modo a que se reproduzam
13
Até que a nova geração esteja completa
14
Avaliar a fitness dos filhos gerados
15
Busca Local em alguns agentes
16 Até que o critério de parada seja atendido
17 -Fim
Algoritmo 1 – Algoritmo Memético com Infecção Viral
Neste trabalho utilizou-se a busca local do tipo descida mais rápida para uma vizinhança,
onde: dada a solução π = (π 1 ,..., π i −1 , π i , π i +1 ,..., π j , π j +1 ,..., π n ) , uma vizinhança para esta
solução seria obtida através da retirada de uma cidade ( π i ) de sua posição original e inserção
em uma posição qualquer:
V (π ) = { (π 1 ,..., π i −1 , π i +1 ,..., π j , π i , π j +1 ,..., π n ) ∴ i = 1,..., n − 1; j = i + 1,..., n } .
Inicialmente a busca local é realizada para todos os agentes da população, permitindo que
para a geração dos primeiros descendentes o algoritmo parta somente de mínimos locais. Para
as gerações seguintes a busca local é realizada apenas em alguns indivíduos, para evitar um
tempo de convergência elevado.
No Elitismo, alguns dos agentes com melhores fitness pertencentes à geração atual farão,
automaticamente, parte da nova população de indivíduos. Isto evita que o algoritmo perca o
melhor resultado obtido a cada geração.
5.1 A Infecção
O ato de infectar um agente é chamado de transcrição (Figura 2). Este processo consiste em o
vírus modificar o agente infectado de forma que esse contenha um trecho idêntico ao
representado pelo mesmo e fazer os ajustes necessários para manter a viabilidade do agente
4
PPQRSRUT8VWXYVAZ\[XVA]WRSXYVA]^F_Y`6`.aYbY`8aYcY%dYe %f_Y`6gUdhY_Yijk%h
l'mMn?mIo p?q rsut9mvwJx*myrz9o w9{?t9|~}~w??t?v€{9q ~‚ w?p9wƒ~w9„?o myq nO…mMp9o r~|u}~w9†>z?o wO‡ˆm…NwmyƒIt?ƒN…mMnJ…rM„?q ‚ q {?r~{9m
Foz do Iguaçu, PR, Brasil, 09 a 11 de outubro de 2007
receptor (GUEDES, LEITE E ALOISE, 2005). Neste trabalho, para realizar a transcrição, é
feita no agente a ser infectado uma lista com os memes, retirando os existentes no vírus (para
evitar a formação de descendentes com memes repetidos), mantendo a ordem de precedência
com a qual eles aparecem no agente e, em seguida, o vírus é testado entre cada par desses
memes da lista escolhendo-se como posição para incluí-lo aquela onde o agente terá um maior
fitness.
Figura 2 - Processo de Transcrição (teste aleatório de posição para procura da melhor fitness)
Na Infecção, aqueles agentes com melhores fitness pertencentes à população atual serão
infectados por todos os vírus e, após este processo, os quatro agentes que apresentarem os
melhores fitness também farão parte da nova geração de indivíduos (Algoritmo 2).
1 Infecção
2 Selecione os melhores indivíduos
3
Para cada um destes melhores indivíduos faça
4
Transcrição com cada vírus
5
Se individuo aumentou o fitness
6
Taxa de infectividade do vírus aumenta
7
Simbiose
8
Senão
9
Taxa de infectividade do vírus diminui
10
Simbiose
11
Fim se
12
Aceita-se os 4 melhores indivíduos na nova população
13 Fim para
14 Fim
Algoritmo 2 - Algoritmo Infecção
5.2 A Simbiose
Como a associação entre o vírus e o agente os beneficia mutuamente (gerando no agente
descendentes com melhores fitness e alterando o material genético do vírus), chamaremos esta
fase do algoritmo de Simbiose, fazendo uma analogia com a Biologia.
Na geração da população inicial de vírus, todos terão sempre um tamanho mínimo prédefinido. Quando um vírus infectar um agente e atingir sua taxa de infectividade máxima, irá
incorporar um dos memes vizinhos pertencentes ao agente aumentando seu próprio tamanho
(Figura 3), transformando-se em um novo vírus e tendo, portanto, sua taxa de infectividade
5
PPQRSRUT8VWXYVAZ\[XVA]WRSXYVA]^F_Y`6`.aYbY`8aYcY%dYe %f_Y`6gUdhY_Yijk%h
l'mMn?mIo p?q rsut9mvwJx*myrz9o w9{?t9|~}~w??t?v€{9q ~‚ w?p9wƒ~w9„?o myq nO…mMp9o r~|u}~w9†>z?o wO‡ˆm…NwmyƒIt?ƒN…mMnJ…rM„?q ‚ q {?r~{9m
Foz do Iguaçu, PR, Brasil, 09 a 11 de outubro de 2007
igual à inicial. Já quando o vírus infectar um agente piorando seu valor de fitness, sua taxa de
infectividade diminuirá. Se esta taxa chegar a zero e o vírus não estiver no seu tamanho
mínimo, este abandonará o último meme incorporado retornando a um vírus existente
anteriormente com taxa de infectividade máxima.
Figura 3 - Exemplos de Aumento e de Transdução do Vírus
Ainda no processo de Simbiose pode acontecer de o vírus estar no seu tamanho mínimo e, por
não ter feito boas infecções, também possuir uma taxa de infectividade nula, sendo necessária
sua eliminação. Para que um vírus deixe de existir outro deve ser gerado. O “Algoritmo 3”
mostra que ao chegar a esta situação existem duas possibilidades de um novo vírus ser gerado.
Optou-se por criar um número aleatório que proporcionará uma probabilidade de o vírus ser
gerado por Transdução ou pela Identificação de Arestas existentes em todos os agentes da
população atual (se escolhe aleatoriamente uma dessas arestas para que o seu par de vértices
seja o novo vírus). Caso o vírus passe pela Transdução, o vírus gerado passará a ter uma taxa
de infectividade igual à inicial; caso contrário, a sua taxa de infectividade será nula. Segundo
Guedes, Leite & Aloise (2005), a Transdução (Figura 3) é um procedimento que faz analogia
com a mutação do vírus, onde o vírus se modifica para melhor se adaptar ao ambiente. No
Algoritmo em estudo, o vírus de tamanho e taxa de infectividade mínima descarta uma de
suas partes e copia uma parte do último agente que infectou.
1 Simbiose
2 Se ((taxa de infectividade > mínima) e (taxa de infectividade < máxima)) então
3
Sair da Simbiose
4 Fim Se
5 Se( taxa de infectividade = máxima) então
6
Se (vírus < tamanho máximo) então
7
Aumentar o Vírus
8
Taxa de infectividade é mínima
9
Fim Se
10 Senão
11
Se (vírus > tamanho mínimo) então
12
Diminuir o vírus
13
Taxa de infectividade é máxima
14
Senão
15
Se (nº aleatório estiver dentro de uma certa probabilidade) então
16
Transdução
17
Taxa de infectividade é igual à inicial
18
Senão
19
Identifica-se as arestas que se repetem em todos os agentes
20
Escolhe-se aleatoriamente como vírus o par de vértices de uma das arestas identificadas
21
Taxa de infectividade é nula
22
Fim Se
23
Fim Se
24 Fim Se
25 Fim
Algoritmo 3 – Simbiose do Algoritmo Original
6
PPQRSRUT8VWXYVAZ\[XVA]WRSXYVA]^F_Y`6`.aYbY`8aYcY%dYe %f_Y`6gUdhY_Yijk%h
l'mMn?mIo p?q rsut9mvwJx*myrz9o w9{?t9|~}~w??t?v€{9q ~‚ w?p9wƒ~w9„?o myq nO…mMp9o r~|u}~w9†>z?o wO‡ˆm…NwmyƒIt?ƒN…mMnJ…rM„?q ‚ q {?r~{9m
Foz do Iguaçu, PR, Brasil, 09 a 11 de outubro de 2007
Somente após o processo de Infecção é que se executa o operador genético de seleção. Neste
trabalho, optou-se pelo método de Nivelamento Linear (Linear Ranking Selection) proposto
por Baker (1989). No operador de cruzamento (crossover), quando se trata do PCVA, como é
o caso deste trabalho, necessita-se atentar para que a combinação de dois indivíduos de
representação por caminho não gerem uma solução inválida (POTVIN, 1996). Devido a isto
se utilizou o Order Crossover (OX), proposto por Davis (1985), e segundo Potvin (1996), este
operador consegue melhores resultados que o Cycle Crossover (CX) e o Partially-Mapped
Crossover (PMX). Concluindo-se com estes operadores genéticos a geração de uma nova
população de agentes.
A implementação proposta diferencia-se da anterior por realizar, no processo de Simbiose
(Algoritmo 4), a Normalização com as arestas identificadas. Após o processo de identificação
das arestas que se repetem em todos os agentes, o processo de Normalização se dá através da
concatenação, neste conjunto, de trechos que são formados por arestas adjacentes. O conjunto
formado consistirá de trechos concatenados e não concatenados (Figura 4).
Figura 4 - Normalização da População Variável de Vírus
Nesta Implementação, concluída a Normalização, apenas um trecho é escolhido
(aleatoriamente) para fazer parte da população de vírus. A diferença entre o “Algoritmo 3” e
este novo é que agora o vírus gerado pode corresponder a um trecho de três ou mais vértices.
1 Simbiose
2 Se ((taxa de infectividade > mínima) e (taxa de infectividade < máxima)) então
3
Sair da Simbiose
4 Fim Se
5 Se( taxa de infectividade = máxima) então
6
Se (vírus < tamanho máximo) então
7
Aumentar o Vírus
8
Taxa de infectividade é mínima
9
Fim Se
10 Senão
11
Se (vírus > tamanho mínimo) então
12
Diminuir o vírus
13
Taxa de infectividade é máxima
14
Senão
15
Se (nº aleatório estiver dentro de uma certa probabilidade) então
16
Transdução
17
Taxa de infectividade é mínima
18
Senão
19
Identificar as arestas que se repetem em todos os agentes
20
Normalização
21
Escolhe-se aleatoriamente como vírus um dos trechos
22
Taxa de infectividade é mínima
23
Fim Se
24
Fim Se
25 Fim Se
26 Fim
Algoritmo 4 – Simbiose Proposta (com Normalização)
7
PPQRSRUT8VWXYVAZ\[XVA]WRSXYVA]^F_Y`6`.aYbY`8aYcY%dYe %f_Y`6gUdhY_Yijk%h
l'mMn?mIo p?q rsut9mvwJx*myrz9o w9{?t9|~}~w??t?v€{9q ~‚ w?p9wƒ~w9„?o myq nO…mMp9o r~|u}~w9†>z?o wO‡ˆm…NwmyƒIt?ƒN…mMnJ…rM„?q ‚ q {?r~{9m
Foz do Iguaçu, PR, Brasil, 09 a 11 de outubro de 2007
6. Resultados Computacionais
Foi utilizada a linguagem C++ e foram feitos testes com as 27 instâncias assimétricas da
TSPLIB: br17, ftv33, ftv35, ftv38, p43, ftv44, ftv47, ry48p, ft53, ftv55, ftv64, ft70, ftv70,
ftv90, ftv100, ftv110, ftv120, kro124p, ftv130, ftv140, ftv150, ftv160, ftv170, rbg323, rbg358,
rbg403 e rbg443, em uma máquina Pentium 4 HT de 2,8 GHz e 512 de memória RAM, onde
se efetuou 10 execuções de 1 minuto para instância, contabilizando-se os resultados e
números de gerações obtidos na média com este tempo. Os resultados obtidos comparam o
Algoritmo Memético com Infecção Viral com a sua nova abordagem utilizando
Normalização. A população de agentes foi composta de 20 indivíduos e a população fixa de
vírus composta de 80 vírus. A taxa de elitismo foi de 20%, portanto a cada geração, os 4
melhores agentes passam automaticamente para a nova população. A taxa de infecção
também foi de 20%, ou seja, a cada geração, os 4 melhores agentes da população atual são
infectados. Os parâmetros utilizados para o vírus foram o tamanho inicial do vírus, a taxa de
infectividade inicial do vírus e a taxa de infectividade máxima do vírus, tendo os seguintes
valores, respectivamente, 2, 2 e 4. A taxa de crossover foi de 80% e a taxa de transdução de
60%. O operador de busca local utilizado foi o de “relocação”, também conhecido como
“inserção” (FUNKE, GRÜNERT e IRNICH, 2005). A busca foi feita em 4 agentes. Na tabela
1 a seguir, com os resultados dos testes computacionais, temos para cada instância: o número
de vezes que o ótimo foi alcançado, o valor do gap final obtido (média entre as 10 execuções)
e o número médio de gerações (média entre as 10 execuções) para o Algoritmo Memético
com Infecção Viral (AMIV1) e para o novo método com Normalização (AMIV2).
Ótimo [AMIV1]
10
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
10
10
10
gap(%)
0,000
2,659
1,195
1,131
0,125
4,042
0,586
1,618
6,407
2,761
2,936
1,464
3,328
1,792
1,678
2,621
2,656
4,861
3,017
2,231
2,068
0,335
0,944
0,000
0,000
0,000
0,000
Nº. Md. de Gerações
0,000
44,000
73,400
72,400
64,700
61,500
56,900
56,500
51,700
46,500
37,000
33,400
32,300
22,800
19,500
22,500
16,900
14,800
13,000
11,800
10,600
9,900
8,900
0,000
0,000
0,000
0,000
Ótimo [AMIV2]
10
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
10
10
10
gap(%)
0,000
2,636
1,195
1,052
0,096
4,042
0,586
1,585
5,915
2,761
2,887
1,446
3,246
1,913
1,678
2,411
5,042
2,431
3,078
2,211
2,041
0,440
0,918
0,000
0,000
0,000
0,000
Nº. Md. de Gerações
0,000
140,300
260,200
287,000
255,200
246,100
289,800
206,500
247,500
142,100
183,200
112,600
129,600
145,500
137,300
83,600
91,400
141,000
50,900
37,400
41,300
43,500
36,800
0,000
0,000
0,000
0,000
8
PPQRSRUT8VWXYVAZ\[XVA]WRSXYVA]^F_Y`6`.aYbY`8aYcY%dYe %f_Y`6gUdhY_Yijk%h
l'mMn?mIo p?q rsut9mvwJx*myrz9o w9{?t9|~}~w??t?v€{9q ~‚ w?p9wƒ~w9„?o myq nO…mMp9o r~|u}~w9†>z?o wO‡ˆm…NwmyƒIt?ƒN…mMnJ…rM„?q ‚ q {?r~{9m
Foz do Iguaçu, PR, Brasil, 09 a 11 de outubro de 2007
Ótimo [AMIV1]
2,074
gap(%)
1,869
Nº. Md. de Gerações
28,926
Ótimo [AMIV2]
2,074
gap(%)
1,837
Nº. Md. de Gerações
122,548
7. Conclusão Tabela 1 - Resultados da Implementação AMIV1 x AMIV2
A implementação utilizando Normalização diminuiu o gap total, apesar de um inexpressivo
aumento no custo computacional.
Isto demonstra a eficiência da inovação proposta neste trabalho para o Algoritmo Memético
com Infecção Viral na resolução de Problemas de Pesquisa Operacional da classe dos NPdificeis.
Referências
BAKER, J.E. An analysis of the the effects of selection in genetic algorithms. Tese de PhD, Graduate School of
Vanderbilt University, Tennessee, 1989.
CAMPELLO, R.E. & MACULAN, N. Algoritmos e heurísticas: desenvolvimento e avaliação de performance.
Rio de Janeiro: EDUFF, 1994.
DAVIS, L. Applying Adaptive Algorithms to Epistactic Domains. Proceedings of the Int. Joint Conf. on
Artificial Intelligence (IJCAI'85), p.162-164, 1985.
FUNKE, B.; GRÜNERT, T.; IRNICH, S. Local Search for Vehicle Routing and Scheduling Problems: Review
and Conceptual Integration. Journal of Heuristics, vol. 11, p. 267-306, 2005.
GLOVER, F. et al. Construction Heuristics for the Asymmetric TSP. European Journal of Operational Research,
1999.
GUEDES, A.C.B.; ALOISE, D.J.; FONTES F.F.C. & OLIVEIRA, W. Um Algoritmo com Infecção Viral
para Resolução do Problema do Caixeiro Viajante Assimétrico. Encontro Regional de Pesquisa Operacional,
artigo aceito em 2007 para publicação, aguarda impressão.
GUEDES, A. C. B.; LEITE, J. N. F.; ALOISE, D. J. Um algoritmo genético com infecção viral para o
problema do caixeiro viajante. PublICa 1, p.16 – 24, 2005.
KANOH, H. et al. Solving Constraint Satisfaction Problems by a Genetic Adopting Viral Infection. IEEE, 1996.
KANOH, H.; NAKAMURA, N. Route Guidance with Unspecified Staging Posts Using Genetic Algorithm for
Car Navigation Systems. IEEE Intelligent Transportation Systems, 2000.
KANOH, H., KONDO, M.; SUGIMOTO, M. Solving Timetabling Problems Using Genetic Algorithms Based
on Minimizing Conflict Heuristics. Barcelona: CIMNE, 2002.
LAPORTE, G. The Traveling Salesman Problem: An Overview of Exact and Approximate Algorithms.
European Journal of Operational Research 59 (2), p.231-247, 1992.
LAWLER, E. L. et al. The Traveling Salesman Problem. Chichester: John Wiley & Sons, 1985.
MENDES, A. S. Algoritmos Meméticos Aplicados aos Problemas de Sequenciamento em Máquinas.
Dissertação de Mestrado, Faculdade de Engenharia Elétrica e de Computação, UNICAMP, p 91. Campinas, SP.
1999.
MOSCATO, P. On Evolution, Search, Optimization, Genetic Algorithms, and Martial Arts: Towards Memetic
Algorithms. Technical Report, Caltech Concurrent Computation Program, C3P Report 826. 1989.
NORONHA, T. F.; ALOISE, D. J. & SILVA, M. M. Uma Abordagem sobre Estratégias Metaheurísticas.
REIC. Revista eletrônica de iniciação científica, http://www.sbc.org.br/reic, v. 1, 2001.
POTVIN, J.Y. Genetic Algorithms for the Traveling Salesman Problem. Centre de Recherche sur les Transports
- Université de Montreal. Montréal, Québec, Canadá, 1996.
RABAK, C. S. & SICHMAN J. S. Otimização do Processo de Inserção Automática de Componentes
Eletrônicos Empregando a Técnica de Times Assíncronos. Pesquisa Operacional v.21, n.1, p.39-59, 2001.
9
PPQRSRUT8VWXYVAZ\[XVA]WRSXYVA]^F_Y`6`.aYbY`8aYcY%dYe %f_Y`6gUdhY_Yijk%h
l'mMn?mIo p?q rsut9mvwJx*myrz9o w9{?t9|~}~w??t?v€{9q ~‚ w?p9wƒ~w9„?o myq nO…mMp9o r~|u}~w9†>z?o wO‡ˆm…NwmyƒIt?ƒN…mMnJ…rM„?q ‚ q {?r~{9m
Foz do Iguaçu, PR, Brasil, 09 a 11 de outubro de 2007
SLACK, N.; CHAMBERS, S. & JOHNSTON, R. Planejamento e Controle Just in Time. Administração da
Produção. 2ª ed. São Paulo: Atlas, cap. 15, p.481-510, 2002.
10
Download