A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 3 - Teoria dos Grafos Fernando.

Apresentações semelhantes


Apresentação em tema: "Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 3 - Teoria dos Grafos Fernando."— Transcrição da apresentação:

1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 3 - Teoria dos Grafos Fernando Marins – Departamento de Produção 1

2 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Sumário Introdução Histórico Aplicações de grafos Conceitos e Notação Representações de um grafo Tipos de grafos Problemas típicos e Algoritmos Caminho Ótimo - Algoritmo de Djisktra Árvore Ótima - Algoritmo de Kruskal Fluxo Máximo - Algoritmo de Ford - Fulkerson 2

3 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Introdução Histórico Euler resolveu o problema das pontes de Königsberg do rio Pregel, em 1736, utilizando um modelo de grafos: partir de uma das 4 regiões, atravessar cada ponte uma única vez e retornar à região de partida. Figura 1. Rio Pregel e suas sete pontes. 3 Figura 2. Leonhard Euler.

4 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Introdução Figura 3. Königsberg -Kalinigrado nos tempos atuais.

5 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Introdução Figura 4. Modelo de Grafo para o Rio Pregel e suas sete pontes. Modelo de grafos utilizado por Euler para demonstrar que o problema não tem solução. Para haver solução é necessário que cada região tenha um número par de pontes associadas. 5

6 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Introdução Aplicações de modelos em grafos 1. Grafos planares: problemas de montagens/ trevos Figura 3. Um problema de montagem. A, B, C : linhas de montagens/ rodovias principais D 1, D 2, D 3 : departamentos/ rodovias secundárias Ligações: esteiras/ viadutos ou túneis 6

7 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Introdução 2. Problemas de Localização Existindo n cidades consumidoras do produto fabricado por uma determinada empresa, deseja-se saber onde seria o melhor local para a instalação de uma filial desta empresa que atendesse as n cidades com menor custos de distribuição do produto. Existem algoritmos próprios para este problema, além de várias heurísticas que possuem bom desempenho. 7

8 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Notação Representações de um grafo G 1. G(V, A) onde: V = Conjunto de vértices ou nós do grafo A = Conjunto de arcos ou arestas do grafo 2. Diagramas e tipos de grafos a b c Grafo Não- orientado Grafo Orientado 3 a b c d e f 1 4 2

9 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Notação 3. Matriz de adjacência (grafo não-orientado) A = (a ij ) = a b c A =

10 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Notação 4. Matriz de incidência (grafos orientados) A = [a ij ] é a matriz (não necessariamente quadrada) de incidência de G se 3 a b c d e f

11 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Grafo Valorado Rio de Janeiro São Paulo Belo Horizonte Brasília Grafo com as distâncias de São Paulo a 3 capitais:

12 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Grafos Especiais 12 Para o grafo G abaixo: árvore, cadeia, caminho, ciclo e circuitoárvorecadeiacaminhociclo e circuito a b c e f g h j l i d

13 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Árvore Árvore (arborescência): grafo conexo sem ciclos a b d h j g

14 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Cadeia Cadeia: seqüência de arcos com extremidade em comum a d h j l

15 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Caminho Caminho: seqüência de arcos com mesma orientação a c f j

16 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Ciclo e Circuito Ciclo: cadeia fechada a d l i bg 5. Circuito: caminho fechado a b c

17 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Problemas e Algoritmos 17 Otimização em grafos 1. Determinação de Árvores ótimas: Algoritmo de Kruskal 2. Determinação de Caminhos Ótimos: Algoritmo de Djisktra 3. Determinação de Fluxo Máximo: Algoritmo de Ford & Fulkerson

18 Pesquisa Operacional - UNESP / Campus de Guaratinguetá 18 Algoritmo de Kruskal Figura 5. Joseph Kruskal. Histórico Em 1956 o matemático americano Joseph Kruskal (29/01/ /09/2010) propôs um algoritmo para resolução do Problema da Árvore Mínima. Ele completou seu Ph.D. na Universidade de Princeton em 1954.

