61
Lecture 4: Network Flows In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for the existence of feasible circulations, “out- of-kilter" method of Minty and Fulkerson. Network flow problems are linear programs with the particularly useful property that they possess optimal solutions in integers. This permits a number of interesting and important combinatorial problems to be formulated and solved as network flow problems.

Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Lecture 4: Network Flows

• In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for the existence of feasible circulations, “out-of-kilter" method of Minty and Fulkerson.

• Network flow problems are linear programs with the particularly useful property that they possess optimal solutions in integers. This permits a number of interesting and important combinatorial problems to be formulated and solved as network flow problems.

Page 2: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Maximal Flow Problem• How big can v be?                                        

Page 3: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

References• L. R. Ford, Jr. and D. R. Fulkerson, “Maximal FlowThrough a Network,” Canad. J. Math. 8(1956)399-404.

• P. Elias, A. Feinstein, and C. E. Shannon, “Note onMaximum Flow Through a Network," IRE Trans. onInformation Theory, IT-2(1956)117-119.

Page 4: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Problem Formulation

Page 5: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Problem Formulation

Page 6: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Problem Formulation

Page 7: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

LP Model for Maximal Flow Problem

Page 8: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Applications

• Telecommunication capacity planning• Traffic network directing• Fleet shipment

Page 9: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Feasible Flow – An Example

Page 10: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Augmenting Path

Page 11: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Augmented Flow

Page 12: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Optimality Condition

Page 13: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Definitions

Page 14: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Observations

Page 15: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Major Results

Page 16: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

How to Prove Theorems 2.1 – 2.3?

Page 17: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

A Corollary for Optimality Condition

Page 18: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Proof of Theorem 2.1

Page 19: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Proof of Theorem 2.2

Page 20: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Proof of Theorem 2.3• This proof is a little bit complicated. We need to prove that

every network actually admits a maximal flow.

• Where can we find that information?

• If we cannot get the information on the primal side, then it is logic to check the dual side.

Page 21: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for
Page 22: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Example

Page 23: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Observation 1:

Page 24: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Observation 2: Minimum Cut Set Problem

Page 25: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Example

Page 26: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Example

Page 27: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Observation 3:

Page 28: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Proof of Theorem 2.3

Page 29: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

More Observations

Page 30: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Maximal Flow Algorithm• The key is to find a flow augmenting path.

• What kind of flow augmenting path?

Page 31: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Finding a flow augmenting path

Page 32: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

A labeling scheme for augmenting path

Page 33: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Labeling Scheme

Page 34: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Labeling Scheme

Page 35: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Maximal Flow Algorithm

Page 36: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Maximal Flow Algorithm

Page 37: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Efficiency of the Maximal Flow Algorithm

• Any ideas?- first labeled, first scan?- augmenting path has fewest arcs?- augmenting path allows most increase in flow?

Page 38: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Maximum capacity flow augmenting path

• The problem of finding a maximum capacity flow augmenting path is evidently quite similar to the problem of finding a shortest path, or, more precisely, a path in which the minimum arc length is maximum.

Page 39: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Maximum capacity flow augmenting path

Page 40: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Augmenting path with fewest arcs

Page 41: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Augmenting path with fewest arcs

Page 42: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Improved Efficiency

• The bound can be further reduced to “mn/4”.• Complexity = .• J. Edmonds and R. M. Karp, “Theoretical Improvements in Algorithmic

Efficiency for Network Flow Problems," JACM, 19(1972) 248-264.

Page 43: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Any more improvement?

• Flow decomposition

Page 44: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Improved Efficiency

• Complexity = O(m^2).• How to realize such augmenting paths?

Page 45: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Implications of Max-Flow Min-Cut Theorem

• Max-Flow with node capacity constraints

• More applicable for real applications

Page 46: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Max-Flow with node capacity constraints

Page 47: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Generalized Max-Flow Min-Cut Theorem

Page 48: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Proof of Theorem 5.1• Basic idea

• Formal proof – Homework exercise

Page 49: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Implications to Graph Theory

Page 50: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Observation

• Lemma:A directed graph has k independent (s-t) paths, then it is k-connected from s to t.

Page 51: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Menger’s Theorem

Page 52: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Other Implications of Max-Flow Min-Cut Theorem

Page 53: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Proof of Menger’s Theorem

Page 54: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Other Implications

Page 55: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Min-Cut Formulation• Generalized knapsack problem – Provisioning problem

Page 56: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Min-Cut Formulation

Page 57: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Min-Cut Formulation

Page 58: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Min-Cut Formulation

Page 59: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Min-Cut Formulation

Page 60: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Min-Cut Formulation

Page 61: Lecture 4: Network Flows · Lecture 4: Network Flows • In this chapter, we study “classical" network flow theory, max-flow min-cut theorem, minimum cost flows, conditions for

Min-Cut Formulation