• Nenhum resultado encontrado

A heurística de busca local (BL) foi inspirada no algoritmo de busca tabu de Pureza et al. (2012) e visa à melhoria da solução obtida na fase construtiva pela aplicação de três fases: (1) fase de redução do número de rotas, (2) fase de redução da distância percorrida por veículos da frota própria, e (3) fase de redução do número de entregadores. Em todas as fases, melhorias são obtidas utilizando-se três tipos simples de movimentos: (i) troca de dois nós servidos na mesma rota (intra-rota); (ii) troca de dois nós servidos em rotas distintas (inter- rotas) e; (iii) inserção de um nó servido de uma rota i para uma rota j distinta. Em cada fase, é efetivado o movimento (obtendo-se uma nova solução) que resulta na maior redução do custo associado à fase até que se atinja um ótimo local. A Figura 22 ilustra os passos desse procedimento, e o detalhamento de cada passo é apresentado nas subseções seguintes.

1. Para o conjunto de veículos e de nós clientes a serem roteados, gere a solução , aplicando a heurística determinística de inserção de nós descrita na Seção 5.1.1.

2. Caso a solução obtida no passo 1 possua rotas com restrições de carga mínima da 2ª viagem violadas, desconstrua essas rotas, tornando não roteados os nós servidos por elas.

3. Caso existam nós não roteados, aplique a heurística determinística de inserção de nós descrita na Seção 5.1.1.

4. Caso ainda existam nós não roteados, aplique a heurística determinística de inserção de nós descrita na Seção 5.1.1 alterando a ordem de prioridade de inserção dos nós da lista para que o atendimento seja feito pelos nós menos restritos. Seja a solução resultante.

Figura 22: Passos da heurística de busca local BL.

5.3.1 Fase de redução de rotas

O procedimento utilizado nessa fase (Figura 23) objetiva a redução do número de veículos utilizados, o que em verdade impacta todos os objetivos do problema. Isso é feito com a transferência dos nós da rota de menor cardinalidade (com menor número de nós servidos) para as demais até que a rota em questão seja esvaziada e eliminada.

A fim de evitar cálculos desnecessários, a demanda total dos clientes é antes comparada à capacidade total da frota utilizada; se a diferença entre a capacidade e a demanda for maior que a capacidade do veículo de menor capacidade utilizado na solução corrente, há chance de redução de rotas, desconsideradas as demais restrições do problema. Caso contrário, a redução não é possível, e o procedimento não é aplicado.

Figura 23: Passos do procedimento de redução do número de rotas.

5.3.2 Fase de redução de distância percorrida

Esta fase objetiva a redução da distância percorrida por veículos da frota própria a partir da solução obtida na fase anterior. Diferentes estratégias de aplicação de movimentos de troca e inserção de nós foram extensivamente testadas em experimentos computacionais preliminares, e na Figura 24 é apresentada aquela que apresentou o melhor trade-off em 1. Seja a solução obtida na fase anterior. Faça ´ = . Se a diferença entre a capacidade total da

frota e a demanda total dos nós clientes for maior que a capacidade de carga do menor veículo utilizado em ´ faça:

1.1. Para cada rota de ´, selecione a rota de menor cardinalidade. 1.2. Para cada nó p da rota :

1.2.1. Obtenha a posição de inserção factível de menor custo para p considerando as demais rotas de ´, e transfira p para essa posição caso ela exista.

1.3. Seja ´´a solução resultante. Se tiver sido totalmente esvaziada, faça ′ = ´´, caso contrário, faça ′ = .

2. Retorne a solução ′.

1. A partir da solução obtida na fase construtiva 1.1. Aplique a fase de redução do número de rotas 1.2. Aplique a fase de redução da distância percorrida 1.3. Aplique a fase de redução do número de entregadores 2. Retorne a solução final do passo 1.3 (ótimo local).

tempo e qualidade de solução. Ela consiste da exploração cíclica da seguinte sequência de vizinhanças de busca:

1. : troca de dois nós intra-rota; 2. : troca de dois nós inter-rotas; 3. : inserção de um nó inter-rotas.

Para cada vizinhança ( = 1 … 3), a seleção da solução vizinha segue a política first-improve (Osman, 1993), ou seja, a geração da vizinhança é interrompida ao se obter o primeiro movimento que represente redução positiva da distância percorrida por veículos da frota própria. Neste caso, o movimento é efetivado.

Figura 24: Passos do procedimento de redução de distância dos veículos da frota própria.

5.3.3 Fase de redução do número de entregadores

A última fase da busca local consiste no decremento iterativo do número de entregadores em cada viagem de cada rota. Os decrementos são aplicados enquanto as restrições temporais da rota em questão (janelas de tempo dos clientes, restrições de circulação em áreas centrais e jornada de trabalho dos entregadores) não forem violadas e pelo menos o motorista esteja presente na rota. A Figura 25 apresenta os passos do procedimento.

1. Seja o tempo máximo de aplicação do procedimento e a solução resultante da fase anterior. Repita:

1.1. Para cada rota de servida por um veículo da frota própria, gere a vizinhança de até que seja obtida a primeira rota vizinha ´com redução positiva de distância. Neste caso, faça = ´ e = − { } + { ´}.

1.2. Gere a vizinhança de até que seja obtida a primeira solução vizinha ´com redução positiva de distância percorrida por veículos da frota própria. Neste caso, faça = ´. 1.3. Calcule a vizinhança de até que seja obtida a primeira solução vizinha ´com redução

positiva de distância percorrida por veículos da frota própria. Neste caso, faça = ´. Até que nenhuma redução de distância positiva tenha sido obtida nos passos 1.1 a 1.3 ou tenha transcorrido.

Figura 25: Passos do procedimento de redução do número de entregadores.