E07 Transportation
E07 Transportation
2
Network Models
3
The Problems
⚫ Each of these three models (transportation, assignment, and transshipment
models) can be formulated as linear programs and solved by general purpose
linear programming codes.
⚫ For each of the three models, if the right-hand side of the linear programming
formulations are all integers, the optimal solution will be in terms of integer
values for the decision variables.
⚫ However, there are many computer packages which contain separate
computer codes for these models which take advantage of their network
structure.
4
The Transportation Problem
5
The Transportation Problem: Network Model
⚫ Network Representation
1 𝑑1
𝑐11
𝑠1 1 𝑐12
𝑐13
2 𝑑2
𝑐21 𝑐22
𝑠2 2
𝑐23
3 𝑑3
SOURCES DESTINATIONS
6
Transportation Problem: LP Formulation
⚫ The linear programming formulation in terms of the amounts shipped from the
origins to the destinations, 𝑥𝑖𝑗, can be written as:
s.t.
𝑥𝑖𝑗 ≤ 𝑠𝑖 for each origin 𝑖
𝑗
7
The Transportation Problem Interpretation
8
Transportation Problem: Special Situations
9
Transportation Problem (1)
10
Transportation Problem (2)
⚫ A transportation tableau is given below. Each cell represents a shipping route
(which is an arc on the network and a decision variable in the LP formulation), and
the unit shipping costs are given in an upper right hand box in the cell.
D1 D2 D3 Supply
15 30 20
S1 50
30 40 35
S2 30
Demand 25 45 10
11
Formulation problem (3)
⚫ Write the formulation for the following Transportation Problem:
12
Transportation Problem (4)
13
Transportation Algorithm: Northwest-corner method (1)
14
Transportation Algorithm: Northwest-corner method (2)
SunRay Transport Company ships truckloads of grain from three silos to four mills. The supply (in truckloads) and the
demand (also in truckloads) together with the unit transportation costs per truckload on the different routes are
summarized in Table below. The unit transportation costs, cij (shown in the northeast corner of each box), are in
hundreds of dollars. The model seeks the minimum cost shipping schedule between the silos and the mills
The least-cost method finds a better starting solution by targeting the cheapest
routes.
Step 1. It assigns as much as possible to the cell with the smallest unit cost (ties are
broken arbitrarily).
Step 2. The satisfied row or column is crossed out and the amounts of supply and
demand are adjusted accordingly. If both a row and a column are satisfied
simultaneously, only one is crossed out, the same as in the northwest-
corner method.
Step 3. Select the uncrossed-out cell with the smallest unit cost and repeat the
process until exactly one row or column is left uncrossed out
16
Transportation Algorithm: Least cost method (2)
The starting solution (consisting of six basic variables) is 𝑥12 = 15, 𝑥14 = 0, 𝑥23 = 15, 𝑥24 = 10,
𝑥31 = 5, 𝑥34 = 5. The associated objective value is
𝑧 = 15 × 2 + 0 × 11 + 15 × 9 + 10 × 20 + 5 × 4 + 5 × 18 = $475,
which happens to be better than the northwest-corner solution
17
Transportation Algorithm: Vogel approximation method (1)
VAM is an improved version of the least-cost method that generally, but not always, produces better
starting solutions.
Step 1. For each row (column), determine a penalty measure by subtracting the smallest unit cost in the
row (column) from the next smallest unit cost in the same row (column). This penalty is actually a
measure of lost opportunity one forgoes if the smallest unit cost cell is not chosen.
Step 2. Identify the row or column with the largest penalty, breaking ties arbitrarily. Allocate as much as
possible to the variable with the least unit cost in the selected row or column. Adjust the supply
and demand, and cross out the satisfied row or column. If a row and a column are satisfied
simultaneously, only one of the two is crossed out, and the remaining row (column) is assigned
zero supply (demand).
Step 3. (a) If exactly one row or column with zero supply or demand remains uncrossed out, stop.
(b) If one row (column) with positive supply (demand) remains uncrossed out, determine the basic
variables in the row (column) by the least-cost method. Stop.
(c) If all the uncrossed-out rows and columns have (remaining) zero supply and demand,
determine the zero basic variables by the least-cost method. Stop.
(d) Otherwise, go to step 1.
18
Transportation Algorithm: VAM (2)
Continuing in the same manner, row 2 will produce the highest penalty 1= 112, and we assign
𝑥23 = 15, which crosses out column 3 and leaves 10 units in row 2. Only column 4 is left, and it has
a positive supply of 15 units. Applying the least-cost method to that column, we successively assign
𝑥14 = 0, 𝑥34 = 5, and 𝑥24 = 10 (verify!).
The associated objective value for this solution is
𝑧 = 15 × 2 + 0 × 11 + 15 × 9 + 10 × 20 + 5 × 4 + 5 × 18 = $475.
This solution happens to have the same objective value as in the least-cost method.
19
Transportation Algorithm: Stepping stone method (1)
Step 1: Select the cell with the least cost. Assign to this cell the minimum
of its remaining row supply or remaining column demand.
Step 2: Decrease the row and column availabilities by this amount and
remove from consideration all other cells in the row or column
with zero availability/demand. (If both are simultaneously
reduced to 0, assign an allocation of 0 to any other unoccupied
cell in the row or column before deleting both.) GO TO STEP 1.
20
Transportation Algorithm: Stepping stone method (2)
Step 1: For each unoccupied cell, calculate the reduced cost by the MODI
method described below. Select the unoccupied cell with the most
negative reduced cost. (For maximization problems select the
unoccupied cell with the largest reduced cost.) If none, STOP.
Step 2: For this unoccupied cell generate a stepping stone path by forming
a closed loop with this cell and occupied cells by drawing
connecting alternating horizontal and vertical lines between them.
Determine the minimum allocation where a subtraction is to be
made along this path.
21
Transportation Algorithm: Stepping stone method (3)
Step 3: Add this allocation to all cells where additions are to be made, and
subtract this allocation to all cells where subtractions are to be made
along the stepping stone path. (Note: An occupied cell on the
stepping stone path now becomes 0 (unoccupied).
If more than one cell becomes 0, make only one unoccupied; make
the others occupied with 0's.) GO TO STEP 1.
The closed loop starts and ends at the entering variable cell. The loop
consists of connected horizontal and vertical segments only (no diagonals
are allowed). Except for the entering variable cell, each corner of the
closed loop must coincide with a basic variable (occupied cell)
22
New York Chicago Los Angeles Boston Dummy Los Angeles Boston New York Chicago Dummy
8 13 25 28 0 25 28 8 13 0
Mempis Mempis
150 -1 1 2 -10 130 3 14 13 20
15 12 26 25 0 26 25 15 12 0
Denver Denver
9 200 4 1 -8 1 130 21 12 70
0 6 16 17 0 16 17 0 6 0
New York New York
200 150 0 -1 -2 -15 -14 350 0 -6
6 0 14 16 0 14 16 6 0 0
Chichago Chichago
8 -4 130 130 90 -11 -9 12 350 0
Los Angeles Boston New York Chicago Dummy New York Chicago Los Angeles Boston Dummy
Mempis 25 28 8 13 0 8 13 25 28 0
Mempis
130 20 -10 -11 -24 20 -7 130 -5 -8
Denver 26 25 15 12 0 15 12 26 25 0
Denver
4 110 90 -9 -21 15 0 9 130 70
New York 16 17 0 6 0 0 6 16 17 0
New York
9 7 260 90 -6 330 -6 -1 -8 20
Chichago 14 16 6 0 0 6 0 14 16 0
Chichago
13 12 12 260 90 18 350 9 3 12
23
Transportation Algorithm: Stepping stone method (4)
24
Example: BBC (1)
Building Brick Company (BBC) has orders for 80 tons of bricks at three suburban
locations as follows: Northwood — 25 tons, Westwood — 45 tons, and
Eastwood — 10 tons. BBC has two plants, each of which can produce 50 tons
per week.
How should end of week shipments be made to fill the above orders given the
following delivery cost per ton:
25
Example: BBC (2)
⚫ Initial Transportation Tableau
Since total supply = 100 and total demand = 80, a dummy destination is created
with demand of 20 and 0 unit costs.
24 30 40
Plant 1 50
30 40 42
Plant 2 50
Demand 25 45 10
26
Example: BBC (3)
⚫ Initial Transportation Tableau
Since total supply = 100 and total demand = 80, a dummy destination is
created with demand of 20 and 0 unit costs.
24 30 40 0
Plant 1 50
30 40 42 0
Plant 2 50
Demand 25 45 10 20
27
Transportation Problem: Assess your understanding
28
Example: BBC – Least Cost Algorithm
29
Example: BBC – Iteration 1 (1)
MODI Method
1. Set 𝑢1 = 0
2. Since 𝑢1 + 𝑣𝑗 = 𝑐1𝑗 for occupied cells in row 1, then 𝑣1 = 24, 𝑣2 = 30, 𝑣4 = 0.
3. Since 𝑢𝑖 + 𝑣2 = 𝑐𝑖2 for occupied cells in column 2, then 𝑢2 + 30 = 40, hence
𝑢2 = 10.
4. Since 𝑢2 + 𝑣𝑗 = 𝑐2𝑗 for occupied cells in row 2, then 10 + 𝑣3 = 42, hence 𝑣3 =
32.
Northwood Westwood Eastwood Dummy 𝑢𝑖
24 30 40 0
Plant 1 25 5 20 0
30 40 42 0
Plant 2 40 10 10
𝑣𝑗 24 30 32 0
30
Example: BBC – Iteration 1 (2)
Calculate the reduced costs by 𝑐𝑖𝑗 − 𝑢𝑖 − 𝑣𝑗.
Unoccupied Cell Reduced Cost
1,3 40 − 0 − 32 = 8
(2,1) 30 − 24 − 10 = −4
(2,4) 0 − 10 − 0 = −10
24 30 40 0
Plant 1 25 5 +8 20 0
30 40 42 0
Plant 2 -4 40 10 -10 10
𝑣𝑗 24 30 32 0
31
Example: BBC – Iteration 1 (3)
⚫ Stepping Stone Method
The stepping stone path for cell (2,4) is (2,4), (1,4), (1,2), (2,2). The allocations in
the subtraction cells are 20 and 40, respectively. The minimum is 20, and hence
reallocate 20 along this path. Thus for the next tableau:
𝑥24 = 0 + 20 = 20 (0 is its current allocation)
𝑥14 = 20 − 20 = 0 (blank for the next tableau)
𝑥12 = 5 + 20 = 25
𝑥22 = 40 − 20 = 20
The other occupied cells remain the same.
32
Example: BBC – Iteration 1 tableau
Northwood Westwood Eastwood Dummy 𝑢𝑖
24 30 40 0
Plant 1 25 5 +8 20 0
30 40 42 0
Plant 2 -4 40 10 -10 10
𝑣𝑗 24 30 32 0
Northwood Westwood Eastwood Dummy
24 30 40 0
Plant 1 25 25 0
30 40 42 0
Plant 2 20 10 20
33
Example: BBC – Iteration 2 (1)
MODI Method
The reduced costs are found by calculating the 𝑢𝑖 's and 𝑣𝑗's for this tableau.
1. Set 𝑢1 = 0.
2. Since 𝑢1 + 𝑣𝑗 = 𝑐𝑖𝑗 for occupied cells in row 1, then 𝑣1 = 24, 𝑣2 = 30.
3. Since 𝑢𝑖 + 𝑣2 = 𝑐𝑖2 for occupied cells in column 2, then 𝑢2 + 30 = 40, or 𝑢2 = 10.
4. Since 𝑢2 + 𝑣𝑗 = 𝑐2𝑗 for occupied cells in row 2, then 10 + 𝑣3 = 42 or 𝑣3 = 32; and, 10 + 𝑣4 =
0 or 𝑣4 = −10.
30 40 42 0
Plant 2 20 10 20 10
𝑣𝑗 24 30 32 -10
34
Example: BBC – Iteration 2 (2)
Calculate the reduced costs (circled numbers on thenext slide) by 𝑐𝑖𝑗 − 𝑢𝑖 + 𝑣𝑗.
Unoccupied Cell Reduced Cost
1,3 40 − 0 − 32 =8
1,4 0 − 0 − −10 = 10
(2,1) 30 − 10 − 24 = −4
24 30 40 0
Plant 1 25 25 +8 +10 0
30 40 42 0
Plant 2 -4 20 10 20 10
𝑣𝑗 24 30 32 -10
35
Example: BBC – Iteration 2 (3)
36
Example: BBC (Iteration 2 tableau)
Northwood Westwood Eastwood Dummy 𝑢𝑖
24 30 40 0
Plant 1 25 25 +8 +10 0
30 40 42 0
Plant 2 -4 20 10 20 10
𝑣𝑗 24 30 32 -10
30 40 42 0
Plant 2 20 0 10 20
37
Example: BBC – Iteration 3 (1)
MODI Method
The reduced costs are found by calculating the 𝑢𝑖's and 𝑣𝑗's for this tableau.
1. Set 𝑢1 = 0
2. Since 𝑢1 + 𝑣𝑗 = 𝑐1𝑗 for occupied cells in row 1, then 𝑣1 = 24 and 𝑣2 = 30.
3. Since 𝑢𝑖 + 𝑣1 = 𝑐𝑖1 for occupied cells in column 2, then 𝑢2 + 24 = 30 or
𝑢2 = 6.
4. Since 𝑢2 + 𝑣𝑗 = 𝑐2𝑗 for occupied cells in row 2, then 6 + 𝑣3 = 42 or 𝑣3 = 36,
and 6 + 𝑣4 = 0 or 𝑣4 = −6.
Northwood Westwood Eastwood Dummy 𝑢𝑖
24 30 40 0
Plant 1 5 45 0
30 40 42 0
Plant 2 20 10 20 6
𝑣𝑗 24 30 36 -6
38
Example: BBC – Iteration 3 (2)
Calculate the reduced costs (circled numbers on the next slide) by 𝑐𝑖𝑗 − 𝑢𝑖 + 𝑣𝑗.
Unoccupied Cell Reduced Cost
1,3 40 − 0 − 36 = 4
(1,4) 0 − 0 − −6 = 6
(2,2) 40 − 6 − 30 = 4
24 30 40 0
Plant 1 5 45 +4 +6 0
30 40 42 0
Plant 2 20 4 10 20 10
𝑣𝑗 24 30 32 -10
39
Example: BBC – Iteration 3 tableau
Since all the reduced costs are non-negative, this is the optimal tableau.
24 30 40 0
Plant 1 5 45 +4 +6 0
30 40 42 0
Plant 2 20 +4 10 20 6
𝑣𝑗 24 30 36 -6
40
Example: BBC Optimal Solution
⚫ Optimal Solution
41
Example: Production - Distribution
A company owns four plants located in different places. Each plant manufactures the same product,
but production and raw material costs differ from plant to plant. There are five regional warehouses
and customers pay different price at each. Find the best production and distribution schedule for the
data given in table below
Plant 1 2 3 4
Production 20 25 19 20
Raw materials 10 9 12 8
Transportation costs per unit
Warehouse 1 4 10 12 19
Warehouse 2 3 7 5 6
Warehouse 3 5 9 4 7
Warehouse 4 7 5 9 3
Warehouse 5 6 8 7 6
Assume that the capacities of the four plants, for a given planning horizon are 200, 250, 325, and 150
units. Also, assume that the maximum sales are 130, 160, 200, 150, and 210 for the five warehouses.
The sales prices for these warehouses are 40, 42, 41, 42, and 41 dollars per unit
42
Example: Production - Distribution
Total supply = 200 + 250 + 325 + 150 = 925 and total demand = 130 + 160 + 200 +
150 + 210 = 850 add dummy warehouse = 75.
Transportation model for profit maximization
WAREHOUSE
W1 W2 W3 W4 W5 Dummy
P1 6 9 6 5 5 0 200
P2 -4 1 -2 3 -1 0 250
PLANT
P3 -3 6 6 2 3 0 325
P4 -7 8 6 11 7 0 150
130 160 200 150 210 75
43
Example: Production - Distribution
Transportation model for cost minimization
WAREHOUSE
W1 W2 W3 W4 W5 Dummy
P1 5 2 5 6 6 11 200
P2 15 10 13 8 12 11 250
PLANT P3 14 5 5 9 8 11 325
P4 18 3 5 0 4 11 150
130 160 200 150 210 75
Optimal solution is :
WAREHOUSE
W1 W2 W3 W4 W5 Dummy
P1 130 70 0 0 0 0
P2 0 0 0 150 25 75
PLANT
P3 0 90 200 0 35 0
P4 0 0 0 0 150 0
44
TI234310
Assignment Problems
Assignment Problem (1)
⚫ An assignment problem seeks to minimize the total cost assignment of 𝑚
workers to 𝑚 jobs, given that the cost of worker 𝑖 performing job j is 𝑐𝑖𝑗.
⚫ It assumes all workers are assigned and each job is performed.
⚫ An assignment problem is a special case of a transportation problem in
which all supplies and all demands are equal to 1; hence assignment
problems may be solved as linear programs.
⚫ The network representation of an assignment problem with three
workers and three jobs is shown on the next slide.
46
Assignment Problem (2)
⚫ Network Representation
𝑐11
1 1
𝑐12
𝑐13
𝑐21
2 𝑐22 2
𝑐23
𝑐31
𝑐32
3 𝑐33 3
WORKERS JOBS
47
Assignment Problem (3)
⚫ Linear Programming Formulation
s.t
x
j
ij =1 for each worker i
x
i
ij =1 for each job j
48
Assignment Problem (4)
Assess your understanding:
1. Write the objective function for the general LP formulation of the
Assignment Problem using only words – do not use any mathematical
symbols.
2. Write contraint for the general LP formulation of the Assignment
Problem using only words – do not use any mathematical symbols.
49
Assignment Problem: Special Considerations
50
Assignment Problem: Special Considerations
51
Hungarian Method (1)
The Hungarian method solves minimization assignment problems with 𝑚 workers and 𝑚
jobs.
Step 1: For each row, subtract the minimum number in that row from all numbers in
that row.
Step 2: For each column, subtract the minimum number in that column from all
numbers in that column.
Step 3: Draw the minimum number of lines to cover all zeroes. If this number = 𝑚, STOP
— an assignment can be made.
Step 4: Determine the minimum uncovered number (call it 𝑑).
– Subtract 𝑑 from uncovered numbers.
– Add 𝑑 to numbers covered by two lines.
– Numbers covered by one line remain the same.
– Then, GO TO STEP 3.
52
Hungarian Method (3)
⚫ Finding the Minimum Number of Lines and Determining the Optimal Solution
Step 1: Find a row or column with only one unlined zero and circle it. (If all
rows/columns have two or more unlined zeroes choose an arbitrary
zero.)
Step 2: If the circle is in a row with one zero, draw a line through its column. If
the circle is in a column with one zero, draw a line through its row. One
approach, when all rows and columns have two or more zeroes, is to
draw a line through one with the most zeroes, breaking ties arbitrarily.
Step 3: Repeat step 2 until all circles are lined. If this minimum number of lines
equals 𝑚, the circles provide the optimal assignment.
53
Example: Hungry Owner
A contractor pays his subcontractors a fixed fee plus mileage for work performed.
On a given day the contractor is faced with three electrical jobs associated with
various projects. Given below are the distances between the subcontractors and the
projects. Project
A B C
Subcontractors
Westside 50 36 16
Federated 28 30 18
Goliath 35 32 20
Universal 25 25 14
54
Example: Hungry Owner
Network representation (note the “dummy” project)
West. 50 A
36
0 16
28
Fed. 30 B
18
0
35
32
Gol.
0
20 C
25
25
14
Univ. 0 Dum.
55
The Assignment Problem:
Assess your understanding:
⚫ Write the LP formulation for the Hungry Owner problem.
⚫ Think of and describe an “assignment” problem that occurs in your
field of expertise.
56
Example: Hungry Owner (1)
⚫ Initial Tableau Setup
Since the Hungarian algorithm requires that there be the same number of rows as
columns, add a Dummy column so that the first tableau is:
Project
A B C Dummy
Subcontractors
Westside 50 36 16 0
Federated 28 30 18 0
Goliath 35 32 20 0
Universal 25 25 14 0
57
Example: Hungry Owner (2)
Step 1: Subtract minimum number in each row from all numbers in that row. Since
each row has a zero, we would simply generate the same matrix above.
Step 2: Subtract the minimum number in each column from all numbers in the column.
For A it is 25, for B it is 25, for C it is 14, for Dummy it is 0. This yields:
Project
A B C Dummy
Subcontractors
Westside 25 11 2 0
Federated 3 5 4 0
Goliath 10 7 6 0
Universal 0 0 0 0
58
Example: Hungry Owner (3)
Step 3: Draw the minimum number of lines to cover all zeroes. Although one can "eyeball"
this minimum, use the following algorithm. If a "remaining" row has only one zero,
draw a line through the column. If a remaining column has only one zero in it,
draw a line through the row.
Project
A B C Dummy
Subcontractors
Westside 25 11 2 0
Federated 3 5 4 0
Goliath 10 7 6 0
Universal 0 0 0 0
59
Example: Hungry Owner (4)
Project
A B C Dummy
Subcontractors
Westside 23 9 0 0
Federated 1 3 2 0
Goliath 8 5 4 0
Universal 0 0 0 2
60
Example: Hungry Owner (5)
Step 3: Draw the minimum number of lines to cover all zeroes.
Project
A B C Dummy
Westside 23 9 0 0
Subcontractors
Federated 1 3 2 0
Goliath 8 5 4 0
Universal 0 0 0 2
61
Example: Hungry Owner (6)
Step 5: Subtract 1 from uncovered numbers. Add 1 to numbers covered by two
lines. This gives:
Project
A B C Dummy
Westside 23 9 0 1
Subcontractors
Federated 0 2 1 0
Goliath 7 4 3 0
Universal 0 0 0 3
62
Example: Hungry Owner (7)
Step 4: The minimum number of lines to cover all 0's is four.
There is a minimum-cost assignment. The optimal assignment is:
63
Solving layout problem using assignment (1)
The following figure gives a schematic layout of a
machine shop with its existing work centers
designated by squares 1, 2, 3, and 4. Four new work
centers, I, II, III, and IV, are to be added to the shop at
the locations designated by circles 𝑎, 𝑏, 𝑐, and 𝑑. The
objective is to assign the new centers to the proposed
locations to minimize the total materials handling
traffic between the existing centers and the proposed
ones. Table below summarizes the frequency of trips
between the new centers and the old ones. Materials
handling equipment travels along the rectangular
aisles intersecting at the locations of the centers. For
example, the one-way travel distance (in meters)
between center 1 and location 𝑏 is 30 + 20 = 50 m.
64
Solving layout problem using assignment (2)
a b c d
1 50 50 95 45
2 30 30 55 65
3 70 50 20 55
4 100 60 55 25
50 × 10 = 500
30 × 7 = 280
a b c d
70 × 0 = 0 I 1810 1370 1940 1180
100 × 11 = 1100 II 1090 770 625 695
1180
III 890 770 995 1095
IV 1140 820 985 745
65
Solving layout problem using assignment (3)
a b c d Min a b c d
I 1810 1370 1940 1180 1180 I 630 190 760 0
II 1090 770 625 695 625 II 465 145 0 70
III 890 770 995 1095 770 III 120 0 225 325
IV 1140 820 985 745 745 IV 395 75 240 0
Min 120 0 0 0
a b c d a b c d
I 510 190 760 0 I 435 115 760 0
II 345 145 0 70 II 270 70 0 70
III 0 0 225 325 III 0 0 300 400
IV 275 75 240 0 IV 200 0 240 0
TC= 3515
66
Example: Assignment problem
2 10 9 7
15 4 14 8
13 14 16 11
4 15 13 19
67
Solving transportation problem using assignment (1)
Any transportation problem can be formulated as an assignment problem. To illustrate
the idea, determine an assignment problem that could be used to find the optimal
solution to the transportation problem by using five supply and five demand points. The
following table represents matrix 𝑐𝑖𝑗 . Draw an assignment matrix based on the problem.
How much the minimum cost would you get?
Demand
1 2 3 𝑆𝑖
1 5 6 8 2
Supply
2 10 4 2 2
3 4 9 7 1
𝐷𝑗 2 1 2
68
Solving transportation problem using assignment (2)
Demand
1 2 3 𝑆𝑖
1 5 6 8 2
Supply
Alternative 2 0 0 0 3 3
𝑆1 → 𝐷2 = 1 0 0 0 3 3
0 0 1 3 3
𝑆1 → 𝐷1 = 1
0 0 1 3 3 8 8 1 0 0
𝑆2 → 𝐷3 = 1
8 8 2 0 0 𝑆2 → 𝐷3 = 1 8 8 1 0 0
8 8 2 0 0 𝑆3 → 𝐷1 = 1 0 0 4 3 3
0 0 5 3 3
Alternative ……
70
Transshipment
Problems
Transshipment problem (1)
⚫ Transshipment problems are transportation problems in which a
shipment may move through intermediate nodes (transshipment nodes)
before reaching a particular destination node.
⚫ Transshipment problems can be converted to larger transportation
problems and solved by a special transportation program (software).
⚫ Transshipment problems can also be solved by general purpose linear
programming codes.
⚫ The network representation for a transshipment problem with two
sources, three intermediate nodes, and two destinations is shown on
the next slide.
72
Transshipment problem (2)
⚫ Network Representation
3 𝑐36
𝑐13 𝑐37
𝑠1 1 𝑐14 6 𝑑1
𝑐15 𝑐46
4
𝑐47
𝑐23 𝑐24
𝑐56 7 𝑑2
𝑠2 2
𝑐25
5 𝑐57
SOURCES INTERMEDIATE DESTINATIONS
NODES
73
Transshipment problem (3)
⚫ Linear programming formulation
𝑥𝑖𝑗 represents the shipment from node 𝑖 to node 𝑗
s.t.
x
j
ij si for each origin i
x −x
i
ik
j
kj =0 for each intermediate node k
x
i
ij = dj for each destination j
74
The transshipment problem (4)
75
Example: Transshipping (1)
Thomas Industries & Washburn Corporation supply three firms (Zrox, Hewes, Rockwright) with
customized shelving for its offices. They both order shelving from the same two manufacturers,
Arnold Manufacturers and Supershelf, Inc. Currently weekly demands by the users are 50 for Zrox,
60 for Hewes, and 40 for Rockwright. Both Arnold and Supershelf can supply at most 75 units to
its customers. Additional data is shown on the next slide. Because of long standing contracts
based on past orders, unit costs from the manufacturers to the suppliers are:
Thomas Washburn
Arnold 5 8
Supershelf 7 4
76
Example: Transshipping (2)
⚫ Network Representation
Zrox 50
1
5
75 Arnold Thomas 5
8 8
Hewes 60
3
7 4
Super- Wash-
75 shelf burn
4 4
Rock-
wright 40
77
Example: Transshipping (3)
⚫ Linear Programming Formulation
Decision variables defined
𝑥𝑖𝑗 = amount shipped from manufacturer 𝑖 to supplier 𝑗
𝑥𝑗𝑘 = amount shipped from supplier 𝑗 to customer 𝑘
where 𝑖 = 1 (Arnold), 2 (Supershelf)
𝑗 = 3 (Thomas), 4 (Washburn)
𝑘 = 5 (Zrox), 6 (Hewes), 7 (Rockwright)
Note: A common mistake in formulation is to define the decision variable as 𝑥𝑖𝑗𝑘 – implying
that you have 223 = 12 decisions, when in fact, you only have (22) + (23) = 10
decisions.
78
Example: Transshipping (4)
⚫ Objective function defined: minimize overall shipping costs
Min 5𝑥13 + 8𝑥14 + 7𝑥23 + 4𝑥24 + 1𝑥35 + 5𝑥36 + 8𝑥37 + 3𝑥45 + 4𝑥46 + 4𝑥47
⚫ Constraints defined
1) Amount out of Arnold : 𝑥13 + 𝑥14 ≤ 75
2) Amount out of Supershelf : 𝑥23 + 𝑥24 ≤ 75
3) Amount through Thomas : 𝑥13 + 𝑥23 − 𝑥35 − 𝑥36 − 𝑥37 = 0
4) Amount through Washburn : 𝑥14 + 𝑥24 − 𝑥45 − 𝑥46 − 𝑥47 = 0
5) Amount into Zrox : 𝑥35 + 𝑥45 = 50
6) Amount into Hewes : 𝑥36 + 𝑥46 = 60
7) Amount into Rockwright : 𝑥37 + 𝑥47 = 40
8) Non-negativity of Variables : 𝑥𝑖𝑗 ≥ 0, for all 𝑖 and 𝑗.
79
Example: Transshipping (5)
80
Example: Manual solution of transshipping (1)
Widgetco manufactures widgets at two factories, one in
Memphis and one in Denver. The Memphis factory can
produce as many as 150 widgets per day, and the Denver
factory can produce as many as 200 widgets per day.
Widgets are shipped by air to customers in Los Angeles and
Boston. The customers in each city require 130 widgets per
day. Because of the deregulation of airfares, Widgetco
believes that it may be cheaper to first fly some widgets to
New York or Chicago and then fly them to their final
destinations. The costs of flying a widget are shown in the
following table. Widgetco wants to minimize the total cost
of shipping the required widgets to its customers. In this
problem, Memphis and Denver are supply points, with
supplies of 150 and 200 widgets per day, respectively. New
York and Chicago are transshipment points. Los Angeles
and Boston are demand points, each with a demand of 130
widgets per day. A graphical representation of possible
shipments is given in figure below.
81
Example: Manual solution of transshipping (2)
How the optimal solution to a transshipment problem can be found by solving a transportation problem?
(Construct a balanced transportation problem by the following procedure
(assume that total supply exceeds total demand)).
Step 1: If necessary, add a dummy demand point (with a supply of 0 and a demand equal to the problem’s excess
supply) to balance the problem. Shipments to the dummy and from a point to itself will, of course, have a
zero shipping cost. Let 𝑠 = total available supply.
Step 2: Construct a transportation tableau as follows: A row in the tableau will be needed for each supply point
and transshipment point, and a column will be needed for each demand point and transshipment point.
Each supply point will have a supply equal to its original supply, and each demand point will have a
demand equal to its original demand. Each transshipment point will have a supply equal to (point’s
original supply) +𝑠 and a demand equal to (point’s original demand) +𝑠 . This ensures that any
transshipment point that is a net supplier will have a net outflow equal to the point’s original supply, and,
similarly, a net demander will have a net inflow equal to the point’s original demand. Although it is
unknown how many will be sent through each transshipment point, it is certain that the total amount will
not exceed 𝑠 . This explains why it is added to supply and demand at every point of delivery of goods. By
adding the same amount to supply and demand, it is ensured that the net outflow at each transshipment
point will be correct, and that transport balance is also maintained.
82
Example: Manual solution of transshipping (3)
Because 𝑠 = (total supply) 150 + 200 = 350 and (total demand)
130 + 130 = 260, the dummy demand point has a demand of
350 − 260 = 90. The other supplies and demands in the
transportation tableau are obtained by adding 𝑠 = 350 to each
transshipment point’s supply and demand.
83
Example: Manual solution of transshipping (4)
NORTH WEST CORNER LEAST COST
New York Chicago Los Angeles Boston Dummy
New York Chicago Los Angeles Boston Dummy
8 13 25 28 0
8 13 25 28 0
Mempis
Mempis
150 150
60 90 150
15 12 26 25 0
15 12 26 25 0
Denver
Denver 70 130 200
200 200
0 6 16 17 0
0 6 16 17 0 Start
New York
New York 350 0 350
0 350 350
6 0 14 16 0
6 0 14 16 0 Chichago
Chichago 350 0 350
0 130 130 90 350
350 350 130 130 90
350 350 130 130 90
New York Chicago Los Angeles Boston Dummy New York Chicago Los Angeles Boston Dummy
8 13 25 28 0 8 13 25 28 0
Mempis Mempis
150 150 130 20 150
15 12 26 25 0 15 12 26 25 0
Denver Denver
200 0 200 90 110 200
0 6 16 17 0 0 6 16 17 0
Start
New York New York
350 0 350 350 350
6 0 14 16 0 6 0 14 16 0
Chichago Chichago
130 130 90 350 0 260 90 350
84
Example: Manual solution of transshipping (5)
New York Chicago Los Angeles Boston Dummy New York Chicago Los Angeles Boston Dummy
8 13 25 28 0 u1= 0 8 13 25 28 0 u1= 0
Mempis Mempis
20 5 130 7 -8 150 0 1 130 3 20 150
15 12 26 25 0 u2= 4 15 12 26 25 0 u2= 0
Denver Denver
3 70 -3 130 -12 200 7 0 1 130 70 200
0 6 16 17 0 u3= -8 0 6 16 17 0 u3= -8
New York New York
330 6 -1 4 20 350 350 2 -1 0 8 350
6 0 14 16 0 u4= -8 6 0 14 16 0 u4= -12
Chichago Chichago
6 280 -3 3 70 350 10 350 1 3 12 350
85
Example: Manual solution of transshipping (6)
Objective Cell (Min)
Cell Name Original Value Final Value
$E$20 Total cost = >= 0 6370
Variable Cells
Cell Name Original Value Final Value Integer
$E$12 Mempis Mempis 0 130 Contin
$F$12 Mempis Denver 0 0 Contin
$G$12 Mempis New York 0 0 Contin
$H$12 Mempis Chichago 0 0 Contin
$I$12 Mempis Dummy 0 20 Contin
$E$13 Denver Mempis 0 0 Contin
$F$13 Denver Denver 0 0 Contin
$G$13 Denver New York 0 0 Contin
$H$13 Denver Chichago 0 130 Contin
$I$13 Denver Dummy 0 70 Contin
$E$14 New York Mempis 0 220 Contin
$F$14 New York Denver 0 0 Contin
$G$14 New York New York 0 130 Contin
$H$14 New York Chichago 0 0 Contin
$I$14 New York Dummy 0 0 Contin
$E$15 Chichago Mempis 0 0 Contin
$F$15 Chichago Denver 0 350 Contin
$G$15 Chichago New York 0 0 Contin
$H$15 Chichago Chichago 0 0 Contin
$I$15 Chichago Dummy 0 0 Contin
Constraints
Cell Name Cell Value Formula Status Slack
$E$16 Mempis 350 $E$16>=$E$18 Binding 0
$F$16 Denver 350 $F$16>=$F$18 Binding 0
$G$16 New York 130 $G$16>=$G$18 Binding 0
$H$16 Chichago 130 $H$16>=$H$18 Binding 0
$I$16 Dummy 90 $I$16>=$I$18 Binding 0
$J$12 Mempis 150 $J$12<=$L$12 Binding 0
$J$13 Denver 200 $J$13<=$L$13 Binding 0
$J$14 New York 350 $J$14<=$L$14 Binding 0
$J$15 Chichago 350 $J$15<=$L$15 Binding 0
86
Example: Manual solution of transshipping (7)
Variable Cells
Final Reduced Objective Allowable Allowable
Cell Name Value Cost Coefficient Increase Decrease
$E$12 Mempis Mempis 130 0 8 1 0
$F$12 Mempis Denver 0 1 13 1E+30 1 Objective
$G$12 Mempis New York 0 1 25 1E+30 1 Cell Name Value
$H$12 Mempis Chichago 0 3 28 1E+30 3 $E$20 Total cost = >= 6370
$I$12 Mempis Dummy 20 0 0 0 0
$E$13 Denver Mempis 0 7 15 1E+30 7
$F$13 Denver Denver 0 0 12 1 2
Variable Lower Objective Upper Objective
$G$13 Denver New York 0 2 26 1E+30 2
Cell Name Value Limit Result Limit Result
$H$13 Denver Chichago 130 0 25 0 25
$E$12 Mempis Mempis 130 130 6370 130 6370
$I$13 Denver Dummy 70 0 0 0 0
$E$14 New York Mempis 220 0 0 0 1 $F$12 Mempis Denver 0 0 6370 0 6370
$F$14 New York Denver 0 2 6 1E+30 2 $G$12 Mempis New York 0 0 6370 0 6370
$G$14 New York New York 130 0 16 1 24 $H$12 Mempis Chichago 0 0 6370 0 6370
$H$14 New York Chichago 0 0 17 1E+30 0 $I$12 Mempis Dummy 20 20 6370 20 6370
$I$14 New York Dummy 0 8 0 1E+30 8 $E$13 Denver Mempis 0 0 6370 0 6370
$E$15 Chichago Mempis 0 10 6 1E+30 10 $F$13 Denver Denver 0 0 6370 0 6370
$F$15 Chichago Denver 350 0 0 2 1E+30 $G$13 Denver New York 0 0 6370 0 6370
$G$15 Chichago New York 0 2 14 1E+30 2 $H$13 Denver Chichago 130 130 6370 130 6370
$H$15 Chichago Chichago 0 3 16 1E+30 3 $I$13 Denver Dummy 70 70 6370 70 6370
$I$15 Chichago Dummy 0 12 0 1E+30 12 $E$14 New York Mempis 220 220 6370 220 6370
$F$14 New York Denver 0 0 6370 0 6370
Constraints
$G$14 New York New York 130 130 6370 130 6370
Final Shadow Constraint Allowable Allowable
$H$14 New York Chichago 0 0 6370 0 6370
Cell Name Value Price R.H. Side Increase Decrease
$I$14 New York Dummy 0 0 6370 0 6370
$E$16 Mempis 350 8 350 0 130
$E$15 Chichago Mempis 0 0 6370 0 6370
$F$16 Denver 350 12 350 0 0
$G$16 New York 130 24 130 0 130 $F$15 Chichago Denver 350 350 6370 350 6370
$H$16 Chichago 130 25 130 0 20 $G$15 Chichago New York 0 0 6370 0 6370
$I$16 Dummy 90 0 90 0 20 $H$15 Chichago Chichago 0 0 6370 0 6370
$J$12 Mempis 150 0 150 1E+30 0 $I$15 Chichago Dummy 0 0 6370 0 6370
$J$13 Denver 200 0 200 20 0
$J$14 New York 350 -8 350 130 0
$J$15 Chichago 350 -12 350 0 0
87
Thank You.
88