Documente Academic
Documente Profesional
Documente Cultură
exists). 2 5 2
Ex.: 5
A
2
15 5
4
S 19 C 9 D2 8
16 2
Solving the Transshipment Problem 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 → Si with 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 for17the
11 5 B 4 D1
transshipment
S1 problem, 17
else5 the transshipment2 problem is infeasible.
2
11 5 T
O 16 A
2
15 5 8
4
S2 19 C 9 D2 8
16
Solving the Transshipment Problem 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 flow4 is a feasible flow 17
11 S 5 5 4 D
B for the transshipment
1
1
9 5 2 17 17
problem. 2 2
11 5 T
1 13
O 16 2 A
2 2 8
16 15 5 8
4
S 19 18 C 9 8 D2 8
16 2
Assignment Problem
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
jobs x y z u v
Solving the Assignment Problem 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, 1 1 1
1 1
people A elseBthe assignment
C E
D is infeasible.
problem
jobs x y z u v
1 1 1 1 1
Solving the Assignment Problem 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.
O
The feasible assignment
1 is A → x , B → y, C → u , D → z
,E→v. 1 1 1 1
1 1 1 1 1
people A B C D E
1 1 1
1
1
jobs x y z u v
1 1 1 1 1 1 1
1 1
1
T
Showing the infeasibility of an assignment problem 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, O
1 the assignment
1
problem is 1
infeasible. 1 1
people A B C D E F
1 1 1 1
1
jobs x y z u v w
1 1 1
1 T 1
Showing the infeasibility of an assignment problem 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).
O
1 1 1
1 1
people A B C D E F
1 1 1 1
1
jobs x y z u v w
1 1 1
1 T 1
Showing the infeasibility of an assignment problem 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
jobs x y z u v w