Modelo de construção de rotas e calendarização em simultâneo
6.2 Mecanismo de trocas
6.2.3 Remoção versus inserção
Para uma troca ser viável, considerou-se que o seu custo não poderá exceder um determinado valor a fixar υ. O cálculo do custo das trocas depende do modo como se procede à remoção do cliente da rota inicial e como este se insere no conjunto de rotas do novo dia.
Chao et al. (1995), num trabalho onde também são analisados movimentos que envolvem trocas de padrões, avaliam os custos analisando todas as possibilidades de inserção. Por exemplo: um cliente com duas visitas cujas possibilidades de visita são segunda-feira e quarta-feira ou alternativamente terça-feira e quinta-feira, na mudança de padrão são avaliados os custos para todas as inserções possíveis. Considerem-se as rotas de terça-feira e de quinta-feira as representadas na Figura 6.3. Ao analisar a mudança de um cliente i que
envolve a mudança de padrão de segunda-feira e quarta-feira para terça-feira e quinta-feira, os autores avaliam os custos de inserção do cliente i quando ele é visitado imediatamente após o
depósito na rota A de terça-feira e após o cliente 1 e 2. Também é avaliada a inserção na rota
B, avaliando-se os custos de inserção após o depósito, após o cliente 3, 4 e 5, sendo seleccionada a inserção de menor custo. Analogamente para quinta-feira são avaliados os custos de inserção do cliente i após o depósito, cliente 6, 7 ou 8 na rota C e também os custo de inserção após o depósito, cliente 9 e cliente 10 da rota D de quinta-feira, sendo
seleccionada a inserção de menor custo. O somatório dos dois custos menores (o menor de terça-feira e o menor de quinta-feira) totaliza o custo de inserção envolvido nesta troca.
Rotas de terça-feira Rotas de quinta-feira
Figura 6. 3: Exemplo da avaliação proposta por Chao et al. (1995)
Nesta dissertação é apresentada uma alternativa ao modelo proposto por Chao et al. (1995).
Seja o cliente i pertencente à rota Ri= [0,…, i-1, i, i+1,…,0] do dia l objecto de análise de mudança da padrão para o dia l+1. Será avaliada a troca se nas rotas do dia l+1 existir um cliente que lhe seja próximo. Seja j∈Rj o cliente próximo tal que Rj =[0, . . ., j-1, j, j+1, . . .,0], sendo Rj uma rota do dia l+1.
Propõe-se uma avaliação que é composta por três etapas.
• Primeira etapa: calcular a poupança que advém da eliminação do cliente i da rota Ri, que pode ser representada pela expressão:
Poupança = (di-1+di+di+1)-(di-1+di+1) (6.2)
• Segunda etapa: calcular o custo de inserção do cliente i na rota Rj quando o cliente i é inserido logo após o ponto de partida da rota, seguindo-se uma reordenação e optimização da rota Rj através de heurística 2-optimal. Designamos este custo por “C_inserção 1”. Nesta etapa são ignoradas quaisquer restrições de capacidade do veículo ou de tempo permitido por rota.
6 7 8 9 10 depósito Rota C Rota D 1 2 3 4 5 depósito Rota A Rota B
Se o balanço dos custos não for inferior a um valor pré-definido ω, é-se mais exigente no processo de inserção, e passa-se à terceira etapa.
• Terceira etapa: Reorganizam-se as rotas do dia receptor recorrendo ao mecanismo
troca-entre-rotas descrito na secção 4.1.4 do Capítulo 4 que envolve trocas de clientes
entre as diferentes rotas do dia l+1, gerando soluções de maior qualidade. Após a nova reorganização das rotas do dia l+1 obtém-se, por comparação do custo da solução que não contempla i, o custo de inserção que designamos de “C_inserção 2”.
Nestes movimentos de trocas-entre-rotas é permitido que se ultrapasse, de uma
percentagem γ, os limites da admissibilidade das restrições de capacidade dos veículos ou/e tempo permitido por rota. Isto é, permite-se que na rota onde é inserido o cliente (rota Rj), e em todas as rotas que estão envolvidas em trocas de clientes com Rj, se excedam ligeiramente os limites das restrições. Ao permitir-se a violação destas restrições, pretende-se obter uma maior flexibilidade na troca de clientes entre rotas, aumentando consequentemente a análise de padrões e assim obter melhores resultados.
Para cada cliente são efectuadas sucessivas mudanças de padrão até que o lucro associado à melhor troca não seja inferior ao valor υ actualizando sucessivamente a solução. Se não forem encontradas trocas que envolvam benefícios ou que apresentem custos superiores a υ, segue-se para a análise do cliente seguinte. O processo repete-se para todos os clientes. Se após a análise de mudança de padrão de todos os clientes a solução final melhora, todo este processo é repetido.
A terceira etapa, com a reavaliação que envolve o mecanismo de troca-entre-rotas, é a
mais dispendiosa de todo o algoritmo (em termos de tempo de cálculo), daí a necessidade de se recorrer à segunda etapa que funciona como um filtro de passagem, uma vez que reduz o número de movimento sujeito à reavaliação da última etapa. Mais uma vez se está a restringir o número de trocas a analisar, correndo-se o risco de excluir de análise trocas promissoras. Pretende-se com este “filtro” que o risco seja pequeno e será, evidentemente, tanto menor quanto menor for ω, havendo sempre a possibilidade de testar este parâmetro.
Na Figura 6.4 esquematizam-se os procedimentos acima descritos onde Ci representa o
conjunto de padrões admissíveis do cliente i, l1 o dia da remoção da visita, l2 o dia da
inserção da visita e Sli o conjunto de rotas do dia li.
procedimento trocas de padrões de calendarização
definir valores para os parâmetros ω e υ
Para i=1 até n {ciclo dos clientes}
Se i não tem visita diária então
A:=υ;
Repete até A≥ υ {ciclo B}
Para todos os padrões Ci com 1 movimento no padrão fazer{ciclo dos padrões}
Se existe um cliente j∈Rj: Rj∈ Sl2 próximo de i então
Calcular a Poupança da remoção do cliente i de Sl1
Aplicar 2-optimal a Rj∪{i}; calcular C_inserção1
Se Poupança-C_inserção1> ωentão
Aplicar troca-entre-rotas a S l2∪{i};calcular C_inserção2
A1=Poupança-C_inserção2
Se (A1>υ) e (A1>A) e (as restrições de capacidade veículo e duração
de rota não excedem Qx%γ e Dx%γ) então
A:= A1; e guarda o movimento mais vantajoso
Fim {ciclo dos padrões}
Se A>υ então
efectua a troca associado ao valor A (mais vantajosa); actualiza a solução
Fim {ciclo B}
Fim {ciclo dos clientes}
Fim (procedimento)
Figura 6. 4: O procedimento de trocas de padrões da calendarização