SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Universidade Federal de Campina Grande
              Centro de Engenharia Elétrica e Informática
               Departamento de Sistemas e Computação
                 Programa de Educação Tutorial (PET)



                                                Demontiê Junior
                                            (demontie@dsc.ufcg.edu.br)




Fluxo Máximo a Custo Mínimo
Min Cost Max Flow

    DSC/CEEI/UFCG
Agenda
Introdução             Introdução
Conceitos


                        Conceitos importantes
importantes
Apresentação      e
análise do
algoritmo                   Algoritmo de Bellman-Ford
Exemplode
implementação
                            Redes de fluxo
Considerações


                         Apresentação e análise do algoritmo
Finais
                       
                        Exemplo de implementação
                        Considerações Finais
   DSC/CEEI/UFCG




                                   CST – Fluxo Máximo a Custo   2
                                    Mínimo – Demontiê Junior
Introdução
Introdução
                        Caracterização              do Problema:
Conceitos
importantes
Apresentação      e
                           Encontrar os caminhos de menor custo
análise do
algoritmo                   que geram o fluxo máximo de uma rede.
Exemplode
implementação
Considerações
Finais                     Utiliza algoritmos de fluxo máximo e de
                            menor caminho de origem única.

                           Cada aresta tem dois atributos: peso e
   DSC/CEEI/UFCG
                            capacidade

                                  CST – Fluxo Máximo a Custo         3
                                   Mínimo – Demontiê Junior
Introdução
Introdução               Motivação:
Conceitos
importantes                  Aplicável a vários problemas reais.
Apresentação      e
análise do                   Exemplo (variação: fluxo a custo mínimo):
algoritmo
Exemplode                      “Saber a quantia mínima em dinheiro que
implementação
Considerações
                           um grupo de amigos precisa dispor para se
Finais                     deslocar entre duas cidades. O transporte será
                           feito por aviões, que seguem determinados
                           trechos (existe apenas um vôo para cada
                           trecho durante todo o período do passeio, mas
                           o tempo do vôo é desprezível). Todos os vôos
   DSC/CEEI/UFCG           tem a mesma capacidade, e cada um tem seu
                           custo por pessoa.”
                                    CST – Fluxo Máximo a Custo         4
                                     Mínimo – Demontiê Junior
Introdução
Introdução               Objetivos:
Conceitos
importantes
                              Apresentar um algoritmo para resolução
Apresentação      e
análise do
algoritmo
                               do problema de Fluxo Máximo a Custo
Exemplode
implementação
                               Mínimo
Considerações
Finais
                              Mostrar a importância do conhecimento
                               desse tipo de algoritmos para a
                               resolução de problemas reais


   DSC/CEEI/UFCG




                                     CST – Fluxo Máximo a Custo    5
                                      Mínimo – Demontiê Junior
Conceitos Importantes

   DSC/CEEI/UFCG
Contextualizando...
Introdução               O que é um grafo?
Conceitos
importantes
                            Dois tipos de elementos: vértices e
Apresentação      e
análise do
algoritmo
                             arestas
Exemplode
implementação               De maneira mais formal, grafos são
Considerações
Finais
                             tuplas do tipo G = <V, E>:
                               V  é o conjunto finito, não vazio, de vértices
                                E é o conjunto finito de arestas
                                Se Ǝ e = {v, w} | e ∈ E, então, dizemos que
                                 e é incidente a v e w, bem como v e w são
   DSC/CEEI/UFCG
                                 adjacentes

                                     CST – Fluxo Máximo a Custo            7
                                      Mínimo – Demontiê Junior
Menor caminho de origem única
Introdução               Em que consiste?
Conceitos
importantes
                            Encontrar os menores caminhos entre
Apresentação      e
análise do
algoritmo
                             um vértice inicial e todos os outros
Exemplode
implementação
                             vértices de um grafo
Considerações
Finais
                            Utiliza grafos valorados
                            Algoritmos mais famosos:
                                Dijkstra
                                Bellman-Ford
                                Floyd-Warshall
   DSC/CEEI/UFCG




                                      CST – Fluxo Máximo a Custo    8
                                       Mínimo – Demontiê Junior
Algoritmo de Bellman-Ford
Introdução

Conceitos
importantes            Bellman-Ford(G, w, s)
Apresentação      e       for ∀u ∈ V[G] do
análise do                    d[u] ← ∞
algoritmo
                              π[u] ← NIL                             Inicia as variáveis
