ROTEIRIZAÇÃO Parte II Marcone Jamilson Freitas Souza http://www.decom.ufop.br/prof/marcone Problema de Roteamento de Veículos SUMÁRIO Aproximações para o cálculo da distância Princípios para uma boa roteirização e programação de veículos Roteamento periódico de veículos Roteirização probabilística Problema das p-medianas Metaheurísticas Simulated Annealing Busca Tabu Algoritmos Genéticos Aproximações para o cálculo da distância Distância percorrida por um veículo em uma rota: Distância do depósito ao bolsão de entrega; Distância percorrida dentro do bolsão; Distância do bolsão ao depósito. Aproximações para o cálculo da distância Nem sempre se dispõe de dados exatos sobre todos os pontos de entrega; Aplicar fórmulas aproximadas para se planejar o sistema de distribuição Dreal = k1 * Dreta k1 obtido por amostragem DAB ( x A xB ) ( y A y B ) 2 2 Aproximações para a distância percorrida dentro do Bolsão Se o bolsão não tiver forma muito irregular: L k0 k1 A n A = área do bolsão (Km2) n = número de clientes visitados k0=0,765 k1=coeficiente de correção Aproximações para a distância percorrida dentro do Bolsão Exemplo: Para um roteiro com n=50 clientes, em um bolsão com área A=4Km2, tomando-se k1=1,40 tem-se: L k0 k1 A n 0,7651,40 4 50 15,15Km Aproximações para a distância percorrida dentro do Bolsão Conhecendo-se a densidade da região (clientes por Km2), pode-se reescrever L como: L k0 k1 A n k0 k1 L k0 k1 n n n Tempo para completar um roteiro Tempo de ciclo (em horas) para se completar um roteiro (tp em minutos): 2 k1 d k0 k1 n n t p TC V1 60 V2 Tempo de deslocamento do depósito ao bolsão e vice-versa Tempo de parada total Tempo de deslocamento dentro do bolsão Tempo para completar um roteiro Exemplo: Para o exemplo anterior, considerando V1=35Km/h, V2=30Km/h e tp=7 minutos, tem-se: 2 k1 d k0 k1 n n t p TC V1 60 V2 2 1,4012 0,7651,40 50 50 7 TC 35 60 30 12,5 TC 5,83h Roteiro restrito pela capacidade útil do veículo Seja W a capacidade útil (em Kg) do veículo e q a demanda média dos clientes Número máximo de visitas do veículo no roteiro: W n q Área do bolsão que pode ser visitada: n W AW q Roteiro restrito pela capacidade útil do veículo Exemplo: Se o serviço de entrega for realizado por um veículo de capacidade W=3.980Kg de capacidade útil, em uma região com densidade média =12,5 clientes/Km2 e demanda média de clientes de 30 Kg, obtémse: n W AW q 3980 2 AW 10,6 Km 12,5 30 Roteiro restrito pela jornada diária de trabalho Fazendo-se TC = 8 horas na expressão do tempo de ciclo de um roteiro e extraindo-se o valor de n, obtém-se: 2 k1 d 8 V1 n k0 k1 t p V2 d 60 Roteiro restrito pela jornada diária de trabalho Dividindo-se a expressão anterior por obtém-se a área máxima do bolsão restrita pela jornada de trabalho: 2 k1 d 8 1 V1 AT k0 k1 t p V2 d 60 Roteiro restrito pela jornada diária de trabalho Exemplo: Para o exemplo considerado, tem-se: 2 k1 d 8 1 V1 AT k0 k1 t p V2 d 60 2 1,4012 8 1 2 35 AT 4,44 Km 0,7651,40 7 12,5 60 30 12 Roteiro restrito pela jornada diária de trabalho A área A do bolsão é o menor valor entre AW e AT; No exemplo considerado, o sistema está limitado pela duração da jornada diária de trabalho; A partir dessa área, calculam-se: Número de clientes a serem atendidos; Carregamento do veículo; Tempo de ciclo; Custos operacionais. Princípios para uma boa roteirização e programação de veículos 1. Carregar os veículos com volumes de paradas que estão próximas entre si; RUIM MELHOR Princípios para uma boa roteirização e programação de veículos 2. As paradas em dias diferentes devem ser combinadas para produzir agrupamentos densos; RUIM MELHOR Princípios para uma boa roteirização e programação de veículos 3. Construir rotas começando com a parada mais distante do depósito; • Construir rota em torno da parada mais distante do depósito e então trabalhar a volta ao depósito; • A capacidade atribuída ao veículo deve ser preenchida pela seleção do conjunto mais denso de paradas próximo a essa parada mais distante; • Após fazer a rota de um veículo, selecione outro e identifique a parada remanescente mais distante do depósito • Prosseguir até que todas as paradas tenham sido atendidas Princípios para uma boa roteirização e programação de veículos 4. A sequência das paradas em uma rota rodoviária deve formar um padrão de gota-d’água; RUIM BOA Princípios para uma boa roteirização e programação de veículos 5. As rotas mais eficientes são construídas usando os maiores veículos disponíveis; • Veículos maiores conseguem atender a um maior número de paradas, minimizando a distância ou o tempo total requerido para servir as paradas; • Veículos maiores devem ser alocados primeiro; Princípios para uma boa roteirização e programação de veículos 6. As coletas devem ser combinadas com as rotas de entrega, ao invés de serem deixadas para o final das rotas; • As coletas devem ser feitas, tanto quanto possível, durante as entregas de forma a minimizar a quantidade de cruzamentos de trajeto que podem ocorrer quando tais paradas são servidas depois que todas as entregas foram feitas Princípios para uma boa roteirização e programação de veículos 7. Paradas isoladas de um agrupamento de rota são boas candidatas para um meio alternativo de entrega; Princípios para uma boa roteirização e programação de veículos 8. Janelas de tempo estreitas devem ser evitadas; • Restrições da janela de tempo nas paradas, quando estreitas, podem gerar rotas muito ruins, fora dos padrões ideais; • Renegociar o intervalo da janela de tempo; Roteamento Periódico de Veículos Um conjunto de n clientes Um conjunto de veículos Um período de planejamento de t dias Uma demanda qi associada a cada cliente Um custo associado ao atendimento de cada cliente Problema: Determinar as rotas dos veículos no período Roteamento Periódico de Veículos Um conjunto de n clientes Um conjunto de veículos Um período de planejamento de t dias Uma demanda qi associada a cada cliente Um custo associado ao atendimento de cada cliente Problema: Determinar as rotas dos veículos no período Roteamento Periódico de Veículos: Exemplo Depósito Segunda Terça Quarta Roteamento Periódico de Veículos: Exemplo Depósito Segunda Terça Quarta Roteamento Periódico de Veículos: Exemplo Depósito Segunda Terça Quarta Roteamento Periódico de Veículos: Exemplo Depósito Segunda Terça Quarta Roteamento Periódico de Veículos: Outra situação Cada cliente é atendido uma única vez no período de 3 dias! Roteamento Periódico de Veículos: Outra situação Cada cliente é atendido uma única vez no período de 3 dias! Roteamento Periódico de Veículos: Outra situação Cada cliente é atendido uma única vez no período de 3 dias! ROTEIRIZAÇÃO PROBABILÍSTICA Clientes nem sempre emitem pedidos de forma regular Estratégias a adotar: 1. 2. Definir um roteiro ótimo a priori, eliminando os clientes sem pedidos; Redefinir a roteirização sempre que houver alterações na lista de clientes a serem visitados. VANTAGENS DE UM ROTEIRO ÚNICO Roteirizador aplicado uma única vez, dispensando a alimentação contínua do sistema; Maior eficiência no trabalho do motorista memorização mais fácil do percurso, passando pelos mesmos locais aproximadamente à mesma hora; DESVANTAGENS DE ALTERAR O ROTEIRO Alimentação contínua do Roteirizador; Diminuição na eficiência de trabalho dos motoristas Nem sempre alterar sistematicamente o roteiro é financeiramente compensador; EXEMPLO Cliente x y Prob. visita 1 2 3 7,50 8,10 8,50 7,80 6,95 8,20 1,0 1,0 1,0 4 5 6 7 8 9 10 8,75 6,20 6,00 5,90 5,45 5,00 5,00 6,50 6,60 6,00 7,45 8,30 7,60 6,80 1,0 1,0 1,0 1,0 1,0 0,2 0,2 EXEMPLO EXEMPLO EXEMPLO: Roteiro ótimo 7 L = 11,6 Km 2 D 8 6 4 9 1 3 5 D->2->3->1->4->5->9->8->7->6->D EXEMPLO: Roteiro sub-ótimo 7 L = 12,2 Km 2 D 8 6 4 9 1 3 5 D->2->3->1->5->4->6->9->8->7->D EXEMPLO: Roteiro sub-ótimo 7 L = 12,2 Km 2 D 8 6 4 9 1 3 5 D->2->3->1->5->4->6->9->7->D Roteiro quando o cliente 8 não é visitado EXEMPLO: Roteiro sub-ótimo 7 L = 11,2 Km 2 D 8 6 4 9 1 3 5 D->2->3->1->5->4->6->8->7->D Roteiro quando o cliente 9 não é visitado EXEMPLO: Roteiro sub-ótimo 7 L = 10,5 Km 2 D 8 6 4 9 1 3 5 D->2->3->1->5->4->6->7->D Roteiro quando os clientes 8 e 9 não são visitados EXEMPLO Qual a extensão média dos roteiros após um longo período? Uma visita ao cliente 8 ou 9 ocorre 20% das vezes Probabilidade de um desses clientes não ser visitado = 80% Admitir independência entre os eventos Extensão esperada Evento A: Todos visitados B: Cliente 8 não visitado C: Cliente 9 não visitado D: Clientes 8 e 9 não visitados Total Probabilidade 0,2 x 0,2 = 0,04 Extensão Valor (Km) esperado LT = 12,2 0,49 0,8 x 0,2 = 0,16 L8 = 12,2 1,95 0,2 x 0,8 = 0,16 L9 = 11,2 1,79 0,8 x 0,8 = 0,64 L8,9 = 10,5 6,72 - 10,95 1,00 Observações Extensão média quando o roteiro utilizado é o ótimo = 11,25 Km (Valor obtido repetindo-se o procedimento anterior) 11,25 / 10,95 = 1,027 Extensão média é 2,7% maior do que partindo de uma solução subótima! LOCALIZAÇÃO: Problema das p-medianas Dado um conjunto de n clientes Para cada cliente há uma demanda qi Existe matriz de distâncias dij Necessário instalar p facilidades Problema: Onde instalar as p facilidades? LOCALIZAÇÃO: Problema das p-medianas Sejam dados: n locais qi = demanda do local i dij distânciaentreos locais i e j Variável de decisão: 1 xij 0 se o locali for atendidopela facilidade j caso contrário 1 yj 0 se a facilidade j for instalada caso contrário LOCALIZAÇÃO: Problema das p-medianas n n min qi dij xij i 1 j 1 n x j 1 ij 1 i 1,...,n xij y j i, j 1,...,n n y j 1 j p xij {0,1} i, j 1,...,n y j {0,1} j 1,...,n LOCALIZAÇÃO: Problema das p-medianas capacitado Dado um conjunto de n clientes Para cada cliente há uma demanda qi Existe matriz de distâncias dij Necessário instalar p facilidades Cada facilidade possui uma capacidade capj Problema: Onde instalar as p facilidades? LOCALIZAÇÃO: Problema das p-medianas capacitado Sejam dados: n locais qi = demanda do local i capj = capacidade da facilidade j cij = custo de atendimento do local i pela facilidade j Variável de decisão: 1 xij 0 1 yj 0 se o locali for atendidopela facilidade j caso contrário se a facilidade j for instalada caso contrário LOCALIZAÇÃO: Problema das p-medianas capacitado n n min qi cij xij i 1 j 1 n x j 1 n ij 1 i 1,...,n q x i 1 n i ij y j 1 j capj y j j 1,...,n p xij {0,1} i, j 1,...,n y j {0,1} j 1,...,n Problema da Localização de Unidades Capacitado Dado um conjunto de n clientes Para cada cliente há uma demanda qi Existe matriz de distâncias dij Necessário instalar p facilidades Cada facilidade possui uma capacidade capj Existe custo fixo de instalação Problema: Onde instalar as p facilidades? Problema da Localização de Unidades Capacitado Sejam dados: n locais, fj = custo de instalação da facilidade j qi = demanda do local i capj = capacidade da facilidade j cij = custo de atendimento do local i pela facilidade j Variável de decisão: 1 xij 0 1 yj 0 se o locali for atendidopela facilidade j caso contrário se a facilidade j for instalada caso contrário Problema da Localização de Unidades Capacitado n n n min qi cij xij f j y j i 1 j 1 n x j 1 n ij j 1 1 i 1,...,n q x i 1 n i ij y j 1 j capj y j j 1,...,n p xij {0,1} i, j 1,...,n y j {0,1} j 1,...,n EXEMPLO