Home > Operation Research calculators > Transshipment Problem example

Transshipment Problem example ( Enter your problem )
Algorithm and examples
  1. Example-1
  2. Example-2
  3. Example-3 by using M value = 1000 and M value = M
  4. Example-4 by using M value = 1000 and M value = M
  5. Example-5 by using M value = 1000 and M value = M
Other related methods
  1. north-west corner method
  2. least cost method
  3. vogel's approximation method
  4. Row minima method
  5. Column minima method
  6. Russell's approximation method
  7. Heuristic method-1
  8. Heuristic method-2
  9. modi method (optimal solution)
  10. stepping stone method (optimal solution)
  11. Transshipment Problem
  12. LP Model Formulation

2. Example-2
(Previous example)
4. Example-4 by using M value = 1000 and M value = M
(Next example)

3. Example-3 by using M value = 1000 and M value = M





Example 3.1 by using M value = 1000 and Example 3.2 by using M value = M
3.1) Find Solution of Transshipment Problem using vogel's approximation method
T1T2D1D2D3Supply
P134MMM1000
P225MMM1200
T10786M0
T2M0M490
D1MM05M0
D2MMM030
Demand00800900500


Solution:
Problem Table is
`T_1``T_2``D_1``D_2``D_3`Supply
`P_1`341000100010001000
`P_2`251000100010001200
`T_1`078610000
`T_2`100001000490
`D_1`100010000510000
`D_2`100010001000030
Demand00800900500


`P_1,P_2` are pure supply nodes

`D_3` are pure demand nodes

`T_1,T_2,D_1,D_2` are transshipment nodes

Add Total value `=2200` in supply and demand for transshipment nodes `T_1,T_2,D_1,D_2`

So again Problem Table is
`T_1``T_2``D_1``D_2``D_3`Supply
`P_1`341000100010001000
`P_2`251000100010001200
`T_1`078610002200
`T_2`100001000492200
`D_1`100010000510002200
`D_2`100010001000032200
Demand2200220030003100500


Now, we solve this Transshipment problem
Table-1
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`341000100010001000`1=4-3`
`P_2`251000100010001200`3=5-2`
`T_1`078610002200`6=6-0`
`T_2`100001000492200`4=4-0`
`D_1`100010000510002200`5=5-0`
`D_2`100010001000032200`3=3-0`
Demand2200220030003100500
Column
Penalty
`2=2-0``4=4-0``8=8-0``4=4-0``6=9-3`


The maximum penalty, 8, occurs in column `D_1`.

The minimum `c_(ij)` in this column is `c_53`=0.

The maximum allocation in this cell is min(2200,3000) = 2200.
It satisfy supply of `D_1` and adjust the demand of `D_1` from 3000 to 800 (3000 - 2200=800).

Table-2
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`341000100010001000`1=4-3`
`P_2`251000100010001200`3=5-2`
`T_1`078610002200`6=6-0`
`T_2`100001000492200`4=4-0`
`D_1`100010000(2200)510000--
`D_2`100010001000032200`3=3-0`
Demand220022008003100500
Column
Penalty
`2=2-0``4=4-0``992=1000-8``4=4-0``6=9-3`


The maximum penalty, 992, occurs in column `D_1`.

The minimum `c_(ij)` in this column is `c_33`=8.

The maximum allocation in this cell is min(2200,800) = 800.
It satisfy demand of `D_1` and adjust the supply of `T_1` from 2200 to 1400 (2200 - 800=1400).

Table-3
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`341000100010001000`1=4-3`
`P_2`251000100010001200`3=5-2`
`T_1`078(800)610001400`6=6-0`
`T_2`100001000492200`4=4-0`
`D_1`100010000(2200)510000--
`D_2`100010001000032200`3=3-0`
Demand2200220003100500
Column
Penalty
`2=2-0``4=4-0`--`4=4-0``6=9-3`


The maximum penalty, 6, occurs in row `T_1`.

The minimum `c_(ij)` in this row is `c_31`=0.

The maximum allocation in this cell is min(1400,2200) = 1400.
It satisfy supply of `T_1` and adjust the demand of `T_1` from 2200 to 800 (2200 - 1400=800).

Table-4
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`341000100010001000`1=4-3`
`P_2`251000100010001200`3=5-2`
`T_1`0(1400)78(800)610000--
`T_2`100001000492200`4=4-0`
`D_1`100010000(2200)510000--
`D_2`100010001000032200`3=3-0`
Demand800220003100500
Column
Penalty
`1=3-2``4=4-0`--`4=4-0``6=9-3`


