Beruflich Dokumente
Kultur Dokumente
Transportes e Logstica
ENG 1507
14. Roteirizao
Hugo Miguel Varela Repolho
hugorepolho@puc-rio.br
14. Roteirizao
Considera-se que um ou mais veculos partem de um ponto inicial, percorrem vrios clientes e, no
final da jornada de trabalho, retornam ao ponto inicial.
ROTA: define o percurso a efetuar por um veculo para percorrer o clientes que deve servir.
PROBLEMA DE ROTEIRIZAO: problema de distribuio no qual veculos localizados em um
depsito central devem ser programados para visitar clientes geograficamente dispersos, de
modo a atender as suas demandas. O problema est normalmente restringido devido
capacidade dos veculos.
Christofides (1985)
Problema bsico: Determinar as rotas que permitem servir os clientes, minimizando uma
determinada funo objetivo (distncia total percorrida, tempo de percurso ou custo total).
hugorepolho@puc-rio.br
14. Roteirizao
O problema de roteirizao tem uma abrangncia muita mais vasta do que transparece primeira
vista. Na verdade, a extenso do tempo que o produto est em trnsito influencia no total de
estoque da cadeia, bem como no nmero de embarques que um veculo pode realizar num
determinado perodo de tempo. Finalmente, a escolha das rotas tem influncia clara no nvel de
servio prestado ao cliente.
Desta forma a otimizao da funo de transportes de um sistema logstico tem como
consequncia uma reduo considervel do custo logstico total. Segundo Lima (2006,) os
transportes representam 59,5% dos custos logsticos no Brasil.
Segundo Lima (2006), no Brasil o custo por unidade transportada por distncia tendo o custo do
modal rodovirio como referncia da seguinte ordem:
14. Roteirizao
Os problemas bsicos de roteirizao ignoram um grande nmero e variedade de restries
adicionais e extenses, que so encontradas frequentemente nos problemas reais.
Minimizao dos custos totais de distribuio incluindo custos fixos (capital dos veculos,
salrios, despesas de licenciamento, seguros, taxas, etc.) e custos variveis (custos do
veculo dependentes da distncia percorrida.
NOTA: um dos objetivos gerais da roteirizao proporcionar um servio de alto nvel aos
clientes mantendo um baixo custo operacional e de capital
(maior desafio da logstica => trade-off: nvel de servio vs custo)
hugorepolho@puc-rio.br
14. Roteirizao
EXTENSES DO PROBLEMA DE ROTEIRIZAO
hugorepolho@puc-rio.br
14. Roteirizao
hugorepolho@puc-rio.br
14. Roteirizao
O mapa representativo das ruas de uma cidade provavelmente o exemplo mais conhecido
de rede fsica.
14. Roteirizao
CURIOSIDADE: Diz-se que a Teoria de Grafos nasceu em 1736 quando Euler formulou o famoso problema
das Pontes de Konigsberg. Nesse problema duas ilhas eram ligadas entre si as margens do Rio Pregel por
sete pontes. O problema consistia em determinar se era possvel iniciar um percurso em qualquer uma
das zonas de terra de modo a atravessar uma e uma nica vez cada ponte regressando ao ponto de
origem.
Grafo do Problema
C
hugorepolho@puc-rio.br
14. Roteirizao
A teoria de grafos pode ser encarada como
uma teoria de relaes, em que os arcos
representam relaes simtricas e os arcos
orientados representam relaes assimtricas.
GRAFO: estrutura abstrata que representa um
conjunto de elementos denominados ns e
suas relaes de interdependncia, arcos.
Um grafo pode ser representado por
G=(N,A), em que N o conjunto de ns e A
o conjunto de arcos.
A
3
B
2
D
G=(N,A)=({A,B,C,D},{1,2,3})
G=(N,A)=({A,B,C,D},{(A,B),(B,D),(B,D)})
hugorepolho@puc-rio.br
14. Roteirizao
REDE: grafo com grandezas numricas ou fsicas associadas aos ns e/ou arcos.
A
40
C
25
10
5
B
70
10
D
35
hugorepolho@puc-rio.br
14. Roteirizao
DEFINIES BSICAS
Grafo No Orientado
A
Grafo Orientado
A
Grafo Misto
B
Um grafo diz-se completo se entre qualquer par de ns i, j existir um arco [i,j] ou [j,i] no caso
de grafos no orientados e dois arcos [i,j] e [j,i] no caso de grafos orientados.
Grafo Completo
Grafo No Completo
A
B
B
D
A
B
Sendo n o nmero de ns, para um grafo completo no orientado o nmero de arcos igual
a n(n-1)/2 e igual a n(n-1) para um grafo completo orientado.
hugorepolho@puc-rio.br
10
14. Roteirizao
Definies bsicas
c
No caso de grafos orientados a adjacncia pode ser insuficiente. Neste caso necessrio
distinguir o conceito de antecessor de sucessor de um n.
B sucessor de C.
B antecessor de A.
hugorepolho@puc-rio.br
11
14. Roteirizao
Definies bsicas
Grau de um n: o nmero de arcos incidentes com um n.
Grau(A)=2
Pode fazer-se a distino entre grau exterior (# arcos que saem) e grau interior (# de arcos
que chegam).
A
Grau(A)=1
Grau ext.(A)=0
Grau int.(A)=1
A
Grau(A)=3
Grau ext.(A)=1
Grau int.(A)=2
12
14. Roteirizao
Definies bsicas
Cadeia uma sequncia de arcos entre dois ns tais que cada arco tem um n comum com o
arco precedente e com o seguinte. O comprimento da cadeia o nmero de arcos da
cadeia. Ciclo: cadeia com n inicial igual ao final.
2
A
1
B
4
4
1
3
E
Comprimento = 5
A
F
1
B
1
3
Comprimento = 17
13
14. Roteirizao
Um grafo conexo quando existe uma cadeia entre qualquer par de ns. Um grafo
fortemente conexo quando existe um caminho (tem em conta a orientao dos arcos) entre
qualquer par de ns.
C
A
F
B
D
Grafo Conexo
Grafo No Conexo
B
D
E
hugorepolho@puc-rio.br
14
14. Roteirizao
Caminho (Circuito) de Euler: aquele que passa por todos os arcos do grafo uma s vez e
em que o n inicial diferente do (igual ao) final.
Um grafo conexo Eulariano (possui um circuito de Euler) se todos os ns forem pares. H
grafos com caminhos Eulerianos se for conexo e houver 2 vrtices de grau mpar.
Caminho (Circuito) Hamiltoniano: aquele que passa por todos os ns do grafo uma s vez
e em que o n inicial diferente do (igual ao) final.
Hamiltoniano
No Hamiltoniano
A
Euleriano
No
C
H
Euleriano
I
G
B
H
C
I
hugorepolho@puc-rio.br
15
14. Roteirizao
Representao atravs da matriz de adjacncia
O grafo expresso em uma matriz A = [aij] atravs de ns e de suas relaes de vizinhana.
As linhas e as colunas da matriz esto associadas aos ns do grafo.
Uma matriz n X n, onde A=[aij] denominada como de adjacncia do grafo G = (N,A) se:
aij = 1 Existe Ligao (i,j)
aij = 0 No Existe Ligao (i,j)
N
hugorepolho@puc-rio.br
16
14. Roteirizao
Representao atravs da matriz de incidncias em grafo no-direcionado
Dado um grafo G(N,A) de n ns e m arcos a matriz de incidncia de G denotada por B = [bij]
uma matriz n x m definida por:
bij = 1 se Ni n de aj
0 caso contrrio
Arco
N
u1
u2
u3
u4
u1
u2
3
u3
hugorepolho@puc-rio.br
u4
17
14. Roteirizao
Representao atravs da matriz de incidncias em grafo direcionado
Uma matriz n x m, onde A=[aij] denominada como de incidncia do grafo G = (N,A) se:
Arco
u1
u2
u3
u4
u1
u2
3
-1
-1
-1
-1
u3
hugorepolho@puc-rio.br
u4
18
14. Roteirizao
3.2 rvore Geradora de Custo Mnimo: identificar os arcos da rede que proporcionam um
caminho entre quaisquer par de ns da rede, possuindo o comprimento total mnimo.
19
14. Roteirizao
Para que possa haver um caminho mais curto entre os ns u e v indispensvel que exista
primeiramente uma conexo entre u e v, ou seja, se existe um caminho de u para v, significa que o
hugorepolho@puc-rio.br
20
14. Roteirizao
Algoritmo Dijkstra - INICIALIZAO
Atribui-se um rtulo temporrio d(j) a cada n ju do seguinte modo,
2
2
11
0
1
10
8
4
hugorepolho@puc-rio.br
10
21
14. Roteirizao
Algoritmo Dijkstra - ITERAO
Repete-se o seguinte procedimento:
1. Do conjunto dos ns de rtulo temporrio, T, seleciona-se o n i possuindo o rtulo
obtm somando o rtulo (agora definitivo) de i com o custo do arco orientado (i,j)
11
0
1
10
8
4
hugorepolho@puc-rio.br
10
22
14. Roteirizao
2
2
11
10
8
4
7
7
4
3
hugorepolho@puc-rio.br
23
14. Roteirizao
aos demais da rede, mas sim conhecer qual a menor distncia entre qualquer par
de ns da rede.
Alternativas de Soluo:
24
14. Roteirizao
O grafo no orientado G(N,A) constitui uma rvore se for conexo e acclico (sem ciclos).
Morais da Silva.
ALGORITMOS
25
14. Roteirizao
A quantidade de rvores de cobertura (nn-2) ser:
nn-2 = 31 = 3 rvores de cobertura.
a
b
n = no de ns
Para n = 4.
a
hugorepolho@puc-rio.br
26
14. Roteirizao
hugorepolho@puc-rio.br
27
14. Roteirizao
PROBLEMA 1: Uma empresa telefnica precisa determinar a melhor alternativa para instalar
os cabos das linhas telefnicas de tal forma que todas as estaes estejam conectadas, mas
minimizando o comprimento total dos cabos.
A
2
2
B
3
T
7
4
C
28
14. Roteirizao
Ite. 1
Ite. 2
A
2
2
B
3
5
T
B
3
2
4
T
7
4
C
A rede tem 7 ns. Logo a rvore de cobertura mnima ter 6 arcos (N-1).
hugorepolho@puc-rio.br
29
14. Roteirizao
Ite. 3
Ite. 4
A
2
2
B
3
5
T
B
3
2
4
T
7
4
C
Em caso de empate: Nos passos 1 e 3 podem existir 2 ou mais ns empatados com a menor
distncia. Nestes casos, arbitra-se uma soluo (um n) para desfazer o empate. Ainda assim
a soluo final ser a tima.
Porm, a existncia de empates um sinal de que podem existir, mas no necessariamente,
mltiplas solues timas. Ento, pode-se identificar solues alternativas executando todas
as maneiras possveis de desfazer os empates e continuar com o procedimento at terminar
o algoritmo.
hugorepolho@puc-rio.br
30
14. Roteirizao
Ite. 5
Ite. 6
A
2
2
B
3
5
T
B
3
2
4
T
7
4
C
hugorepolho@puc-rio.br
31
14. Roteirizao
2
2
B
1
hugorepolho@puc-rio.br
32
14. Roteirizao
mtodo de Prim.
hugorepolho@puc-rio.br
33
14. Roteirizao
hugorepolho@puc-rio.br
34
14. Roteirizao
hugorepolho@puc-rio.br
35
14. Roteirizao
Ex20. Prim
5
3
5
10
4
3
7
hugorepolho@puc-rio.br
36
14. Roteirizao
DE PRIM) em investigao operacional que aplica uma tcnica gulosa (greedy) em cada iterao
garantindo no final a soluo tima global.
O algoritmo pode desenvolver vrias arborescncias simultaneamente at que uma s rvore inclua
todos os ns.
ALGORITMO:
Passo 1: Ordenar por ordem crescente os arcos do grafo de acordo com as suas distncias.
Passo 2: Tomar os primeiros n-1 arcos que no formam ciclo, com os outros j escolhidos na
rvore, onde n o nmero de ns.
O algoritmo termina quando tiverem sido selecionados os n-1 arcos da rvore ou quando tiverem
hugorepolho@puc-rio.br
37
14. Roteirizao
A6
7
A
2
A1
A4
A10 1
3
B
1
A3
A11
A8
4
5
A2
A5
A9
4
T
7
A12
A7
A10
A5
A1
A4
A9
A3
A7
A8
A2
A11
A6
A12
hugorepolho@puc-rio.br
38
14. Roteirizao
Passo 2: Tomar os primeiros n-1 arcos que no formam ciclo, com os outros j escolhidos
na rvore, onde n o nmero de ns.
A5
A1
A4
A9
A3
A7
A8
A2
A11
A6
A12
hugorepolho@puc-rio.br
39
14. Roteirizao
Ite. 1
Ite. 2
A6
7
2
A4
A1
A5
2
A4
A5
A1
A11
5
A10 1
3
A9
4
A7
D
5
A3
A11
A8
A10 1
3
A4
5
A2
D
A8
A6
7
A3
5
A2
T
A12
A6
7
A9
4
A7
A1
A10 1
3
A3
A11
A8
4
5
A2
A5
A9
4
A7
T
7
A12
7
A12
hugorepolho@puc-rio.br
40
14. Roteirizao
Ite. 3
Ite. 4
A6
7
2
A4
A1
A5
2
A4
A5
A1
A11
5
A10 1
3
A9
4
A7
D
5
A3
A11
A8
A10 1
3
A4
5
A2
D
A8
A6
7
A3
5
A2
T
A12
A6
7
A9
4
A7
A1
A10 1
3
A3
A11
A8
4
5
A2
A5
A9
4
A7
T
7
A12
7
A12
hugorepolho@puc-rio.br
41
14. Roteirizao
Ite. 5
A
2
A1
5
A2
O
A6
7
A
2
A1
A4
A3
C
A5
A9
4
A7
A8
A5
A11
5
4
A10 1
3
A3
A10 1
3
A11
4
5
A2
D
A8
A4
A9
7
A12
4
A7
T
7
A6
7
A
A12
A4
A1
A10 1
3
A3
A11
A8
4
5
A2
A5
A9
4
A7
hugorepolho@puc-rio.br
T
7
A12
42
14. Roteirizao
2
A4
A1
O
4
A5
2
A4
D
5
5
A2
A10 1
3
B
1
A3
A11
A8
A5
A9
4
A7
T
7
A12
A11
5
A10 1
3
A9
4
A7
A4
O
4
D
A8
A5
A1
A3
5
A2
A12
A6
7
A9
A6
7
A10 1
3
4
A7
A1
A11
A8
B
A3
D
4
5
A2
Ite. 6
7
A12
hugorepolho@puc-rio.br
43
14. Roteirizao
4.2 Node-covering: aqueles em que necessrio visitar todos os pontos (locais onde a demanda
est concentrada) de uma dada regio por forma a providenciar um servio ou coletar bens.
Ex.: autocarros escolares, distribuio de jornais pelos quiosques, coleta de moedas dos
orelhes,etc..
Problema do Caixeiro Viajante (Travel Salesman Problem, TSP)
hugorepolho@puc-rio.br
44
14. Roteirizao
O carteiro precisa percorrer cada rua para entregar as cartas, mas deseja minimizar a
quantidade de travessias repetidas necessrias.
O PCC est ligado ao Circuito de Euler. Distingue-se do circuito euleriano por nele ser
permitida a repetio de arcos. claro que o circuito euleriano, quando existente no grafo,
a soluo do carteiro chins.
O carteiro chins pode ser considerado sobre um grafo orientado ou no.
hugorepolho@puc-rio.br
45
14. Roteirizao
Na cidade Russa de Knigsberg existem duas grandes ilhas ligadas entre si e as margens do
rio Pregel por sete pontes. Nos passeios de domingo tarde a populao colocava a questo
de saber se seria possvel dar um passeio que atravessasse todas as sete pontes uma nica
vez voltando ao ponto de partida.
Em 1736 Euler provou que tal rota no existia.
hugorepolho@puc-rio.br
46
14. Roteirizao
Cada ilha e margem da regio representada por um n - A, B, C e D - em um grafo, e cada
ponte por um arco conectando as regies - a, b, c, d, e, f e.
Grafo de Euler
B
g
C
c
Ilha A
d
Ilha D
b
B
Na verdade Euler provou que um grafo s possui um ciruito de Euler (Grafo Euleriano) se
cumprir duas condies essenciais:
47
14. Roteirizao
Em 1962, 226 anos aps a descoberta de Euler em Knigsberg, o matemtico chins Kwan MeiKo levantou uma importante questo acerca do problema da travessia das pontes: "Dado que
impossvel atravessar cada ponte exatamente uma vez e retornar para o ponto de partida, qual
o nmero mnimo necessrio de travessias redundantes?".
PROBLEMA DO CARTEIRO CHINS, CPP: consiste em determinar um nico roteiro com o menor
custo possvel que permita o carteiro chins (veculo) visitar todos os arcos (clientes) de uma
rede uma nica vez. No h restries de capacidade e a demanda determinstica.
Este o tipo de problema que um carteiro enfrenta quando est entregando cartas. Suponha
que cada uma das arcos do grafo seja uma rua onde cartas precisam ser entregues, e cada um
dos ns seja um cruzamento. O carteiro precisa percorrer cada rua para entregar as cartas, mas
deseja minimizar a quantidade de travessias repetidas necessrias.
O passeio do carteiro distingue-se do circuito (ou ciclo) euleriano por nele ser permitida a
repetio de arcos. claro que o circuito (ou ciclo) euleriano, quando existente no grafo, a
soluo do carteiro chins.
O carteiro chins pode ser considerado sobre um grafo orientado ou no.
hugorepolho@puc-rio.br
48
14. Roteirizao
hugorepolho@puc-rio.br
49
14. Roteirizao
3 Escolher um n(a primeira escolha arbitrria).
Ite. 1
Iterao
N escolhido
Fecho
hugorepolho@puc-rio.br
50
14. Roteirizao
3 Escolher um n(a primeira escolha arbitrria).
Ite. 2
Iterao
N escolhido
Fecho
hugorepolho@puc-rio.br
51
14. Roteirizao
3 Escolher um n(a primeira escolha arbitrria).
Ite. 3
Iterao
N escolhido
Fecho
hugorepolho@puc-rio.br
52
14. Roteirizao
3 Escolher um n(a primeira escolha arbitrria).
Ite. 4
Iterao
N escolhido
Fecho
hugorepolho@puc-rio.br
53
14. Roteirizao
3 Escolher um n(a primeira escolha arbitrria).
Ite. 5
Iterao
N escolhido
Fecho
hugorepolho@puc-rio.br
54
14. Roteirizao
3 Escolher um n(a primeira escolha arbitrria).
Ite. 6
Iterao
N escolhido
Fecho
hugorepolho@puc-rio.br
55
14. Roteirizao
3 Escolher um n(a primeira escolha arbitrria).
Ite. 7
B
Iterao
N escolhido
Fecho
hugorepolho@puc-rio.br
56
14. Roteirizao
3 Escolher um n(a primeira escolha arbitrria).
Ite. 8
Iterao
N escolhido
Fecho
hugorepolho@puc-rio.br
57
14. Roteirizao
3 Escolher um n(a primeira escolha arbitrria).
Ite. 9
B
Iterao
Fecho
N escolhido
hugorepolho@puc-rio.br
58
14. Roteirizao
Vamos supor que na Iterao 5 em vez do n B escolhamos o n C
Ite. 5.2
Iterao
N escolhido
Fecho
hugorepolho@puc-rio.br
59
14. Roteirizao
Vamos supor que na Iterao 5 em vez do n B escolhamos o n C
Ite. 6.2
Iterao
N escolhido
Fecho
hugorepolho@puc-rio.br
60
14. Roteirizao
O n A deslocado para a ltima casa livre direita no quadro das iteraes.
Iterao
N escolhido
Fecho
A
Ite. 6.2
Iterao
N escolhido
Fecho
hugorepolho@puc-rio.br
61
14. Roteirizao
Ite. 6.3
Iterao
N escolhido
Fecho
hugorepolho@puc-rio.br
62
14. Roteirizao
Ite. 6.4
B
Iterao
N escolhido
Fecho
hugorepolho@puc-rio.br
63
14. Roteirizao
Ite. 6.5
B
Iterao
Fecho
N escolhido
hugorepolho@puc-rio.br
64
14. Roteirizao
A B C D E
F G H
A
G
hugorepolho@puc-rio.br
65
14. Roteirizao
hugorepolho@puc-rio.br
66
14. Roteirizao
O que fazer quando o grafo no cumpre a condio de paridade para os ns?
A soluo para obter um circuito de Euler passa por Eulerizar o grafo, isto , determinar
quais os arcos a repetir entre ns da rede por forma a que, em todos eles, haja igualdade de
semigraus externos e internos.
u4
u4
u5
u5
u1
u8
u3
u8
u1
u6
u7
5
u2
u7
u3
u6
u2
Circuito de Euler: 1 4 3 2 1 5 3 4 1.
67
14. Roteirizao
QUAL CONJUNTO DE ARCOS ARTIFICIAIS D A EXTENSO TOTAL MNIMA ?
Algoritmo:
a) Identificar os ns grau impar em . Seja o n de ns de grau mpar. ( par!)
b)Determinar combinaes possveis e ligao de cada dois ns grau mpar.
c) Selecionar combinao com menor extenso de arcos artificiais => G (N, A).
d)Definir roteiro de Euler em G. Soluo tima para carteiro chins.
A extenso total percorrida igual soma das extenses dos arcos de g(n,a) mais as
extenses dos arcos artificiais que foram introduzidos para formar o grafo g(n,a).
hugorepolho@puc-rio.br
68
14. Roteirizao
C
1200
500
700
1120
500
I
500
1100
B
600
200 D
500
500
A
700
730
L
500
300
1300
500
700
M
600
C
500
1200
200
600
700
1120
500
I
500
1100
B
200 D
500
500
500
1300
700
730
L
300
500 1000
500
700
A-B-C-E-J-K-L-M-H-(H-M-L)-I-H-G-F-I-J-(J-E)-D-B-(B-D)-(F-G)-A=12150+2300=14450m
hugorepolho@puc-rio.br
69
14. Roteirizao
O PCC est ligado ao Circuito de Hamilton. Distingue-se do circuito hamiltoniano por nele
ser permitida a repetio de arcos.
hugorepolho@puc-rio.br
70
14. Roteirizao
As soluo do jogo passaram a denominar-se ciclos hamiltonianos. Ainda que Hamilton no tenha
sido o primeiro a propor esse problema o seu jogo divulgou-o.
hugorepolho@puc-rio.br
71
14. Roteirizao
Trata-se de um dos problemas de otimizao mais estudados na literatura. formulado da seguinte
forma: dada uma lista de cidades e distncias entre cada par delas qual o circuito mais curto que
A grande dificuldade em resolver um TSP (simtrico) tem que ver com o nmero de solues
alternativas existentes. Na verdade h (n-1)! Maneiras diferentes de ordenar os ciclos de visitas. Isso
representa (n-1)!/2 solues alternativas para o TSP (cada ciclo pode ser percorrido em duas
hugorepolho@puc-rio.br
72
14. Roteirizao
PASSOS:
1. Determinar rvore de extenso mnima T
2. Separar No ns de Grau Impar (No par)
3. Combinar dois a dois. Escolher a seleo com extenso total mnima
4. Grafo M (S os ns e arcos de ligao)
5. Grafo T M = H Admite roteiro de Euler
6. Encontrar roteiro de Euler em H. Primeira soluo aproximada.
7. Identificar quais os ns visitados mais de uma vez e utilizar a desigualdade
triangular.
hugorepolho@puc-rio.br
73
14. Roteirizao
2
3
4
EXEMPLO:
Matriz de distncias em km.
5
6
D
1
65,0
102,0
61,5
30,7
67,9
73,5
95,6
136,2
54,9
34,1
62,8
99,5
77,9
125,5
154,3
40,7
82,5
99,3
64,8
116,7
130,5
43,3
70,5
44,3
94,3
120,5
42,1
42,9
70,3
108,2
35,6
28,3
68,6
52,5
76,5
43,5
hugorepolho@puc-rio.br
74
14. Roteirizao
4
1
5
6
D
L=298,3 km
hugorepolho@puc-rio.br
75
14. Roteirizao
65,0
4
43,3
64,8
6
8
68,6
1 TENTATIVA L =241,7 km
hugorepolho@puc-rio.br
76
14. Roteirizao
65,0
4
1
42,1
76,5
6
8
2 TENTATIVA L=224,3 km
D
hugorepolho@puc-rio.br
77
14. Roteirizao
34,1
4
64,8
1
30,7
3 TENTATIVA L=198,2 km
6
8
68,6
5. Grafo T M = H
78
14. Roteirizao
6
8
D
hugorepolho@puc-rio.br
79
14. Roteirizao
L=425,7 km
2
3
4
1
5
6
8
ROTEIRO FINAL OTIMIZADO
D
hugorepolho@puc-rio.br
80
14. Roteirizao
hugorepolho@puc-rio.br
81
14. Roteirizao
A comparao do mtodo com os resultados timos de problemas pequenos, revela que o Mtodo
das Economias d solues 2% piores do que as solues timas (Ballou, 2001).
O mtodo de C&W baseia-se no conceito de ganho, onde se parte da pior situao possvel:
veculo sai do CD com a mercadoria destinada a um nico cliente e, aps a entrega, o veculo
retorna ao CD. Em seguida insere-se um outro cliente nessa rota.
hugorepolho@puc-rio.br
82
14. Roteirizao
Integrando 2 clientes num roteiro compartilhado
O Mtodo parte de um conjunto de rotas onde todos os pontos so ligados diretamente a origem e
vai-se unindo os pares de rotas, desde que a economia gerada pela unio seja positiva.
i
entregas
separadas
Admissvel somente
se as restries de
capacidade e tempo
no forem quebradas.
roteiro
combinado
CD
CD
L = 2 x dCD,i + 2 x dCD,j
Ao integrar os clientes i e j num nico roteiro, temos uma economia de percurso gij.
gij = LL` = dCD,i + dCD,j - dij
Quanto maiores
d CD,i e d CD, j
83
14. Roteirizao
Passo 1: Combinam-se todos os pontos (que representam os clientes) dois a dois e calcula-se
o ganho para cada combinao (segundo relao gi,j).
Passo 5: O processo termina quando todos os pontos (clientes) tiverem sido includos num
roteiro.
hugorepolho@puc-rio.br
84
14. Roteirizao
EXEMPLO 1
Restries:
1. Veculo de 4 toneladas de capacidade til.
2. Jornada de trabalho de 8 horas por dia.
3. Tempo de descarga em cada cliente uniforme e igual a 15 minutos.
4. Poderiam existir outras como, por exemplo, velocidade mxima.
Outras consideraes:
60 clientes cuja localizao est na tabela anterior. A distncia entre dois pontos quaisquer foi
estimada multiplicando-se a distncia em linha reta por um fator k1 = 1,40.
NOTA: O CD est localizado em (0,0), distante da regio de distribuio (o ponto mais prximo
est a 75,2 km e o mais distante a 79,8 km. Se aplicarmos o mtodo da varredura nesse problema,
teremos rotas bem alongadas. Para evitar distores acentuadas numa das dimenses, deve-se
escolher um outro centro para o eixo, por exemplo o centro de gravidade.
NOTA: Existem restries de tempo e capacidade.
hugorepolho@puc-rio.br
85
14. Roteirizao
X (km)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Y (Km)
Q (kg)
T (min)
1,26
55,65
203
1,56
55,12
125
2,66
55,01
183
2,33
56,2
208
2,79
55,8
141
3,27
56,23
188
2,53
56,67
209
3,26
55,62
215
0,5
55,78
300
3,26
55,63
172
1,34
55,04
267
3,77
55,41
251
3,29
55,69
128
3,41
55,3
230
3,14
55,67
158
3,54
56,02
254
0,84
55,14
207
2,82
55,81
189
1,29
55,98
147
2,27
54,99
223
3,4
54,49
171
2,29
56,12
112
2,37
55,16
340
1,4
54,15
175
3,59
54,32
309
0,7
55,55
75
1,38
54,16
220
2,03
53,8
286
2,21
53,7
218
3,32
56,43
165
X (km)
Y (Km)
Q (kg)
T (min)
31
2,67
56,26
175
32
1,87
55,38
228
33
3,48
54,07
177
34
0,83
55,38
133
35
0,83
54,88
162
36
2,4
55,41
243
37
2,44
54,04
310
38
3,67
55,86
39
39
3,2
55,73
167
40
2,04
55,42
274
41
1,43
55,82
68
42
3,01
55
199
43
3,37
55,35
206
44
1,37
54,93
150
45
1,07
56,43
307
46
2,27
54,77
173
47
3,54
54,76
198
48
2,7
55,19
159
49
1,36
56,32
253
50
2,48
56,93
91
51
2,13
56,54
198
52
3,49
55,36
216
53
1,92
55,5
225
54
2,44
54,25
315
55
2,62
56,01
303
56
3,17
56,35
252
57
1,69
55,28
76
58
3,55
55,11
159
59
1,47
56,17
187
60
0,9
54,65
94
hugorepolho@puc-rio.br
86
14. Roteirizao
Clculo dos ganhos e ordenao
Recorrendo ao Mtodo de C&W executa as 10 primeiras iteraes para o exemplo
apresentado, tendo em conta as primeiras 10 entradas do quadro ordenado (ordem
decrescente de ganhos).
No
Ponto i
Ponto j
Ganho
50
10,65
30
56
10,19
30
10,03
50
51
10,03
56
9,92
51
9,83
30
50
9,61
16
30
9,58
50
56
9,55
10
31
9,52
50
51
56
31
30
6
16
hugorepolho@puc-rio.br
87
14. Roteirizao
Iterao 1
Passo 1: Combina-se todos os clientes 2 a 2 e calcula-se o ganho p/cada combinao (gi,j)
Passo 2: Ordenam-se todas as combinaes i, j, de forma decrescente segundo os valores dos
ganhos gi,j.
No
Ponto i
Ponto j
Ganho
No
Ponto i
Ponto j
Ganho
50
10,65
11
31
50
9,5
30
56
10,19
12
30
9,48
30
10,03
13
16
9,47
50
51
10,03
14
56
9,46
56
9,92
15
45
49
9,44
51
9,83
16
16
38
9,43
30
50
9,61
17
16
56
9,35
16
30
9,58
18
50
9,28
50
56
9,55
19
9,26
10
31
9,52
20
20 maiores ganhos
31
56
9,23
hugorepolho@puc-rio.br
88
14. Roteirizao
Iterao 1
Passo 3: Comecemos com a combinao dos dois ns que apresentaram o maior ganho.
Passo 4: Para um par de pontos (i,j), tirado da sequncia de combinaes, verificar se os 2
pontos j fazem parte de um roteiro iniciado: (a) se i e j no foram includos em nenhum dos
roteiros j iniciados, criar um novo roteiro com esses dois pontos.
No
Ponto i
Ponto j
Ganho
No
Ponto i
Ponto j
Ganho
50
10,65
11
31
50
9,5
30
56
10,19
12
30
9,48
30
10,03
13
16
9,47
50
51
10,03
14
56
9,46
56
9,92
15
45
49
9,44
51
9,83
16
16
38
9,43
30
50
9,61
17
16
56
9,35
16
30
9,58
18
50
9,28
50
56
9,55
19
9,26
10
31
9,52
20
31
56
9,23
hugorepolho@puc-rio.br
89
14. Roteirizao
PASSO 5: Iterao 1
hugorepolho@puc-rio.br
90
14. Roteirizao
Iterao 2
Passo 3: Vai-se descendo na lista de combinaes, sempre obedecendo sequncia
decrescente de ganhos.
Passo 4: Para um par de pontos (i,j), tirado da sequncia de combinaes, verificar se os 2
pontos j fazem parte de um roteiro iniciado: (a) se i e j no foram includos em nenhum dos
roteiros j iniciados, criar um novo roteiro com esses dois pontos.
No
1
2
3
4
5
6
7
8
9
10
Ponto i
7
30
6
50
6
7
30
16
50
7
Ponto j
50
56
30
51
56
51
50
30
56
31
Ganho
10,65
10,19
10,03
10,03
9,92
9,83
9,61
9,58
9,55
9,52
No
11
12
13
14
15
16
17
18
19
20
Ponto i
31
7
6
7
45
16
16
4
4
31
Ponto j
50
30
16
56
49
38
56
50
7
56
hugorepolho@puc-rio.br
Ganho
9,5
9,48
9,47
9,46
9,44
9,43
9,35
9,28
9,26
9,23
91
14. Roteirizao
PASSO 5: Iterao 2
hugorepolho@puc-rio.br
92
14. Roteirizao
Iterao 3
Passo 3: Vai-se descendo na lista de combinaes, sempre obedecendo sequncia
decrescente de ganhos.
Passo 4: Para um par de pontos (i,j), tirado da sequncia de combinaes, verificar se os 2
pontos j fazem parte de um roteiro iniciado: (b) se o ponto i j pertence a um roteiro
iniciado, verificar se esse ponto o primeiro ou ltimo desse roteiro (no contando o CD). Se
a resposta for positiva, acrescentar o par de pontos (i,j) na extremidade apropriada.
No
1
2
3
4
5
6
7
8
9
10
Ponto i
7
30
6
50
6
7
30
16
50
7
Ponto j
50
56
30
51
56
51
50
30
56
31
Ganho
10,65
10,19
10,03
10,03
9,92
9,83
9,61
9,58
9,55
9,52
No
11
12
13
14
15
16
17
18
19
20
Ponto i
31
7
6
7
45
16
16
4
4
31
Ponto j
50
30
16
56
49
38
56
50
7
56
hugorepolho@puc-rio.br
Ganho
9,5
9,48
9,47
9,46
9,44
9,43
9,35
9,28
9,26
9,23
93
14. Roteirizao
PASSO 5: Iterao 3
hugorepolho@puc-rio.br
94
14. Roteirizao
PASSO 5: Iterao 4, 5 e 6
No
4
51
10,03
No
5
56
Ambos j includos,
conforme passo 4.D
9,92
No
6
51
9,83
Ambos j includos,
conforme passo 4.D
hugorepolho@puc-rio.br
95
14. Roteirizao
PASSO 5: Iterao 7, 8 e 9
No
7
50
9,61
Ambos em roteiros
diferentes. Passos 4 C.
No
8
30
9,58
30 no extremo.
No
9
56
9,55
hugorepolho@puc-rio.br
96
14. Roteirizao
PASSO 5: Iterao 10, 11 e 12
No
10
31
9,52
No
11
50
9,50
Ambos j includos,
conforme passo 4.D
No
12
30
9,48
hugorepolho@puc-rio.br
97
14. Roteirizao
PASSO 5: Iterao 13, 14 e 15
No
13
16
9,47
Liga-se 16 a 6, conforme
passo 4.B
No
14
56
9,46
No
15
49
9,48
Liga-se o CD a 45 e 49,
conforme passo 4.A
hugorepolho@puc-rio.br
98
14. Roteirizao
PASSO 5: Iterao 16, 17 e 18
No
16
16
38
9,43
Liga-se 16 ao 38,
conforme Passo 4.B
No
17
16
56
9,35
Ambos j includos,
conforme Passo 4.D
No
18
50
9,28
50 no extremo
hugorepolho@puc-rio.br
99
14. Roteirizao
PASSO 5: Iterao 19 e 20
Passo 5: Cada vez que se
acrescentar um ou mais
pontos num roteiro, ou
quando se fundir 2
roteiros num s, verificar
se a nova configurao
satisfaz as restries de
tempo e de capacidade.
Se atender aos limites das
restries,
a
nova
configurao aceita.
No
19
7 no extremo.
9,26
No
20
56
9,23
hugorepolho@puc-rio.br
100
14. Roteirizao
Soluo obtida pelo Mtodo C&W
Passo 6
R1
R2
R3
R4
R5
R6
hugorepolho@puc-rio.br
101
14. Roteirizao
3-OPT
hugorepolho@puc-rio.br
102
14. Roteirizao
Restries:
1. Veculo de 4 toneladas de capacidade til.
2. Jornada de trabalho de 8 horas por dia.
3. Tempo de descarga em cada cliente uniforme e igual a 15 minutos.
4. Poderiam existir outras como, por exemplo, velocidade mxima.
Outras consideraes:
60 clientes cuja localizao est na tabela anterior. A distncia entre dois pontos quaisquer foi
estimada multiplicando-se a distncia em linha reta por um fator k1 = 1,40.
Vamos supor que o CD est localizado junto zona de entrega. Trata-se agora de um problema de
distribuio urbana. O CD continua localizado a sul da regio, mas desta vez a distncia para o
cliente mais prximo 1,2 km e para o cliente mais longe 5,7 km.
hugorepolho@puc-rio.br
103
14. Roteirizao
Roteiros
No
1
2
3
Nmero de
clientes
21
22
17
Tempo de ciclo
dirio
5h42
6h
4h36
Lotao do
veculo (t)
3,9
4,0
3,9
104
14. Roteirizao
Apesar da jornada de trabalho ser de 8 horas verifica-se que o resultado obtido para a distribuio
urbana (Exemplo 2.1) contempla 3 rotas com templos de ciclo com pelo menos mais de 2 horas
abaixo das 8 horas. Isto significa que a restrio forte neste caso a capacidade. Os veculos esto
subdimensionados. Aumentando a capacidade dos veculos para 8 t verificou-se que a soluo era
igual. Neste caso significa que o tempo de jornada passou a ser a restrio forte. Finalmente
estabeleceu-se o tempo de jornada igual a 8h30min.
EXEMPLO 2.2
Restries:
1. Veculo de 8 toneladas de capacidade til.
2. Jornada de trabalho de 8,5 horas por dia.
3. Tempo de descarga em cada cliente uniforme e igual a 15 minutos.
4. Poderiam existir outras como, por exemplo, velocidade mxima.
Outras consideraes:
Vamos supor que o CD est localizado junto zona de entrega. Trata-se agora de um problema de
distribuio urbana. O CD continua localizado a sul da regio, mas desta vez a distncia para o
cliente mais prximo 1,2 km e para o cliente mais longe 5,7 km.
hugorepolho@puc-rio.br
105
14. Roteirizao
Roteiros
No
1
2
3
Nmero de
clientes
21
22
17
Tempo de ciclo
dirio
5h42
6h
4h36
Lotao do
veculo (t)
3,9
4,0
3,9
Lotao do
veculo (t)
5,9
5,9
hugorepolho@puc-rio.br
106
14. Roteirizao
0
12
11
7
10
10
9
8
6
12
1
12
8
5
9
12
14
16
17
22
2
11
8
9
15
17
8
18
14
22
3
7
5
9
7
9
11
12
12
17
4
10
9
15
7
3
17
7
15
18
5
10
12
17
9
3
18
6
15
15
6
9
14
8
11
17
18
16
8
16
7
8
16
18
12
7
6
16
11
11
8
6
17
14
12
15
15
8
11
10
gij
1
2
3
4
5
6
7
8
1
-
2
15
-
5
10
4
9
2
1
14
13
7
9
10
8
17
-
12
3
12
1
3
1
11
1
-
7
7
3
9
8
9
12
22
22
17
18
15
16
11
10
-
Demanda
10
15
18
17
3
5
9
4
6
1
2
4
5
3
7
6
0
8
9
107
14. Roteirizao
Bibliografia
Novaes, A.G. 2001. Logstica e gerenciamento da cadeia de distribuio. Editora Campos, Rio de
Janeiro, Brasil.
Larson, R.C., Odoni, A.R. 1981. Urban operations research. Prentice-Hall, NJ, EUA.
hugorepolho@puc-rio.br
108