1 / 27

XXXVI Simpósio Brasileiro de Pesquisa Operacional

XXXVI SBPO. XXXVI SBPO. XXXVI Simpósio Brasileiro de Pesquisa Operacional. São João del-Rei, 23 a 26 de novembro de 2004. Modelagens Exata e Heurística para uma Generalização do Problema do Caixeiro Viajante. Autores: Antonio Augusto Chaves (INPE)

corbin
Download Presentation

XXXVI Simpósio Brasileiro de Pesquisa Operacional

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XXXVI SBPO XXXVI SBPO XXXVI Simpósio Brasileiro de Pesquisa Operacional São João del-Rei, 23 a 26 de novembro de 2004

  2. Modelagens Exata e Heurística para uma Generalização do Problema do Caixeiro Viajante Autores: Antonio Augusto Chaves (INPE) Fabrício Lacerda Biajoli (INPE) Otávio Massashi Mine (UFES) Marcone Jamilson Freitas Souza (UFOP)

  3. Roteiro • INTRODUÇÃO • PROBLEMA DO CAIXEIRO VIAJANTE COM COLETA DE PRÊMIOS • MODELAGEM • PROGRAMAÇÃO MATEMÁTICA (EXATA) • HEURÍSTICA • RESULTADOS COMPUTACIONAIS • CONCLUSÃO

  4. Introdução • Justificatica do trabalho • fácil adaptação a situações da vida real • existem poucos trabalhos sobre este problema • número elevado de soluções existentes (n - 1)! / 2 • Utiliza-se uma formulação matemática proposta por Egon Balas para encontrar a solução ótima para o problema • Utiliza-se Greedy Randomized Adaptive Search Procedure (GRASP), Variable Neighborhood Search (VNS) e Variable Neighborhood Descent (VND) para solucionar aproximadamente o problema

  5. Problema do Caixeiro Viajante com Coleta de Prêmios (PCVCP) • Dado um conjunto de clientes com um custo de deslocamento entre eles, o PCVCP consiste em determinar uma rota para um Caixeiro Viajante, sabendo-se que para cada cliente visitado é coletado um prêmio e para cada cliente não visitado é pago uma penalidade. • Objetivos: • Minimizar o custo de deslocamento total • Minimizar a soma das penalidades • Coletar um prêmio mínimo pré-estabelecido

  6. Problema do Caixeiro Viajante com Coleta de Prêmios (PCVCP) w5 / p5 5 w1 / p1 C15 C45 C05 C14 1 C01 DEPÓSITO 4 C13 C04 C12 w4 / p4 C25 C02 C35 C03 C34 C24 2 3 C23 w3 / p3 w2 / p2 Depósito: w = 0 p = 

  7. Modelagem Exata • Encontrar o ótimo global • Implementada a partir da formulação matemática proposta por Egon Balas em 1985 • Utilizou-se o software LINGO versão 7.0 • Devido à natureza combinatorial do problema, somente problemas de pequenas dimensões podem ser resolvidos através desse procedimento • Importância: permite a validação das soluções obtidas pela metodologia heurística desenvolvida

  8. Formulação Matemática

  9. Modelagem Heurística • Procura encontrar boas soluções a um custo computacional razoável, sem no entanto, garantir a otimalidade das solução finais obtidas, nem o quão próximo esta solução está da solução ótima; • Utilizou-se o conceito de metaheurísticas híbridas combinando GRASP e VNS

  10. Função de Avaliação • Uma solução é avaliada pela seguinte função de avaliação: • As demais restrições foram contempladas através da representação adotada.

  11. Estruturas de Vizinhança k j i vértice com maior economia de remoção Solução (s) 3 1 5 0 Solução (s’) 3 0 5 m1: Retirar vértice de maior economia economia (k) = cik + ckj – cij – pk N1(s) = {s’ : s + m1}

  12. Estruturas de Vizinhança i k j Solução (s) 3 1 5 0 Solução (s’) 2 3 1 5 0 vértice com maior economia de inserção m2: Inserir vértice de maior economia economia (k) = cij + pk – cik – ckj N2(s) = {s’ : s + m2}

  13. Estruturas de Vizinhança Solução (s) 3 1 5 0 Solução (s’) 5 1 3 0 m3: Trocar 2 vértices da solução; N3(s) = {s’ : s + m3}

  14. Estruturas de Vizinhança vértice escolhido aleatoriamente Solução (s) 3 1 5 0 Solução (s’) 1 0 5 m4: Retirar vértice aleatoriamente; N4(s) = {s’ : s + m4}

  15. Estruturas de Vizinhança Solução (s) 3 1 5 0 Solução (s’) 1 3 4 5 0 vértice escolhido aleatoriamente m5: Inserir vértice aleatoriamente; N5(s) = {s’ : s + m5}

  16. GRASP + VNS Lista de Candidatos LCR • GRASP • Fase de Construção • Criar uma lista de candidatos calculando a economia de inserção dos vértices que não fazem parte da rota • Definir a LCR como as 10 maiores economias de inserção • Escolher aleatoriamente um candidato da LCR e inserir na rota • Atualizar a lista de candidatos Fase de Busca Local • Aplicar VNS • Este procedimento é executado enquanto o prêmio mínimo não for coletado ou existir economia positiva • Aplicação de filtro na fase de construção

  17. Algoritmo GRASP + VNS • Procedimento GRASP+VNS • f* ; • // Fase de Construção • paraj = 1, ..., MaxIterfaça • s ; • Inserir a origem em s; • para todo k não pertencente a sfaça • Calcule a economia de inserção; • fim-para; • enquanto prêmio < wmin ou existir economia positiva faça • LCR  Lista dos vértices com maior economia; • Selecione aleatoriamente um vértice v  LCR; • s  s  {v}; • Atualizar Lista de Candidatos; • fim-enquanto; • sef(s) < f* entãos* s; f* f(s); • fim-para; • s s*; • // Fase de Busca Local • Aplicar VNS(s); • fim GRASP+VNS

  18. VNS Aplicado ao PCVCP • Procedimento VNS(s) • r Número de vizinhanças (no caso, r=5); • enquanto tempo sem melhora < MaxTempofaça • k  1; • enquantok rfaça • Selecione um vizinho s’ qualquer na vizinhança Nk(s); • s’’  VND(s’); • sef(s’’) < f(s) então • s s’’; • k  1; • senão • k k + 1; • fim-enquanto; • fim-enquanto; • Retorne s; • fim VNS

  19. VND Aplicado ao PCVCP • Procedimento VND(s) • r = Número de procedimentos de refinamento; • k 1; • enquantok rfaça • Seja s’ um ótimo local segundo o k-ésimo procedimento de refinamento; • sef(s’) < f(s) então • s s’; • k  1; • senão • k k + 1; • fim-enquanto • Retorne s; • fim VND

  20. Procedimentos de Refinamento Solução (s) 3 1 5 0 vértice com maior economia de inserção 2 3 1 5 0 e(k) = cik + ckj – cij – pk 2 3 5 1 0 e(k) = cij + pk – cik – ckj vértice com maior economia de remoção Solução (s’) 1 2 5 0 Método AddDrop • Consiste em inserir o vértice que possuir a maior economia de inserção e retirar o vértice que possuir a maior economia de remoção.

  21. Procedimentos de Refinamento Método SeqDropSeqAdd • Método iterativo, que consiste em duas fases. • Na primeira fase, retira-se, a cada iteração, o vértice que fornecer a maior economia de remoção, sendo executado enquanto houver vértices com economia de remoção positiva. • Na segunda fase, insere-se, a cada iteração, o vértice que fornecer a maior economia de inserção, sendo executado enquanto houver vértices com economia de inserção positiva.

  22. Procedimentos de Refinamento 1 2 3 4 5 6 1 2 5 4 3 6 1 1 2 6 2 6 3 3 5 5 4 4 Método Descida 2-Optimal • Examina todas as possíveis trocas de 2 arestas, realizando a que fornecer o maior ganho na função de avaliação, sendo executado enquanto existir movimento de melhora.

  23. Experimentos Computacionais • Não existe nenhuma biblioteca pública de problemas-teste para o PCVCP; • Todas as instâncias foram geradas aleatoriamente: • Custo de deslocamento: [50, 1000] • Prêmio: [1, 100] • Penalidade: [1, 750] Instâncias disponíveis em: http://www.decom.ufop.br/prof/marcone/Orientacoes/OrientacoesConcluidas.htm • Ambiente computacional: • Linguagem C++ (C++ Builder 5.0) • PC Athlon XP 1.53 GHZ, 256 MB RAM

  24. Experimentos Computacionais Desvio =

  25. Experimentos Computacionais

  26. Conclusões • Os algoritmos heurísticos sempre atingiram o ótimo global para instâncias onde este é conhecido; • A metaheurística híbrida proposta mostrou-se robusta; • Os resultados obtidos validam a utilização desta metodologia para a resolução do Problema do Caixeiro Viajante com Coleta de Prêmios;

  27. Referências Bibliográficas • BALAS, E., The prize collecting traveling salesman problem. ORSA/Tims Meeting in Los Angeles, (1986). • CHAVES, A. A., Modelagens Exata e Heurística para Resolução do Problema do Caixeiro Viajante com Coleta de Prêmios. Relatório Técnico em Ciência da Computação – DECOM, Universidade Federal de Ouro Preto, Ouro Preto (2003). • Dell’ Amico, M., Maffioli, F., sciomachen, A., A Lagrangian heuristic for the Prize Collecting Travelling Salesman Problem. Annals of Operations Research, 81: 289-306, (1998). • MELO, V. A., Metaheurísticas para o Problema do Caixeiro Viajante com Coleta de Prêmios, Dissertação de Mestrado, Instituto de Computação, Universidade Federal Fluminense, Niterói, Rio de Janeiro (2001);

More Related