Introdução aos Problemas de Roteirização e Programação de Veículos

Documentos relacionados
CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

METAHEURÍSTICA Encontrar soluções boas ou até mesmo ótima

Iterated Local Search. Helena R. Lorenço, Olivier Martinz and THOMAS STUTZLE

Introdução aos Problemas de Roteirização e Programação de Veículos

Sistemas de Produção em Fluxo

5 VNS com Filtro e Reconexão por Caminhos

Unidade de Matemática e Tecnologia, Universidade Federal de Goiás Regional Catalão

Investigação Operacional

UMA SOLUÇÃO DO PROBLEMA DE ROTEAMENTO ABERTO DE VEÍCULOS COM JANELAS DE TEMPO UTILIZANDO METAHEURÍSTICAS GRASP E ILS

UM ALGORITMO HÍBRIDO PARA A SOLUÇÃO DO PROBLEMA DE ROTEAMENTO DE VEÍCULOS COM COLETA E ENTREGA E JANELA DE TEMPO

GRASP para o Problema do Caixeiro Viajante com Limite de Calado

RESOLUÇÃO DO PROBLEMA DAS P-MEDIANAS POR MEIO DE ALGORITMOS BASEADOS EM GRASP, ILS E MULTI-START

Busca Local Iterada. Universidade Federal do Paraná UFPR Curso de Ciência da Computação CI801 Tópicos em Inteligência Artificial

Ummétodohíbridoparaescalonar turnosdeenfermeiras

Avaliação de Heurísticas de Melhoramento e da Metaheurística Busca Tabu para Solução de PRV

Problemas de otimização

HEURÍSTICAS GRASP PARA O PROBLEMA DE ALOCAÇÃO DINÂMICA DE ESPAÇOS

HEURÍSTICAS GRASP PARA A MINIMIZAÇÃO DO ATRASO TOTAL NO PROBLEMA DE PROGRAMAÇÃO DE TAREFAS EM UMA MÁQUINA COM SETUP TIME

ALGORITMO DE BUSCA TABU APLICADO NA SOLUÇÃO DO PROBLEMA DE MÚLTIPLAS MOCHILAS.

Implementação da Metaheurística GRASP para o Problema do Caixeiro Viajante Simétrico

Pesquisa Operacional Aplicada à Mineração

Metaheurísticas. Gustavo Peixoto Silva

Heurística GRASP para o problema de p-medianas aplicado à localização de concentradores

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

HEURÍSTICAS HÍBRIDAS PARA O PROBLEMA DE ROTEAMENTO DE VEÍCULOS COM COLETA E ENTREGA SIMULTÂNEAS E JANELA DE TEMPO

Tópicos em Métodos Heurísticos META-HEURÍSTICAS

2. Problemas Abordados e Técnicas Utilizadas 3. Arquitetura do Modelo

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

Aplicação Conjunta do Método de Dijkstra e Otimização Combinatória para Solução do Problema do Caixeiro Viajante

Metaheurísticas Populacionais Baseado no livro METAHEURISTICS - From Design to Implementation El-Ghazali Talbi. Gustavo Peixoto Silva

UTILIZAÇÃO DA HEURÍSTICA VNS PARA OTIMIZAÇÃO DE UM MODELO DE TRÁFEGO VEICULAR. Use of VNS heuristics for optimization of a vehicular traffic model

UMA HEURÍSTICA GRASP PARA O PROBLEMA DE PROGRAMAÇÃO FLOWSHOP MULTICRITÉRIO

4 Métodos Existentes. 4.1 Algoritmo Genético

ANÁLISE DE RESULTADOS NA CONSTRUÇÃO DE ROTA PARA O PROBLEMA DO CAIXEIRO VIAJANTE

GRASP com Memória Adaptativa na solução de um Problema de Roteamento de Veículos com Múltiplas Origens

Uma heurística híbrida para o Problema do Caixeiro Viajante com Coleta e Entrega envolvendo um único tipo de produto

Metaheurísticas híbridas para resolução do problema do caixeiro viajante com coleta de prêmios