The maximum penalty, 6, occurs in column `D_3`.

The minimum `c_(ij)` in this column is `c_65`=3.

The maximum allocation in this cell is min(2200,500) = 500.
It satisfy demand of `D_3` and adjust the supply of `D_2` from 2200 to 1700 (2200 - 500=1700).

Table-5
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`341000100010001000`1=4-3`
`P_2`251000100010001200`3=5-2`
`T_1`0(1400)78(800)610000--
`T_2`100001000492200`4=4-0`
`D_1`100010000(2200)510000--
`D_2`10001000100003(500)1700`1000=1000-0`
Demand8002200031000
Column
Penalty
`1=3-2``4=4-0`--`4=4-0`--


The maximum penalty, 1000, occurs in row `D_2`.

The minimum `c_(ij)` in this row is `c_64`=0.

The maximum allocation in this cell is min(1700,3100) = 1700.
It satisfy supply of `D_2` and adjust the demand of `D_2` from 3100 to 1400 (3100 - 1700=1400).

Table-6
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`341000100010001000`1=4-3`
`P_2`251000100010001200`3=5-2`
`T_1`0(1400)78(800)610000--
`T_2`100001000492200`4=4-0`
`D_1`100010000(2200)510000--
`D_2`1000100010000(1700)3(500)0--
Demand8002200014000
Column
Penalty
`1=3-2``4=4-0`--`996=1000-4`--


The maximum penalty, 996, occurs in column `D_2`.

The minimum `c_(ij)` in this column is `c_44`=4.

The maximum allocation in this cell is min(2200,1400) = 1400.
It satisfy demand of `D_2` and adjust the supply of `T_2` from 2200 to 800 (2200 - 1400=800).

Table-7
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`341000100010001000`1=4-3`
`P_2`251000100010001200`3=5-2`
`T_1`0(1400)78(800)610000--
`T_2`1000010004(1400)9800`1000=1000-0`
`D_1`100010000(2200)510000--
`D_2`1000100010000(1700)3(500)0--
Demand8002200000
Column
Penalty
`1=3-2``4=4-0`------


The maximum penalty, 1000, occurs in row `T_2`.

The minimum `c_(ij)` in this row is `c_42`=0.

The maximum allocation in this cell is min(800,2200) = 800.
It satisfy supply of `T_2` and adjust the demand of `T_2` from 2200 to 1400 (2200 - 800=1400).

Table-8
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`341000100010001000`1=4-3`
`P_2`251000100010001200`3=5-2`
`T_1`0(1400)78(800)610000--
`T_2`10000(800)10004(1400)90--
`D_1`100010000(2200)510000--
`D_2`1000100010000(1700)3(500)0--
Demand8001400000
Column
Penalty
`1=3-2``1=5-4`------


The maximum penalty, 3, occurs in row `P_2`.

The minimum `c_(ij)` in this row is `c_21`=2.

The maximum allocation in this cell is min(1200,800) = 800.
It satisfy demand of `T_1` and adjust the supply of `P_2` from 1200 to 400 (1200 - 800=400).

