Introdução aos Problemas de Roterzação e Programação de Veículos PNV-2450 André Bergsten Mendes
Problema de Programação de Veículos
Problema de Programação de Veículos Premssas Os roteros ncam e termnam na base Nem todos os veículos necesstam ser utlzados A frota é fxa e homogênea A demanda é conhecda e deverá ser atendda ntegralmente O problema é de coleta (ou, de entrega) Há janelas de tempo no atendmento dos clentes
Problema de Programação de Veículos Parâmetros - Conjuntos R N A ( N; A) { 01,, n } N N \{0} V, j :, j N Rede assocada ao problema Conjunto de nós (depósto + clentes) Conjunto de nós (clentes) Conjunto de arcos { 01,, m} Conjunto de Veículos (índce k)
Problema de Programação de Veículos Parâmetros c t j j Q d t ~ T a b Custo de percorrer o arco (,j) Capacdade de carga do veículo Demanda do clente Tempo de atendmento no clente Tempo de vagem entre e j Jornada de trabalho Instante de abertuda da janela de tempo Instante de encerramento da janela de tempo
Problema de Programação de Veículos Varáves de Decsão x k j 1, se o arco, j A for veículo k V 0, em caso contráro percorrdo pelo s Instante de níco do atendmento do clente
Problema de Programação de Veículos Função Objetvo mnc Restrções N j jn kv k x 1 kv N jn c j x j k xj 1 j N 0 j k V k
Restrções j h N h k jh j N k x j x k N j N j k j cap x d Problema de Programação de Veículos N k x 1 0 V k V k N j, k V
Restrções Problema de Programação de Veículos V A k j x k j, ), ( 01, b s a N T x t t s s k j j j ) (1 ~ V k N j N,, 0 s N
Problema de Programação de Veículos Restrção de duração total do rotero (jornada de trabalho) s0 T k V
Problema de Programação de Veículos Janelas de tempo & Progressão temporal j a b k a b
HEURÍSTICA DE INSERÇÃO DE SOLOMON (VRPTW)
Heurístca de Inserção de Solomon Estratéga: construr uma solução por meo da nserção de clentes à rota, tal que os clentes já que já fazem parte da solução não tenham seus nstantes de níco modfcados a ponto de volar suas janelas de tempo.
Heurístca de Inserção de Solomon Parâmetros s e l t d c j j tempo de atendmento no clente nstante ncal da janela de tempo do clente nstante fnal da janela de tempo do clente j tempo de vagem entre os clentes e j dstânca entre os clentes e j custo de vagem entre os clentes e j
Heurístca de Inserção de Solomon Varáves b w nstante efetvo de níco de atendmento do clente tempo de espera no clente
Heurístca de Inserção de Solomon Defnção de c j c d b j Instante de níco do atendmento no clente j j Crtéro de vabldade b, 0 1 j 2 j 1 0 2 b max b s t ; e j Consdere uma rota parcal vável 0 = m =0 j em que Avalação da nserção do clente u entre os clentes p-1 e p, 1,, 0 m
Heurístca de Inserção de Solomon Crtéro de vabldade A nserção do clente u pode causar nvabldade nos clentes p em dante O nstante efetvo de níco de atendmento do clente p novo em vrtude da nserção do clente u é: O adamento do níco do atendmento do clente p é: novo PF b b 0 p p Para os clentes fnas da rota PF max 0, PF w p b p p r m 1 r1 r r
Heurístca de Inserção de Solomon Rota Parcal 1 u 2 3 A nserção de u não nterfere 1 u 2 3 A nserção de u atrasa o níco de 2 1 u 2 3
Heurístca de Inserção de Solomon Crtéro de vabldade As condções necessáras e sufcentes para vabldade da nserção do clente u são: b l b PF l p r m u u r Crtéro de ncalzação de uma rota r r Escolher o clente mas dstante anda não alocado ou o clente não alocado cujo fnal da janela de tempo seja o menor de todos;
Heurístca de Inserção de Solomon Crtéro de nserção Consdere rota parcal vável Calcular para clente u anda não alocado, a melhor posção vável de nserção, defnda por: C, 1,, 0 u), u, j( u) mn, u, p 1,, m 1 ( c 1 p1 p p c 1, u, j 1c11, u, j 2c12, u, j onde : c c 1 11 12 2, u, j 1 d u d uj, u, j bj / u bj d j 1 0 m 0, 2 0
Heurístca de Inserção de Solomon Crtéro de nserção: qual clente u escolher? Aplcar o crtéro C ( u*), u*, j( u*) c 2 2 maxc ( u), u, j( u), u, j d (, u, j) 0u c 1 u 2 onde :
Exercíco Para o problema de roterzação com janela de tempo abaxo ndcado, gere uma solução por meo da Heurístca de Inserção de Solomon. Adote os valores que julgar convenente para α1, α2, μ e λ.
Exercíco 7 clentes (os clentes 0 e 8 referem-se à base) A operação de dstrbução nca-se às 7hs, com os veículos já carregados, e é encerrada às 18hs Há, no máxmo, 3 veículos homogêneos, com capacdade gual a 50 undades de carga, cada As colunas a e b referem-se aos lmtes nferor e superor da janela de tempo para chegada aos clentes A coluna Servço ndca o tempo de atendmento do veículo junto a cada clente
Exercíco Clente Demanda Servço a (h) b (h) (undades) (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
Matrz de Dstânca (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
Solução Ótma 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 Dstânca total = 191,1
MÉTODOS DE BUSCA
Estratégas de Solução Busca Local Vsa a melhora de uma solução, sem a garanta de otmaldade; requer a préva defnção da solução ncal que será explorada, da forma de geração da vznhança, do crtéro de acetação de uma solução gerada e de um crtéro de parada; A geração da vznhança ocorre em função do mecansmo empregado para crar novas soluções a partr da solução corrente como, por exemplo, a troca da posção de clentes e a substtução de arcos, entre outras;
Estratégas de Solução Busca Local Se a solução na vznhança da solução corrente é melhor, então esta se torna a solução corrente, substtundo a anteror. Os crtéros de acetação comumente empregados são: escolhe-o-prmero ( frst-accept ) em que a prmera solução gerada melhor que a corrente é escolhda ou, escolhe-a-melhor ( best-accept ) de todas as soluções na vznhança da solução corrente; Caso não haja uma solução melhor, ter-se-á chegado a uma solução ótma local e o algortmo encerra;
Operadores para geração de vznhança Remoção Inserção (mesma rota) Jarbou et al. (2013)
Operadores para geração de vznhança Remoção Inserção (entre rotas) Jarbou et al. (2013)
Operadores para geração de vznhança Swap (mesma rota) Jarbou et al. (2013)
Operadores para geração de vznhança Swap (entre rotas) Jarbou et al. (2013)
Operadores para geração de vznhança Or-opt (mesma rota) Jarbou et al. (2013)
Operadores para geração de vznhança Or-opt (entre rotas) Jarbou et al. (2013)
Operadores para geração de vznhança Or-opt nvertdo (mesma rota) Jarbou et al. (2013)
Operadores para geração de vznhança Or-opt nvertdo (entre rotas) Jarbou et al. (2013)
Operadores para geração de vznhança k=1 k genérco
Operadores para geração de vznhança Vznhança: "b-cyclc, k-transfer scheme - k clentes consecutvos de cada uma das b rotas são transferdas para a próxma rota
Algumas referêncas Heurístca de Busca Heurístcas desenvolvdas para problemas de roterzação e programação de veículos: 2-Opt (Ln, 1965), 2-Opt* (Potvn; Rousseau, 1995), relocate, exchange, cross (Savelsbergh, 1992), CROSS (Tallard et al., 1997) GENI (Gendreau et al., 1992) e cyclc transfer (Thompson; Orln, 1993)
Método de Busca 2-Opt Este método consste em dentfcar 2 arcos nãoadjacentes que serão elmnados da rede, para que novos arcos sejam relgados, com o objetvo de reduzr a dstânca total; É necessáro partr de uma solução ncal vável (fornecdo por alguma heurístca); O método encerra quando não houver mas arcos que permtam a redução de dstânca;
Método de Busca 2-Opt Exemplo - PCV 30,0 Local Clentes 25,0 20,0 1 3 4 5 15,0 10,0 5,0 2 6 0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Exemplo - PCV 0 1 2 3 4 5 6 0 0,0 12,4 6,7 12,9 7,6 8,6 6,2 1 12,4 0,0 10,2 4,6 7,9 17,1 15,5 2 6,7 10,2 0,0 13,1 10,4 15,2 5,8 3 12,9 4,6 13,1 0,0 6,0 15,0 17,6 4 7,6 7,9 10,4 6,0 0,0 9,2 13,2 5 8,6 17,1 15,2 15,0 9,2 0,0 14,1 6 6,2 15,5 5,8 17,6 13,2 14,1 0,0
Método de Melhora 2-Opt Solução Incal Local Clentes Dstânca Total = 70,0 km 30,0 25,0 20,0 1 3 4 5 15,0 10,0 2 6 0 5,0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Identfcar arcos 30,0 Local Clentes 25,0 20,0 1 3 4 5 15,0 10,0 5,0 2 6 0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Elmnar arcos 30,0 Local Clentes 25,0 20,0 1 3 4 5 15,0 10,0 5,0 2 6 0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Relgar & Ajustar o Sentdo dos Arcos 30,0 Local Clentes 25,0 20,0 1 3 4 5 15,0 10,0 5,0 2 6 0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Relgar & Ajustar o Sentdo dos Arcos 30,0 Local Clentes 25,0 20,0 1 3 4 5 15,0 10,0 5,0 2 6 0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Solução 1 Local Clentes Dstânca Total = 64,4 km 30,0 25,0 20,0 1 3 4 5 15,0 10,0 2 6 0 5,0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Identfcar Arcos 30,0 Local Clentes 25,0 20,0 1 3 4 5 15,0 10,0 5,0 2 6 0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Elmnar Arcos 30,0 Local Clentes 25,0 20,0 1 3 4 5 15,0 10,0 5,0 2 6 0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Relgar & Ajustar o Sentdo dos Arcos 30,0 Local Clentes 25,0 20,0 1 3 4 5 15,0 10,0 2 6 0 5,0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Relgar & Ajustar o Sentdo dos Arcos 30,0 Local Clentes 25,0 20,0 1 3 4 5 15,0 10,0 2 6 0 5,0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Solução 2 Local Clentes Dstânca Total = 56,9 km 30,0 25,0 20,0 1 3 4 5 15,0 10,0 2 6 0 5,0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Identfcar Arcos 30,0 Local Clentes 25,0 20,0 1 3 4 5 15,0 10,0 2 6 0 5,0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Elmnar Arcos 30,0 Local Clentes 25,0 20,0 1 3 4 5 15,0 10,0 2 6 0 5,0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Relgar & Ajustar o Sentdo dos Arcos 30,0 Local Clentes 25,0 20,0 1 3 4 5 15,0 10,0 2 6 0 5,0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Relgar & Ajustar o Sentdo dos Arcos 30,0 Local Clentes 25,0 20,0 1 3 4 5 15,0 10,0 2 6 0 5,0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0
Método de Busca 2-Opt Solução 3 Local Clentes Dstânca Total = 50,6 km 30,0 25,0 20,0 1 3 4 5 15,0 10,0 2 6 0 5,0 0,0 0,0 5,0 10,0 15,0 20,0 25,0 30,0