!"#$" %'&)(*&)+,.- /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 wOm NwmyIt?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 wOm NwmyIt?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 wOm NwmyIt?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 wOm NwmyIt?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 wOm NwmyIt?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 wOm NwmyIt?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 wOm NwmyIt?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 wOm NwmyIt?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 wOm NwmyIt?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