Table-9
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`341000100010001000`4`
`P_2`2(800)5100010001000400`5`
`T_1`0(1400)78(800)610000--
`T_2`10000(800)10004(1400)90--
`D_1`100010000(2200)510000--
`D_2`1000100010000(1700)3(500)0--
Demand01400000
Column
Penalty
--`1=5-4`------


The maximum penalty, 5, occurs in row `P_2`.

The minimum `c_(ij)` in this row is `c_22`=5.

The maximum allocation in this cell is min(400,1400) = 400.
It satisfy supply of `P_2` and adjust the demand of `T_2` from 1400 to 1000 (1400 - 400=1000).

Table-10
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`341000100010001000`4`
`P_2`2(800)5(400)1000100010000--
`T_1`0(1400)78(800)610000--
`T_2`10000(800)10004(1400)90--
`D_1`100010000(2200)510000--
`D_2`1000100010000(1700)3(500)0--
Demand01000000
Column
Penalty
--`4`------


The maximum penalty, 4, occurs in row `P_1`.

The minimum `c_(ij)` in this row is `c_12`=4.

The maximum allocation in this cell is min(1000,1000) = 1000.
It satisfy supply of `P_1` and demand of `T_2`.


Initial feasible solution is
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`34(1000)1000100010001000 1 |  1 |  1 |  1 |  1 |  1 |  1 |  1 |  4 |  4 |
`P_2`2(800)5(400)1000100010001200 3 |  3 |  3 |  3 |  3 |  3 |  3 |  3 |  5 | -- |
`T_1`0(1400)78(800)610002200 6 |  6 |  6 | -- | -- | -- | -- | -- | -- | -- |
`T_2`10000(800)10004(1400)92200 4 |  4 |  4 |  4 |  4 |  4 | 1000 | -- | -- | -- |
`D_1`100010000(2200)510002200 5 | -- | -- | -- | -- | -- | -- | -- | -- | -- |
`D_2`1000100010000(1700)3(500)2200 3 |  3 |  3 |  3 | 1000 | -- | -- | -- | -- | -- |
Demand2200220030003100500
Column
Penalty
2
2
2
1
1
1
1
1
--
--
4
4
4
4
4
4
4
1
1
4
8
992
--
--
--
--
--
--
--
--
4
4
4
4
4
996
--
--
--
--
6
6
6
6
--
--
--
--
--
--


The minimum total transportation cost `=4 xx 1000+2 xx 800+5 xx 400+0 xx 1400+8 xx 800+0 xx 800+4 xx 1400+0 xx 2200+0 xx 1700+3 xx 500=21100`

Here, the number of allocated cells = 10 is equal to m + n - 1 = 6 + 5 - 1 = 10
`:.` This solution is non-degenerate
3.2) Find Solution of Transshipment Problem using vogel's approximation method
T1T2D1D2D3Supply
P134MMM1000
P225MMM1200
T10786M0
T2M0M490
D1MM05M0
D2MMM030
Demand00800900500


Solution:
Problem Table is
`T_1``T_2``D_1``D_2``D_3`Supply
`P_1`34MMM1000
`P_2`25MMM1200
`T_1`0786M0
`T_2`M0M490
`D_1`MM05M0
`D_2`MMM030
Demand00800900500


`P_1,P_2` are pure supply nodes

`D_3` are pure demand nodes

`T_1,T_2,D_1,D_2` are transshipment nodes

Add Total value `=2200` in supply and demand for transshipment nodes `T_1,T_2,D_1,D_2`

So again Problem Table is
`T_1``T_2``D_1``D_2``D_3`Supply
`P_1`34MMM1000
`P_2`25MMM1200
`T_1`0786M2200
`T_2`M0M492200
`D_1`MM05M2200
`D_2`MMM032200
Demand2200220030003100500


Now, we solve this Transshipment problem
Table-1
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`34MMM1000`1=4-3`
`P_2`25MMM1200`3=5-2`
`T_1`0786M2200`6=6-0`
`T_2`M0M492200`4=4-0`
`D_1`MM05M2200`5=5-0`
`D_2`MMM032200`3=3-0`
Demand2200220030003100500
Column
Penalty
`2=2-0``4=4-0``8=8-0``4=4-0``6=9-3`


The maximum penalty, 8, occurs in column `D_1`.

The minimum `c_(ij)` in this column is `c_53`=0.

The maximum allocation in this cell is min(2200,3000) = 2200.
It satisfy supply of `D_1` and adjust the demand of `D_1` from 3000 to 800 (3000 - 2200=800).

