ROTEIRIZAÇÃO Danillo Tourinho Sancho da Silva, MSc TEORIA DOS GRAFOS MOTIVAÇÃO 1
MOTIVAÇÃO Por que estudar grafos? Importante ferramenta matemática com aplicação em diversas áreas do conhecimento Utilizados na definição e/ou resolução de problemas Existem centenas de problemas computacionais que empregam grafos com sucesso. MOTIVAÇÃO Por que estudar grafos? Importante ferramenta matemática com aplicação em diversas áreas do conhecimento Utilizados na definição e/ou resolução de problemas Existem centenas de problemas computacionais que empregam grafos com sucesso. MOTIVAÇÃO Por que estudar grafos? Importante ferramenta matemática com aplicação em diversas áreas do conhecimento Utilizados na definição e/ou resolução de problemas Existem centenas de problemas computacionais que empregam grafos com sucesso. 2
MOTIVAÇÃO Por que estudar grafos? Importante ferramenta matemática com aplicação em diversas áreas do conhecimento Utilizados na definição e/ou resolução de problemas Existem centenas de problemas computacionais que empregam grafos com sucesso. MOTIVAÇÃO Por que estudar grafos? Importante ferramenta matemática com aplicação em diversas áreas do conhecimento Utilizados na definição e/ou resolução de problemas Existem centenas de problemas computacionais que empregam grafos com sucesso. AS PONTES DE KÖNIGSBERG 3
AS PONTES DE KÖNIGSBERG Em Königsber, Alemanha, um rio que passava pela Cidade tinha uma ilha e, logo depois de passar por essa ilha se bifurcava em 2 ramos. Nessa região existiam 7 pontes, como mostra a figura. AS PONTES DE KÖNIGSBERG Em Königsber, Alemanha, um rio que passava pela Cidade tinha uma ilha e, logo depois de passar por essa ilha se bifurcava em 2 ramos. Nessa região existiam 7 pontes, como mostra a figura. AS PONTES DE KÖNIGSBERG É possível andar por toda a cidade de tal modo que cada ponte seja atravessada exatamente uma vez? 4
AS PONTES DE KÖNIGSBERG Não é possível!!!!! AS PONTES DE KÖNIGSBERG REMODELANDO O PROBLEMA 5
REMODELANDO O PROBLEMA REMODELANDO O PROBLEMA REMODELANDO O PROBLEMA O problema agora consiste em percorrer todos os arcos, passando por cada um apenas uma vez, sem levantar o lápis do papel. 6
TEORIA DE GRAFOS Na teoria de grafos, um caminho completo com as propriedades descritas acima de não retraçar nenhum arco é chamado de TRAJETÓRIA de EULER OUTRO EXEMPLO: Será que existe alguma trajetória de Euler para o gráfico ao lado? Se existir, como ela é? GRAFOS E SUBGRAFOS 7
GRAFOS E SUBGRAFOS GRAFOS E SUBGRAFOS GRAFOS E SUBGRAFOS 8
GRAFOS E SUBGRAFOS GRAFOS E SUBGRAFOS GRAFOS E SUBGRAFOS 9
GRAFOS E SUBGRAFOS DEFINIÇÃO G=(V(G), E(G), ψ G ) DEFINIÇÃO G=(V(G), E(G), ψ G ) Conjunto não vazio de vértices 10
DEFINIÇÃO G=(V(G), E(G), ψ G ) Conjunto não vazio de vértices Conjunto disjunto de V(G), chamado arestas DEFINIÇÃO G=(V(G), E(G), ψ G ) Conjunto não vazio de vértices Função que associa cada aresta de G um par de vértices de G Conjunto disjunto de V(G), chamado arestas DEFINIÇÃO G=(V(G), E(G), ψ G ) Conjunto não vazio de vértices Função que associa cada aresta de G um par de vértices de G Conjunto disjunto de V(G), chamado arestas Se e=(u,v) então dizemos que eune u e v (u e v são ditos extremosde e) 11
EXEMPLO 1 : G=(V(G), E(G), ψ G ), onde V(G) ={v 1, v 2, v 3, v 4, v 5 } E(G)={e 1, e 2, e 3, e 4, e 5, e 6, e 7, e 8 } ψ G : ψ G (e 1 )= (v 1, v 2 ), ψ G (e 2 )= (v 2, v 3 ), ψ G (e 3 )= (v 3, v 3 ), ψ G (e 4 )= (v 3, v 4 ), ψ G (e 5 )= (v 2, v 4 ), ψ G (e 6 )= (v 4, v 5 ), ψ G (e 7 )= (v 2, v 5 ), ψ G (e 8 )= (v 2, v 5 ) EXEMPLO 1 : G=(V(G), E(G), ψ G ), onde V(G) ={v 1, v 2, v 3, v 4, v 5 } E(G)={e 1, e 2, e 3, e 4, e 5, e 6, e 7, e 8 } ψ G : ψ G (e 1 )= (v 1, v 2 ), ψ G (e 2 )= (v 2, v 3 ), ψ G (e 3 )= (v 3, v 3 ), ψ G (e 4 )= (v 3, v 4 ), ψ G (e 5 )= (v 2, v 4 ), ψ G (e 6 )= (v 4, v 5 ), ψ G (e 7 )= (v 2, v 5 ), ψ G (e 8 )= (v 2, v 5 ) v 1 v 2 v 4 v 5 v 3 EXEMPLO 1 : G=(V(G), E(G), ψ G ), onde V(G) ={v 1, v 2, v 3, v 4, v 5 } E(G)={e 1, e 2, e 3, e 4, e 5, e 6, e 7, e 8 } ψ G : ψ G (e 1 )= (v 1, v 2 ), ψ G (e 2 )= (v 2, v 3 ), ψ G (e 3 )= (v 3, v 3 ), ψ G (e 4 )= (v 3, v 4 ), ψ G (e 5 )= (v 2, v 4 ), ψ G (e 6 )= (v 4, v 5 ), ψ G (e 7 )= (v 2, v 5 ), ψ G (e 8 )= (v 2, v 5 ) v 1 v 2 v 4 v 5 v 3 12
EXEMPLO 1 : G=(V(G), E(G), ψ G ), onde V(G) ={v 1, v 2, v 3, v 4, v 5 } E(G)={e 1, e 2, e 3, e 4, e 5, e 6, e 7, e 8 } ψ G : ψ G (e 1 )= (v 1, v 2 ), ψ G (e 2 )= (v 2, v 3 ), ψ G (e 3 )= (v 3, v 3 ), ψ G (e 4 )= (v 3, v 4 ), ψ G (e 5 )= (v 2, v 4 ), ψ G (e 6 )= (v 4, v 5 ), ψ G (e 7 )= (v 2, v 5 ), ψ G (e 8 )= (v 2, v 5 ) v 1 v 2 v 4 v 5 v 3 EXEMPLO 1 : G=(V(G), E(G), ψ G ), onde V(G) ={v 1, v 2, v 3, v 4, v 5 } E(G)={e 1, e 2, e 3, e 4, e 5, e 6, e 7, e 8 } ψ G : ψ G (e 1 )= (v 1, v 2 ), ψ G (e 2 )= (v 2, v 3 ), ψ G (e 3 )= (v 3, v 3 ), ψ G (e 4 )= (v 3, v 4 ), ψ G (e 5 )= (v 2, v 4 ), ψ G (e 6 )= (v 4, v 5 ), ψ G (e 7 )= (v 2, v 5 ), ψ G (e 8 )= (v 2, v 5 ) v 1 v 2 v 4 v 5 v 3 EXEMPLO 1 : G=(V(G), E(G), ψ G ), onde V(G) ={v 1, v 2, v 3, v 4, v 5 } E(G)={e 1, e 2, e 3, e 4, e 5, e 6, e 7, e 8 } ψ G : ψ G (e 1 )= (v 1, v 2 ), ψ G (e 2 )= (v 2, v 3 ), ψ G (e 3 )= (v 3, v 3 ), ψ G (e 4 )= (v 3, v 4 ), ψ G (e 5 )= (v 2, v 4 ), ψ G (e 6 )= (v 4, v 5 ), ψ G (e 7 )= (v 2, v 5 ), ψ G (e 8 )= (v 2, v 5 ) v 1 v 2 v 4 v 5 v 3 13
EXEMPLO 1 : G=(V(G), E(G), ψ G ), onde V(G) ={v 1, v 2, v 3, v 4, v 5 } E(G)={e 1, e 2, e 3, e 4, e 5, e 6, e 7, e 8 } ψ G : ψ G (e 1 )= (v 1, v 2 ), ψ G (e 2 )= (v 2, v 3 ), ψ G (e 3 )= (v 3, v 3 ), ψ G (e 4 )= (v 3, v 4 ), ψ G (e 5 )= (v 2, v 4 ), ψ G (e 6 )= (v 4, v 5 ), ψ G (e 7 )= (v 2, v 5 ), ψ G (e 8 )= (v 2, v 5 ) v 1 v 2 v 4 v 5 v 3 EXEMPLO 1 : G=(V(G), E(G), ψ G ), onde V(G) ={v 1, v 2, v 3, v 4, v 5 } E(G)={e 1, e 2, e 3, e 4, e 5, e 6, e 7, e 8 } ψ G : ψ G (e 1 )= (v 1, v 2 ), ψ G (e 2 )= (v 2, v 3 ), ψ G (e 3 )= (v 3, v 3 ), ψ G (e 4 )= (v 3, v 4 ), ψ G (e 5 )= (v 2, v 4 ), ψ G (e 6 )= (v 4, v 5 ), ψ G (e 7 )= (v 2, v 5 ), ψ G (e 8 )= (v 2, v 5 ) v 1 v 2 v 4 v 5 v 3 EXEMPLO 1 : G=(V(G), E(G), ψ G ), onde V(G) ={v 1, v 2, v 3, v 4, v 5 } E(G)={e 1, e 2, e 3, e 4, e 5, e 6, e 7, e 8 } ψ G : ψ G (e 1 )= (v 1, v 2 ), ψ G (e 2 )= (v 2, v 3 ), ψ G (e 3 )= (v 3, v 3 ), ψ G (e 4 )= (v 3, v 4 ), ψ G (e 5 )= (v 2, v 4 ), ψ G (e 6 )= (v 4, v 5 ), ψ G (e 7 )= (v 2, v 5 ), ψ G (e 8 )= (v 2, v 5 ) v 1 v 2 v 4 v 5 v 3 14
EXEMPLO 1 : G=(V(G), E(G), ψ G ), onde V(G) ={v 1, v 2, v 3, v 4, v 5 } E(G)={e 1, e 2, e 3, e 4, e 5, e 6, e 7, e 8 } ψ G : ψ G (e 1 )= (v 1, v 2 ), ψ G (e 2 )= (v 2, v 3 ), ψ G (e 3 )= (v 3, v 3 ), ψ G (e 4 )= (v 3, v 4 ), ψ G (e 5 )= (v 2, v 4 ), ψ G (e 6 )= (v 4, v 5 ), ψ G (e 7 )= (v 2, v 5 ), ψ G (e 8 )= (v 2, v 5 ) v 1 v 2 v 4 v 5 v 3 EXEMPLO 1 : G=(V(G), E(G), ψ G ), onde V(G) ={v 1, v 2, v 3, v 4, v 5 } E(G)={e 1, e 2, e 3, e 4, e 5, e 6, e 7, e 8 } ψ G : ψ G (e 1 )= (v 1, v 2 ), ψ G (e 2 )= (v 2, v 3 ), ψ G (e 3 )= (v 3, v 3 ), ψ G (e 4 )= (v 3, v 4 ), ψ G (e 5 )= (v 2, v 4 ), ψ G (e 6 )= (v 4, v 5 ), ψ G (e 7 )= (v 2, v 5 ), ψ G (e 8 )= (v 2, v 5 ) G v 2 v 1 v 4 v 5 v 3 EXEMPLO 2 : H=(V(H), E(H), ψ H ), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} ψ G : ψ G (a)= (u, v), ψ G (b)= (u, u), ψ G (c)= (v, w), ψ G (d)= (w, x), ψ G (e)= (v, x), ψ G (f)= (w, x), ψ G (g)= (u, x), ψ G (h)= (x, y) 15
EXEMPLO 2 : H=(V(H), E(H), ψ H ), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} ψ G : ψ G (a)= (u, v), ψ G (b)= (u, u), ψ G (c)= (v, w), ψ G (d)= (w, x), ψ G (e)= (v, x), ψ G (f)= (w, x), ψ G (g)= (u, x), ψ G (h)= (x, y) v u w x y EXEMPLO 2 : H=(V(H), E(H), ψ H ), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} ψ G : ψ G (a)= (u, v), ψ G (b)= (u, u), ψ G (c)= (v, w), ψ G (d)= (w, x), ψ G (e)= (v, x), ψ G (f)= (w, x), ψ G (g)= (u, x), ψ G (h)= (x, y) v u w x y EXEMPLO 2 : H=(V(H), E(H), ψ H ), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} ψ G : ψ G (a)= (u, v), ψ G (b)= (u, u), ψ G (c)= (v, w), ψ G (d)= (w, x), ψ G (e)= (v, x), ψ G (f)= (w, x), ψ G (g)= (u, x), ψ G (h)= (x, y) v u w x y 16
EXEMPLO 2 : H=(V(H), E(H), ψ H ), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} ψ G : ψ G (a)= (u, v), ψ G (b)= (u, u), ψ G (c)= (v, w), ψ G (d)= (w, x), ψ G (e)= (v, x), ψ G (f)= (w, x), ψ G (g)= (u, x), ψ G (h)= (x, y) v u w x y EXEMPLO 2 : H=(V(H), E(H), ψ H ), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} ψ G : ψ G (a)= (u, v), ψ G (b)= (u, u), ψ G (c)= (v, w), ψ G (d)= (w, x), ψ G (e)= (v, x), ψ G (f)= (w, x), ψ G (g)= (u, x), ψ G (h)= (x, y) v u w x y EXEMPLO 2 : H=(V(H), E(H), ψ H ), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} ψ G : ψ G (a)= (u, v), ψ G (b)= (u, u), ψ G (c)= (v, w), ψ G (d)= (w, x), ψ G (e)= (v, x), ψ G (f)= (w, x), ψ G (g)= (u, x), ψ G (h)= (x, y) v u w x y 17
EXEMPLO 2 : H=(V(H), E(H), ψ H ), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} ψ G : ψ G (a)= (u, v), ψ G (b)= (u, u), ψ G (c)= (v, w), ψ G (d)= (w, x), ψ G (e)= (v, x), ψ G (f)= (w, x), ψ G (g)= (u, x), ψ G (h)= (x, y) v u w x y EXEMPLO 2 : H=(V(H), E(H), ψ H ), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} ψ G : ψ G (a)= (u, v), ψ G (b)= (u, u), ψ G (c)= (v, w), ψ G (d)= (w, x), ψ G (e)= (v, x), ψ G (f)= (w, x), ψ G (g)= (u, x), ψ G (h)= (x, y) v u w x y EXEMPLO 2 : H=(V(H), E(H), ψ H ), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} ψ G : ψ G (a)= (u, v), ψ G (b)= (u, u), ψ G (c)= (v, w), ψ G (d)= (w, x), ψ G (e)= (v, x), ψ G (f)= (w, x), ψ G (g)= (u, x), ψ G (h)= (x, y) v u w x y 18
EXEMPLO 2 : H=(V(H), E(H), ψ H ), onde V(H) ={u, v, w, x, y} E(H)={a, b, c, d, e, f, g, h} ψ G : ψ G (a)= (u, v), ψ G (b)= (u, u), ψ G (c)= (v, w), ψ G (d)= (w, x), ψ G (e)= (v, x), ψ G (f)= (w, x), ψ G (g)= (u, x), ψ G (h)= (x, y) H v u w x y OBSERVAÇÕES OBSERVAÇÕES Grafos são assim chamados por poderem ser representados graficamente 19
OBSERVAÇÕES Grafos são assim chamados por poderem ser representados graficamente Existe uma única maneira de desenhar um grafo? OBSERVAÇÕES Duas arestas num diagrama de um grafo podem se interceptar num ponto que não é um vértice OBSERVAÇÕES Duas arestas num diagrama de um grafo podem se interceptar num ponto que não é um vértice Grafos que possuem uma representação em que as aresta se interceptem apenas em seus extremos são chamados planares 20
DEFINIÇÕES E CONCEITOS DEFINIÇÕES E CONCEITOS Os extremos de uma aresta são ditos incidentes com a aresta, e vice-versa. DEFINIÇÕES E CONCEITOS Os extremos de uma aresta são ditos incidentes com a aresta, e vice-versa. Ex.: e u v 21
DEFINIÇÕES E CONCEITOS Os extremos de uma aresta são ditos incidentes com a aresta, e vice-versa. Ex.: e u v u e v são incidentes a e DEFINIÇÕES E CONCEITOS Os extremos de uma aresta são ditos incidentes com a aresta, e vice-versa. Ex.: u u e v são incidentes a e (e é incidente a u e a v) e v DEFINIÇÕES E CONCEITOS Dois vértices que são incidentes a uma mesma aresta são ditos adjacentes. 22
DEFINIÇÕES E CONCEITOS Dois vértices que são incidentes a uma mesma aresta são ditos adjacentes. Ex.: e u v DEFINIÇÕES E CONCEITOS Dois vértices que são incidentes a uma mesma aresta são ditos adjacentes. Ex.: e u v u e v são adjacentes DEFINIÇÕES E CONCEITOS Dois vértices que são incidentes a uma mesma aresta são ditos adjacentes. Ex.: e u v u e v são adjacentes e u e e e e são adjacentes 23
DEFINIÇÕES E CONCEITOS Loop: uma aresta com extremos idênticos u DEFINIÇÕES E CONCEITOS Loop: uma aresta com extremos idênticos Link: aresta com extremos diferentes u e u v DEFINIÇÕES E CONCEITOS Aresta Múltipla: links com mesmos extremos e e u v 24
DEFINIÇÕES E CONCEITOS Um grafo é finito se V(G) e E(G) são finitos DEFINIÇÕES E CONCEITOS Um grafo é finito se V(G) e E(G) são finitos Estudaremos apenas grafos finitos. DEFINIÇÕES E CONCEITOS Um grafo é finito se V(G) e E(G) são finitos Estudaremos apenas grafos finitos. Grafos com apenas um vértice são ditos triviais. 25
DEFINIÇÕES E CONCEITOS Um grafo é finito se V(G) e E(G) são finitos Estudaremos apenas grafos finitos. Grafos com apenas um vértice são ditos triviais. Um grafo é simples se não possuir loops e arestas múltiplas. NOTAÇÃO G: Grafo com conjunto de vértices V(G) e conjunto de arestas E(G). n: número de vértices de G m: número de arestas de G ISOMORFISMO ENTRE GRAFOS 26
ISOMORFISMO ENTRE GRAFOS Dois grafos G e H são idênticos se V(G)=V(H); E(G)=E(H); ψ G = ψ H ISOMORFISMO ENTRE GRAFOS Dois grafos G e H são idênticos se V(G)=V(H); E(G)=E(H); ψ G = ψ H Grafos idênticos podem ser representados por um mesmo diagrama ISOMORFISMO ENTRE GRAFOS Um isomorfismo entre dois grafos é uma bijeção f de V(G) em V(H) tal que 27
ISOMORFISMO ENTRE GRAFOS Um isomorfismo entre dois grafos é uma bijeção f de V(G) em V(H) tal que (u,v) V(G) (f(u),f(v)) V(H) ISOMORFISMO ENTRE GRAFOS Um isomorfismo entre dois grafos é uma bijeção f de V(G) em V(H) tal que (u,v) V(G) (f(u),f(v)) V(H) É possível alterar o nome dos vértices de um deles de forma que fiquem iguais. EXEMPLO: G H? v 2 G H u v 1 v 3 v x y w v 4 v5 28
EXEMPLO: G H? v 2 G H u v 1 v 3 v x y w v 4 v5 Para mostrar que dois grafos são isomorfos, devemos indicar um isomorfismo entre eles. CLASSES ESPECIAIS DE GRAFOS CLASSES ESPECIAIS DE GRAFOS Grafo Completo: grafo simples em que cada par de vértices distintos possui um aresta. 29
CLASSES ESPECIAIS DE GRAFOS Grafo Completo: grafo simples em que cada par de vértices distintos possui um aresta. A menos de isomorfismo, existe apenas um grafo completo com n vértices, denotado por K n CLASSES ESPECIAIS DE GRAFOS Grafo Vazio: é um grafo sem arestas. CLASSES ESPECIAIS DE GRAFOS Grafo Bipartido: é aquele em que o conjunto de vértices pode ser particionado em dois subconjuntos X e Y, tal que cada aresta tem um extremo em X e um em Y. 30
CLASSES ESPECIAIS DE GRAFOS Grafo Bipartido: é aquele em que o conjunto de vértices pode ser particionado em dois subconjuntos X e Y, tal que cada aresta tem um extremo em X e um em Y. X Y CLASSES ESPECIAIS DE GRAFOS Grafo Bipartido: é aquele em que o conjunto de vértices pode ser particionado em dois subconjuntos X e Y, tal que cada aresta tem um extremo em X e um em Y. X Y CLASSES ESPECIAIS DE GRAFOS Grafo Bipartido: é aquele em que o conjunto de vértices pode ser particionado em dois subconjuntos X e Y, tal que cada aresta tem um extremo em X e um em Y. X Y 31
CLASSES ESPECIAIS DE GRAFOS Grafo Bipartido: é aquele em que o conjunto de vértices pode ser particionado em dois subconjuntos X e Y, tal que cada aresta tem um extremo em X e um em Y. X Y (X, Y) é um bipartição do grafo CLASSES ESPECIAIS DE GRAFOS Grafo Bipartido Completo: é um grafo bipartido com bipartição (X, Y) em que cada vértice de X é adjacente a cada vértice de Y. Se X =m e Y =n, então denotamos tal grafo por K m,n ALGORITMO DE DIJKSTRA 32
ALGORITMO DE DIJKSTRA Resolução do caminho de menor comprimento Descrição dos Problemas: 1º Problema: Construir a árvore de menor comprimento total entre todos os nós de um grafo. 2º Problema: Encontrar o caminho de menor comprimento total entre dois determinados nós de um grafo. RESOLUÇÃO 1º PROBLEMA Considere 5 conjuntos: 3 conjuntos de Ramos: I Ramos em ordem de visitação II Ramos em potencial de pertencerem ao I III Ramos ainda não visitados ou rejeitados 2 conjuntos de Nós: A Conjunto de Nós em ordem de visitação B Conjunto de Nós ainda não visitados RESOLUÇÃO 1º PROBLEMA Assertiva de Entrada: Um nó arbitrário pertencente ao grafo Movê-lo de B para A Adiciona seus ramos de conexão a II 1º Passo: Mover o ramo de menor distância de II para I Adicionar a A o nó conectado a esse ramo Vá para 2º passo 2º Passo: Considerando os ramos conectados ao nó recém adicionado a A que liguem a nós pertencentes a B: Se o ramo em consideração for maior do que seus correspondentes, adicione-o a III (descarte-o) Caso contrário, adicione-o a II Repita o passo 1 se B e II não sejam vazios. Resultado: O conjunto I possui a árvore requerida 33
EXEMPLO 1º PROBLEMA a d 1 6 2 3 2 3 b c 1 2 e Assertiva 1º 2º Passo: de Entrada: Um nó arbitrário pertencente ao grafo Mover Adicionar o ramo os ramos de menor a II distância de II Movê-lo de B para A para I Adiciona Repita 1º seus Passo ramos se B de e II conexão não vazios a II Adicionar a A o nó conectado a esse ramo A a 0 b 1 d 2 e 3 c 4 B a b c d e I II III ab ad be bc ab 1 ac 6 ac 6 dc 4 ad 2 de 5 bc 4 cb 7 be 3 ce 5 cd 6 RESOLUÇÃO 2º PROBLEMA Considere 6 conjuntos: 3 conjuntos de Ramos: I Ramos em ordem de visitação II Ramos em potencial de pertencerem ao I III Ramos ainda não visitados ou rejeitados 3 conjuntos de Nós: A Nós em ordem de visitação B Nós anteriores aos pertencentes a A C Nós ainda não visitados RESOLUÇÃO 2º PROBLEMA Assertiva de Entrada: Dois nós arbitrários pertencentes ao grafo Mover o nó de partida de C para A 1º Passo: Investigar todos os ramos em III que partam do nó adicionado em A Caso o nó de destino não pertença a B, mover o ramo de menor distância conectando ambos nós para II e o nó de destino para B Caso o nó de destino pertença a B e seja de menor distância que seu correspondente em II, substituí-lo Caso a distância do ramo seja maior que seu correspondente, rejeitá-lo 2º Passo: Para cada nó em B, investigar seu peso em relação ao nó de partida Mover o nó com menor distância de B para A Mover o ramo correspondente a esse nó de II para I Repetir o passo 1 até que o nó de chegada esteja contido em A Resultado: O caminho é encontrado seguindo os nós do conjunto A 34
Partir de a para e EXEMPLO 2º PROBLEMA a d 1 6 2 3 2 b c 1 2 A B b 1 a b e e 3 C a b c d e 3 e I ab be II III ab 1 ab 1 be 2 ac 6 ad 2 bc 3 be 2 EXERCÍCIO 6 3 5 2 3 2 4 4 3 5 4 5 4 3 3 3 4 5 5 4 3 6 4 3 5 5 3 3 6 3 4 4 5 3 2 1 MONTAGEM DE ROTAS 35
PRINCÍPIOS PARA UMA BOA ROTEIRIZAÇÃO E PROGRAMAÇÃO DE VEÍCULOS 1. Carregar os veículos com volumes de paradas que estão próximas entre si; RUIM MELHOR PRINCÍPIOS PARA UMA BOA ROTEIRIZAÇÃO E PROGRAMAÇÃO DE VEÍCULOS 2. As paradas em dias diferentes devem ser combinadas para produzir agrupamentos densos; RUIM MELHOR PRINCÍPIOS PARA UMA BOA ROTEIRIZAÇÃO E PROGRAMAÇÃO DE VEÍCULOS 3. Construir rotas começando com a parada mais distante do depósito; Construir rota em torno da parada mais distante do depósito e então trabalhar a volta ao depósito; A capacidade atribuída ao veículo deve ser preenchida pela seleção do conjunto mais denso de paradas próximo a essa parada mais distante; Após fazer a rota de um veículo, selecione outro e identifique a parada remanescente mais distante do depósito Prosseguir até que todas as paradas tenham sido atendidas 36
PRINCÍPIOS PARA UMA BOA ROTEIRIZAÇÃO E PROGRAMAÇÃO DE VEÍCULOS 4. A sequência das paradas em uma rota rodoviária deve formar um padrão de gota-d água; RUIM BOA PRINCÍPIOS PARA UMA BOA ROTEIRIZAÇÃO E PROGRAMAÇÃO DE VEÍCULOS 5. As rotas mais eficientes são construídas usando os maiores veículos disponíveis; Veículos maiores conseguem atender a um maior número de paradas, minimizando a distância ou o tempo total requerido para servir as paradas; Veículos maiores devem ser alocados primeiro; PRINCÍPIOS PARA UMA BOA ROTEIRIZAÇÃO E PROGRAMAÇÃO DE VEÍCULOS 6. As coletas devem ser combinadas com as rotas de entrega, ao invés de serem deixadas para o final das rotas; As coletas devem ser feitas, tanto quanto possível, durante as entregas de forma a minimizar a quantidade de cruzamentos de trajeto que podem ocorrer quando tais paradas são servidas depois que todas as entregas foram feitas 37
PRINCÍPIOS PARA UMA BOA ROTEIRIZAÇÃO E PROGRAMAÇÃO DE VEÍCULOS 7. Paradas isoladas de um agrupamento de rota são boas candidatas para um meio alternativo de entrega; PRINCÍPIOS PARA UMA BOA ROTEIRIZAÇÃO E PROGRAMAÇÃO DE VEÍCULOS 8. Janelas de tempo estreitas devem ser evitadas; Restrições da janela de tempo nas paradas, quando estreitas, podem gerar rotas muito ruins, fora dos padrões ideais; Renegociar o intervalo da janela de tempo; ROTEAMENTO PERIÓDICO DE VEÍCULOS Um conjunto de n clientes Um conjunto de veículos Um período de planejamento de t dias Uma demanda q i associada a cada cliente Um custo associado ao atendimento de cada cliente Problema: Determinar as rotas dos veículos no período 38
ROTEAMENTO PERIÓDICO DE VEÍCULOS: EXEMPLO Depósito Segunda Terça Quarta ROTEAMENTO PERIÓDICO DE VEÍCULOS: EXEMPLO Depósito Segunda Terça Quarta ROTEAMENTO PERIÓDICO DE VEÍCULOS: EXEMPLO Depósito Segunda Terça Quarta 39
ROTEAMENTO PERIÓDICO DE VEÍCULOS: EXEMPLO Depósito Segunda Terça Quarta ROTEAMENTO PERIÓDICO DE VEÍCULOS: OUTRA SITUAÇÃO Cada cliente é atendido uma única vez no período de 3 dias! ROTEAMENTO PERIÓDICO DE VEÍCULOS: OUTRA SITUAÇÃO Cada cliente é atendido uma única vez no período de 3 dias! 40
ROTEAMENTO PERIÓDICO DE VEÍCULOS: OUTRA SITUAÇÃO Cada cliente é atendido uma única vez no período de 3 dias! ROTEIRIZAÇÃO PROBABILÍSTICA Clientes nem sempre emitem pedidos de forma regular Estratégias a adotar: 1. Definir um roteiro ótimo a priori, eliminando os clientes sem pedidos; 2. Redefinir a roteirização sempre que houver alterações na lista de clientes a serem visitados. VANTAGENS DE UM ROTEIRO ÚNICO Roteirizador aplicado uma única vez, dispensando a alimentação contínua do sistema; Maior eficiência no trabalho do motorista memorização mais fácil do percurso, passando pelos mesmos locais aproximadamente à mesma hora; 41
DESVANTAGENS DE ALTERAR O ROTEIRO Alimentação contínua do Roteirizador; Diminuição na eficiência de trabalho dos motoristas Nem sempre alterar sistematicamente o roteiro é financeiramente compensador; EXEMPLO Cliente x y Prob. visita 1 7,50 7,80 1,0 2 8,10 6,95 1,0 3 8,50 8,20 1,0 4 8,75 6,50 1,0 5 6,20 6,60 1,0 6 6,00 6,00 1,0 7 5,90 7,45 1,0 8 5,45 8,30 1,0 9 5,00 7,60 0,2 10 5,00 6,80 0,2 EXEMPLO: ROTEIRO ÓTIMO 7 L = 11,6 Km 2 D 8 6 9 4 1 3 D->2->3->1->4->5->9->8->7->6->D 5 42
EXEMPLO: ROTEIRO SUB-ÓTIMO 7 L = 12,2 Km 2 8 6 D 9 4 1 3 D->2->3->1->5->4->6->9->8->7->D 5 EXEMPLO: ROTEIRO SUB-ÓTIMO 7 L = 12,2 Km 2 8 6 D 9 4 1 3 D->2->3->1->5->4->6->9->7->D 5 Roteiro quando o cliente 8 não é visitado EXEMPLO: ROTEIRO SUB-ÓTIMO 7 L = 11,2 Km 2 8 6 D 9 4 1 3 D->2->3->1->5->4->6->8->7->D 5 Roteiro quando o cliente 9 não é visitado 43
EXEMPLO: ROTEIRO SUB-ÓTIMO 7 L = 10,5 Km 2 D 8 6 9 4 1 3 5 D->2->3->1->5->4->6->7->D Roteiro quando os clientes 8 e 9 não são visitados EXEMPLO Qual a extensão média dos roteiros após um longo período? Uma visita ao cliente 8 ou 9 ocorre 20% das vezes Probabilidade de um desses clientes não ser visitado = 80% Admitir independência entre os eventos EXTENSÃO ESPERADA Evento Probabilidade Extensão (Km) Valor esperado A: Todos visitados 0,2 x 0,2 = 0,04 L T = 12,2 0,49 B: Cliente 8 não visitado C: Cliente 9 não visitado D: Clientes 8 e 9 não visitados 0,8 x 0,2 = 0,16 L 8 = 12,2 1,95 0,2 x 0,8 = 0,16 L 9 = 11,2 1,79 0,8 x 0,8 = 0,64 L 8,9 = 10,5 6,72 Total 1,00-10,95 44
EXERCÍCIO AVALIATIVO Cliente x y Prob. visita 1 6,50 6,80 1,0 2 5,10 5,95 1,0 3 7,50 7,20 1,0 4 5,75 7,50 1,0 5 6,70 6,10 1,0 6 5,00 8,00 1,0 7 4,90 7,30 0,5 8 3,45 3,90 0,5 9 4,00 7,80 0,2 10 3,00 4,80 0,2 Qual a extensão média dos roteiros após um longo período? 45