BCC 34 Fluxo Máximo Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto
Problema de Representação Residentes R, R,... R r Clubes C, C,... C q Partidos P, P,..., P p residente pode pertencer a um ou mais clubes residente pode pertencer a no máximo um partido clube deve nomear membro ao conselho administrativo da cidade tal que o num. de membros no conselho, pertencente ao partido P k, seja no máximo U k. Pergunta: é possível encontrar um conselho balanceado no sentido de que cada clube tenha um representante?
Rede para o Problema Considere a rede para: q = 4 clubes, r = 7 residentes, p = 3 partidos. R C R P C R 3 C 3 R 4 P C 4 R 5 R 6 P 3 R 7
Rede para o Problema Considere a rede para: q = 4 clubes, r = 7 residentes, p = 3 partidos. R C R P C C 3 R 3 R 4 P C 4 R 5 R 6 P 3 R 7
Rede Final Considere a rede para: q = 4 clubes, r = 7 residentes, p = 3 partidos. R s C C C 3 C 4 R R 3 R 4 R 5 R 6 P P P 3 U U U3 t R 7 Se o Fluxo máximo de s para t for = q => o conselho é balanceado
Arredondamento de Matrizes Arredondamento Consistente de Matrizes Dada uma matriz pxq de reais D={ d ij } cuja soma das linhas é A i e a soma das colunas é B j, podemos arredondar qualquer elemento d ij da matriz para cima ou para baixo. O problema de arredondamento consistente requer que a soma após os arredondamentos seja igual ao arredondamento das somas originais!
Arredondamento de Matrizes Arredondamento Consistente de Matrizes: a soma após os arredondamentos deve ser igual ao arredondamento das somas originais! 3, 6,8 7,3 7, 9,6,4 0,7,7 3,6, 6,5,3 6,3 0,4 4,5 3 7 7 7, ok 0,7 ok 4 7,3 não 6,3 não 0,4 ok 4,5 ok
Rede que Representa o Problema Matriz pxq p nós linha à esquerda e q nós coluna à direita com pxq arcos (linha, coluna) ligando os nós. Os arcos representam as possibilidades de arredondamento dos elementos através de seus limites inferiores e superiores. 3, 6,8 7,3 7, 9,6,4 0,7,7 3,6, 6,5,3 6,3 0,4 4,5 i j (l ij, u ij ) linhas (3, 4) colunas 3 (6, 7) 3
Rede que Representa o Problema Um nó s é ligado a cada nó linha representando os possíveis arredondamentos das linhas Os nós coluna são ligados a um nó t representando os possíveis arredondamentos das somas da colunas. 3, 6,8 7,3 7, 9,6,4 0,7,7 3,6, 6,5,3 6,3 0,4 4,5 s linhas (3, 4) colunas (, 3) (0, ) t i j (l ij, u ij ) 3 (6, 7) 3 Pode-se encontrar um arredondamento consistente resolvendo o PFM para a rede correspondente.
Processamento Distribuído em Maquina Dual Objetivo: Atribuir diferentes módulos de um programa a processadores, minimizando o custo total de comunicação entre processadores e do processo em si. O programa tem vários módulos que interagem durante sua execução. Sejam Ai e Bi os custos de processar o módulo i nos processadores e respectivamente. Seja cij o custo de comunicação entre os processadores caso os módulos i e j sejam atribuídos a diferentes processadores. Este problema pode ser formulado como um problema de corte mínimo (Fluxo Máximo) numa rede não direcionada. Teorema de Ford e Fulkerson: O Fluxo Máximo Corte Mínimo
Processamento Distribuído em Maquina Dual 3 4 i 3 4 0 5 0 0 Ai 6 5 0 4 5 0 6 Bi 4 0 3 8 3 0 6 0 4 0 0 4 5 6 0 5 Proc s 3 6 0 Proc 8 3 4 4 t Sejam K e K uma solução. Então o custo é dado por: i K A i + B + j ij j K ( i, j K K ) K = {, }, K ={3,4} C
Processamento Distribuído em Maquina Dual 3 4 i 3 4 0 5 0 0 Ai 6 5 0 4 5 0 6 Bi 4 0 3 8 3 0 6 0 4 0 0 4 5 6 0 5 Proc s 3 6 0 Proc 8 3 4 4 t Sejam K e K uma solução. Então o custo é dado por: i K A i + B + j ij j K ( i, j K K ) K = {, 3, 4}, K ={} C
Processamento Distribuído em Maquina Dual 3 4 i 3 4 0 5 0 0 Ai 6 5 0 4 5 0 6 Bi 4 0 3 8 3 0 6 0 4 0 0 4 5 6 0 5 Proc s 3 6 0 Proc 8 3 4 4 t Sejam K e K uma solução. Então o custo é dado por: i K A i + B + j ij j K ( i, j K K ) K = {,, 3, 4}, K = C
Processamento Distribuído em Maquina Dual 3 4 i 3 4 0 5 0 0 Ai 6 5 0 4 5 0 6 Bi 4 0 3 8 3 0 6 0 4 0 0 4 5 6 0 5 Proc s 3 6 0 Proc 8 3 4 4 t Sejam K e K uma solução. Então o custo é dado por: i K A i + B + j ij j K ( i, j K K ) K =, K = {,, 3, 4} C
Problema do Fluxo Máximo Sete tipos de pacotes (palets) diferentes devem ser entregues por cinco caminhões. Existem três pacotes de cada tipo, e as capacidades dos cinco caminhões são 6, 4, 5, 4 e 5 pacotes respectivamente. Formule um modelo de fluxo máximo que pode ser usado para determinar se os pacotes podem ser transportados de tal maneira que nenhum caminhão carregue mais do que dois pacotes do mesmo tipo.
Problema do Fluxo Máximo Quatro trabalhadores estão disponíveis para realizar as tarefas -4. Infelizmente, três trabalhadores podem fazer apenas determinadas tarefas: trabalhador somente a tarefa ; trabalhador somente as tarefas e ; trabalhador 3 somente a tarefa e trabalhador 4 qualquer tarefa. Monte uma rede para o fluxo máximo que pode ser usada para determinar se todas as tarefas podem ser atribuídas devidamente aos trabalhadores.
Problema do Fluxo Máximo Conclusão: O modelo do fluxo máximo pode ser utilizado para resolver problemas dos mais variados possíveis, e não somente para enviar o máximo de fluxo de um nó s para um nó t em uma rede capacitada.