O PROBLEMA DA ÁRVORE CAPACITADA COM DEMANDAS NÃO- UNITÁRIAS: HEURÍSTICA COM FATOR PESO x CUSTO

Algoritmos Multi-Start, GRASP e ILS Aplicados ao Problema de P-Medianas

Uma Heurística GRASP Híbrida para um Problema de Otimização Combinatória Multiobjetivo

INFORMAÇÕES GERAIS DO TRABALHO

HEURÍSTICA GRASP PARA O PROBLEMA DE ROTEAMENTO DE VEÍCULOS COM COLETA E ENTREGA SIMULTÂNEA

Universidade Federal Fluminense

UM ALGORITMO HEURÍSTICO HÍBRIDO PARA O PLANEJAMENTO OPERACIONAL DE LAVRA

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

Um estudo das heurísticas Simulated Annealing e VNS aplicadas ao problema de programação de tripulações

METAHEURÍSTICAS VNS-VND E GRASP-VND PARA PROBLEMAS DE ROTEAMENTO DE VEÍCULOS COM COLETA E ENTREGA SIMULTÂNEA

Heurística GRASP-VND para o Problema de Roteamento de Veículos com Cross-Docking

Fabiano Vieira de Alvarenga, Marcelo Lisboa Rocha

APLICAÇÃO DE UMA HEURÍSTICA GRASP PARALELA AO PROBLEMA DA P-MEDIANA

Otimização por Colônia de Formigas (Ant Colony Optimization - ACO)

Análise da Performance de um Modelo de Escalonamento Baseado em Pesquisa Tabu Aplicado em um Sistema de Manufatura Flexível

Algoritmo busca tabu para a minimização do tempo de processamento e atrasos de entrega em sistemas de produção flowshop permutacional

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves


DEPARTAMENTO DE COMPUTAÇÃO D E C O M

HEURÍSTICAS GRASP PARA O PROBLEMA DE ALOCAÇÃO DINÂMICA DE ESPAÇOS HEURISTIC GRASP TO THE PROBLEM OF ALLOCATION DYNAMICS OF SPACES

VARIABLE NEIGHBORHOOD SEARCH E ITERATED LOCAL SEARCH APLICADOS AO PROBLEMA DE REDE DE TRANSPORTE RODOVIÁRIO COM CARGA FRACIONADA

DEPARTAMENTO DE COMPUTAÇÃO

Uma Introdução à Busca Tabu André Gomes

1 - INTRODUÇÃO. Tabu) [17]; Greedy Randomized Adaptive Search Procedure (GRASP) [12]; Variable

OTIMIZAÇÃO DO PROJETO DE REDES URBANAS BASEADO NO PROBLEMA DE STEINER

UMA HEURÍSTICA BASEADA EM GRASP PARA O PROBLEMA DO CLIQUE MÁXIMO. Daniel C. Miranda DCC-UFMG

Busca Tabu. Marcone Jamilson Freitas Souza. Universidade Federal de Ouro Preto

Um GRASP Simples e Robusto para o Job Shop Scheduling Problem

OPEN DIMENSIONAL CUTTING PROBLEM: UMA ABORDAGEM HÍBRIDA VIA GRASP E ILS

HEURÍSTICA PARA O PROBLEMA DE SINTERIZAÇÃO DE LIGA METÁLICA E DIAMANTE PARA A PRODUÇÃO DE FERRAMENTAS DIAMANTADAS

PGGVNS: UM ALGORITMO PARALELO PARA O PROBLEMA DE PLANEJAMENTO OPERACIONAL DE LAVRA

Uma solução exata para o Problema de Localização de Concentradores com Alocação Múltipla

Nuno Miguel Duarte Sequeira André VARIABLE NEIGHBOURHOOD SEARCH

Problema de Formação de Células de Manufatura com Roteiros Alternativos e Considerações de Capacidade

Um Modelo Baseado na Busca Tabu Aplicado ao Problema do Escalonamento do Job-shop com Setup e Data de Entrega

METAHEURÍSTICA VARIABLE NEIGHBORHOOD SEARCH NA OTIMIZAÇÃO DE ESCALAS DE MOTORISTAS DE TRANSPORTE PÚBLICO URBANO