19 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Algoritmo de Kruskal 19 Determinação de uma árvore mínima num grafo G (V, A) Para cada aresta (i, j) existe um custo associado C ij. |V| = cardinalidade do conjunto de nós V = número de nós. Passo 1. Considerar o grafo trivial formado apenas pelos nós de G Passo 2. Construção da Árvore Acrescentar ao grafo trivial a aresta (i, j) associada ao menor valor de custo C ij. Repetir o procedimento respeitando a ordem crescente de valores de C ij, desde que a aresta analisada não forme ciclo com as arestas já incorporadas à árvore. Após incorporar |V| - 1 arestas Parar! A árvore mínima foi obtida. 19

20 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo para o Algoritmo de Kruskal 20 Determinar uma árvore mínima A B C D F E 9 8 G H I J

21 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo para o Algoritmo de Kruskal 21 Passo 1: Grafo trivial 21

22 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo para o Algoritmo de Kruskal 22 Passo 2: A primeira aresta a ser incorporada será a aresta associada ao valor de custo = 1. Observe-se que há duas arestas nestas condições: aresta (a, b) e aresta (c, d). Pode-se escolher arbitrariamente qual delas será incorporada primeiro ao grafo trivial. A seguir incorpore a outra (observe que elas não formam ciclo). 22

23 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo para o Algoritmo de Kruskal 23 Árvore parcial: colocar as arestas com custo A B C D E 23

24 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo para o Algoritmo de Kruskal A seguir tem-se as arestas (b, e) e (b, f) correspondentes aos custo com valor 2. Analogamente ao caso anterior pode-se optar por qualquer uma elas para ser analisada primeiro. Ambas serão incorporadas ao grafo resultante da operação anterior, pois também não formam ciclo. 24

25 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo para o Algoritmo de Kruskal 25 Árvore parcial: colocar as arestas com custo A B C D E 25

26 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo para o Algoritmo de Kruskal 26 Árvore parcial: colocar a aresta com custo A B C D E 3 26

27 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo para o Algoritmo de Kruskal 27 Árvore parcial: colocar as arestas com custo A B C D E

28 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo para o Algoritmo de Kruskal 28 Árvore parcial: colocar uma das duas arestas com custo 5, a outra será descartada A B C D E

29 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo para o Algoritmo de Kruskal 29 Como o número de nós é 10 prossegue-se neste processo até que sejam incorporadas = 9 arestas, sendo obtida uma árvore mínima: Observe que esta é uma solução ótima do problema. Custo ótimo: =

30 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Algoritmo de Dijsktra 30 Figura 6. Edsger Wybe Dijkstra. Histórico Em 1956 o cientista da computação holandês Edsger Wybe Dijkstra concluiu o desenvolvimento do algoritmo para o problema do caminho mínimo mas somente em 1959 foi publicado seu trabalho. Este algoritmo foi o seu primeiro trabalho e o mais conhecido. Edsger Wybe Dijkstra nasceu em 11 de maio de 1930 e morreu em 6 de agosto de Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas. Edsger Dijkstra

31 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Algoritmo de Dijsktra 31 Problema do Caminho Ótimo Determinação de caminhos mínimos em grafos valorados. Princípio de Otimalidade de Bellman: Um caminho mínimo é constituído de sub-caminhos mínimos Aplica-se a grafos valorados onde não há laços, arcos paralelos e todos valores associados aos arcos são não-negativos. Achar caminho ótimo entre dois nós (origem = S e destino = T) de um grafo.

32 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Algoritmo de Dijsktra 32 Aspectos Gerais Adota a técnica de rotulação dos nós, havendo dois tipos de rótulos: rótulos temporários e rótulos definitivos. A cada iteração, alguns nós são rotulados temporariamente e apenas um nó é rotulado definitivamente. O valor do rótulo definitivo associado a um nó j corresponde ao valor da distância mínima entre o nó origem S e o nó j. A execução do algoritmo termina quando se consegue rotular definitivamente o nó destino T.