Exemplode
implementação             d[s] ← 0
Considerações
                          for i  1 to |V[G]| - 1 do
Finais                        for ∀(u, v) ∈ E[G] do
                                  if d[v] > d[u] + w(u,v) then
                                      d[v] ← d[u] + w(u,v)           Relaxamento
                                      π[v] ← u
                          for ∀(u, v) ∈ E[G] do
                              if d[v] > d[u] + w(u, v) then          Checa a presença
                                  return FALSE                       de ciclo negativo
   DSC/CEEI/UFCG
                          return TRUE


                                        CST – Fluxo Máximo a Custo                         9
                                         Mínimo – Demontiê Junior
Redes de fluxo
Introdução               O que são redes de fluxo?
Conceitos
importantes
                            Cada aresta tem uma capacidade (fluxo
Apresentação      e
análise do
algoritmo
                             máximo nessa aresta)
Exemplode
implementação               Possui dois vértices especiais: fonte (f)
Considerações
Finais
                             e sovedouro (s)
                            ∀v ∈ V, existe um caminho entre f e s
                             passando por v

   DSC/CEEI/UFCG




                                   CST – Fluxo Máximo a Custo       10
                                    Mínimo – Demontiê Junior
Redes de fluxo
Introdução               Exemplo:
Conceitos
importantes
Apresentação      e                                 12
análise do                                   V                  W
algoritmo
Exemplode                         16                                   20
implementação
Considerações
Finais
                                        10       4   9          7
                               F                                             S


                                   13                                   4

                                             X                      Y
   DSC/CEEI/UFCG
                                                     14


                                   CST – Fluxo Máximo a Custo                    11
                                    Mínimo – Demontiê Junior
Rede residual
Introdução             Considere c(e) a função capacidade
                         de e, e ∈ E
Conceitos
importantes
Apresentação      e

                        A rede residual de uma rede R é um
análise do
algoritmo


                         grafo R = <V, Eresidual>, tal que:
Exemplode
implementação
Considerações
Finais                      ∀e ∈ E, Ǝ uma eresidual cuja capacidade
                             é cresidual
                            cresidual(e) = c(e) – fluxo(e)


   DSC/CEEI/UFCG




                                 CST – Fluxo Máximo a Custo Mínimo –   12
                                           Demontiê Junior
Rede residual
Introdução               Rede residual após um fluxo de 4 no
Conceitos
importantes                caminho FXYS
Apresentação      e
análise do
                                                          12
algoritmo                                         V              W
Exemplode
implementação
                                    16                                       20
Considerações
Finais


                                             10       4   9      7
                                F                                                 S

                                         9                               0
                                                                              4
                                    4
                                                          10
                                                  X                  Y
   DSC/CEEI/UFCG




                                                           4
                                    CST – Fluxo Máximo a Custo                        13
                                     Mínimo – Demontiê Junior
Algoritmo de fluxo máximo
Introdução               Ford-Fulkerson
Conceitos
importantes
                            Rede residual
Apresentação      e

                            Caminho expandível
análise do
algoritmo
Exemplode
implementação
                       Ford-Fulkerson(G, s, t)
Considerações
Finais                    for ∀e ∈ E[G] do
                              fluxo[e] ← 0

                           while exisitr um caminho expandível p na rede residual do
                              aumentar f (*) ao longo de p
                           return f

   DSC/CEEI/UFCG
                                 (*) capacidade do arco de menor capacidade de p


                                       CST – Fluxo Máximo a Custo                  14
                                        Mínimo – Demontiê Junior
Apresentação e análise do
algoritmo

    DSC/CEEI/UFCG
Fluxo Máximo a Custo Mínimo
Introdução               “Por que não encontrar os menores
Conceitos
importantes                caminhos com Dijkstra e, simplesmente, sair
Apresentação
análise do
                   e       distribuindo o fluxo?”
algoritmo
Exemplode
                              Temos que gerar, sempre, a rede residual, para
implementação                  que não seja encontrado um fluxo diferente do
Considerações
Finais                         máximo
                              Quando geramos a rede residual, temos que
                               modificar, também, os custos das arestas
                              Algumas vezes invertemos o custo de uma
                               aresta
   DSC/CEEI/UFCG

                              Dijkstra não funciona bem com pesos negativos

                                      CST – Fluxo Máximo a Custo          16
                                       Mínimo – Demontiê Junior