UM ALGORITMO GRASP PARA O SALBP-2

O Problema da Diversidade Máxima: Proposta e

HEURÍSTICA GRASP APLICADO AO PROBLEMA DE ALOCAÇÃO DE ANTENAS DE TRANSMISSÃO

O PROBLEMA DO CICLO DOMINANTE

UTILIZAÇÃO DOS MÉTODOS DE OTIMIZAÇÃO EM PROBLEMAS DE TIMETABLING

METAHEURÍSTICA GRASP E VNS APLICADA AO PROBLEMA DE ROTEAMENTO DE VEÍCULOS COM BACKHAULS E FROTA HETEROGÊNEA FIXA

ARTIGO ORIGINAL. Algoritmos GRASP e VNS para o Problema de Agendamento de Cirurgias Eletivas em Hospitais de Grande Porte


GRASP: a influência da lista restrita de candidatos nas soluções iniciais para otimização do corte unidimensional

GRASP com Memória Adaptativa Aplicado ao Problema de Roteamento e Scheduling de Sondas de Manutenção

META-HEURÍSTICA GRASP APLICADA AO PROBLEMA DO CORTE BIDIMENSIONAL NÃO-GUILHOTINADO

Optimização de um Plano de Marketing Directo para o Sector da Banca Daniel Barata

Outras estratégias de Busca. February 27, 2017

UMA METAHEURÍSTICA HÍBRIDA GRASP+TABU PARA O PROBLEMA DE ROTEAMENTO PERIÓDICO DE UMA FROTA DE VEÍCULOS

APLICAÇÃO DO MÉTODO GRASP NO PROBLEMA DE POSICIONAMENTO DE RADARES DE VIGILÂNCIA

UMA ABORDAGEM METAHEURÍSTICA PARA O PROBLEMA DE ROTEAMENTO DE VEÍCULOS COM JANELAS DE TEMPO E MÚLTIPLOS ENTREGADORES

METAHEURÍSTICAS HÍBRIDAS PARA O PROBLEMA DO CAIXEIRO VIAJANTE COM COLETA DE PRÊMIOS

O PROBLEMA DE ROTEAMENTO DE VEÍCULOS PARA COLETA DE LIXO COM JANELAS DE TEMPO: ABORDAGEM HEURÍSTICA

RESOLUÇÃO DO PROBLEMA DE ROTEAMENTO DE VEÍCULOS COM BACKHAULS COM HEURÍSTICA BASEADA EM BUSCA LOCAL

GRASP COM PATH RELINKING PARA UM PROBLEMA DE PLANEJAMENTO FLORESTAL

XLVII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL

Artigo aceito para o XXXVII SBPO 2005 Gramado/RS HEURÍSTICAS E METAHEURÍSTICAS PARA O PROBLEMA DO CAIXEIRO VIAJANTE BRANCO E PRETO

de palavras cruzadas

Anais do IX Congresso Brasileiro de Redes Neurais / Inteligência Computacional (IX CBRN)

Aplicação da metaheurística GRASP ao Problema do Maior Conjunto Controlado Generalizado

Transcrição:

Introdução aos Problemas de Roteirização e Programação de Veículos PNV-2450 André Bergsten Mendes

HEURÍSTICA DE INSERÇÃO DE SOLOMON (VRPTW)

Exercício Para o problema de roteirização com janela de tempo indicado na tabela, gere uma solução por meio da Heurística de Inserção de Solomon. Adote os valores que julgar conveniente para α1, α2, μ e λ.

Exercício 7 clientes (os clientes 0 e 8 referem-se à base) A operação de distribuição inicia-se às 7hs, com os veículos já carregados, e é encerrada às 18hs Há, no máximo, 3 veículos homogêneos, com capacidade igual a 50 unidades de carga, cada As colunas a e b referem-se aos limites inferior e superior da janela de tempo para chegada aos clientes A coluna Serviço indica o tempo de atendimento do veículo junto a cada cliente

