Title: Chapter 7 Transportation, Assignment, and Transshipment Problems
1Chapter 7Transportation, Assignment, and
Transshipment Problems
- Transportation Problem
- Network Representation and LP Formulation
- Transportation Simplex Method
- Assignment Problem
- Network Representation and LP Formulation
- Hungarian Method
- The Transshipment Problem
- Network Representation and LP Formulation
2Transportation, Assignment, and Transshipment
Problems
- A network model is one which can be represented
by a set of nodes, a set of arcs, and functions
(e.g. costs, supplies, demands, etc.) associated
with the arcs and/or nodes. - Transportation, assignment, and transshipment
problems of this chapter, as well as the shortest
route, minimal spanning tree, and maximal flow
problems (Chapter 9) and PERT/CPM problems
(Chapter 10) are all examples of network
problems.
3Transportation, Assignment, and Transshipment
Problems
- Each of the three models of this chapter
(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
(including The Management Scientist) which
contain separate computer codes for these models
which take advantage of their network structure.
4Transportation Problem
- The transportation problem seeks to minimize the
total shipping costs of transporting goods from m
origins (each with a supply si) to n destinations
(each with a demand dj), when the unit shipping
cost from an origin, i, to a destination, j, is
cij. - The network representation for a transportation
problem with two sources and three destinations
is given on the next slide.
5Transportation Problem
1
d1
c11
1
c12
s1
c13
2
d2
c21
c22
2
s2
c23
3
d3
SOURCES
DESTINATIONS
6Transportation Problem
- LP Formulation
- The LP formulation in terms of the amounts
shipped from the origins to the destinations, xij
, can be written as
-
- Min ??cijxij
- i j
- s.t. ?xij each origin i
- j
- ?xij dj for
each destination j
- i
- xij 0 for
all i and j
7Transportation Problem
- LP Formulation Special Cases
- The following special-case modifications to the
linear programming formulation can be made
- Minimum shipping guarantee from i to j
- xij Lij
- Maximum route capacity from i to j
- xij
- Unacceptable route
- Remove the corresponding decision variable.
8Example BBC
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. Delivery cost per ton from each plant to
each suburban location is shown on the next
slide. How should end of week shipments be made
to fill the above orders?
9Example BBC
- Delivery Cost Per Ton
-
- Northwood Westwood Eastwood
- Plant 1 24 30
40
- Plant 2 30 40
42
10Example BBC
- Partial Spreadsheet Showing Problem Data
11Example BBC
- Partial Spreadsheet Showing Optimal Solution
12Example BBC
- Optimal Solution
- From To
Amount Cost
- Plant 1 Northwood 5 120
- Plant 1 Westwood 45
1,350
- Plant 2 Northwood 20
600
- Plant 2 Eastwood 10
420
- Total Cost 2,490
13Example BBC
- Partial Sensitivity Report (first half)
14Example BBC
- Partial Sensitivity Report (second half)
15Transportation Simplex Method
- The transportation simplex method requires that
the sum of the supplies at the origins equal the
sum of the demands at the destinations.
- If the total supply is greater than the total
demand, a dummy destination is added with demand
equal to the excess supply, and shipping costs
from all origins are zero. (If total supply is
less than total demand, a dummy origin is
added.) - When solving a transportation problem by its
special purpose algorithm, unacceptable shipping
routes are given a cost of M (a large number).
16Transportation Simplex Method
- 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.
Supply
D3
D2
D1
20
30
15
50
S1
35
40
30
30
S2
Demand
10
45
25
17Transportation Simplex Method
- The transportation problem is solved in two
phases
- Phase I -- Obtaining an initial feasible
solution
- Phase II -- Moving toward optimality
- Phase I The Minimum-Cost Procedure can be used
to establish an initial basic feasible solution
without doing numerous iterations of the simplex
method. - Phase II The Stepping Stone Method - using the
MODI Method for evaluating the reduced costs -
may be used to move from the initial feasible
solution to the optimal one.
18Transportation Simplex Method
- Phase I - Minimum-Cost Method
- 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.
19Transportation Simplex Method
- Phase II - Stepping Stone Method
- Step 1 For each unoccupied cell, calculate the
reduced cost by the MODI method described on an
upcoming slide.
- 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.
20Transportation Simplex Method
- Phase II - Stepping Stone Method (continued)
- 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.
21Transportation Simplex Method
- Phase II - Stepping Stone Method (continued)
- 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.
22Transportation Simplex Method
- MODI Method (for obtaining reduced costs)
- Associate a number, ui, with each row and vj
with each column.
- Step 1 Set u1 0.
- Step 2 Calculate the remaining ui's and vj's by
solving the relationship cij ui vj for
occupied cells.
- Step 3 For unoccupied cells (i,j), the reduced
cost cij - ui - vj.
23Example BBC
- Initial Transportation Tableau
- Since total supply 100 and total demand 80,
a dummy destination is created with demand of 20
and 0 unit costs.
Supply
Dummy
Eastwood
Westwood
Northwood
40
0
30
24
50
Plant 1
42
0
40
30
50
Plant 2
Demand
20
10
45
25
24Example BBC
- Phase I Minimum-Cost Procedure
- Iteration 1 Tie for least cost (0), arbitrarily
select x14. Allocate 20. Reduce s1 by 20 to 30
and delete the Dummy column.
- Iteration 2 Of the remaining cells the least
cost is 24 for x11. Allocate 25. Reduce s1 by
25 to 5 and eliminate the Northwood column.
25Example BBC
- Phase I Minimum-Cost Procedure (continued)
- Iteration 3 Of the remaining cells the least
cost is 30 for x12. Allocate 5. Reduce the
Westwood column to 40 and eliminate the Plant 1
row. - Iteration 4 Since there is only one row with
two cells left, make the final allocations of 40
and 10 to x22 and x23, respectively.
26Example BBC
- Phase II Iteration 1
- MODI Method
- 1. Set u1 0
- 2. Since u1 vj c1j for occupied cells in
row 1, then
- v1 24, v2 30, v4 0.
- 3. Since ui v2 ci2 for occupied cells in
column 2, then u2 30 40, hence u2 10.
- 4. Since u2 vj c2j for occupied cells in
row 2, then
- 10 v3 42, hence v3 32.
27Example BBC
- Phase II Iteration 1
- MODI Method (continued)
- Calculate the reduced costs (circled numbers on
the next slide) by cij - ui vj.
- Unoccupied Cell Reduced
Cost
- (1,3) 40 - 0 -
32 8
- (2,1) 30 - 24
-10 -4
- (2,4) 0 -
10 - 0 -10
28Example BBC
- Phase II Iteration 1
- MODI Method (continued)
ui
Dummy
Eastwood
Westwood
Northwood
25
5
8
20
40
0
30
24
0
Plant 1
-4
40
10
-10
42
0
40
30
10
Plant 2
vj
0
32
30
24
29Example BBC
- Phase II Iteration 1
- 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 - x24 0 20 20 (0 is its current
allocation)
- x14 20 - 20 0 (blank for the
next tableau)
- x12 5 20 25
- x22 40 - 20 20
- The other occupied cells remain the
same.
30Example BBC
- Phase II - Iteration 2
- MODI Method
- The reduced costs are found by calculating
the ui's and vj's for this tableau.
- 1. Set u1 0.
- 2. Since u1 vj cij for occupied cells in
row 1, then
- v1 24, v2 30.
- 3. Since ui v2 ci2 for occupied cells in
column 2, then u2 30 40, or u2 10.
- 4. Since u2 vj c2j for occupied cells in
row 2, then
- 10 v3 42 or v3 32 and, 10
v4 0 or v4 -10.
31Example BBC
- Phase II - Iteration 2
- MODI Method (continued)
- Calculate the reduced costs (circled numbers on
the next slide) by cij - ui vj.
- Unoccupied Cell Reduced
Cost
- (1,3) 40 - 0 -
32 8
- (1,4) 0 - 0 -
(-10) 10
- (2,1) 30 - 10 -
24 -4
32Example BBC
- Phase II - Iteration 2
- MODI Method (continued)
ui
Dummy
Eastwood
Westwood
Northwood
25
25
8
10
40
0
30
24
0
Plant 1
-4
20
10
20
42
0
40
30
10
Plant 2
vj
-6
36
30
24
33Example BBC
- Phase II - Iteration 2
- Stepping Stone Method
- The most negative reduced cost is -4
determined by x21. The stepping stone path for
this cell is (2,1),(1,1),(1,2),(2,2). The
allocations in the subtraction cells are 25 and
20 respectively. Thus, the new solution is
obtained by reallocating 20 on the stepping stone
path.
34Example BBC
- Phase II - Iteration 2
- Stepping Stone Method (continued)
- Thus, for the next tableau
- x21 0 20 20 (0 is its
current allocation)
- x11 25 - 20 5
- x12 25 20 45
- x22 20 - 20 0 (blank
for the next tableau)
- The other occupied cells remain the
same.
35Example BBC
- Phase II - Iteration 3
- MODI Method
- The reduced costs are found by calculating
the ui's and vj's for this tableau.
- 1. Set u1 0
- 2. Since u1 vj c1j for occupied cells in
row 1, then
- v1 24 and v2 30.
- 3. Since ui v1 ci1 for occupied cells in
column 2, then u2 24 30 or u2 6.
- 4. Since u2 vj c2j for occupied cells in
row 2, then
- 6 v3 42 or v3 36, and 6 v4
0 or v4 -6.
36Example BBC
- Phase II - Iteration 3
- MODI Method (continued)
- Calculate the reduced costs (circled numbers on
the next slide) by cij - ui vj.
- Unoccupied Cell Reduced
Cost
- (1,3) 40 - 0 - 36
4
- (1,4) 0 - 0 -
(-6) 6
- (2,2) 40 - 6 -
30 4
37Example BBC
- Phase II - Iteration 3
- MODI Method (continued)
- Since all the reduced costs are non-negative,
this is the optimal tableau.
ui
Dummy
Eastwood
Westwood
Northwood
5
45
4
6
40
0
30
24
0
Plant 1
20
4
10
20
42
0
40
30
6
Plant 2
vj
-6
36
30
24
38Example BBC
- Optimal Solution
- From To
Amount Cost
- Plant 1 Northwood 5
120
- Plant 1 Westwood 45
1,350
- Plant 2 Northwood 20
600
- Plant 2 Eastwood 10
420
- Total Cost 2,490
39Assignment Problem
- An assignment problem seeks to minimize the total
cost assignment of m workers to m jobs, given
that the cost of worker i performing job j is
cij. - 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.
40Assignment Problem
c11
1
1
c12
c13
AGENTS
TASKS
c21
c22
2
2
c23
c31
c32
3
3
c33
41Assignment Problem
- LP Formulation
-
- Min ??cijxij
- i j
- s.t. ?xij 1
for each agent i
- j
- ?xij 1
for each task j
- i
- xij 0 or 1
for all i and j
- Note A modification to the right-hand side of
the first constraint set can be made if a worker
is permitted to work more than 1 job.
42Assignment Problem
- LP Formulation Special Cases
- Number of agents exceeds the number of tasks
- ?xij
- j
- Number of tasks exceeds the number of agents
- Add enough dummy agents to equalize the
- number of agents and the number of tasks.
- The objective function coefficients for
these
- new variable would be zero.
43Assignment Problem
- LP Formulation Special Cases (continued)
- The assignment alternatives are evaluated in
terms of revenue or profit
- Solve as a maximization problem.
- An assignment is unacceptable
- Remove the corresponding decision variable.
-
- An agent is permitted to work a tasks
- ?xij
- j
44Example 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.
Projects Subcontractor A
B C Westside 50 36
16 Federated
28 30 18 Goliath
35 32 20
Universal 25 25 14
How should the contractors be assigned to min
imize total costs?
45Example Hungry Owner
50
West.
A
36
16
Subcontractors
Projects
28
30
B
Fed.
18
32
35
C
Gol.
20
25
25
Univ.
14
46Example Hungry Owner
- Linear Programming Formulation
- Min 50x1136x1216x1328x2130x2218x23
- 35x3132x3220x3325x4125x4214x43
- s.t. x11x12x13
- x21x22x23
- x31x32x33
- x41x42x43
- x11x21x31x41 1
- x12x22x32x42 1
- x13x23x33x43 1
- xij 0 or 1 for all i and j
Agents
Tasks
47Hungarian Method
- The Hungarian method solves minimization
assignment problems with m workers and m jobs.
- Special considerations can include
- number of workers does not equal the number of
jobs -- add dummy workers or jobs with 0
assignment costs as needed
- worker i cannot do job j -- assign cij M
- maximization objective -- create an opportunity
loss matrix subtracting all profits for each job
from the maximum profit for that job before
beginning the Hungarian method
48Hungarian Method
- 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 m, STOP -- an
assignment can be made.
- Step 4 Subtract d (the minimum uncovered
number) from uncovered numbers. Add d to numbers
covered by two lines. Numbers covered by one
line remain the same. Then, GO TO STEP 3.
49Hungarian Method
- 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 m,
the circles provide the optimal assignment.
50Example Hungry Owner
- 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
- A B
C Dummy
- Westside 50 36 16 0
- Federated 28 30 18
0
- Goliath 35 32 20
0
- Universal 25 25 14
0
51Example Hungry Owner
- 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 - A B
C Dummy
- Westside 25 11 2
0
- Federated 3 5
4 0
- Goliath 10 7
6 0
- Universal 0 0
0 0
52Example Hungry Owner
- 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.
-
- A B C Dummy
- Westside 25 11 2 0
- Federated 3 5 4 0
- Goliath 10 7 6
0
- Universal 0 0 0 0
53Example Hungry Owner
- Step 4 The minimum uncovered number is 2.
Subtract 2 from uncovered numbers add 2 to all
numbers covered by two lines. This gives
- A B C
Dummy
- Westside 23 9 0 0
- Federated 1 3 2
0
- Goliath 8 5 4
0
- Universal 0 0 0
2
54Example Hungry Owner
- Step 3 Draw the minimum number of lines to
cover all zeroes.
- A B C Dummy
- Westside 23 9 0
0
- Federated 1 3 2
0
- Goliath 8 5 4
0
- Universal 0 0 0
2
55Example Hungry Owner
- Step 4 The minimum uncovered number is 1.
Subtract 1 from uncovered numbers. Add 1 to
numbers covered by two lines. This gives
- A B C Dummy
- Westside 23 9 0
1
- Federated 0 2 1
0
- Goliath 7 4 3
0
- Universal 0 0 0
3
56Example Hungry Owner
- Step 3 The minimum number of lines to cover all
0's is four. Thus, there is a minimum-cost
assignment of 0's with this tableau. The optimal
assignment is - Subcontractor Project
Distance
- Westside C 16
- Federated A
28
- Goliath (unassigned)
- Universal B 25
- Total Distance 69 miles
57Transshipment Problem
- 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.
- 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.
58Transshipment Problem
c36
3
c13
c37
6
1
s1
d1
c14
c46
c15
4
c47
Demand
Supply
c23
c56
c24
7
2
d2
s2
c25
5
c57
INTERMEDIATE NODES
SOURCES
DESTINATIONS
59Transshipment Problem
- Linear Programming Formulation
- xij represents the shipment from node i to node
j
- Min ??cijxij
- i j
- s.t. ?xij for each origin i
- j
- ?xik - ?xkj 0 for
each intermediate
- i j
node k
- ?xij dj
for each destination j
- i
- xij 0
for all i and j
60Example Transshipping
- Thomas Industries and 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.
61Example Transshipping
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 The costs to install the shelving at t
he various locations are
Zrox Hewes Rockwright
Thomas 1 5
8 Washburn 3 4
4
62Example Transshipping
Zrox
ZROX
50
1
5
Thomas
Arnold
ARNOLD
75
5
8
8
Hewes
60
HEWES
3
7
Super Shelf
Wash- Burn
4
WASH BURN
75
4
4
Rock- Wright
40
63Example Transshipping
- Linear Programming Formulation
- Decision Variables Defined
- xij amount shipped from manufacturer i to
supplier j
- xjk amount shipped from supplier j to
customer k
- where i 1 (Arnold), 2
(Supershelf)
- j 3 (Thomas), 4 (Washburn)
- k 5 (Zrox), 6 (Hewes), 7
(Rockwright)
- Objective Function Defined
- Minimize Overall Shipping Costs
- Min 5x13 8x14 7x23 4x24 1x35 5x36
8x37
- 3x45 4x46 4x47
64Example Transshipping
- Constraints Defined
- Amount Out of Arnold x13 x14 75
- Amount Out of Supershelf x23 x24
- Amount Through Thomas x13 x23 - x35 -
x36 - x37 0
- Amount Through Washburn x14 x24 - x45 - x46
- x47 0
- Amount Into Zrox x35 x45
50
- Amount Into Hewes x36 x46
60
- Amount Into Rockwright x37 x47 40
- Non-negativity of Variables xij 0, for all
i and j.
65Example Transshipping
- Optimal Solution (from The Management Scientist
)
- Objective Function Value
1150.000
- Variable Value
Reduced Costs
- X13 75.000
0.000
- X14
0.000 2.000
- X23
0.000 4.000
- X24
75.000 0.000
- X35
50.000 0.000
- X36
25.000 0.000
- X37
0.000 3.000
- X45
0.000 3.000
- X46
35.000 0.000
- X47
40.000 0.000
66Example Transshipping
Zrox
ZROX
50
50
75
1
5
Thomas
Arnold
ARNOLD
75
5
25
8
8
Hewes
60
35
HEWES
3
4
7
Super Shelf
Wash- Burn
40
WASH BURN
75
4
4
75
Rock- Wright
40
67Example Transshipping
- Optimal Solution (continued)
- Constraint Slack/Surplus Dual
Prices
- 1 0.000
0.000
- 2 0.000
2.000
- 3 0.000
-5.000
- 4 0.000
-6.000
- 5 0.000
-6.000
- 6 0.000
-10.000
- 7 0.000
-10.000
68Example Transshipping
- Optimal Solution (continued)
- OBJECTIVE COEFFICIENT RANGES
- Variable Lower Limit Current Value
Upper Limit
- X13 3.000
5.000 7.000
- X14 6.000
8.000 No Limit
- X23 3.000
7.000 No Limit
- X24 No Limit
4.000 6.000
- X35 No Limit
1.000 4.000
- X36 3.000
5.000 7.000
- X37 5.000
8.000 No Limit
- X45 0.000
3.000 No Limit
- X46 2.000
4.000 6.000
- X47 No Limit
4.000 7.000
69Example Transshipping
- Optimal Solution (continued)
- RIGHT HAND SIDE RANGES
- Constraint Lower Limit Current Value
Upper Limit
- 1 75.000
75.000 No Limit
- 2 75.000
75.000 100.000
- 3 -75.000
0.000 0.000
- 4 -25.000
0.000 0.000
- 5 0.000
50.000 50.000
- 6 35.000
60.000 60.000
- 7 15.000
40.000 40.000
70The End of Chapter 7