33 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Algoritmo de Djisktra Inicialização 2. Atualização dos rótulos temporários 3. Rotulação Definitiva de um nó 4. Passo geral 1.Inicialização Rotular definitivamente o nó origem S com valor 0. Rotular temporariamente os demais nós com valor.

34 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Algoritmo de Djisktra 2. Atualização dos rótulos temporários Todo nó j ainda não rotulado definitivamente deve receber novo valor de rótulo dado por Min {rótulo atual do nó j, rótulo do nó i + c ij }, onde, i = último nó rotulado definitivamente c ij = valor associado ao arco que liga os nós i e j. 34

35 Pesquisa Operacional - UNESP / Campus de Guaratinguetá 3. Rotulação definitiva Comparar os rótulos temporários e escolher para ser rotulado definitivamente o nó j associado ao menor valor. 4. Passo geral Repetir sucessivamente os passos 2 e 3 até rotular definitivamente o nó destino T. O valor da distância mínima entre os nós S e T é o valor do rótulo definitivo do nó destino T. Algoritmo de Djisktra 35

36 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Obtenção dos nós do caminho mínimo A partir do nó t achar qual foi o nó i do passo 2 responsável pelo valor de seu rótulo definitivo. Suponha que tenha sido o nó k. A partir do nó k achar qual foi o nó i do passo 2 responsável pelo valor de seu rótulo definitivo. Suponha que tenha sido o nó h. Repetir este processo até que o nó i seja o nó origem s Os nós i encontrados em cada etapa deste processo de busca serão os nós intermediários do caminho mínimo entre s e t. 36

37 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo para Caminho Ótimo 37 Achar a distância mínima entre os nós S e T: S A C D T B 6 E

38 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Algoritmo de Djisktra 38 0* 4*1*125*4*7* Resolução completa do exemplo de caminho mínimo Aplicação do Algoritmo de Djisktra - Tabela completa RótulosExplicação SABCEDTVetor com nós do grafo 0* 0* 71 0* 71* 0* 41* 54 0* 41* 54* 0* 41*1454*11 0* 4*1*1454*11 0* 4*1*1254*11 0* 4*1*125*4*11 0* 4*1*125*4*7 Passo 1 - Inicialização Passo 2 com i = S Passo 3 - Rot. Def. Nó B Passo 2 com i = B Passo 3 - Rot. Def. Nó D Passo 2 com i = D Passo 3 - Rot. Def. Nó A Passo 2 com i = A Passo 3 - Rot. Def. Nó E Passo 2 com i = E Passo 3 - Rot. Def. Nó T (parar!)

39 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Algoritmo de Djisktra 39 Distância mínima entre os nós S e T = 7 = Rótulo definitivo do nó T. Recuperação do caminho mínimo (ótimo): Valor do rótulo definitivo do nó T = 7 sendo o nó i responsável = Erótulo definitivo Valor do rótulo definitivo do nó E = 5 sendo o nó i responsável = Bdefinitivo Valor do rótulo definitivo do nó B = 1 sendo o nó i responsável = Srótulo definitivo T E B S 2 4 1

40 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exercício 40 A B C D E F ST Achar a distância mínima entre os nós S e T:

41 Pesquisa Operacional - UNESP / Campus de Guaratinguetá 41 Análise de Redes: Problema do Fluxo Máximo Figura 7. Lester Randolph Ford, Jr.. Figura 8. Delbert Ray Fulkerson.. Histórico Em 1956 os matemáticos americanos Lester Randolph Ford (nascido em 23/09/1927) e Delbert Ray Fulkerson (14/08/ /01/1976) propuseram em um trabalho conjunto o algoritmo para resolução do Problema de Fluxo Máximo.

42 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Análise de Redes: Problema do Fluxo Máximo 42 Rede: Formada por duas entidades - Nós, Arcos Interesse: Comportamento da Variável Fluxo Exemplos: AplicaçãoNósArcosFluxo Sistemas de comunicação Satélites, computadores Micro ondas, fibra ótica Mensagens, dados Sistemas hidráulicos Estação de bombeamento, reservatório TubosÁgua, gás, petróleo Sistemas de transportes Interseções, aeroportos Estradas, rotas aéreas Veículos, passageiros