Exercício Cliente Demanda Serviço a (h) b (h) (unidades) (h) 0 0 7 18 0 1 10 8 8,5 1 2 7 11,5 13 1 3 13 12 14 1 4 19 9 10 1 5 26 15 15,5 1 6 9 14 15 1 7 11 16 17 1 8 0 7 18 0

Matriz de Distância (km) 0 1 2 3 4 5 6 7 8 0 0 15,2 18 22,3 25 20,6 11,1 21,2 0 1 15,2 0 32,5 14,5 32,2 32,2 24,8 21 15,2 2 18 32,5 0 34,4 20,2 23,8 16,4 36,2 18 3 22,3 14,5 34,4 0 25 42,7 33,5 35,3 22,3 4 25 32,2 20,2 25 0 41,2 31,6 46 25 5 20,6 32,2 23,8 42,7 41,2 0 10 20,6 20,6 6 11,1 24,8 16,4 33,5 31,6 10 0 20,6 11,1 7 21,2 21 36,2 35,3 46 20,6 20,6 0 21,2 8 0 15,2 18 22,3 25 20,6 11,1 21,2 0

Tempo de Deslocamento (h) 0 1 2 3 4 5 6 7 8 0 0 0,7 0,9 1,1 1,2 1 0,5 1 0 1 0,7 0 1,6 0,7 1,6 1,6 1,2 1 0,7 2 0,9 1,6 0 1,7 1 1,1 0,8 1,8 0,9 3 1,1 0,7 1,7 0 1,2 2,1 1,6 1,7 1,1 4 1,2 1,6 1 1,2 0 2 1,5 2,3 1,2 5 1 1,6 1,1 2,1 2 0 0,5 1 1 6 0,5 1,2 0,8 1,6 1,5 0,5 0 1 0,5 7 1 1 1,8 1,7 2,3 1 1 0 1 8 0 0,7 0,9 1,1 1,2 1 0,5 1 0

Heurística de Inserção de Solomon 60 Localização Depósito & Clientes 50 7 1 3 40 0 30 5 6 20 2 4 10 0 0 10 20 30 40 50 60

Heurística de Inserção de Solomon Inicialização da primeira rota: cliente 1, pois possui janela de tempo mais apertada Cliente Demanda (unidades) a (h) b (h) Serviço (h) 0 0 7 18 0 1 10 8 8,5 1 2 7 11,5 13 1 3 13 12 14 1 4 19 9 10 1 5 26 15 15,5 1 6 9 14 15 1 7 11 16 17 1 8 0 7 18 0

Heurística de Inserção de Solomon Possíveis inserções: Dem Ac. Inst. Cheg. Janela c1 0 1 2 8 17 10,6 11,5 13,0 35,3 0 1 3 8 23 9,7 12,0 14,0 21,6 0 1 4 8 29 10,6 9,0 10,0 0 1 5 8 36 10,6 15,0 15,5 37,6 0 1 6 8 19 10,2 14,0 15,0 20,7 0 1 7 8 21 10,0 16,0 17,0 27,0 c2-17,3 0,7-17,0-9,6-5,8

Heurística de Inserção de Solomon 60 Localização Depósito & Clientes 50 7 1 3 40 0 30 5 6 20 2 4 10 0 0 10 20 30 40 50 60

Heurística de Inserção de Solomon Possíveis inserções: Dem Ac. Inst. Cheg. Janela c1 0 1 2 3 8 30 10,6 11,5 13,0 0 1 3 2 8 30 14,7 11,5 13,0 0 1 4 3 8 42 10,6 9,0 10,0 0 1 3 5 8 49 15,1 15,0 15,5 41,0 0 1 3 6 8 32 14,6 14,0 15,0 22,3 0 1 3 7 8 34 14,7 16,0 17,0 34,2 c2-20,4-11,2-13,0

Heurística de Inserção de Solomon 60 Localização Depósito & Clientes 50 7 1 3 40 0 30 5 6 20 2 4 10 0 0 10 20 30 40 50 60

