1. OPERATIONS RESEARCH
Chapter 2
Transportation and Assignment
Problems
Prof. Bibhas C. Giri
Department of Mathematics
Jadavpur University
Kolkata, India
Email: bcgiri.jumath@gmail.com
2. MODULE - 2: Optimality Test by
Stepping Stone Method and MODI
Method, and Some Special Cases of
Transportation Problem
2.1 Optimality Test
Once an initial BFS is obtained, the next step is to check its optimality. An optimal
solution is one where there is no other set of transportation route (allocations) that
will further reduce the total transportation cost. To test the optimality, the following
methods can be used:
(i) Stepping stone method
(ii) Modified distribution (MODI) method
2.1.1 Stepping Stone Method
This is a procedure for determining the potential of improving upon each of the non-
basic variables in terms of the objective function. To determine this potential, each
of the non-basic variables is considered one by one. For each such cell, we find what
effect on the total cost would be if one unit is assigned to this cell. We then come to
know whether the current solution is optimal or not. If not, we improve that solution
further. We summarize the Stepping stone method in the following steps:
1. For all unoccupied cells, evaluate the effect of transferring one unit from an
occupied cell to the unoccupied cell. This transfer is made by forming a closed
path that retains the rim conditions of the problem.
2
3. 2. Check the signs of net changes in the unit transportation costs. If the net changes
are non-negative, then an optimal solution is obtained; otherwise, go to step 3.
3. Select the unoccupied cell with most negative net change.
4. Assign as many units as possible to the unoccupied cell satisfying rim conditions.
The maximum number of units to be assigned is equal to the smaller oval boxed
number among the occupied cells with the negative value in a closed path.
5. Go to step 1, and repeat the process until all unoccupied cells are evaluated and
the net changes result in non-negative values.
Example 2.1: Consider the transportation problem presented in Table 2.1. Determine
the optimal solution of the problem using Stepping stone method.
Destination
Origin
D1 D2 D3 Supply
O1 2 1 5 10
O2 7 3 4 25
O3 6 5 3 20
Demand 15 22 18
Table 2.1: Transportation table for Example 2.1
Solution: We compute an initial BFS of the problem by Matrix minimum method as
shown in Table 2.2. The transportation cost associated with this solution is Rs.(1×10+
7 × 13 + 3 × 12 + 6 × 2 + 3 × 18) = Rs.203.
The Stepping stone method starts with evaluation of each of the unoccupied cells
viz., (O1,D1), (O1,D3), (O2,D3), (O3,D2) to examine whether it would improve the
initial solution by introducing any of these cells into the current solution basis. To
demonstrate this method, let us evaluate the unoccupied cell (O1,D1) in Table 2.2 and
assign 1 unit to this cell. For this allocation, Rs. 2 to is added to the cost. In order to
make this adjustment and to satisfy the supply restriction at origin O1 and demand
restriction of D1, we subtract 1 unit from (O1,D2), add 1 unit to (O2,D2) and again
subtract 1 unit from (O2,D1). These adjustments are shown in Table 2.3.
Following the closed path, the increase in the transportation cost per unit quantity
of reallocation is observed as 2 − 1 + 3 − 7 = −3. This indicates that shift of 1 unit into
unoccupied cell (O1,D1) decreases the transportation cost by Rs. 3. Obviously, cell
(O1,D1) is to be included in the assignment. Now assign as much as possible in this
4. D1 D2 D3 ai
O1
10
2 1 5 10
O2
13
12
7 3 4 25
O3
2
18
6 5 3 20
bj 15 22 18
Table 2.2: Initial BFS by
Matrix minima method
D1 D2 D3 ai
O1
10
(+1) ← ← (−1)
↓ 2 ↑ 1 5 10
O2
13 ↓
12 ↑
(−1) → → (+1)
7 3 4 25
O3
2
18
6 5 3 20
bj 15 22 18
Table 2.3
D1 D2 D3 ai
O1
2 1 5
10 10
O2
7 3 4
3
22 25
O3
6 5 3
2
18 20
bj 15 22 18
Table 2.4
D1 D2 D3 ai
O1
10
(−1) ← ← (+1)
2 ↓ 1 ↑ 5 10
O2
13
12 ↓ ↑
(−1) ← ← (+1) ↑
↓ 7 3 ↑ 4 25
O3
2 ↓
18 ↑
(+1) → → → → → (−1)
6 5 3 20
bj 15 22 18
Table 2.5
cell. The maximum amount that can be allocated to (O1,D1) is 10 and this will make
the current basic variable corresponding to cell (O1,D2) non basic. Table 2.4 shows
the optimal results after reallocation.
Similarly, we can draw a closed path for the other unoccupied cells (O1,D3), (O2,D3),
(O3,D2) which are shown in Tables 2.5, 2.6 and 2.7, respectively. The corresponding
changes in cost for allocations in unoccupied cells are shown in Table 2.8. Since costs
increase or remain unaltered for other unoccupied cells, after reallocation of a unit
allocation, no optimal solution can not be obtained for these reallocations. Thus the
improved solution is obtained as x11 = 10, x21 = 3, x22 = 22, x31 = 2 and x33 = 18, see
Table 2.4, and the corresponding minimum transportation cost is Rs 173.
5. D1 D2 D3 ai
O1
10
2 1 5 10
O2
13
12
(−1) ← ← ← ← ← (+1)
↓ 7 3 ↑ 4 25
O3
2 ↓
18 ↑
(+1) → → → → → (−1)
6 5 3 20
bj 15 22 18
Table 2.6
D1 D2 D3 ai
O1
10
2 1 5 10
O2
13
12
(+1) ← ← (−1)
↓ 7 ↑ 3 4 25
O3
2 ↓ ↑
18
(−1) → → (+1)
6 5 3 20
bj 15 22 18
Table 2.7
Unoccupied cell Change in cost Remarks
(O1,D3) +5 − 1 + 3 − 7 + 6 − 3 = 3 Cost increases
(O2,D3) +4 − 7 + 6 − 3 = 0 Neither increase nor decrease
(O3,D2) +5 − 3 + 7 − 6 = 3 Cost increases
Table 2.8
2.1.2 Modified Distribution (MODI) Method
The modified distribution method, also known as MODI method or (u,v) method pro-
vides a minimum cost solution to the transportation problem. In the stepping stone
method, we have to draw as many closed paths as equal to the unoccupied cells for
their evaluation. To the contrary, in MODI method, only closed path for the unoc-
cupied cell with highest opportunity cost is drawn. The method is outlined in the
following :
1. After getting an initial BFS, determine the values of ui and vj so that ui + vj = cij
for the occupied cells.
2. For the unoccupied cells, compute the opportunity cost dij = cij − (ui + vj).
3. If all dij ≥ 0, the solution is optimal. On the other hand, if at least one dij 0,
the solution is not optimal and further saving in transportation cost is possible.
4. Select the unoccupied cell with the smallest negative opportunity cost as this
cell is to be included in the next solution.
6. 5. Draw a loop for the unoccupied cell selected in the previous step. The right
angle turn in this path is permitted only at occupied cells and at the original
unoccupied cell.
6. Assign alternate ‘+’ and ‘-’ signs on the corner points of the closed path, starting
from the unoccupied selected cell.
7. Determine the maximum number of units that should be shipped to this unoc-
cupied cell. The smallest value with a negative position on the loop indicates the
number of units that can be shipped to the entering cell. Now, add this quantity
to all the cells on the corner points of the loop marked with ‘+’ sign, and subtract
it from those cells marked with ‘-’ sign. In this way, an unoccupied cell becomes
an occupied cell.
8. Repeat the whole procedure until an optimal solution is obtained.
Example 2.2: Solve the following transportation problem:
Destination
D1 D2 D3 D4 Availability
Origin
O1 19 30 50 12 7
O2 70 30 40 60 10
O3 40 10 60 20 18
Demand 5 8 7 15
Table 2.9: Transportation table for Example 2.2
Solution: An initial BFS obtained by Matrix minima method is shown in Table 2.10.
D1 D2 D3 D4 ai
O1
7
19 30 50 12 7
O2
3
7
70 30 40 60 10
O3
2
8
8
40 10 60 20 18
bj 5 8 7 15
Table 2.10: Initial BFS by Matrix minima method
7. We now test the optimality by MODI method. For this, we calculate the values of ui’s
(i = 1,2,3) and vj’s (j = 1,2,3,4) for each occupied cell such that ui +vj = cij. We assign
an arbitrary value u1 = 0 and get
u1 + v4 = c14 ⇒ v4 = 12
u3 + v4 = c34 ⇒ u3 = 8
u3 + v2 = c32 ⇒ v2 = 2
u3 + v1 = c31 ⇒ v1 = 32
u2 + v1 = c21 ⇒ u2 = 38
u2 + v3 = c23 ⇒ v3 = 2
Now, we calculate the opportunity cost dij = cij − (ui + vj) for the unoccupied cells.
Unoccupied cell Opportunity cost dij
(O1,D1) c11 − (u1 + v1) = −13
(O1,D2) c12 − (u1 + v2) = 28
(O1,D3) c13 − (u1 + v3) = 48
(O2,D2) c22 − (u2 + v2) = −10
(O2,D4) c24 − (u2 + v4) = 10
(O3,D3) c33 − (u3 + v3) = 50
D1 D2 D3 D4 ai ui
O1
-13 28 48
7
19 30 50 12 7 0
O2
3
-10
7
10
70 30 40 60 10 38
O3
2
8
50
8
40 10 60 20 18 8
bj 5 8 7 15
vj 32 2 2 12
Table 2.11: Optimality test by MODI method
The opportunity costs are plotted in the transportation table within shadow boxes as
shown in Table 2.11. Since all dij 0, the current solution is not optimal.
Now, we choose the most negative value (-13) from opportunity cost and draw a closed
loop starting from (O1,D1) to this cell back through the cells (O3,D1), (O3,D4) and
(O1,D4) as shown in Table 2.12.
8. D1 D2 D3 D4 ai
O1
-13 28 48
7
(+) ← ← ← ← ← ← ← ← (−)
↓ 19 30 50 ↑ 12 7
O2
3 ↓
-10
7
10
↑
↓ ↑
↓ 70 30 40 ↑ 60 10
O3
2 ↓
8
50
8 ↑
(−) → → → → → → → → (+)
40 10 60 20 18
bj 5 8 7 15
Table 2.12: Loop for improving the solution
D1 D2 D3 D4 ai ui
O1
2
28 61
5
19 30 50 12 7 0
O2
3
-23
7
-3
70 30 40 60 10 51
O3
13
8
63
10
40 10 60 20 18 8
bj 5 8 7 15
vj 19 2 -11 12
Table 2.13: Revised solution and test for optimality
The revised solution is shown in Table 2.13. The optimality test by MODI method
shows that all dij 0. So, again we form a closed loop for the most negative oppor-
tunity cost (-23) as shown in Table 2.14 and trace out the smallest possible allocation
amongst the occupied cell in the closed loop, which is 3. We then obtain the fur-
ther improved solution as shown in Table 2.15. The optimality test by MODI method
shows that all the current opportunity costs are nonnegative (see the shadow boxes in
Table 2.15). Hence the optimality allocation is x11 = 5, x14 = 2, x22 = 3, x23 = 7, x32 =
5, x34 = 13 and the corresponding minimum transportation cost is Rs.(19 × 5 + 12 ×
2 + 30 × 3 + 40 × 7 + 10 × 5 + 20 × 13) = Rs.799.
9. D1 D2 D3 D4 ai
O1
2
28 61
5
(+) ← ← ← ← ← ← ← ← (−)
↓ 19 30 50 ↑ 12 7
O2
3 ↓
-23
7
-3
↑
(−) → → (+) ↑
70 ↓ 30 40 ↑ 60 10
O3
13
8 ↓
63
10 ↑
(−) → → → → → (+)
40 10 60 20 18
bj 5 8 7 15
Table 2.14: Loop for further improving the solution
D1 D2 D3 D4 ai ui
O1
5
28 38
2
19 30 50 12 7 0
O2
23
3
7
20
70 30 40 60 10 28
O3
13
5
40
13
40 10 60 20 18 8
bj 5 8 7 15
vj 19 2 12 12
Table 2.15: Improved solution and test for optimality by MODI method
2.2 Some Special Cases of Transportation Problem
2.2.1 Degeneracy in Transportation Problem
If the basic feasible solution of a TP with m origins and n destinations has fewer than
(m + n − 1) positive xij (occupied cells) then the problem is said to be a degenerate TP.
To resolve degeneracy, we assign a small arbitrary quantity (ϵ) to that unoccupied cell
which has the minimum transportation cost. Consider the TP given in Table 2.16.
An initial BFS (see Table 2.17) obtained by Matrix minimum method shows that the
number of basic variables = 5 m + n − 1 = 6. Hence, it is a degenerate TP. To resolve
10. Destination
D1 D2 D3 D4 Supply
Origin
O1 2 2 2 4 1000
O2 4 6 4 3 700
O3 3 2 1 0 900
Demand 900 800 500 400
Table 2.16: Transportation table
D1 D2 D3 D4 ai
O1
2 2 2 4
900
100 1000
O2
4 6 4 3
700 700
O3
3 2 1 0
500
400 900
bj 900 800 500 400
Table 2.17: Initial BFS by Matrix minima method
degeneracy, we assign a very small quantity ϵ( 0) to that unoccupied cell which has
the minimum transportation cost. In Table 2.17, there is a tie in selecting the smallest
unoccupied cell. So, we choose the cell (O3,D2) arbitrarily, see Table 2.18.
D1 D2 D3 D4 ai
O1
2 2 2 4
900
100 1000
O2
4 6 4 3
700 700
O3
3 2 1 0
ϵ
500
400 900 + ϵ
bj 900 800 + ϵ 500 400
Table 2.18: Resolving degeneracy
Now, we use the stepping stone method to find an optimal solution. We calculate the
opportunity cost for all unoccupied cells as given below:
11. Unoccupied cell Increase in cost per unit Remarks
of reallocation
(O1,D3) +2 − 2 + 2 − 1 = 1 Cost increases
(O1,D4) +4 − 2 + 2 − 0 = 4 Cost increases
(O2,D1) +4 − 6 + 2 − 2 = −2 Cost decreases
(O2,D3) +4 − 6 + 2 − 1 = −1 Cost decreases
(O2,D4) +3 − 6 + 2 − 0 = −1 Cost decreases
(O3,D1) +3 − 2 + 2 − 2 = 1 Cost increases
The cell (O2,D1) is having the maximum improvement potential, which is equal to −2.
The maximum amount that can be allocated to (O2,D1) is 700 and this will make the
current basic variable corresponding to cell (O2,D2) non-basic. The improved solution
is shown in Table 2.19.
D1 D2 D3 D4 ai
O1
2 2 2 4
200
800 1000
O2
4 6 4 3
700 700
O3
3 2 1 0
ϵ
500
400 900 + ϵ
bj 900 800 + ϵ 500 400
Table 2.19: Improved solution
As no further improvement is possible, the optimal solution is x11 = 200, x12 = 800, x21 =
700, x32 = ϵ, x33 = 500, x34 = 400 and the corresponding transportation cost is Rs.(2 ×
200+2×800+4×700+2×ϵ+1×500+0×400) = Rs.(5300+2ϵ). Since ϵ is a very small
quantity, it can be neglected. Thus, the net transportation cost is Rs.5300.
2.2.2 Unbalanced Transportation Problem
A transportation problem is called unbalanced if
∑m
i=1 ai ,
∑n
j=1 bj. The problem can
be made balanced by introducing dummy source with zero costs of transporting from
this source to all destinations, or dummy destination with zero costs of transporting
to this destination.
Example 2.3: Consider the transportation problem presented in the following table.
12. Destination
Origin
D1 D2 D3 Supply
O1 28 17 26 500
O2 19 12 16 300
Demand 250 250 500
Table 2.20: Transportation table for Example 2.3
Solution: The given transportation problem is unbalanced as
∑2
i=1 ai = 800
∑3
j=1 bj =
1000. To solve this problem, we introduce a dummy row with transportation cost
zero and availability 200, see Table 2.21. Using Matrix minima method, an initial
BFS is obtained as shown in Table 2.22. The corresponding transportation cost is
Rs.(50×28+450×26+250×12+50×16+200×0) = Rs.16900. For optimality test, one
can use MODI method as explained before. Further, improvement in the solution can
be done by forming loop, if needed.
Destination
Origin
D1 D2 D3 Supply
O1 28 17 26 500
O2 19 12 16 300
Dummy 0 0 0 200
Demand 250 250 500
Table 2.21: Unbalanced transportation table
D1 D2 D3 ai
O1
28 17 26
50
450 500
O2
19 12 16
250
50 300
Dummy
0 0 0
200 200
bj 250 250 500
Table 2.22: Initial BFS
2.2.3 Prohibited Transportation Routes
Sometimes there may be situations (e.g., road construction, bad road condition, strike,
unexpected flood, local traffic rule, etc.) where it is not possible to use certain routes
in a transportation problem. To handle such type of problems, a very large cost M or
∞ is assigned to each of such routes which are not available.
Consider the following transportation problem in which the allocations in the cells
(O1,D2) and (O3,D2) are prohibited.
We assign a cost ∞ to each of these cells and determine the initial BFS by Matrix
minima method as shown in Table 2.24.
13. Destination
Origin
D1 D2 D3 Supply
O1 16 − 12 200
O2 14 8 18 160
O3 26 − 16 90
Demand 180 120 150
Table 2.23: Example of prohibited transportation route
D1 D2 D3 ai
O1
16 ∞ 12
50
150 200
O2
14 8 18
40
120 160
O3
26 ∞ 16
90 90
bj 180 120 150
Table 2.24: Initial basic feasible solution
2.2.4 Maximization Transportation Problem
There are certain types of transportation problem where the objective function is to be
maximized instead of being minimized. These problems can be solved by converting
the maximization problem into a minimization problem. For this, replace each cost
element by the difference from the maximum cost element of the transportation table.
Example 2.4: Suppose that three factories X, Y , and Z supply goods to four deal-
ers spread all over the country. The production capacities of these factories are 200,
500 and 300 units per month, respectively. Transportation costs from the factories to
the dealers are given in the following Table 2.25. Determine a suitable allocation to
maximize the total net return.
Solution: Maximization transportation problem can be converted into minimization
transportation problem by subtracting each transportation cost from the maximum
transportation cost. Here, the maximum transportation cost is 25. So, we subtract
each cost from 25. The revised transportation problem is shown in Table 2.26. The
initial BFS obtained by Matrix minima method is given in Table 2.27.
14. Destination
D1 D2 D3 D4 Availability
Origin
X 12 18 6 25 200
Y 8 7 10 18 500
Z 14 3 11 20 300
Demand 180 320 100 400
Table 2.25: Transportation table for Example 2.4
Destination
D1 D2 D3 D4 ai
Origin
X 13 7 19 0 200
Y 17 18 15 7 500
Z 11 22 14 5 300
bj 180 320 100 400
Table 2.26: Revised transportation table
D1 D2 D3 D4 ai
X
13 7 19 0
200 200
Y
17 18 15 7
80
320
100 500
Z
11 22 14 5
100
200 300
bj 180 320 100 400
Table 2.27: Initial BFS by Matrix minima method
2.2.5 Alternative Optimal Solution
If dij = 0 for an unoccupied cell in an optimal solution then an alternative optimal
solution exists. The alternative optimal solution can be obtained by bringing such an
unoccupied cell in the basic solution without increasing the total transportation cost.