• Nenhum resultado encontrado

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