43 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Problema de Fluxo Máximo 43 Notação: Nó fonte: S Nó destino: T Fluxo no arco (i,j): F ij = quantidade de produto no arco (i,j) K ij = capacidade do arco (i,j) = maior fluxo possível no arco (i,j) Restrições envolvidas: Há conservação de fluxo nos nós. Há limitação do valor de fluxo nos arcos. Observações: O método simplex resolve este problema. Método mais eficiente: Ford &Fulkerson.

44 Pesquisa Operacional - UNESP / Campus de Guaratinguetá 44 Problema de Fluxo Máximo Seja a rede abaixo. Deseja-se achar o valor do fluxo máximo que pode ser enviado do nó S ao nó T, respeitando as restrições de capacidade nos arcos e a conservação de fluxo nos nós. Sejam K ij (ou C ij ) as restrições de fluxo (capacidade) no arco (i, j) S T 1 2 F F

45 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Modelo de Programação Linear 45 Max Z = F F S1 + F S2 = F(1) F 12 + F 1T = F S1 + F 21 (2) s. a: F 21 + F 2T = F S2 + F 12 (3) F 1T + F 2T = F(4) 0 F ij K ij (5) Restrição (1) representa a conservação de fluxo no nó fonte S. Restrições (2) e (3) representam a conservação de fluxo nos nós intermediários 1 e 2. Restrição (4) representa a conservação de fluxo no nó destino T. Restrição (5) restringe os fluxos a serem não-negativos e respeitarem os limites de capacidade nos arcos.

46 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Problema de Fluxo Máximo 46 Dada uma rede orientada formada por arcos onde há restrições de capacidade, deseja-se enviar a maior quantidade (fluxo) possível de um produto a partir de um nó fonte (S) para um nó destino (T). Fluxo de produto pode ser fluxo de eletricidade, de água, de informação, ou de veículos, entre outros. Extensões: Rede não-orientada Múltiplas fontes e múltiplos destinos

47 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Problema de Fluxo Máximo 47 Conceitos Básicos Arcos Forward para o nó i: todo arco que sai do nó i. Arcos Backward para o nó i: todo arco que entra no nó i. Caminho entre o nó fonte e o nó destino: sequência de arcos que se inicia no nó fonte S e termina no nó destino T. Ciclo é um caminho cujos nós inicial e final são os mesmos. Seja N = conjunto de todos os nós da rede. Um Corte separando a fonte S do destino T é uma partição dos nós da rede em dois subconjuntos denotando por S aquele que contém o nó S e por S aquele que contém o nó T.

48 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Problema de Fluxo Máximo 48 S T 1 2 F F Exemplos: Seja a rede anteriormente considerada: Nó 1: arcos Forward = {(1,2),(1,T)}, arcos Backward = {(S,1),(2,1)} Caminho: (S,1),(1,2),(2,T) Corte: S = {S,1,2}, S = {T} capacidade = K 1T + K 2T S = {S,2}, S = {1,T} capacidade = K S1 + K 21 + K 2T

49 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Problema de Fluxo Máximo 49 Resultados Importantes: O corte mínimo é aquele corte com o menor valor de capacidade associado. Excluindo os arcos de um corte da rede não há caminho entre os nós S e T nenhum fluxo ocorrerá entre S e T. Todo fluxo entre S e T deve se dar pelos arcos de um corte o valor do fluxo é limitado pela capacidade do corte. Lema 1: Se F é o fluxo da fonte ao destino e (S,S) é um corte o valor de F é menor ou igual a capacidade daquele corte (S,S).

50 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Problema de Fluxo Máximo 50 Consequências: Todo fluxo viável da fonte ao destino não pode exceder a capacidade de um corte qualquer. O fluxo máximo na rede é limitado pela capacidade do corte mínimo. Teorema do Fluxo Máximo e do Corte Mínimo O valor do fluxo máximo numa rede é igual a capacidade do corte mínimo. Usando o teorema do fluxo máximo e corte mínimo pode- se obter o valor do fluxo máximo. Basta encontrar as capacidades de todos os cortes existentes na rede e escolher o menor valor de capacidade.