Fluxo Máximo a Custo Mínimo
Introdução               Exemplo
Conceitos
importantes
Apresentação      e                                    12
análise do                                   V                    W
algoritmo                                               20
Exemplode                          16                                       20
implementação
                                      20                                20
Considerações
Finais                                                  9
                              F                     1                             S

                                       20                               20
                                    13                                       4
                                                        20
                                              X                    Y
   DSC/CEEI/UFCG
                                                        14


                                  CST – Fluxo Máximo a Custo Mínimo –                 17
                                            Demontiê Junior
Fluxo Máximo a Custo Mínimo
Introdução               Exemplo
Conceitos
importantes
Apresentação      e                                   12
análise do                                   V                    W
algoritmo                                              20
Exemplode                          16                                       20
implementação
                                      20                                20
Considerações
Finais                                                 9
                              F             ERRADO
                                              1                                   S

                                       20                               20
                                    13                                       4
                                                      20
                                              X                    Y
   DSC/CEEI/UFCG
                                                      14


                                  CST – Fluxo Máximo a Custo Mínimo –                 18
                                            Demontiê Junior
Fluxo Máximo a Custo Mínimo
Introdução               Exemplo
Conceitos
importantes
Apresentação      e                                    12
análise do                                   V                    W
algoritmo                                               20
Exemplode                          16                                       20
implementação
                                      20                                20
Considerações
Finais                                                  9
                              F          CORRETO    1                             S

                                       20                               20
                                    13                                       4
                                                        20
                                              X                    Y
   DSC/CEEI/UFCG
                                                        14


                                  CST – Fluxo Máximo a Custo Mínimo –                 19
                                            Demontiê Junior
O algoritmo
Introdução

Conceitos             MinCostMaxFlow(G, s, t)
importantes
                         for ∀e ∈ E[G] do
Apresentação      e
análise do
                             fluxo[e] ← 0
algoritmo
Exemplode               redeResidual ← G
implementação            custo ← 0
Considerações
Finais
                         while exisitr um caminho entre F e S (rodar Bellman-Ford
                              para encontra menor caminho F  S (*)) do
                           atualizar custo
                           aumentar fluxo ao longo do caminho c
                           gerar rede residual, modificando o custo das arestas

   DSC/CEEI/UFCG
                         return fluxo, custo

                             (*) o Bellman-Ford roda em cima da rede residual
                                  CST – Fluxo Máximo a Custo Mínimo –           20
                                            Demontiê Junior
Analisando o algoritmo
Introdução               Análise do Bellman-Ford
Conceitos
importantes
                              Ordem de complexidade: (|V|.|E|)
Apresentação      e

                           Análise do Ford-Fulkerson
análise do
algoritmo              
Exemplode
implementação
                            Ordem de complexidade: O(E.|f*|)
Considerações
Finais
                            Na implementação de Edmonds-Karp,
                             utilizando busca em largura: O(V.E²)


   DSC/CEEI/UFCG




                                     CST – Fluxo Máximo a Custo     21
                                      Mínimo – Demontiê Junior
Analisando o algoritmo
Introdução               Análise do Fluxo Máximo a Custo Mínimo
Conceitos
importantes                 MinCostMaxFlow(G, s, t)
                              for ∀e ∈ E[G] do
Apresentação      e
                                  fluxo[e] ← 0              O(E)
análise do
algoritmo
                               redeResidual ← G
Exemplode                     custo ← 0
implementação
                               while exisitr um caminho entre F e S (rodar Bellman-Ford
Considerações                      para encontra menor caminho F  S (*)) do
                                                                                          O(|f*|.E.V)
Finais                           atualizar custo
                                 aumentar fluxo ao longo do caminho c                     O(E)
                                 gerar rede residual, modificando o custo das arestas

                               return fluxo, custo



                              MinCostMaxFlow = O(V.E²)
   DSC/CEEI/UFCG




                                             CST – Fluxo Máximo a Custo                                 22
                                              Mínimo – Demontiê Junior
Exemplo de Implementação
Introdução

Conceitos
importantes
Apresentação      e
análise do
algoritmo
Exemplode
                            Código Java que responde ao
implementação
Considerações
                                   exemplo citado
Finais




   DSC/CEEI/UFCG




                                CST – Fluxo Máximo a Custo   23
                                 Mínimo – Demontiê Junior
Referências
Introdução             Prof. Jorge Figueiredo, notas de aula
                         6 e 10;