Table-2
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`34MMM1000`1=4-3`
`P_2`25MMM1200`3=5-2`
`T_1`0786M2200`6=6-0`
`T_2`M0M492200`4=4-0`
`D_1`MM0(2200)5M0--
`D_2`MMM032200`3=3-0`
Demand220022008003100500
Column
Penalty
`2=2-0``4=4-0``M=M-8``4=4-0``6=9-3`


The maximum penalty, M, occurs in column `D_1`.

The minimum `c_(ij)` in this column is `c_33`=8.

The maximum allocation in this cell is min(2200,800) = 800.
It satisfy demand of `D_1` and adjust the supply of `T_1` from 2200 to 1400 (2200 - 800=1400).

Table-3
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`34MMM1000`1=4-3`
`P_2`25MMM1200`3=5-2`
`T_1`078(800)6M1400`6=6-0`
`T_2`M0M492200`4=4-0`
`D_1`MM0(2200)5M0--
`D_2`MMM032200`3=3-0`
Demand2200220003100500
Column
Penalty
`2=2-0``4=4-0`--`4=4-0``6=9-3`


The maximum penalty, 6, occurs in row `T_1`.

The minimum `c_(ij)` in this row is `c_31`=0.

The maximum allocation in this cell is min(1400,2200) = 1400.
It satisfy supply of `T_1` and adjust the demand of `T_1` from 2200 to 800 (2200 - 1400=800).

Table-4
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`34MMM1000`1=4-3`
`P_2`25MMM1200`3=5-2`
`T_1`0(1400)78(800)6M0--
`T_2`M0M492200`4=4-0`
`D_1`MM0(2200)5M0--
`D_2`MMM032200`3=3-0`
Demand800220003100500
Column
Penalty
`1=3-2``4=4-0`--`4=4-0``6=9-3`


The maximum penalty, 6, occurs in column `D_3`.

The minimum `c_(ij)` in this column is `c_65`=3.

The maximum allocation in this cell is min(2200,500) = 500.
It satisfy demand of `D_3` and adjust the supply of `D_2` from 2200 to 1700 (2200 - 500=1700).

Table-5
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`34MMM1000`1=4-3`
`P_2`25MMM1200`3=5-2`
`T_1`0(1400)78(800)6M0--
`T_2`M0M492200`4=4-0`
`D_1`MM0(2200)5M0--
`D_2`MMM03(500)1700`M=M-0`
Demand8002200031000
Column
Penalty
`1=3-2``4=4-0`--`4=4-0`--


The maximum penalty, M, occurs in row `D_2`.

The minimum `c_(ij)` in this row is `c_64`=0.

The maximum allocation in this cell is min(1700,3100) = 1700.
It satisfy supply of `D_2` and adjust the demand of `D_2` from 3100 to 1400 (3100 - 1700=1400).

Table-6
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`34MMM1000`1=4-3`
`P_2`25MMM1200`3=5-2`
`T_1`0(1400)78(800)6M0--
`T_2`M0M492200`4=4-0`
`D_1`MM0(2200)5M0--
`D_2`MMM0(1700)3(500)0--
Demand8002200014000
Column
Penalty
`1=3-2``4=4-0`--`M=M-4`--


The maximum penalty, M, occurs in column `D_2`.

The minimum `c_(ij)` in this column is `c_44`=4.

The maximum allocation in this cell is min(2200,1400) = 1400.
It satisfy demand of `D_2` and adjust the supply of `T_2` from 2200 to 800 (2200 - 1400=800).

Table-7
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`34MMM1000`1=4-3`
`P_2`25MMM1200`3=5-2`
`T_1`0(1400)78(800)6M0--
`T_2`M0M4(1400)9800`M=M-0`
`D_1`MM0(2200)5M0--
`D_2`MMM0(1700)3(500)0--
Demand8002200000
Column
Penalty
`1=3-2``4=4-0`------


The maximum penalty, M, occurs in row `T_2`.

