XXIV Encontro Nac. de Eng. de Produção - Floranópols, SC, Brasl, 03 a 05 de nov de 2004 Modelagens Exata e Heurístca para Resolução do Problema do Caxero Vajante com Coleta de Prêmos Antôno Augusto Chaves (INPE) chaves@lac.npe.br Fabríco Lacerda Bajol (INPE) lacerda@lac.npe.br Otávo Massash Mne (UFES) massash@ceb.ufop.br Marcone Jamlson Fretas Souza (UFOP) marcone@ceb.ufop.br Resumo O Problema do Caxero Vajante com Coleta de Prêmos (PCVCP), referdo na lteratura como Prze Collectng Travelng Salesman Problem, é uma generalzação do Problema do Caxero Vajante, podendo ser assocado a um caxero vajante que coleta um prêmo w k, não negatvo, em cada cdade k que ele vsta e paga uma penaldade p l para cada cdade l que não vsta, com um custo c j de deslocamento entre as cdades e j. O problema encontrase em mnmzar o somatóro dos custos da vagem e penaldades, enquanto nclu na sua rota um número sufcente de cdades que o permtam coletar um prêmo mínmo, w 0, préestabelecdo. Trata-se de um problema classfcado na lteratura como NP-dfícl, justfcando sua abordagem por técncas heurístcas. O presente artgo contrbu com o desenvolvmento de metaheurístcas híbrdas para o PCVCP, baseadas em GRASP e métodos de pesqusa em vznhança varável (VNS/VND) para soluconar aproxmadamente o PCVCP. De forma a valdar as soluções obtdas, mplementa-se um modelo exato para encontrar a melhor solução para o problema, sendo este modelo aplcado a problemas de pequeno porte. Resultados computaconas demonstram a efcênca da metodologa híbrda proposta, tanto em relação à qualdade da solução fnal obtda quanto em relação ao tempo de execução. Palavras chave: Problema do Caxero Vajante, Metaheurístcas, GRASP, VNS, VND. 1. Introdução O Problema do Caxero Vajante com Coleta de Prêmos (PCVCP), referdo na lteratura como Prze Collectng Travelng Salesman Problem (PCTSP), é uma varante do Problema do Caxero Vajante, podendo ser assocado a um caxero vajante que coleta um prêmo w k, não negatvo, em cada cdade k que ele vsta e paga uma penaldade p l para cada cdade l que não vsta, com um custo c j de deslocamento entre as cdades e j. O problema encontra-se em mnmzar o somatóro dos custos da vagem e penaldades, enquanto nclu na sua rota um número sufcente de cdades que o permtam coletar um prêmo mínmo, w m, préestabelecdo. O PCVCP fo formulado ncalmente por Egon Balas, (BALAS, 1986), como um modelo para a programação da operação dára de uma fábrca que produza lâmnas de aço. Por razões que tnham a ver com o desgaste dos rolos e também por outros fatores, a seqüênca na ordem do processamento era essencal. A programação conssta na escolha de um número de lâmnas assocadas às suas ordens de execução, que satsfzessem o lmte nferor do peso, e que ordenadas numa seqüênca aproprada, mnmzasse a função de seqüênca. As tarefas de escolha das lâmnas e das opções dsponíves para seu o sequencamento, necesstavam ser resolvdas em conjunto, (BALAS, 2001). Chamado então de Prze Collectng Travelng Salesman Problem, ou seja, Problema do Caxero Vajante com Coleta de Prêmos, servu como base para o desenvolvmento de um software mplementado por Balas e Martn, que utlzava a combnação de váras heurístcas para encontrar soluções próxmas do ótmo local, ENEGEP 2004 ABEPRO 3151
XXIV Encontro Nac. de Eng. de Produção - Floranópols, SC, Brasl, 03 a 05 de nov de 2004 organzando-as em programações dáras. A escolha deste problema para resolução fo feta em função da fácl adaptação deste a stuações da vda real. Em lnhas geras, pode ser descrto como um unverso de clentes em potencal, onde exste assocado a cada clente, quando não for atenddo, uma penaldade pela expectatva de atendmento ou mportânca, e quando este for atenddo, um ganho relatvo. Deseja-se a partr de uma orgem, montar um percurso contendo alguns clentes vstados uma únca vez retornando ao ponto de partda, mnmzando o custo da dstânca total percorrda e a soma das penaldades, de forma a garantr um ganho mínmo que justfque o nvestmento. A dfculdade de solução do PCVCP está no número elevado de soluções exstentes. Assumndo que a dstânca de uma cdade a outra j seja smétrca, sto é, que d j = d j, o número total de soluções possíves é (n 1)! / 2, sendo classfcado na lteratura como NPdfícl, como apresentado em Chaves (2003). Problemas desta natureza são comumente abordados através de heurístcas. Defne-se heurístca como sendo uma técnca que procura boas soluções (próxmas da otmaldade) a um custo computaconal razoável, sem, no entanto, estar capactada a garantr a otmaldade, bem como garantr quão próxma uma determnada solução está da solução ótma. A grande desvantagem das heurístcas clásscas resde na dfculdade de fugr de ótmos locas, o que deu orgem à outra metodologa, chamada de Metaheurístca, que possu ferramentas que possbltam sar destes ótmos locas, permtndo a busca em outras regões do espaço de busca. O grande desafo é produzr, em tempo razoável, soluções tão próxmas quanto possíves da solução ótma. Dentre os procedmentos enquadrados como metaheurístcas que surgram ao longo das últmas décadas, destacam-se: Algortmos Genétcos (AGs) (GOLDBERG, 1989), Smulated Annealng (KIRKPATRICK et al., 1983), Busca Tabu (BT) (GLOVER, 1986), Greedy Randomzed Adaptatve Search Procedure (GRASP) (FEO & RESENDE, 1995), Colôna de Formgas (DORIGO et al., 1996), Varable Neghborhood Search (VNS) (MLADENOVIC & HANSEN, 1997), entre outros. Para a resolução do PCVCP, fez-se uso de concetos de técncas mas recentes, que têm se destacado na solução de problemas altamente combnatóros pelos seus resultados obtdos em dversas aplcações, tas como: Greedy Randomzed Adaptve Search Procedure(GRASP), Varable Neghborhood Search (VNS) e Varable Neghborhood Descent (VND). Há, certamente, outras técncas que poderam ser empregadas, mas preferu-se seleconar GRASP e VNS/VND tendo em vsta a smplcdade dessas técncas e sua efcênca na abordagem de dversos outros problemas combnatóros. De forma a valdar as soluções obtdas pela metodologa heurístca desenvolvda, mplementa-se um modelo exato para encontrar a melhor solução para o problema, sendo este modelo aplcado a problemas de pequeno porte. 2. Modelagem exata A modelagem exata vsa encontrar a melhor solução para o problema, ou seja, o ótmo global, mas devdo à natureza combnatoral do problema, torna-se mpratcável sua aplcação a problemas de porte mas elevado. Dessa forma, sua mportânca resde na valdação da metodologa heurístca proposta. A formulação matemátca pode ser assm defnda: seja G = (N, A) um grafo completo dreconado. Para cada arco (,j) de A é dado um custo c j, e para cada vértce de N, é assocada uma penaldade p, a ser paga se o vértce não compor a rota. Adconalmente, para cada vértce, exste um prêmo w assocado. Os vértces são numerados de 0 até n = N, ENEGEP 2004 ABEPRO 3152
XXIV Encontro Nac. de Eng. de Produção - Floranópols, SC, Brasl, 03 a 05 de nov de 2004 sendo o vértce 0, sem perda de generaldade, assumdo como depósto ou domcílo do caxero vajante. Para este vértce especal, será utlzado w 0 = 0 e p 0 =. Segue uma formulação proposta em 1985 por Egon Balas, Balas (2001), na qual as restrções 2.5 e 2.6 são propostas neste artgo para elmnar a exstênca de subrotas. Assume-se que y é a varável que controla se o vértce é ou não vstado (recebendo o valor 1 caso seja vstado), que x é o vetor de ncdênca assocado à rota (recebendo valor 1 se a aresta j estver na rota) e que f é o fluxo que entra e que sa do vértce. (PCVCP) sujeto à : j j N { } j N { j} N N f x y j j j mnmzar x x w * y j N = = f j y y j w N N 0 j j N {1} = 1,..., n j N f j c x = y j + j = 1,..., n N p (1 y ) = 1,..., n 1 ( 2.1) ( 2.2) ( 2.3) ( 2.4) ( 2.5) ( n 1) xj (, j) A ( 2.6) {0,1} (, j) A ( 2.7) {0,1} = 1,..., n ( 2.8) A restrção 2.2 dz que se o vértce estver na rota, o somatóro das arestas que saem dele tem que ser gual a 1, e 0 caso contráro, a restrção 2.3 dz que se o vértce j estver na rota, o somatóro das arestas que chegam nele tem que ser gual a 1, e 0 caso contráro. A restrção 2.4 assegura que o prêmo coletado na rota será maor ou gual ao prêmo mínmo préestabelecdo. As restrções 2.5 e 2.6 foram propostas neste trabalho para elmnar sub-rotas, a restrção 2.5 garante que o fluxo que chega e que sa do vértce seja gual a 1 caso o vértce seja vstado, e 0 caso contraro, e a restrção 2.6 assegura que o fluxo máxmo que pode passar por uma aresta é o número de vértces menos 1, ou seja, (n-1), pos como tenho n vértces o número máxmo de arestas possíves em uma solução é n - 1. As restrções 2.7 e 2.8 asseguram a ntegraldade e não negatvdade das varáves x e y, respectvamente. Para a resolução desta formulação matemátca, fez-se uso do software LINGO versão 7.0, objetvando encontrar a solução ótma para o PCVCP. Observa-se, entretanto, pela natureza combnatóra do problema abordado, que tal modelo só consegue resolver problemas de pequenas dmensões. Através dos testes demonstrados na seção 4, nota-se que para um número de vértces próxmo a 50, a obtenção da solução por esta metodologa exata já se torna nvável computaconalmente. 3. Modelagem heurístca Para se resolver o PCVCP fez-se uso de metaheurístcas híbrdas, baseadas nas metodologas GRASP (FEO & RESENDE, 1995), Método de Pesqusa em Vznhança Varável, conhecdo na lteratura como Varable Neghborhoord Search (VNS) e Método de Descda em Vznhança Varável, conhecdo na lteratura como Varable Neghborhoord Descent (VND) (MLADENOVIC & HANSEN, 1997). A função a ser mnmzada, que avala o problema do Caxero Vajante com Coleta de ENEGEP 2004 ABEPRO 3153
XXIV Encontro Nac. de Eng. de Produção - Floranópols, SC, Brasl, 03 a 05 de nov de 2004 Prêmos, pode ser assm representada: f ( x) = c x + p (1 y ) + α * max { 0, - j N j N (1) j N N w * y + wo } Como se observa, esta função é composta pelo somatóro dos custos de deslocamento na rota, pelo somatóro das penaldades pagas nos vértces que não foram vstados, e anda, por uma parcela que penalza, através de um peso α, uma solução na qual o somatóro dos prêmos coletados é menor que o prêmo mínmo pré-estabelecdo. As demas restrções foram contempladas através da representação adotada, ou seja, cada vértce só pode ser vstado no máxmo uma vez, não sendo permtdo a formação de cclos na solução. Para resolução do PCVCP mplementou-se cnco tpos de movmentos, os quas serão defndos a segur: m 1 : Retrar vértce de maor economa: Utlzando-se o método Drop-step (GOMES et al., 2000), escolhe-se o vértce que compõe a rota e possu a maor economa postva e este é retrado da solução; m 2 : Inserr vértce de maor economa: Utlzando-se o método Add-step (GOMES et al., 2000), verfca para os vértces que anda não estão na rota, o que possu a maor economa de nserção, e este é nserdo na solução; m 3 : Trocar 2 vértces da solução: Escolhe-se 2 vértces que fazem parte da solução e estes são trocados de posção; m 4 : Retrar vértce: Escolhe-se aleatoramente um vértce que faça parte da solução e este é removdo dela; m 5 : Inserr vértce: Escolhe-se aleatoramente um vértce que não faça parte da solução e este é nserdo nela. Váras estruturas de vznhança foram cradas através destes movmentos, e serão utlzadas na metaheurístca VNS. O algortmo híbrdo, combnando GRASP e VNS, proposto neste trabalho é descrto a segur. Fgura 3.1 Algortmo GRASP + VNS Neste algortmo, executa-se uma fase de construção, que procura construr uma solução vável e de qualdade. Nesta fase de construção, uma lsta de canddatos é crada a cada teração, ENEGEP 2004 ABEPRO 3154
XXIV Encontro Nac. de Eng. de Produção - Floranópols, SC, Brasl, 03 a 05 de nov de 2004 com os elementos que oferecerem as maores economas de nserção, então um elemento desta lsta é escolhdo aleatoramente e nserdo na solução. Este algortmo termna quando não exstr mas economa postva e o prêmo coletado for maor que o prêmo mínmo préestabelecdo. Os resultados obtdos através dos algortmos de construção, não garantem necessaramente a obtenção de um ótmo local. Por sso, é sempre benéfca a fase de busca local. Neste artgo mplementou-se as heurístcas VNS e VND como métodos de refnamento da solução construída. Esses métodos consstem em explorar o espaço de soluções através de trocas sstemátcas de estruturas de vznhança. Esta escolha se justfca pelo fato de que a qualdade das soluções obtdas nos procedmentos que utlzam apenas uma únca estrutura de vznhança podem ser comprometdas se a estrutura escolhda não for adequada. O algortmo VNS aplcado ao problema pode ser descrto conforme a fgura a segur. Fgura 3.2 Algortmo VNS aplcado ao PCVCP A partr da solução ncal gerada, a cada teração selecona-se aleatoramente um vznho s dentre as estruturas de vznhanças defndas. Esse vznho é então submetdo a um procedmento de busca local, no caso o VND. Se a solução ótma local, s, for melhor que a solução s corrente, a busca contnua de s recomeçando da prmera estrutura de vznhança. Caso contráro, contnua-se a busca a partr da próxma estrutura de vznhança. Este procedmento é encerrado quando o tempo de execução sem melhora ultrapassar t segundos. Após ter gerado um vznho da solução corrente na heurístca VNS, é mportante realzar uma busca local encontrando o ótmo local para este vznho. Escolheu-se a heurístca VND, pos esta possu váras estruturas de vznhança, o que possblta escapar de ótmos locas runs. O algortmo VND aplcado ao problema pode ser descrto conforme a fgura 3.3. O método VND faz uso de três heurístcas de refnamento, a saber: SeqDropSeqAdd, que consste em retrar os vértces que possurem economa de remoção postva, e adconar os vértces que possurem economa de nserção postva; 2-Optmal, que examna todas as possvés trocas de 2 arestas, realzando a que fonecer o maor ganho na função de avalação e AddDrop, que conste em nserr o vertce que possur a maor economa de nserção e retrar o vértce que possur a maor economa de remoção. A cada teração é escolhda uma heurístca e procura-se gerar um vznho através de trocas na solução, acetando-se somente soluções de melhora da solução corrente e retornando-se à prmera estrutura quando uma solução melhor é encontrada. ENEGEP 2004 ABEPRO 3155
XXIV Encontro Nac. de Eng. de Produção - Floranópols, SC, Brasl, 03 a 05 de nov de 2004 Fgura 3.3 Algortmo VND Aplcado ao PCVCP 4. Expermentos Computaconas O Problema do Caxero Vajante com Coleta de Prêmos, embora seja um problema com númeras aplcações, anda é pouco explorado pela lteratura afm. Ao que é de nosso conhecmento, dos poucos trabalhos assocados ao PCVCP, não exste nenhuma bbloteca públca de problemas testes. Sendo assm, para avalar a modelagem heurístca proposta neste trabalho, nstâncas foram obtdas da segunte forma: as dstâncas entre as cdades (vértces do grafo) foram geradas aleatoramente no ntervalo [50, 1000], o prêmo e a penaldade assocados a cada uma dessas cdades também foram gerados aleatoramente, consderando respectvamente os ntervalos [1, 100] e [1, 750]. O prêmo mínmo a ser coletado representa 75% do somatóro de todos os prêmos assocados às cdades. A metodologa para a determnação dos prêmos e penaldades fo a utlzada no trabalho de Melo (2001). As nstâncas utlzadas para teste neste artgo encontram-se dsponíves em http://www.decom.ufop.br/prof/marcone/orentacoes/orentacoesconcludas.htm. A segur, apresentam-se os resultados computaconas obtdos com um sgnfcatco número de testes para nstâncas geradas como menconado anterormente. Todos os algortmos foram mplementados na lnguagem C++ e os testes computaconas foram realzados sob o Sstema Operaconal Wndows, e um mcrocomputador com processador Athlon XP de 1,53 Ghz e 256 MB de memóra RAM. Modelo Exato Modelo Heurístco Instânca V Tempo Ótmo Global Tempo M-FO Desvo v10 11 00:01 1765 00:01 1765 0 % v20 21 01:05 2302 00:23 2302 0,36 % v30a 31 01:26 3582 02:40 3582 0,79 % v30b 31 01:40 2515 03:11 2515 1,05 % v30c 31 29:46 3236 02:50 3236 0,65 % v50a 51 180:00-05:26 4378 1,89 % v50b 51 180:00-04:20 3945 1,75 % v100a 101 - - 12:30 7645 1,54 % v100b 101 - - 11:23 7493 1,87 % v250a 251 - - 20:00 18036 1,18 % v250b 251 - - 14:00 17379 1,26 % v500a 501 - - 35:40 33000 0,67 % v500b 501 - - 40:10 33858 0,82 % Tabela 5.1 Expermentos computaconas dos modelos Exato e Heurístco ENEGEP 2004 ABEPRO 3156
XXIV Encontro Nac. de Eng. de Produção - Floranópols, SC, Brasl, 03 a 05 de nov de 2004 No tabela 5.1 tem-se os resultados dos expermentos computaconas. Na prmera coluna estão as nstâncas do problema, na coluna 2, V representa a cardnaldade dos vértces que compõem a nstânca. A tercera e quarta coluna dzem respeto ao modelo exato, e representam respectvamente o tempo de execução e o valor do ótmo global. As colunas 5, 6 e 7 referem-se ao modelo heurístco, na qunta e sexta colunas encontram-se o tempo médo de execução e os melhores valores da função de avalação (M-FO), consegudos com o modelo heurístco, e na sétma coluna tem-se o desvo fornecdo pelos város testes realzados para as nstâncas Para cada nstânca foram realzados trnta testes, e apesar do modelo heurístco não garantr a otmaldade da solução fnal, este tem a capacdade de encontrar boas soluções a um custo computaconal razoável, como pode ser observado no tabela 5.1. Observa-se que para as ntâncas até 30 vértces o ótmo global fo encontrado através do modelo exato, e o modelo heurístco também conseguu encontrar o ótmo global, com um desvo pequeno em relação às soluções geradas. Este fato contrbu para a valdação do modelo heurístco proposto neste trabalho. Observa-se também que para as nstâncas v50a e v50b, as quas o modelo exato não conseguu encontrar nenhuma solução vável em 3 horas de execução, o modelo heurístco encontra soluções váves em menos de 5 mnutos. Para as nstâncas entre 100 e 500 cdades, as soluções foram geradas em um tempo relatvamente pequeno, consderando a complexdade dos problemas, e o desvo também fo pequeno. Apesar de não poder afrmar o quão perto estas soluções estão da solução ótma, o desempenho deste modelo para nstâncas menores possblta dzer que estas devem ser boas soluções. 5. Conclusão Este artgo contrbu com a apresentação de uma metodologa heurístca, baseada em GRASP (Greedy Randomzed Adaptve Search Procedures), VNS (Varable Neghborhood Search) e VND (Varable Neghborhood Descent), para resolver o Problema do Caxero Vajante com Coleta de Prêmos (PCVCP). Fez-se uso de uma formulação de programação matemátca, proposta por Egon Balas, para resolver o PCVCP e possbltar a comparação de resultados relatvos a nstâncas de pequeno porte. Na comparação dos resultados encontrados nas modelagens exata e heurístca, verfca-se que os algortmos heurístcos sempre atngram o ótmo global para as nstâncas onde este é conhecdo. Verfca-se também que a metaheurístca híbrda proposta mostrou-se robusta, pos partndo de dferentes soluções ncas chega-se a soluções fnas que dferem da melhor solução encontrada com um pequeno desvo. Portanto, os resultados obtdos valdam a utlzação desta metaheurístca híbrda para a resolução do Problema do Caxero Vajante com Coleta de Prêmos. Referêncas BALAS, E., (1986) - The prze collectng travelng salesman problem. ORSA/Tms Meetng n Los Angeles. BALAS, E., (2001) - The Prze Collectng Travelng Salesman Problem and Its Applcatons, Management Scence Research Report, MSRR-664. CHAVES, A. A., (2003) - Modelagens Exata e Heurístca para Resolução do Problema do Caxero Vajante com Coleta de Prêmos. Relatóro Técnco DECOM, Unversdade Federal de Ouro Preto, Ouro Preto. Dsponível em http://www.decom.ufop.br/prof/marcone/orentacoes/orentacoesconcludas.htm. DORIGO, M., MANIEZZO, V. & COLORNI, A., (1996) - The Ant System: Optmzaton by a colony of cooperatng agents. IEEE Transactons on Systems, Man, and Cybernetcs-Part B, 26, 1, 29-41. ENEGEP 2004 ABEPRO 3157
XXIV Encontro Nac. de Eng. de Produção - Floranópols, SC, Brasl, 03 a 05 de nov de 2004 FEO, T.A. & RESENDE, M.G.C., (1995) - Greedy randomzed adaptve search procedures, Journal of Global Optmzaton, 6:109-133. GOLDBERG, D. E., (1989) - Genetc Algorthms n Search, Optmzaton and Machne Learnng, Addson- Wesley, Berkeley. GOMES, L., DINIZ, V. & MARTINHON, C.A., (2000) - An Hybrd GRASP+VND Metaheurstc for the Prze- Collectng Travelng Salesman Problem, XXXII Smpóso Braslero de Pesqusa Operaconal, p. 1657-1665. GLOVER, F., Future Paths for Integer Programmng and lnks to Artfcal Intellgence, Computers and Operatons Research, 5:553-549, (1986). MELO, V. A., (2001) - Metaheurístcas para o Problema do Caxero Vajante com Coleta de Prêmos, Dssertação de Mestrado, Insttuto de Computação, Unversdade Federal Flumnense, Nteró. MLADENOVIC, N. & HANSEN, P., (1997) - Varable Neghborhood Search. Computers and Operatons Research, 24:1097-1100. KIRKPATRICK, S, GELLAT, D.C. & VECCHI, M.P., (1983) - Optmzaton by Smulated Annealng, Scence, 220 (4598): 671-680. ENEGEP 2004 ABEPRO 3158