Conceitos
importantes
Apresentação      e

                        CORMEN, THOMAS H., Introduction
análise do
algoritmo


                         To Algorithms 2.ed. MIT PRESS, 2001
Exemplode
implementação
Considerações
Finais
                        http://www.slideshare.net/rafaelspere
                         ira/fluxo-a-custo-mnimo-1828149
                        http://courses.csail.mit.edu/6.854/06/

   DSC/CEEI/UFCG
                         scribe/s12-minCostFlowAlg.pdf

                               CST – Fluxo Máximo a Custo Mínimo –   24
                                         Demontiê Junior
Dúvidas?
Introdução

Conceitos
importantes
Apresentação      e
análise do
algoritmo
Exemplode
implementação
Considerações
Finais




   DSC/CEEI/UFCG




                           CST – Fluxo Máximo a Custo Mínimo –   25
                                     Demontiê Junior

Más contenido relacionado

La actualidad más candente (20)

Funcoesvetorias
FuncoesvetoriasFuncoesvetorias
Funcoesvetorias
 
Análise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NPAnálise de Algoritmos - As classes P e NP
Análise de Algoritmos - As classes P e NP
 
Integral de linha
Integral de linhaIntegral de linha
Integral de linha
 
Análise de Algoritmos - Método Guloso
Análise de Algoritmos - Método GulosoAnálise de Algoritmos - Método Guloso
Análise de Algoritmos - Método Guloso
 
Algebra Linear cap 07
Algebra Linear cap 07Algebra Linear cap 07
Algebra Linear cap 07
 
Transformações lineares
Transformações linearesTransformações lineares
Transformações lineares
 
Matemática v
Matemática vMatemática v
Matemática v
 
Derivação e integração
Derivação e integraçãoDerivação e integração
Derivação e integração
 
Programação Dinâmica - Segmento de Soma Máxima
Programação Dinâmica - Segmento de Soma MáximaProgramação Dinâmica - Segmento de Soma Máxima
Programação Dinâmica - Segmento de Soma Máxima
 
Aula 8
Aula   8Aula   8
Aula 8
 
Transformação linear
Transformação linearTransformação linear
Transformação linear
 
05 int linha
05 int linha05 int linha
05 int linha
 
Tensão média e tensão eficaz
Tensão média e tensão eficazTensão média e tensão eficaz
Tensão média e tensão eficaz
 
Árvores Espalhadas Mínimas
Árvores Espalhadas MínimasÁrvores Espalhadas Mínimas
Árvores Espalhadas Mínimas
 
Mhs
MhsMhs
Mhs
 
Aula 9
Aula   9Aula   9
Aula 9
 
Trabalho de corrente alternada
Trabalho de corrente alternadaTrabalho de corrente alternada
Trabalho de corrente alternada
 
Apostila derivadas
Apostila derivadasApostila derivadas
Apostila derivadas
 
Aula 10
Aula   10Aula   10
Aula 10
 
Cordas vibrantes
Cordas vibrantesCordas vibrantes
Cordas vibrantes
 

Similar a Fluxo Maximo Custo Minimo - Min Cost Max Flow