51 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Problema de Fluxo Máximo 51 Princípios Básicos do Algoritmo do Fluxo Máximo: Encontrar um caminho pelo qual um fluxo positivo possa ser enviado da fonte S ao destino T. Este caminho é denominado Flow Augmenting Path = caminho com fluxo crescente – CFC. O CFC é usado para enviar a maior quantidade de fluxo possível de S para T. Repete-se o processo até que nenhum CFC possa ser obtido.

52 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Problema de Fluxo Máximo 52 Rotina de rotulação adotada pelo algoritmo: Usada para achar CFC de S para T. 1.Iniciar com o nó fonte S. Dizemos que o nó j pode ser rotulado se um fluxo positivo pode ser enviado a partir de S para j. 2.Em geral a partir de qualquer nó i pode-se rotular um nó j se uma das condições abaixo se verifica: a)O arco que conecta os nós i e j é do tipo Forward e o fluxo F ij neste arco (i,j) é menor que o valor da sua capacidade K ij. b)O arco que conecta os nós i e j é do tipo Backward e o fluxo F ij neste arco (j,i) é maior que zero. 3. O processo continua até que o nó destino T é rotulado. Tem-se então um CFC.

53 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Algoritmo do fluxo máximo Inicialização Obter um fluxo viável em todos os arcos da rede. Este fluxo deve satisfazer as restrições de conservação de fluxo nos nós e as restrições de capacidade nos arcos. Inicialmente adotar fluxo nulo em todos os arcos. 2. Procura de um caminho de fluxo crescente – CFC de S para T Usar o procedimento de rotulação de nós, iniciando com o nó origem e terminando com o nó destino T. Se não for possível obter um CFC Parar! Uma solução ótima foi obtida o fluxo atual é máximo. Caso contrário ir a etapa Aumento no valor do fluxo entre S e T Calcular o valor máximo δ de fluxo que pode ser enviado pela CFC obtida na etapa anterior. Nos arcos Forward do CFC aumentar o fluxo de δ. Nos arcos Backward do CFC diminuir o fluxo de δ. Voltar à etapa 2.

54 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo Completo 54 Determinar o fluxo máximo F da fonte S ao destino T, na rede a seguir. Os números ao lado dos arcos representam suas capacidades C ij. Notação: Nas próximas figuras os números ao lado dos arcos representam (F ij, C ij ), onde F ij é o fluxo no arco (i, j). Nós rotulados serão marcados por asteriscos. Etapa 1 – Inicialização: Fazer F ij = 0 em todos as arcos. S T 1 2 F F

55 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo Completo 55 Etapa 2 – (Figura 1) Para achar um CFC de S para T: Rotular inicialmente S. Deste nó S pode-se rotular o nó 1 pois o arco (S,1) é do tipo Forward e 0 = F S1 C S1 = 7 a seguir, do nó 1 pode-se rotular o nó 2 pois o arco (1,2) é do tipo Forward e 0 = F 12 C 12 = 3. Finalmente rotula-se o nó destino T pois o arco (2,T) é do tipo Forward e 0 = F 2T C 2T = 8. Isto resulta num valor de fluxo F = 0. Figura 1 S* T* 1* 2* F = 0 (0,7) (0,9) (0,8) (0,3)

56 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo Completo 56 Desta forma foi obtida uma CFA formada por arcos do tipo Forward, (S,1), (1,2), (2,T). Etapa 3 O fluxo máximo neste CFC é dado por min {(7 - 0), (3 - 0), (8 - 0)} = 3. Assim pode-se aumentar o fluxo entre S e T de δ = 3. Os novos fluxos estão na Figura 2. Figura 2 S T 1 2 F = 3 (3,7) (0,9) (3,3) (3,8)