Heurística de Inserção de Solomon Inicialização da segunda rota: cliente 4, pois possui janela de tempo mais apertada Cliente Demanda (unid) a b Serviço (h) 0 0 7,0 18,0 0 1 10 8,0 8,5 1 2 7 11,5 13,0 1 3 13 12,0 14,0 1 4 19 9,0 10,0 1 5 26 15,0 15,5 1 6 9 14,0 15,0 1 7 11 16,0 17,0 1 8 0 7,0 18,0 0

Heurística de Inserção de Solomon Possíveis inserções: Dem Ac. Inst. Cheg. Janela c1 0 4 2 8 26 11,0 11,5 13,0 13,2 0 4 5 8 45 12,0 15,0 15,5 36,8 0 4 7 8 30 12,3 16,0 17,0 42,2 c2 4,8-16,2-21,0

Heurística de Inserção de Solomon 60 Localização Depósito & Clientes 50 7 1 3 40 0 30 5 6 20 2 4 10 0 0 10 20 30 40 50 60

Heurística de Inserção de Solomon Possíveis inserções: Dem Ac. Inst. Cheg. Janela c1 0 4 2 7 8 37 13,8 16,0 17,0 54,4 0 4 2 5 8 52 15,0 15,5 c2-33,2

Heurística de Inserção de Solomon 60 Localização Depósito & Clientes 50 7 1 3 40 0 30 5 6 20 2 4 10 0 0 10 20 30 40 50 60

Heurística de Inserção de Solomon Inicialização da terceira rota: cliente 5, o único que sobrou Cliente Demanda (unid) a b Serviço (h) 0 0 7,0 18,0 0 1 10 8,0 8,5 1 2 7 11,5 13,0 1 3 13 12,0 14,0 1 4 19 9,0 10,0 1 5 26 15,0 15,5 1 6 9 14,0 15,0 1 7 11 16,0 17,0 1 8 0 7,0 18,0 0

Heurística de Inserção de Solomon 60 Localização Depósito & Clientes 50 7 1 3 40 0 30 5 6 20 2 4 10 0 0 10 20 30 40 50 60

Solução Ótima Veículo Rota 1 0 4 2 8 2 0 1 3 7 8 3 0 6 5 8 Veículo Instantes 1 7 9 11,5 2 7 8 12 16 3 7 14 15,5 Distância total = 191,1

Heurística de Inserção de Solomon (Solução ótima) 60 Localização Depósito & Clientes 50 7 1 3 40 0 30 5 6 20 2 4 10 0 0 10 20 30 40 50 60

GRASP Feo, T.A., & Resende, M.G.C. (1995). Greedy randomized adaptive search procedures. Journal of Global Optimization 6, 109 133.

GRASP Greedy Randomized Adaptive Search Procedure procedure ConstructSemiGreedySolution(α) Initialize solution: S ; Initialize candidate set: C {s E \S S {s} is not infeasible}; while C do g min min{g(s) s C } g max max{g(s) s C } RCL {s C g(s) g min + α (g max - g min )} Select s RCL; Add s to solution: S S {s}; Update candidate set: C {s E \S S {s} is not infeasible}; end return S; Fonte: Marti et al. (2013) g(s) contribution to the cost of the solution under construction; RCL Restricted candidate list

GRASP Greedy Randomized Adaptive Search Procedure procedure GRASP(α) f ; while stopping criterion not satisfied do Construct feasible randomized semi greedy solution: S ConstructSemiGreedySolution(α); Find a locally optimal solution: S LocalSearch(S); if f(s) < f then S S; f f(s); end end return S ; Fonte: Marti et al. (2013)

VNS Mladenović, N., & Hansen, P. (1997). Variable neighborhood search. Computers and Operations Research, 24(11), 1097 1100.

VNS Variable Neighborhood Search Algorithm: Basic VNS Input: The set of neighborhood structures N k, for k=1,...,k max 01 Initialization: Find an initial solution x; 02 repeat 03 k 1; 04 while k k max do 05 x a random neighbor in N k (x) // Shaking 06 x Local Search(x ) // Local Search 07 if f(x )<f(x) then // Move or Not 08 x x ; k 1; 09 else 10 k k+1; // Neighborhood Change 11 until termination condition is met 12 return x;

BUSCA TABU

