Logística/Sistemas de distribuição/Escala de veículos/Agrupar-primeiro-e-rotas-depois: diferenças entre revisões
[edição não verificada] | [edição não verificada] |
Conteúdo apagado Conteúdo adicionado
m Não é mais preciso inserir a navegação manualmente, basta manter a Predefinição:Lista de capítulos/Logística atualizada. Ver detalhes. |
Sem resumo de edição |
||
Linha 1:
=Agrupar-primeiro-rotas-depois=▼
Segundo [[Logística/Referências#refbPEVH|
==Agrupamento elementar==▼
*Divisão: [
*[[w:Problema do caixeiro viajante|Problema do caixeiro viajante]] (PCV): É obtida então para cada <i>cluster</i> uma rota, ao resolver PCV.
▲=Agrupar-primeiro-rotas-depois=
▲==Agrupamento elementar==
▲===[[w:Algoritmo|Algoritmo]] de varrimento===
▲:Este [[w:Algoritmo|algoritmo]] é aplicado a casos "planos" de PEV. É composto por duas partes:
▲*Divisão: [http://pt.wikipedia.org/wiki/Cluster <i>clusters</i>] exequíveis são inicialmente formados rodando um raio centrado no depósito.
▲:Em alguns casos tem-se um fase de pós-[http://pt.wikipedia.org/wiki/Otimiza%C3%A7%C3%A3o optimização], onde vértices são trocados entre [http://pt.wikipedia.org/wiki/Cluster <i>clusters</i>] adjacentes e rotas são reoptimizadas.
*Assumindo cada vértice <math>\ i</math> é representado pelas suas coordenadas polares (θ<math>\ _{i}</math>,ρ<math>_{i}</math>) onde θ<math>\ _{i}</math> é o angulo e ρ<math>\ _{i}</math> é o comprimento do raio. Atribuindo o valor θ<math>\ _{i}^*=0</math> a um vértice arbitrário <math>\ i^*</math> e calculando os ângulos que sobram de <math>\ (0,i^*)</math>. Classificar os vértices por ordem crescente de (θ<math>\ _{i}</math>).
**Passo 1: (iniciação da rota).
**Passo 2: (construção da rota).
**Passo 3:(
▲[[Logística/Referências#refbPEVH|(TOTH e VIGO, 2001, p.117)]]
▲===[[w:Algoritmo|Algoritmo]] de <i>Fisher e Jaikumar</i>===
▲:O algoritmo de <i>Fisher e Jaikumar</i> apresentado no livro <i>"A Generalized Assignment Heuristic for Vehicle Routing"</i> em 1981, resolve problemas de atribuição generalizada (PAG) ([http://en.wikipedia.org/wiki/Generalized_assignment_problem <i>generalized assignment problem (GAP)</i>] em Inglês), formando [http://pt.wikipedia.org/wiki/Cluster <i>clusters</i>].
▲:Assim:
*Passo 1: (selecção de sementes).
**Passo 2: (Atribuição de clientes às sementes)
*Passo 3: (Generalização de atribuição).
*Passo 4: (Solução PCV).
Neste método de acordo com [[Logística/Referências#refbPEVH|(TOTH e VIGO, 2001, p.118)]] 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.▼
▲===[[w:Algoritmo|Algoritmo]] de <i>Bramel e Simchi-Levi</i>===
▲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.
*Localizando as sementes <math>\ k</math>, denominados "concentradores", entre as <math>\ n</math> localizações dos clientes para minimizar a distância total de clientes da semente mas próxima, enquanto se assegura que a procura total
▲:Assim:
▲*Localizando as sementes <math>k</math>, denominados "concentradores", entre as <math>n</math> localizações dos clientes para minimizar a distância total de clientes da semente mas próxima, enquanto se assegura que a procura total atribuida a qualaquer "concentrador" não excede <math>Q</math>.
*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 <math>\ k</math> descrita pelo vector <math>\ (0=i_{0},i_{1},...,i_{l},i_{l+1}</math>=0), seja <math>\ T_{k}=(o,i_{1},...,i_{l}</math>, denotar t(<math>\ T_{k}</math>) o tamanho da solução de PCV óptimo em <math>\ T_{k}</math>.
*Então o custo de inserção <math>\ d_{ik}</math> de um cliente sem rota <math>\ i</math> numa rota <math>\ k</math> é <math>\ d_{ik}=t(T_{k}</math>∪<math>\ {{i}})-t(T_{k})</math>.
*Visto que calcular <math>d_{ik}</math> exactamente é perda de tempo, são propostas duas aproximações custo mais próximo de inserção <math>\ d_{ik}^*=min_{h=0,...,l}(c_{i_{h}i}+c_{ii_{h+1}}</math>−<math>c_{i_{h}i_{h+1}})</math> e custo directo <math>\ d_{ik}^*=min_{h=1,...,l}(2c_{iih})</math>.
==[
Na sua formulação <math>\ F_{h}</math> é o conjunto rotas livres (vértices) no nível <math>\ h</math>.▼
▲==[http://en.wikipedia.org/wiki/Branch_and_bound <i>Branch and bound</i>] truncado==
▲:A árvore de procura neste processo contém tantos níveis quantas forem as rotas, cada nivel contém um conjunto de rotas "não dominadas".
▲Na sua formulação <math>F_{h}</math> é o conjunto rotas livres (vértices) no nível <math>h</math>.
▲:Assim:
*Passo 1: (Inicio).
▲:Estabelecer <math>h=1</math> e <math>F_{h}=V</math> \ {0}.
*Passo 2: (Gerar rota).
▲:Se <math>F_{h}=</math>∅, parar. Caso contrário, seleccionar um cliente sem rota <math>i</math>∈<math>F_{h}</math> e gerar o conjunto <math>R_{i}</math> de rotas contento <math>i</math> e cliente em <math>F_{h}</math>. 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 <math>r</math>∈<math>R_{i}</math>, usando a função <math>f(r)=t(S_{r}</math>∪<math>{{0}})+</math><math>u(F_{h}</math> \ <math>S_{r}</math>, onde <math>S_{r}</math> é o vértice do conjunto de rotas <math>r</math>,<math>t(S_{r}</math>∪{0}) é o tamanho de uma boa solução PCV em <math>S_{r}</math>∪{0} e <math>u(F_{h}</math> \ <math>S_{r})</math> é a dimensão da [http://en.wikipedia.org/wiki/Spanning_tree_protocol <i>"Spanning tree"</i>] mais curta dos ainda clientes sem rota.
*Passo 4: (Selecção de rota).
▲:Determinar a rota <math>r^*</math> subtituindo <math>min(r</math>∈<math>R_{i})</math> {<math>{f(r)}</math>}. Fixando <math>h=h+1</math> e <math>F_{h}=F_{h-1}</math> \ <math>S_{r^*}</math> . Voltar ao passo 2.
▲==[[w:Algoritmo|Algoritmo]] <i>Petal</i>==
▲:O algoritmo <i>petal</i> ([http://pt.wikipedia.org/wiki/P%C3%A9tala pétala]) é uma extenção do algoritmo de varrimento para gerar várias rotas, denominadas <i>petals</i> ([http://pt.wikipedia.org/wiki/P%C3%A9tala pétalas]), e faz uma selecção final ao resolver um conjunto de problemas particionados na forma:
<center><font color=#0000FF><math>\color{Blue}\sum(_{k}</math>∈<math>_{S})d_{k}x_{k}</math></font></center>▼
▲
:Sujeito a
<center><font color=#0000FF><math>x_{k}</math> ∈ {0,1} ∀ k ∈ S, </font></center>▼
{{AutoCat}}
|