57 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo Completo 57 Etapa 2 – Repetindo o processo de rotulação de nós para a configuração da Figura 2 obtém-se um novo CFC dado por: Etapa 3 – O fluxo máximo permitido neste CFC = min {(7 -3), (9 -0)}= 4. Isto aumenta o fluxo pela rede para F = = 7. A nova configuração de fluxos fica sendo a da Figura 3. Figura 3 v S* 1*T* S T 1 2 F = 7 (7,7) (4,9) (0,9) (3,3) (3,8)

58 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo Completo 58 Etapa 2 – Na busca de um novo CFC, o nó 1 não pode ser rotulado a partir do nó S pois o arco (S,1) é Forward e agora F S1 = C S1 = 7. Mas um novo CFC pode ser obtido rotulando-se o nó 2 e depois o nó T: Etapa 3 – Neste CFC o fluxo pode ser aumentado de min {(9 -0), (8 -3)} = 5, o que resulta na configuração dada pela Figura 4: Figura 4 v S* 2*T* S T 1 2 F = 12 (7,7) (4,9) (5,9) (3,3) (8,8)

59 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo Completo 59 Etapa 2: Partindo-se do nó S pode-se rotular o nó 2, a seguir rotula-se o nó 1, pois o arco (1,2) contém um fluxo positivo de 3 unidades e fica sendo Backward neste novo CFC, finalmente a partir do nó 1, pelo arco (1,T) rotula-se o nó destino T: Etapa 3 – Neste CFC pode-se aumentar o fluxo na rede de min{(9 -5),3,(9 -4)} = 3, pois o arco (1,2) é Backward e pode ter o fluxo de 3 diminuído até zero. A nova configuração de fluxos está na Figura 5: Figura 5 v S* 2* T* 1* S T 1 2 F = 15 (7,7) (7,9) (8,9) (0,3) (8,8)

60 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo Completo 60 Etapa 2: O nó 2 pode ser rotulado a partir do nó S, mas nenhum outro nó pode ser rotulado a partir do nó 2, ou seja, não há nenhum CFC adicional. Logo obteve-se o fluxo máximo de S para T dado por 15 unidades de fluxo. Observação: Pode-se usar o teorema de Ford & Fulkerson para provar que o fluxo máximo é de fato 15. Veja a Figura 6.

61 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Exemplo Completo 61 Considere o corte que separa os nós rotulados dos não rotulados na última etapa 2, ele é formado pelos arcos (S,1),(1,2) e (2,T), tendo capacidade = 15 e separa o nó S do nó T. Pelo Teorema de F & F o fluxo não pode exceder a capacidade de nenhum corte que separe o nó S do nó T, logo o corte em questão é o corte mínimo e o fluxo máximo = 15 é igual a capacidade deste corte mínimo. S* T 1 2* F = 15 (7,7) (0,3) (8,8) Figura 6

62 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Extensões para o problema de Fluxo Máximo 62 Rede não-orientada: considere a rede urbana abaixo: Maximizar o fluxo de tráfego de S até T. S T

63 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Extensões para o problema de Fluxo Máximo 63 Aplicar o algoritmo apresentado e achar Fluxo Máximo. Se arco (i,j) não é direcionado e f ij > f ji fluxo = (f ij – f ji ) será enviado de i para j. (Adequar mão de trânsito no arco i j) Trabalhar com modelo equivalente de redes: S T

64 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Extensões para o problema de Fluxo Máximo 64 Nó A = Fonte com oferta produto = 20 (Oferta Total = 40) Nó D = Fonte com oferta produto = 20 Nó E = Destino com demanda produto = 15 (Demanda Total = 35) Nó H = Destino com demanda produto =20 Múltiplas fontes e múltiplos destinos: CCC A B C D E F G H Capacidade do arco

65 Pesquisa Operacional - UNESP / Campus de Guaratinguetá Extensões para o problema de Fluxo Máximo 65 C C C C C CC C CC f fictícia f fictícia A B T H G F E D C s O problema é viável ? MAXIMIZAR f f MAX = 30 < 35 = Demanda Total Problema Inviável


Carregar ppt "Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 3 - Teoria dos Grafos Fernando."

Apresentações semelhantes


Anúncios Google