RESOLUÇÃO DO MODELO
Passo 2: Baseado na demanda remanescente Programa Principal
2. Método de Melhoria
6.6.1 INSTÂNCIAS DE PROBLEMAS DE SOLOMON (1987)
Conforme dito anteriormente, o conjunto de problemas de Solomon é composto por 100 clientes. A porcentagem de clientes com janela de tempo varia entre 25, 50, 75 e 100% conforme o problema. O autor considera seis conjuntos de problemas: R1, R2, C1, C2, RC1 e RC2. Nos conjuntos R1 e R2 a posição dos clientes é gerada aleatoriamente através de uma distribuição uniforme. Nos conjuntos C1 e C2 os clientes estão localizados em grupos. Nos conjuntos RC1 e RC2, os clientes estão em semi-agrupamentos, ou seja, parte dos clientes está localizada aleatoriamente e parte em grupos. Além disso, os problemas R1, C1 e RC1 possuem um horizonte de planejamento curto e, combinados com veículos de menor capacidade, permitem somente que alguns clientes (3-8) possam ser servidos pelo mesmo veículo. Os conjuntos R2, C2 e RC2 têm um horizonte de planejamento longo e, por possuírem veículos de maior capacidade, são capazes de atender mais do que 10 clientes por rota.
Em cada conjunto de problemas, as distribuições geográficas dos clientes, a demanda e o tempo de serviço não se alteram. Desta forma, no conjunto R1, os problemas R101 a R104 são idênticos, com exceção da porcentagem de clientes com janela de tempo, que é de 100% no problema R101, 75% no problema R102, 50% no problema R103 e 25% no problema
R104. Já os problemas R105 a R108 são idênticos aos problemas R101 a R104, aumentando apenas a amplitude da janela de tempo. O mesmo ocorre para os problemas R106 a R112.
Nesse conjunto de problemas, considera-se frota homogênea, cada cliente pode ser atendido uma única vez, por um único veículo (a demanda de cada cliente é menor que a capacidade do veículo), e o objetivo é minimizar a distância total percorrida e o tempo total das rotas, de forma que as restrições de capacidade dos veículos e janelas de tempo sejam respeitadas.
Nesse sentido, uma adaptação do algoritmo proposto no presente trabalho é, primeiramente, implementado no conjunto de problemas de Solomon (1987), com o objetivo de avaliar seu desempenho para problemas de roteirização de veículos com janelas de tempo. A seguir, está descrito cada um dos passos adaptados da metaheurística scatter search (SS) para as instâncias de Solomon (1987).
1. Método de geração de soluções diversas
O conjunto de soluções diversas de SS é gerado a partir da heurística de inserção seqüencial I1 de Solomon (1987). Durante as três primeiras iterações, as soluções são geradas incorporando o método GRACO1. Para as iterações restantes, aplica-se o método GRACO2.
2. Método de Melhoria
Como, em problemas de roteirização com janelas de tempo, cada cliente só pode ser atendido por um único veículo, as melhorias realocação de demanda e adição de rotas não são implementadas. São implementados, portanto, o método de trocas na mesma rota, eliminação de rotas e inserção.
No método de eliminação de rotas, ao invés de eliminar veículos menores que o segundo maior veículo, eliminam-se rotas com n ou menos clientes. Além disso, para cada possível rota eliminada, ao invés de combiná-la com uma única rota, cada cliente é inserido em uma nova rota, com o objetivo de não violar a restrição de capacidade do veículo. O algoritmo de eliminação de rotas pode ser expresso da seguinte forma:
Figura 6.8 - Algoritmo de eliminação e inserção para instâncias de Solomon (1987)
Para cada cliente i da possível rota R a ser eliminada (inicia-se pela rota com maior distância e pelo j
cliente mais distante da rota)
Escolher uma rota R entre as quatro primeiras rotas da lista candidata, sendo que a distância k
da rota R é calculada apenas em relação ao cliente i. Verificar se a rota j R é viável, em termos de k
capacidade e tipo de veículo (após inserção do cliente i). Se a resposta for positiva, aplicar o próximo passo. Caso contrário, repetir o procedimento para as próximas quatro rotas da lista.
Inserir o cliente i da rota R em todas as posições da rota j R e escolher a melhor posição k
viável (janela de tempo).
Se, após inserção de todos os clientes da rota R em novas rotas j Rk', houver melhoria (redução da distância), as inserções são efetuadas.
O algoritmo de inserção é semelhante ao descrito no item 6.5, porém, a viabilidade (antes do movimento de inserção) é testada apenas em relação à restrição de capacidade do veículo. Além disso, a melhoria é testada apenas em relação ao acréscimo ou decréscimo de distância, já que a frota de veículos é homogênea. O algoritmo completo de inserção pode ser definido como:
Figura 6.9 - Algoritmo de inserção para instâncias de Solomon (1987)
Para cada rota R (inicia-se com a rota mais longa) j
Escolher uma rota, aleatoriamente, entre as quatro primeiras rotas R da lista candidata. Verificar k
se pelo menos uma loja da rota R é viável em termos de capacidade (após inserção na rota j R ). Se a k
resposta for positiva, passar para o passo seguinte. Caso contrário, aplicar o mesmo procedimento para as próximas quatro rotas da lista.
Inserir cada cliente viável da rota R (iniciar pelo cliente mais distante) em todas as posições da j
rota R e escolher a melhor delas, caso haja melhoria (distância) e a restrição de janela de tempo seja k
respeitada.
O método de criação e atualização do conjunto de referência não se altera.
4. Método de geração de subconjuntos
O método de combinação também é aplicado para todos os pares de soluções do conjunto de referência (combinações do tipo 1).
5. Método de combinação das soluções
Como o problema apresenta apenas um tipo de veículo e cada cliente só pode pertencer a uma rota, não será necessário determinar a quantidade entregue a cada cliente (é igual à demanda) e nem o tipo de veículo. A seguir, está descrita cada uma das fases do método de combinação.
FASE 1
Da mesma forma, inicia-se com a combinação dos componentes que possuem o maior número de elementos comuns. Porém, no caso de empate escolhe-se uma das combinações de rotas aleatoriamente. A rota combinada é formada pelos elementos comuns das rotas, sendo que a quantidade entregue (demanda) e o tipo de veículo já estão definidos. O roteiro da solução combinada é semelhante ao da melhor solução e, no caso de empate, escolhe-se o roteiro de uma das soluções aleatoriamente.
FASE 2
Esta fase tem como objetivo abastecer os clientes que ainda não foram atendidos, através de um procedimento de inserção. O cliente a ser inserido é o cliente mais distante. i
Com base nas soluções iniciais A e B, verifica-se a rota em que o cliente i está inserido, para cada uma das soluções, e todos os clientes j no qual ou . Assim, para cada j pertencente a uma das rotas combinadas no passo A, com exceção do depósito
1 = ij
) 0
(j= , calcula-se o custo de inserção do cliente i (acréscimo de distância e tempo), nas posições xij (quando xij =1) exji (quando xji =1), e escolhe-se aquela com menor custo.
Para que a inserção seja efetuada, as restrições de capacidade dos veículos e janelas de tempo devem ser respeitadas. Caso nenhuma das inserções seja viável, adiciona-se uma nova rota.
Os demais passos são semelhantes aos descritos para o HFVRPTWSD.