130 likes | 680 Views
Applications of Maximum Flow and Minimum Cut Problems. In this handout Transshipment problem Assignment Problem. 4. 5. D 1. B. S 1. 5. 2. 2. 5. A. 2. 15. 5. 4. 19. 9. C. S 2. D 2. Transshipment Problem. Given : Directed network G=(V, E)
E N D
Applications of Maximum Flow and Minimum Cut Problems In this handout Transshipment problem Assignment Problem
4 5 D1 B S1 5 2 2 5 A 2 15 5 4 19 9 C S2 D2 TransshipmentProblem • Given: Directed network G=(V, E) Supply (source) nodes Siwith supply amounts si, i=1,…,p Demand (sink) nodes Diwith demand amounts di, i=1,…,q Total supply ≥ total demand Capacity function u: E R • Goal: Find a feasible flow through the network which satisfies the total demand (if such a flow exists). • Ex.: 17 11 8 16
4 5 D1 B S1 5 2 2 5 T O A 2 15 5 4 19 9 C S2 D2 Solving the TransshipmentProblem via Maximum Flow • The transshipment problem can be solved by creating and solving a related instance of maximum flow problem: • Create a supersource O. For each supply node Si, add an arc O Siwith capacity equal to the supply amount of Si. • Create a supersink T. For each demand node Di, add an arc Di T with capacity equal to the supply amount of Di. • Find the maximum flow from O to T in the resulting auxiliary network. • If maximum flow value = total demand then the current maximum flow is a feasible flow for the transshipment problem, elsethe transshipment problem is infeasible. 17 11 17 11 16 8 8 16
4 5 D1 B S1 17 9 2 T 13 1 O 2 A 8 2 16 8 18 C S2 D2 Solving the TransshipmentProblem via Maximum Flow • In our example, • The maximum flow from O to T is obtained by applying the Augmenting Path algorithm. The maximum flow value is 25. The bold red numbers on the arcs show the flow values. • Since the maximum flow value = 25 = 17+8 = total demand, the current maximum flow is a feasible flow for the transshipment problem. 17 4 5 11 5 2 17 2 11 5 16 2 15 8 5 4 19 9 8 16
B C E A D people v jobs z u x y AssignmentProblem • Given: n people and n jobs Each person can be assigned to exactly one job Each job should be assigned to exactly one person Person-job compatibility is given by a directed network (e.g., having a link A x means “person A can do job x ”) • Goal: Find an assignment of n jobs to n people (if such an assignment exists). • Example:
1 1 1 1 1 1 1 1 1 1 B C E A D people v jobs z u x y Solving the AssignmentProblem via Maximum Flow • The assignment problem can be solved by creating and solving a related instance of the transshipment problem: • Each person-node is considered as a supply node with supply amount 1. • Each job-node is considered as a demand node with demand amount 1. • Assign capacity 1 to each arc. • Solve the resulting transshipment problem by finding maximum flow in the auxiliary network. • If maximum flow value = n then the current maximum flow gives a feasible assignment, elsethe assignment problem is infeasible.
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 B C E A D people 1 T O 1 1 1 1 v jobs z u x y 1 Solving the AssignmentProblem via Maximum Flow • In our example, the red numbers on the arcs show the optimal flow values. Since the maximum flow value is 5, the assignment problem is feasible. The feasible assignment is A x , B y, C u , D z , E v .
1 1 1 1 1 B C E A D F 1 people 1 1 1 1 T O v w jobs 1 1 z 1 u x y 1 1 Showing the infeasibility of an assignmentproblem using maximum-flow-based arguments • Let’s solve the assignment problem below via maximum flow. The red numbers on the arcs show the optimal flow values. Since the maximum flow value = 5 < 6 = number of jobs, the assignment problem is infeasible.
1 1 1 1 1 B C E A D F 1 people 1 1 1 1 T O v w jobs 1 1 z 1 u x y 1 1 Showing the infeasibility of an assignmentproblem using minimum-cut-based arguments • The O-side of the minimum cut is {O, A, B, C, D, x, y, z} (the set of the nodes that are reachable from O via augmenting paths) • Return to the original network (delete nodes O and T and the arcs incident to them).
B C E A D F people v w jobs z u x y Showing the infeasibility of an assignmentproblem using minimum-cut-based arguments • The capacity of the modified cut is 0 (since there are no arcs going from O-side to T-side). • There are 2 people (E, F) and 3 jobs (u, v, w) on T-side. • Thus, one of the 3 jobs should be assigned to a person from O-side (A, B, C, D). • But there are no arcs going from O-side to T-side. ( A, B, C, D can’t do the jobs u, v, w). • Thus, there is no way to assign the T-side jobs, and the assignment problem is infeasible.