Carregar apresentação
A apresentação está carregando. Por favor, espere
1
São João del-Rei, 23 a 26 de novembro de 2004
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)
DEPÓSITO 1 2 3 4 5 w3 / p3 w2 / p2 w1 / p1 w5 / p5 w4 / p4 C12 C02 C24 C23 C01 C13 C14 C34 C45 C15 C25 C03 C35 C04 C05 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
m1: Retirar vértice de maior economia economia (k) = cik + ckj – cij – pk N1(s) = {s’ : s + m1} i k j Solução (s) 3 1 5 vértice com maior economia de remoção Solução (s’)
12
Estruturas de Vizinhança
m2: Inserir vértice de maior economia economia (k) = cij + pk – cik – ckj N2(s) = {s’ : s + m2} k i j Solução (s) 3 1 5 Solução (s’) 2 vértice com maior economia de inserção
13
Estruturas de Vizinhança
m3: Trocar 2 vértices da solução; N3(s) = {s’ : s + m3} Solução (s) 3 1 5 Solução (s’)
14
Estruturas de Vizinhança
m4: Retirar vértice aleatoriamente; N4(s) = {s’ : s + m4} Solução (s) 3 1 5 vértice escolhido aleatoriamente Solução (s’)
15
Estruturas de Vizinhança
m5: Inserir vértice aleatoriamente; N5(s) = {s’ : s + m5} Solução (s) 3 1 5 Solução (s’) 4 vértice escolhido aleatoriamente
16
GRASP + VNS GRASP Fase de Construção Fase de Busca Local
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 Lista de Candidatos LCR 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 Fase de Busca Local Aplicar VNS
17
Algoritmo GRASP + VNS Procedimento GRASP+VNS f* ;
// Fase de Construção para j = 1, ..., MaxIter faça s ; Inserir a origem em s; para todo k não pertencente a s faç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; se f(s) < f* então s* s; f* f(s); 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 < MaxTempo faça k 1; enquanto k r faça Selecione um vizinho s’ qualquer na vizinhança Nk(s); s’’ VND(s’); se f(s’’) < f(s) então s s’’; senão k k + 1; fim-enquanto; Retorne s; fim VNS
19
VND Aplicado ao PCVCP Procedimento VND(s)
r = Número de procedimentos de refinamento; k 1; enquanto k r faça Seja s’ um ótimo local segundo o k-ésimo procedimento de refinamento; se f(s’) < f(s) então s s’; senão k k + 1; fim-enquanto Retorne s; fim VND
20
Procedimentos de Refinamento
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. Solução (s) 3 1 5 Solução (s’) 2 vértice com maior economia de inserção e(k) = cik + ckj – cij – pk vértice com maior economia de remoção e(k) = cij + pk – cik – ckj
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
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. 2 6 3 1 5 4 4 2 6 3 1 5
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: 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: , (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);
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.