Busca Tabu Proposto por Glover e Laguna Heurística iterativa genérica para resolução de problemas de otimização combinatória Extensão da Busca Local Princípio básico: uma memória força a exploração de novas áreas do espaço de busca. As soluções que foram examinadas recentemente se tornam tabus (proibidas) de serem escolhidas para as próximas soluções

Busca Tabu Hill Climbing Diversificação Intensificação Ciclagem Ótimo Local Ótimo Global

Busca Tabu x cur solução corrente (= solução inicial); x opt melhor solução (= solução inicial) diversificação = falso enquanto critério de parada não for atingido se diversificação = verdadeiro então utilizar memória de longo prazo senão x melhor solução não-tabu na vizinhança de x cur x melhor solução tabu na vizinhança de x cur fim_se se f(x ) < f(x ) e f(x ) < f(x opt ) então aplicar critério de aspiração: x cur x ; x opt x senão se f(x ) < f(x opt ) então x opt x x cur x fim_se atualizar lista tabu(memória de curto prazo), memória de longo prazo, ativação diversificação fim_enquanto

Busca Tabu Componentes 1. Operador para geração de vizinhança 2. Vizinhança 3. Memória de curto prazo 4. Memória de longo prazo 5. Critério de aspiração 6. Critério de parada

Busca Tabu Operador para geração de vizinhança - A ideia central dos métodos de busca é partir de uma solução viável e realizar sobre a mesma uma modificação que resulte em outra solução viável, denominada de movimento. Exemplos: remoção & inserção, swap, etc.

Busca Tabu Vizinhança - Dado uma solução inicial e um tipo de operador para geração de vizinhança, existem soluções que podem ser atingidas a partir da solução inicial aplicando sobre esta o operador escolhido. Todas estas soluções formam a vizinhança da solução inicial.

Busca Tabu Memória de Curto Prazo Lista de movimentos proibidos (tabus). Memória de Longo Prazo Lista de movimentos mais freqüentes; ao utilizar o critério de diversificação, movimentos pouco realizados terão maiores chances de ocorrer.

Busca Tabu Critério de Aspiração Uma solução contendo um movimento tabu torna-se corrente apenas se o movimento gerar uma solução melhor que a solução de referência (a melhor solução já obtida). Critério de Parada Número de iterações; número de iterações sem melhoria; número de diversificações; tempo de processamento.

Busca Tabu Matriz de Distâncias 0 1 2 3 4 5 0 0 3 5 6 7 4 1 5 0 5 7 9 5 2 8 4 0 7 2 6 3 5 6 5 0 5 7 4 3 8 11 6 0 3 5 8 4 3 7 4 0

Busca Tabu 1a. Iteração Distância Sol Inicial 0 1 2 3 4 5 0 31 0 2 1 3 4 5 0 32 0 1 3 2 4 5 0 28 0 1 2 4 3 5 0 31 0 1 2 3 5 4 0 29 Melhora FO

Busca Tabu Sol Corrente = Sol Ótima Solução Tabu 2a. Iteração Lista Tabu {(2,3)} Distância 0 1 3 2 4 5 0 28 0 3 1 2 4 5 0 30 0 1 2 3 4 5 0 31 0 1 3 4 2 5 0 40 0 1 3 2 5 4 0 28 Melhor Solução Não Tabu

Busca Tabu Solução Ótima Solução Corrente Solução Tabu Solução Tabu 3a. Iteração Lista Tabu {(2,3), (4,5)} Distância 0 1 3 2 4 5 0 28 0 1 3 2 5 4 0 28 0 3 1 2 5 4 0 30 0 1 2 3 5 4 0 29 0 1 3 5 2 4 0 25 0 1 3 2 4 5 0 28 Melhora FO

Busca Tabu Solução Ótima Solução Corrente Solução Tabu 4a. Iteração Lista Tabu {(2,3), (4,5), (2,5)} Distância 0 1 3 5 2 4 0 25 0 1 3 5 2 4 0 25 0 3 1 5 2 4 0 25 0 1 5 3 2 4 0 25 0 1 3 2 5 4 0 28 0 1 3 5 4 2 0 40 Melhor Solução Não Tabu