xxxvi simpósio brasileiro de pesquisa operacional

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

Upload: corbin

Post on 05-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

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) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: XXXVI Simpósio Brasileiro de Pesquisa Operacional

XXXVI Simpósio Brasileiro de

Pesquisa Operacional

São João del-Rei, 23 a 26 de novembro de 2004

XXXVI SBPOXXXVI SBPOXXXVI SBPOXXXVI SBPO

Page 2: XXXVI Simpósio Brasileiro de Pesquisa Operacional

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)

Page 3: XXXVI Simpósio Brasileiro de Pesquisa Operacional

Roteiro

• INTRODUÇÃO

• PROBLEMA DO CAIXEIRO VIAJANTE COM COLETA DE PRÊMIOS

• MODELAGEM– PROGRAMAÇÃO MATEMÁTICA (EXATA)

– HEURÍSTICA

• RESULTADOS COMPUTACIONAIS

• CONCLUSÃO

Page 4: XXXVI Simpósio Brasileiro de Pesquisa Operacional

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

Page 5: XXXVI Simpósio Brasileiro de Pesquisa Operacional

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

Page 6: XXXVI Simpósio Brasileiro de Pesquisa Operacional

DEPÓSITO

1

2 3

4

5

w3 / p3w2 / p2

w1 / p1

w5 / p5

w4 / p4C12

C02

C24

C23

C01

C13

C14

C34

C45

C15

C25

C03C35

C04

C05

Depósito: w = 0 p =

Problema do Caixeiro Viajante com Coleta de Prêmios (PCVCP)

Page 7: XXXVI Simpósio Brasileiro de Pesquisa Operacional

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

Page 8: XXXVI Simpósio Brasileiro de Pesquisa Operacional

Formulação Matemática

(7) }1,0{

(6) ),(}1,0{

(5) ),(1||

(4) }0{\

(3)

(2) }0{\

(1) }0{\

:àsujeito

)1( minimizar (PCVCP)

min

}{\

}{\

Viy

Ejix

EjixVf

Viyff

wyw

Vjyx

Viyx

ypxc

j

ij

ijij

iVj

jiVj

ij

Viii

jjVi

ij

iiVj

ij

iVi

iVi

ijVj

ij

Page 9: XXXVI Simpósio Brasileiro de Pesquisa Operacional

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

Page 10: XXXVI Simpósio Brasileiro de Pesquisa Operacional

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.

} *- 0, {max * )1( )( min wywypxcxfVi

iiiVi

iVi Vj

ijij

Page 11: XXXVI Simpósio Brasileiro de Pesquisa Operacional

Estruturas de Vizinhança

m1: Retirar vértice de maior economia

economia (k) = cik + ckj – cij – pk

N1(s) = {s’ : s + m1}

Solução (s) 0 3 1 5

vértice com maior economia de remoção

Solução (s’) 0 3 5

i

k

j

Page 12: XXXVI Simpósio Brasileiro de Pesquisa Operacional

Estruturas de Vizinhança

m2: Inserir vértice de maior economia

economia (k) = cij + pk – cik – ckj

N2(s) = {s’ : s + m2}

Solução (s) 0 3 1 5

Solução (s’) 0 3 1 52

vértice com maior economia de inserção

k

i

j

Page 13: XXXVI Simpósio Brasileiro de Pesquisa Operacional

Estruturas de Vizinhança

m3: Trocar 2 vértices da solução;

N3(s) = {s’ : s + m3}

Solução (s) 0 3 1 5

Solução (s’) 0 5 1 3

Page 14: XXXVI Simpósio Brasileiro de Pesquisa Operacional

Estruturas de Vizinhança

m4: Retirar vértice aleatoriamente;

N4(s) = {s’ : s + m4}

Solução (s) 0 3 1 5

vértice escolhido aleatoriamente

Solução (s’) 0 1 5

Page 15: XXXVI Simpósio Brasileiro de Pesquisa Operacional

Estruturas de Vizinhança

m5: Inserir vértice aleatoriamente;

N5(s) = {s’ : s + m5}

Solução (s) 0 3 1 5

Solução (s’) 0 3 4 51

vértice escolhido aleatoriamente

Page 16: XXXVI Simpósio Brasileiro de Pesquisa Operacional

GRASP + VNS

Fase de Busca LocalAplicar VNS

Lista de Candidatos

LCR

GRASPFase de Construção

1. Criar uma lista de candidatos calculando a economia de inserção dos vértices que não fazem parte da rota

2. Definir a LCR como as 10 maiores economias de inserção

3. Escolher aleatoriamente um candidato da LCR e inserir na rota

4. Atualizar a lista de candidatos

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

Page 17: XXXVI Simpósio Brasileiro de Pesquisa Operacional

Algoritmo GRASP + VNS

Procedimento GRASP+VNSf* ;// Fase de Construçãopara 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);

fim-para;s s*;// Fase de Busca LocalAplicar VNS(s);

fim GRASP+VNS

Page 18: XXXVI Simpósio Brasileiro de Pesquisa Operacional

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’’; k 1;

senão k k + 1;

fim-enquanto;fim-enquanto;Retorne s;

fim VNS

Page 19: XXXVI Simpósio Brasileiro de Pesquisa Operacional

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’; k 1;

senãok k + 1;

fim-enquantoRetorne s;

fim VND

Page 20: XXXVI Simpósio Brasileiro de Pesquisa Operacional

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) 0 3 1 5

Solução (s’) 0 1 2 5

0 3 1 52

vértice com maior economia de inserção

e(k) = cik + ckj – cij – pk

0 3 1

vértice com maior economia de remoção

e(k) = cij + pk – cik – ckj52

Page 21: XXXVI Simpósio Brasileiro de Pesquisa Operacional

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.

Page 22: XXXVI Simpósio Brasileiro de Pesquisa Operacional

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.

4

26

3

1

5

1 2 5 4 3 6

26

3

1

5

1 2 3 4 5 6

4

Page 23: XXXVI Simpósio Brasileiro de Pesquisa Operacional

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

Page 24: XXXVI Simpósio Brasileiro de Pesquisa Operacional

Experimentos Computacionais

Instância | V | Ótimo Global Tempo FOMelhor Desviov10 11 1765 1 1765 0,00%v20 21 2302 2 2302 0,00%v30a 31 3582 6 3582 0,00%v30b 31 2515 4 2515 0,00%v30c 31 3236 11 3236 0,05%v50a 51 Não encontrado 326 4328 0,42%v50b 51 Não encontrado 292 3872 0,31%

Comparação de Resultados entre o Modelo Exato e o Modelo Heurístico

Modelo Exato Modelo Heurístico

1001786

1080010800

Tempo16586

100

FOMelhor

FOMelhorFOMediaDesvio =

Page 25: XXXVI Simpósio Brasileiro de Pesquisa Operacional

Experimentos Computacionais

Instância | V | Tempo FOMelhor Desviov100a 101 510 6892 0,52%v100b 101 446 6814 0,12%v250a 251 1033 15310 0,88%v250b 251 796 14378 0,76%v500a 501 2140 28842 0,67%v500b 501 2410 28524 0,82%

Resultados - Modelo Heurístico

Page 26: XXXVI Simpósio Brasileiro de Pesquisa Operacional

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;

Page 27: XXXVI Simpósio Brasileiro de Pesquisa Operacional

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);