Logística/Sistemas de distribuição/Escala de veículos/Agrupar-primeiro-e-rotas-depois

Fonte: testwiki
Saltar para a navegação Saltar para a pesquisa

Agrupar-primeiro-rotas-depois

Segundo TOTH e VIGO (2002e, p.116 - 118) esta classe abarca três famílias de métodos abaixo descritos:

Agrupamento elementar

Algoritmo de varrimento

Este algoritmo é aplicado a casos "planos" de PEV. Composto por duas partes:

  • Divisão: clusters exequíveis são inicialmente formados rodando um raio centrado no depósito.
  • Problema do caixeiro viajante (PCV): É obtida então para cada cluster uma rota, ao resolver PCV.

Em alguns casos tem-se um fase de pós- optimização, onde vértices são trocados entre clusters adjacentes e rotas são optimizadas novamente.

  • Assumindo cada vértice  i é representado pelas suas coordenadas polares (θ ii) onde θ i é o angulo e ρ i é o comprimento do raio. Atribuindo o valor θ i*=0 a um vértice arbitrário  i* e calculando os ângulos que sobram de  (0,i*). Classificar os vértices por ordem crescente de (θ i).
    • Passo 1: (iniciação da rota).

Escolher um veículo  k não utilizado.

    • Passo 2: (construção da rota).

Começando no vértice sem rota que tenha o ângulo menor, afectar vértices ao veículo  k até à sua capacidade máxima ou ao limite da duração máxima da rota não serem excedidos. Se permanecerem vértices sem rota voltar ao passo 1.

    • Passo 3:(optimização da rota). Optimizar cada rota separadamente, resolvendo o correspondente PCV (exacto ou aproximado).

Algoritmo de Bramel e Simchi-Levi

Neste método as sementes são determinadas resolvendo um problema de capacidade local e os vértices que sobram, numa segunda fase são gradualmente incluídos na rota alocada.

Assim:

  • Localizando as sementes  k, denominados "concentradores", entre as  n localizações dos clientes para minimizar a distância total de clientes da semente mas próxima, enquanto se assegura que a procura total atribuída a qualquer "concentrador" não excede  Q.
  • As rotas dos veículos são então concebidas, inserindo em cada passo a atribuição do cliente à rota da semente que tenha o custo mínimo possível.
  • Considerando uma rota parcial  k descrita pelo vector  (0=i0,i1,...,il,il+1=0), seja  Tk=(o,i1,...,il, denotar t( Tk) o tamanho da solução de PCV óptimo em  Tk.
  • Então o custo de inserção  dik de um cliente sem rota  i numa rota  k é  dik=t(Tk i)t(Tk).
  • Visto que calcular dik exactamente é perda de tempo, são propostas duas aproximações custo mais próximo de inserção  dik*=minh=0,...,l(cihi+ciih+1cihih+1) e custo directo  dik*=minh=1,...,l(2ciih).

Algoritmo de Fisher e Jaikumar

O algoritmo de Fisher e Jaikumar segundo (Dorronsoro, 2007e) apresentado no livro "A Generalized Assignment Heuristic for Vehicle Routing" em 1981, resolve problemas de atribuição generalizada (PAG) (generalized assignment problem (GAP) em Inglês), formando clusters.

Assim:

  • Passo 1: (selecção de sementes).

Escolher pontos semente  jk em  V para iniciar cada cluster  k.

    • Passo 2: (Atribuição de clientes às sementes)

Calcular o custo  dik de atribuir cada consumidor  i a cada cluster  k como  dik=min(c0i+cijk+cjk0,c0jk+cjki+ci0)(c0jk+cjk0)

  • Passo 3: (Generalização de atribuição).

Resolver (PAG) com custo  dij,  qi peso do cliente e  Q a capacidade do veículo.

  • Passo 4: (Solução PCV).

Resolver um PCV para cada cluster correspondente à solução PAG.

A árvore de procura neste processo contém tantos níveis quantas forem as rotas, cada nível contém um conjunto de rotas "não dominadas". Na sua formulação  Fh é o conjunto rotas livres (vértices) no nível  h.

Assim:

  • Passo 1: (Inicio).

Estabelecer  h=1 e  Fh=V \ {0}.

  • Passo 2: (Gerar rota).

Se  Fh=∅, parar. Caso contrário, seleccionar um cliente sem rota  i Fh e gerar o conjunto  Ri de rotas contento  i e cliente em  Fh. Estas rotas são gradualmente geradas usando combinação linear de dois critérios: poupança e custos de inserção.

  • Passo 3: (Avaliação da rota).

Avaliar cada rota  r Ri, usando a função  f(r)=t(Sr 0)+ u(Fh \  Sr, onde  Sr é o vértice do conjunto de rotas  r, t(Sr∪{0}) é o tamanho de uma boa solução PCV em  Sr∪{0} e  u(Fh \  Sr) é a dimensão da Spanning tree mais curta dos ainda clientes sem rota.

  • Passo 4: (Selecção de rota).

Determinar a rota  r* subtituindo  min(r Ri) { f(r)}. Fixando  h=h+1 e  Fh=Fh1 \  Sr* . Voltar ao passo 2.

Algoritmo Petal

O algoritmo petal é uma extenção do algoritmo de varrimento para gerar várias rotas, denominadas petals, e faz uma selecção final ao resolver um conjunto de problemas particionados na forma:

 (k S)dkxk

Sujeito a

 (k S)aikxk=1 i=1,...,n,

 xk ∈ {0,1} ∀ k ∈ S,

Onde  S é o conjunto de rotas  xk=1 se e só se a rota  k pertencer à solução,  aik o parametro binário igual a 1 apenas se o vértice  i pertencer à rota  k e  dk o custo de petal  k. Se as rotas corresponderem sectores de vértices contíguos, então este problema possui a propriedade da coluna circular e pode ser resolvido em tempo polinimial (Ryan, Hjorring and Glover).

Predefinição:AutoCat