[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...Marcio Machado Pereira
 
CAP 375 - Aula 1 - Introdução - Eduardo Luz
CAP 375 - Aula 1 - Introdução - Eduardo LuzCAP 375 - Aula 1 - Introdução - Eduardo Luz
CAP 375 - Aula 1 - Introdução - Eduardo LuzEduardo Luz
 
Comitê Tecnico Coex Mae - Capacity Fee
Comitê Tecnico Coex Mae - Capacity FeeComitê Tecnico Coex Mae - Capacity Fee
Comitê Tecnico Coex Mae - Capacity Feelmaurer
 
Encargo De Capacidade
Encargo De CapacidadeEncargo De Capacidade
Encargo De Capacidadelmaurer
 
Fluxos em Rede e Associação
Fluxos em Rede e AssociaçãoFluxos em Rede e Associação
Fluxos em Rede e AssociaçãoIorgama Porcely
 
3 - TRAFFIC SHAPPING-DUMMYNET
3 - TRAFFIC SHAPPING-DUMMYNET3 - TRAFFIC SHAPPING-DUMMYNET
3 - TRAFFIC SHAPPING-DUMMYNETVinicius Batista
 

Similar a Fluxo Maximo Custo Minimo - Min Cost Max Flow (7)

[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
 
CAP 375 - Aula 1 - Introdução - Eduardo Luz
CAP 375 - Aula 1 - Introdução - Eduardo LuzCAP 375 - Aula 1 - Introdução - Eduardo Luz
CAP 375 - Aula 1 - Introdução - Eduardo Luz
 
Comitê Tecnico Coex Mae - Capacity Fee
Comitê Tecnico Coex Mae - Capacity FeeComitê Tecnico Coex Mae - Capacity Fee
Comitê Tecnico Coex Mae - Capacity Fee
 
Encargo De Capacidade
Encargo De CapacidadeEncargo De Capacidade
Encargo De Capacidade
 
Fluxos em Rede e Associação
Fluxos em Rede e AssociaçãoFluxos em Rede e Associação
Fluxos em Rede e Associação
 
Camada rede
Camada redeCamada rede
Camada rede
 
3 - TRAFFIC SHAPPING-DUMMYNET
3 - TRAFFIC SHAPPING-DUMMYNET3 - TRAFFIC SHAPPING-DUMMYNET
3 - TRAFFIC SHAPPING-DUMMYNET
 

Último

PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecniCleidianeCarvalhoPer
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfRavenaSales1
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxedelon1
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfLuizaAbaAba
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...HELENO FAVACHO
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasSocorro Machado
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 

Último (20)

PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdf
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 

Fluxo Maximo Custo Minimo - Min Cost Max Flow

  • 1. Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Sistemas e Computação Programa de Educação Tutorial (PET) Demontiê Junior (demontie@dsc.ufcg.edu.br) Fluxo Máximo a Custo Mínimo Min Cost Max Flow DSC/CEEI/UFCG
  • 2. Agenda Introdução  Introdução Conceitos  Conceitos importantes importantes Apresentação e análise do algoritmo  Algoritmo de Bellman-Ford Exemplode implementação  Redes de fluxo Considerações Apresentação e análise do algoritmo Finais   Exemplo de implementação  Considerações Finais DSC/CEEI/UFCG CST – Fluxo Máximo a Custo 2 Mínimo – Demontiê Junior
  • 3. Introdução Introdução  Caracterização do Problema: Conceitos importantes Apresentação e  Encontrar os caminhos de menor custo análise do algoritmo que geram o fluxo máximo de uma rede. Exemplode implementação Considerações Finais  Utiliza algoritmos de fluxo máximo e de menor caminho de origem única.  Cada aresta tem dois atributos: peso e DSC/CEEI/UFCG capacidade CST – Fluxo Máximo a Custo 3 Mínimo – Demontiê Junior
  • 4. Introdução Introdução  Motivação: Conceitos importantes  Aplicável a vários problemas reais. Apresentação e análise do  Exemplo (variação: fluxo a custo mínimo): algoritmo Exemplode “Saber a quantia mínima em dinheiro que implementação Considerações um grupo de amigos precisa dispor para se Finais deslocar entre duas cidades. O transporte será feito por aviões, que seguem determinados trechos (existe apenas um vôo para cada trecho durante todo o período do passeio, mas o tempo do vôo é desprezível). Todos os vôos DSC/CEEI/UFCG tem a mesma capacidade, e cada um tem seu custo por pessoa.” CST – Fluxo Máximo a Custo 4 Mínimo – Demontiê Junior
  • 5. Introdução Introdução  Objetivos: Conceitos importantes  Apresentar um algoritmo para resolução Apresentação e análise do algoritmo do problema de Fluxo Máximo a Custo Exemplode implementação Mínimo Considerações Finais  Mostrar a importância do conhecimento desse tipo de algoritmos para a resolução de problemas reais DSC/CEEI/UFCG CST – Fluxo Máximo a Custo 5 Mínimo – Demontiê Junior
  • 6. Conceitos Importantes DSC/CEEI/UFCG
  • 7. Contextualizando... Introdução  O que é um grafo? Conceitos importantes  Dois tipos de elementos: vértices e Apresentação e análise do algoritmo arestas Exemplode implementação  De maneira mais formal, grafos são Considerações Finais tuplas do tipo G = <V, E>: V é o conjunto finito, não vazio, de vértices  E é o conjunto finito de arestas  Se Ǝ e = {v, w} | e ∈ E, então, dizemos que e é incidente a v e w, bem como v e w são DSC/CEEI/UFCG adjacentes CST – Fluxo Máximo a Custo 7 Mínimo – Demontiê Junior
  • 8. Menor caminho de origem única Introdução  Em que consiste? Conceitos importantes  Encontrar os menores caminhos entre Apresentação e análise do algoritmo um vértice inicial e todos os outros Exemplode implementação vértices de um grafo Considerações Finais  Utiliza grafos valorados  Algoritmos mais famosos:  Dijkstra  Bellman-Ford  Floyd-Warshall DSC/CEEI/UFCG CST – Fluxo Máximo a Custo 8 Mínimo – Demontiê Junior
  • 9. Algoritmo de Bellman-Ford Introdução Conceitos importantes Bellman-Ford(G, w, s) Apresentação e for ∀u ∈ V[G] do análise do d[u] ← ∞ algoritmo π[u] ← NIL Inicia as variáveis Exemplode implementação d[s] ← 0 Considerações for i  1 to |V[G]| - 1 do Finais for ∀(u, v) ∈ E[G] do if d[v] > d[u] + w(u,v) then d[v] ← d[u] + w(u,v) Relaxamento π[v] ← u for ∀(u, v) ∈ E[G] do if d[v] > d[u] + w(u, v) then Checa a presença return FALSE de ciclo negativo DSC/CEEI/UFCG return TRUE CST – Fluxo Máximo a Custo 9 Mínimo – Demontiê Junior
  • 10. Redes de fluxo Introdução  O que são redes de fluxo? Conceitos importantes  Cada aresta tem uma capacidade (fluxo Apresentação e análise do algoritmo máximo nessa aresta) Exemplode implementação  Possui dois vértices especiais: fonte (f) Considerações Finais e sovedouro (s)  ∀v ∈ V, existe um caminho entre f e s passando por v DSC/CEEI/UFCG CST – Fluxo Máximo a Custo 10 Mínimo – Demontiê Junior
  • 11. Redes de fluxo Introdução  Exemplo: Conceitos importantes Apresentação e 12 análise do V W algoritmo Exemplode 16 20 implementação Considerações Finais 10 4 9 7 F S 13 4 X Y DSC/CEEI/UFCG 14 CST – Fluxo Máximo a Custo 11 Mínimo – Demontiê Junior
  • 12. Rede residual Introdução  Considere c(e) a função capacidade de e, e ∈ E Conceitos importantes Apresentação e  A rede residual de uma rede R é um análise do algoritmo grafo R = <V, Eresidual>, tal que: Exemplode implementação Considerações Finais  ∀e ∈ E, Ǝ uma eresidual cuja capacidade é cresidual  cresidual(e) = c(e) – fluxo(e) DSC/CEEI/UFCG CST – Fluxo Máximo a Custo Mínimo – 12 Demontiê Junior
  • 13. Rede residual Introdução  Rede residual após um fluxo de 4 no Conceitos importantes caminho FXYS Apresentação e análise do 12 algoritmo V W Exemplode implementação 16 20 Considerações Finais 10 4 9 7 F S 9 0 4 4 10 X Y DSC/CEEI/UFCG 4 CST – Fluxo Máximo a Custo 13 Mínimo – Demontiê Junior
  • 14. Algoritmo de fluxo máximo Introdução  Ford-Fulkerson Conceitos importantes  Rede residual Apresentação e  Caminho expandível análise do algoritmo Exemplode implementação Ford-Fulkerson(G, s, t) Considerações Finais for ∀e ∈ E[G] do fluxo[e] ← 0 while exisitr um caminho expandível p na rede residual do aumentar f (*) ao longo de p return f DSC/CEEI/UFCG (*) capacidade do arco de menor capacidade de p CST – Fluxo Máximo a Custo 14 Mínimo – Demontiê Junior
  • 15. Apresentação e análise do algoritmo DSC/CEEI/UFCG
  • 16. Fluxo Máximo a Custo Mínimo Introdução  “Por que não encontrar os menores Conceitos importantes caminhos com Dijkstra e, simplesmente, sair Apresentação análise do e distribuindo o fluxo?” algoritmo Exemplode  Temos que gerar, sempre, a rede residual, para implementação que não seja encontrado um fluxo diferente do Considerações Finais máximo  Quando geramos a rede residual, temos que modificar, também, os custos das arestas  Algumas vezes invertemos o custo de uma aresta DSC/CEEI/UFCG  Dijkstra não funciona bem com pesos negativos CST – Fluxo Máximo a Custo 16 Mínimo – Demontiê Junior
  • 17. Fluxo Máximo a Custo Mínimo Introdução  Exemplo Conceitos importantes Apresentação e 12 análise do V W algoritmo 20 Exemplode 16 20 implementação 20 20 Considerações Finais 9 F 1 S 20 20 13 4 20 X Y DSC/CEEI/UFCG 14 CST – Fluxo Máximo a Custo Mínimo – 17 Demontiê Junior
  • 18. Fluxo Máximo a Custo Mínimo Introdução  Exemplo Conceitos importantes Apresentação e 12 análise do V W algoritmo 20 Exemplode 16 20 implementação 20 20 Considerações Finais 9 F ERRADO 1 S 20 20 13 4 20 X Y DSC/CEEI/UFCG 14 CST – Fluxo Máximo a Custo Mínimo – 18 Demontiê Junior
  • 19. Fluxo Máximo a Custo Mínimo Introdução  Exemplo Conceitos importantes Apresentação e 12 análise do V W algoritmo 20 Exemplode 16 20 implementação 20 20 Considerações Finais 9 F CORRETO 1 S 20 20 13 4 20 X Y DSC/CEEI/UFCG 14 CST – Fluxo Máximo a Custo Mínimo – 19 Demontiê Junior
  • 20. O algoritmo Introdução Conceitos MinCostMaxFlow(G, s, t) importantes for ∀e ∈ E[G] do Apresentação e análise do fluxo[e] ← 0 algoritmo Exemplode redeResidual ← G implementação custo ← 0 Considerações Finais while exisitr um caminho entre F e S (rodar Bellman-Ford para encontra menor caminho F  S (*)) do atualizar custo aumentar fluxo ao longo do caminho c gerar rede residual, modificando o custo das arestas DSC/CEEI/UFCG return fluxo, custo (*) o Bellman-Ford roda em cima da rede residual CST – Fluxo Máximo a Custo Mínimo – 20 Demontiê Junior
  • 21. Analisando o algoritmo Introdução  Análise do Bellman-Ford Conceitos importantes  Ordem de complexidade: (|V|.|E|) Apresentação e Análise do Ford-Fulkerson análise do algoritmo  Exemplode implementação  Ordem de complexidade: O(E.|f*|) Considerações Finais  Na implementação de Edmonds-Karp, utilizando busca em largura: O(V.E²) DSC/CEEI/UFCG CST – Fluxo Máximo a Custo 21 Mínimo – Demontiê Junior
  • 22. Analisando o algoritmo Introdução  Análise do Fluxo Máximo a Custo Mínimo Conceitos importantes MinCostMaxFlow(G, s, t) for ∀e ∈ E[G] do Apresentação e fluxo[e] ← 0 O(E) análise do algoritmo redeResidual ← G Exemplode custo ← 0 implementação while exisitr um caminho entre F e S (rodar Bellman-Ford Considerações para encontra menor caminho F  S (*)) do O(|f*|.E.V) Finais atualizar custo aumentar fluxo ao longo do caminho c O(E) gerar rede residual, modificando o custo das arestas return fluxo, custo  MinCostMaxFlow = O(V.E²) DSC/CEEI/UFCG CST – Fluxo Máximo a Custo 22 Mínimo – Demontiê Junior
  • 23. Exemplo de Implementação Introdução Conceitos importantes Apresentação e análise do algoritmo Exemplode  Código Java que responde ao implementação Considerações exemplo citado Finais DSC/CEEI/UFCG CST – Fluxo Máximo a Custo 23 Mínimo – Demontiê Junior
  • 24. Referências Introdução  Prof. Jorge Figueiredo, notas de aula 6 e 10; Conceitos importantes Apresentação e  CORMEN, THOMAS H., Introduction análise do algoritmo To Algorithms 2.ed. MIT PRESS, 2001 Exemplode implementação Considerações Finais  http://www.slideshare.net/rafaelspere ira/fluxo-a-custo-mnimo-1828149  http://courses.csail.mit.edu/6.854/06/ DSC/CEEI/UFCG scribe/s12-minCostFlowAlg.pdf CST – Fluxo Máximo a Custo Mínimo – 24 Demontiê Junior
  • 25. Dúvidas? Introdução Conceitos importantes Apresentação e análise do algoritmo Exemplode implementação Considerações Finais DSC/CEEI/UFCG CST – Fluxo Máximo a Custo Mínimo – 25 Demontiê Junior