IEOR 4004 Maximum flow problems
Connectivity t t s s Q1: Can Alice send a message to Bob ? Yes if every (s,t)-cut contains at least one forward edge forward backward
Connectivity t t s s Q2: How fast? Send data in parallel Q1: Can Alice send a message to Bob ?
Edge capacity t t s s Idea: Data packets can share edges (bandwidth) Two packets in parallel
t t s s
Conservation of flow t t s s v net flow (excess) value of flow value of flow incoming outgoing
t t s s
Forward paths do not suffice t t s s
Augmenting chain t t s s
Exponentially many steps t t s s
t t s s
t t s s Residual network t t s s Forward path Augmenting chain
Recall: Connectivity t t s s Q1: Is there a path from s to t? Yes if every (s,t)-cut contains at least one forward edge Else No forward backward
Flows and cuts t t s s flow across a cut (forward flow – backward flow) value of a flow capacity of a cut (forward edges) flow across a cut ≤ capacity of the cut Weak duality
Maximum flow = Minimum cut t t s s optimal solution Strong duality
Transportation problem Factories Retail stores Requirement for goods Production capacity... Can factories satisfy the demand of retail stores ? aiai aiai bjbj bjbj edge if i-th factory can deliver to j-th store t Maximum flow capacity production (capacity) demand (capacity) source target a1a1 a2a2 anan bmbm b1b1 b2b2 s
Transportation problem Factories Retail stores Requirement for goods Production capacity... Can factories satisfy the demand of retail stores ? t Maximum flow capacity limited production (capacity) limited demand (capacity) Units of flow 1 23 source target bmbm b1b1 b2b2 Example 1: n=m=3 a 1 =a 2 =a 3 =1 b 1 =b 2 =b 3 =1 Answer: Yes! a1a1 a2a2 anan s
Transportation problem Factories Retail stores Requirement for goods Production capacity Can factories satisfy the demand of retail stores ? t Maximum flow capacity production (capacity) demand (capacity) source target Example 2: n=m=3 a 1 =a 2 =1 a 3 =3 b 1 =3 b 2 =b 3 =1 Answer: No! Maximum flow = 4 < 5 3 rd factory does not deliver to 1 st retail store s Example 1: n=m=3 a 1 =a 2 =a 3 =1 b 1 =b 2 =b 3 =1