The minimum `c_(ij)` in this row is `c_42`=0.

The maximum allocation in this cell is min(800,2200) = 800.
It satisfy supply of `T_2` and adjust the demand of `T_2` from 2200 to 1400 (2200 - 800=1400).

Table-8
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`34MMM1000`1=4-3`
`P_2`25MMM1200`3=5-2`
`T_1`0(1400)78(800)6M0--
`T_2`M0(800)M4(1400)90--
`D_1`MM0(2200)5M0--
`D_2`MMM0(1700)3(500)0--
Demand8001400000
Column
Penalty
`1=3-2``1=5-4`------


The maximum penalty, 3, occurs in row `P_2`.

The minimum `c_(ij)` in this row is `c_21`=2.

The maximum allocation in this cell is min(1200,800) = 800.
It satisfy demand of `T_1` and adjust the supply of `P_2` from 1200 to 400 (1200 - 800=400).

Table-9
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`34MMM1000`4`
`P_2`2(800)5MMM400`5`
`T_1`0(1400)78(800)6M0--
`T_2`M0(800)M4(1400)90--
`D_1`MM0(2200)5M0--
`D_2`MMM0(1700)3(500)0--
Demand01400000
Column
Penalty
--`1=5-4`------


The maximum penalty, 5, occurs in row `P_2`.

The minimum `c_(ij)` in this row is `c_22`=5.

The maximum allocation in this cell is min(400,1400) = 400.
It satisfy supply of `P_2` and adjust the demand of `T_2` from 1400 to 1000 (1400 - 400=1000).

Table-10
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`34MMM1000`4`
`P_2`2(800)5(400)MMM0--
`T_1`0(1400)78(800)6M0--
`T_2`M0(800)M4(1400)90--
`D_1`MM0(2200)5M0--
`D_2`MMM0(1700)3(500)0--
Demand01000000
Column
Penalty
--`4`------


The maximum penalty, 4, occurs in row `P_1`.

The minimum `c_(ij)` in this row is `c_12`=4.

The maximum allocation in this cell is min(1000,1000) = 1000.
It satisfy supply of `P_1` and demand of `T_2`.


Initial feasible solution is
`T_1``T_2``D_1``D_2``D_3`SupplyRow Penalty
`P_1`34(1000)MMM1000 1 |  1 |  1 |  1 |  1 |  1 |  1 |  1 |  4 |  4 |
`P_2`2(800)5(400)MMM1200 3 |  3 |  3 |  3 |  3 |  3 |  3 |  3 |  5 | -- |
`T_1`0(1400)78(800)6M2200 6 |  6 |  6 | -- | -- | -- | -- | -- | -- | -- |
`T_2`M0(800)M4(1400)92200 4 |  4 |  4 |  4 |  4 |  4 | M | -- | -- | -- |
`D_1`MM0(2200)5M2200 5 | -- | -- | -- | -- | -- | -- | -- | -- | -- |
`D_2`MMM0(1700)3(500)2200 3 |  3 |  3 |  3 | M | -- | -- | -- | -- | -- |
Demand2200220030003100500
Column
Penalty
2
2
2
1
1
1
1
1
--
--
4
4
4
4
4
4
4
1
1
4
8
M
--
--
--
--
--
--
--
--
4
4
4
4
4
M
--
--
--
--
6
6
6
6
--
--
--
--
--
--


The minimum total transportation cost `=4 xx 1000+2 xx 800+5 xx 400+0 xx 1400+8 xx 800+0 xx 800+4 xx 1400+0 xx 2200+0 xx 1700+3 xx 500=21100`

Here, the number of allocated cells = 10 is equal to m + n - 1 = 6 + 5 - 1 = 10
`:.` This solution is non-degenerate




This material is intended as a summary. Use your textbook for detail explanation.
Any bug, improvement, feedback then Submit Here



2. Example-2
(Previous example)
4. Example-4 by using M value = 1000 and M value = M
(Next example)





Share this solution or page with your friends.
 
 
Copyright © 2026. All rights reserved. Terms, Privacy
 
 

.