Document

advertisement
Slides Prepared by JOHN LOUCKS
© 2000 South-Western College Publishing/ITP
Slide 1
Chapter 7
Transportation, Assignment, and
Transshipment Problems






The Transportation Problem: The Network Model
and a Linear Programming Formulation
The Assignment Problem: The Network Model and a
Linear Programming Formulation
The Transshipment Problem: The Network Model
and a Linear Programming Formulation
A Production and Inventory Application
The Transportation Simplex Method: A SpecialPurpose Solution Procedure
The Assignment Problem: A Special-Purpose
Solution Procedure
Slide 2
Transportation, 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.
Slide 3
Transportation, 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.
Slide 4
Transportation 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.
Slide 5
Transportation Problem

Network Representation
1
d1
2
d2
3
d3
c11
s1
c12
1
c13
c21 c
22
s2
2
c23
SOURCES
DESTINATIONS
Slide 6
Transportation Problem

LP Formulation
The linear programming formulation in terms of
the amounts shipped from the origins to the
destinations, xij , can be written as:
Min cijxij
ij
s.t.
xij < si for each origin i
j
xij = dj for each destination j
i
xij > 0 for all i and j
Slide 7
Transportation Problem

LP Formulation Special Cases
The following special-case modifications to the
linear programming formulation can be made:
• Minimum shipping guarantees from i to j:
xij > Lij
• Maximum route capacity from i to j:
xij < Lij
• Unacceptable routes:
delete the variable
Slide 8
Transportation Problem


To solve the transportation problem by its special
purpose algorithm, it is required 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. Similarly, 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).
Slide 9
Transportation Problem

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
S1
S2
Demand
25
D2
D3
Supply
15
30
20
30
40
35
45
50
30
10
Slide 10
Transportation Problem



The transportation problem is solved in two phases:
• Phase I -- Obtaining an initial feasible solution
• Phase II -- Moving toward optimality
In Phase I, the Minimum-Cost Procedure can be used
to establish an initial basic feasible solution without
doing numerous iterations of the simplex method.
In 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.
Slide 11
Transportation Algorithm

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.
Slide 12
Transportation Algorithm

Phase II - Stepping Stone Method
• 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.
Slide 13
Transportation Algorithm

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.
Slide 14
Transportation Algorithm

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.
Slide 15
Example: 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.
How should end of week shipments be made to fill
the above orders given the following delivery cost per
ton:
Northwood Westwood Eastwood
Plant 1
24
30
40
Plant 2
30
40
42
Slide 16
Example: 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.
Northwood Westwood
Eastwood
Dummy
24
30
40
0
30
40
42
0
Plant 1
Plant 2
Demand
25
45
10
Supply
50
50
20
Slide 17
Example: BBC

Least Cost Starting 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.
• 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.
Slide 18
Example: BBC

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.
Slide 19
Example: BBC

Iteration 1
• MODI Method (continued)
Calculate the reduced costs (circled numbers on the
next slide) by cij - ui + vj.
Unoccupied Cell
(1,3)
(2,1)
(2,4)
Reduced Cost
40 - 0 - 32 = 8
30 - 24 -10 = -4
0 - 10 - 0 = -10
Slide 20
Example: BBC

Iteration 1 Tableau
Northwood Westwood
Plant 1
Plant 2
vj
25
24
-4
30
24
5
30
40
40
30
Eastwood
+8
40
10
42
32
Dummy
20
0
-10
0
ui
0
10
0
Slide 21
Example: BBC

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.
Slide 22
Example: BBC

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.
Slide 23
Example: BBC

Iteration 2
• MODI Method (continued)
Calculate the reduced costs (circled numbers on the
next slide) by cij - ui + vj.
Unoccupied Cell
(1,3)
(1,4)
(2,1)
Reduced Cost
40 - 0 - 32 = 8
0 - 0 - (-10) = 10
30 - 10 - 24 = -4
Slide 24
Example: BBC

Iteration 2 Tableau
Northwood Westwood
Plant 1
Plant 2
vj
25
24
-4
30
24
25
30
20
40
30
Eastwood
+8
40
10
42
36
Dummy
+10
0
20
0
ui
0
10
-6
Slide 25
Example: BBC

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. 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.
Slide 26
Example: BBC

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.
Slide 27
Example: BBC

Iteration 3
• MODI Method (continued)
Calculate the reduced costs (circled numbers on the
next slide) by cij - ui + vj.
Unoccupied Cell
(1,3)
(1,4)
(2,2)
Reduced Cost
40 - 0 - 36 = 4
0 - 0 - (-6) = 6
40 - 6 - 30 = 4
Slide 28
Example: BBC

Iteration 3 Tableau
Since all the reduced costs are non-negative, this is
the optimal tableau.
Plant 1
Plant 2
vj
Northwood Westwood
Eastwood
Dummy
45
30
+4
40
+6
0
+4
40
10
42
20
0
5
24
20
30
24
30
36
ui
0
6
-6
Slide 29
Example: BBC

Optimal Solution
From
Plant 1
Plant 1
Plant 2
Plant 2
To
Amount Cost
Northwood
5
120
Westwood
45
1,350
Northwood
20
600
Eastwood
10
420
Total Cost = $2,490
Slide 30
Example: BBC

Partial Spreadsheet Showing Problem Data
A
B
1
2 Constraint
X11
3
#1
1
4
#2
5
#3
1
6
#4
7
#5
8 Obj.Coefficients 24
C
D
E
F
G
H
X22
X23
RHS
LHS Coefficients
X12
X13
1
1
X21
50
1
1
1
1
1
25
1
1
30
40
30
50
40
45
1
10
42
30
Slide 31
Example: BBC

Partial Spreadsheet Showing Optimal Solution
A
B
C
D
10
X11
X12
X13
11 Dec.Var.Values
5
45
0
12
Minimized Total Shipping Cost
13
14
LHS
Constraints
15
P1.Cap.
50
16
P2.Cap.
30
17
N.Dem.
25
18
W.Dem.
45
19
E.Dem.
10
E
X21
20
2490
<=
<=
=
=
=
F
X22
0
G
X23
10
RHS
50
50
25
45
10
Slide 32
Example: BBC

Partial Sensitivity Report (first half)
Adjustable Cells
Final Reduced Objective Allowable Allowable
Cell Name Value
Cost
Coefficient Increase Decrease
$C$12 X11
5
0
24
4
4
$D$12 X12
45
0
30
4
1E+30
$E$12 X13
0
4
40
1E+30
4
$F$12 X21
20
0
30
4
4
$G$12 X22
0
4
40
1E+30
4
$H$12 X23 10.000
0.000
42
4
1E+30
Slide 33
Example: BBC

Partial Sensitivity Report (second half)
Constraints
Cell
$E$17
$E$18
$E$19
$E$20
$E$16
Name
P2.Cap
N.Dem
W.Dem
E.Dem
P1.Cap
Final Shadow Constraint Allowable Allowable
Value
Price
R.H. Side Increase Decrease
30.0
0.0
50
1E+30
20
25.0
30.0
25
20
20
45.0
36.0
45
5
20
10.0
42.0
10
20
10
50.0
-6.0
50
20
5
Slide 34
Assignment 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.
Slide 35
Assignment Problem

Network Representation
1
c11
c13
c21
2
c12
c22
1
2
c23
c31
3
c33
WORKERS
c32
3
JOBS
Slide 36
Assignment Problem

Linear Programming Formulation
Min cijxij
ij
s.t. xij = 1
for each worker i
j
xij = 1
for each job 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.
Slide 37
Hungarian 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
Slide 38
Hungarian 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: Determine the minimum uncovered number (call
it d).
• Subtract d from uncovered numbers.
• Add d to numbers covered by two lines.
• Numbers covered by one line remain the same.
• Then, GO TO STEP 3.
Slide 39
Hungarian 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.
Slide 40
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.
Projects
A B C
Westside 50 36 16
Subcontractors Federated
28 30 18
Goliath
35 32 20
Universal 25 25 14
How should the contractors be assigned to
minimize total costs?
Slide 41
Example: Hungry Owner
Network Representation (note the dummy project)
50
West.
A
36
16
0
28
Fed.
30
18
B
Projects
Subcontractors

0
32
35
20
Gol.
C
0
25
25
Univ.
14
0
Dum.
Slide 42
Example: 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:
Westside
Federated
Goliath
Universal
A
50
28
35
25
B
36
30
32
25
C Dummy
16
0
18
0
20
0
14
0
Slide 43
Example: 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:
Westside
Federated
Goliath
Universal
A
25
3
10
0
B
11
5
7
0
C Dummy
2
0
4
0
6
0
0
0
Slide 44
Example: 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

Step 4: The minimum uncovered number is 2 (circled).
Slide 45
Example: Hungry Owner

Step 5: Subtract 2 from uncovered numbers; add 2 to all
numbers covered by two lines. This gives:
Westside
Federated
Goliath
Universal
A
23
1
8
0
B
9
3
5
0
C Dummy
0
0
2
0
4
0
0
2
Slide 46
Example: 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

Step 4: The minimum uncovered number is 1 (circled).
Slide 47
Example: Hungry Owner

Step 5: Subtract 1 from uncovered numbers. Add 1 to
numbers covered by two lines. This gives:
Westside
Federated
Goliath
Universal
A
23
0
7
0
B
9
2
4
0
C
0
1
3
0
Dummy
1
0
0
3
Slide 48
Example: Hungry Owner

Step 4: 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
Slide 49
Transshipment 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.
Slide 50
Transshipment Problem

Network Representation
c36
3
c13
s1
1
c37
c14
c15
4
c23
s2
2
SOURCES
d1
7
d2
c46
c47
c24
c56
c25
6
5
c57
INTERMEDIATE
NODES
DESTINATIONS
Slide 51
Transshipment Problem

Linear Programming Formulation
xij represents the shipment from node i to node j
Min cijxij
ij
s.t.
xij < si
j
for each origin i
xik - xkj = 0 for each intermediate
i
j
node k
xij = dj
i
xij > 0
for each destination j
for all i and j
Slide 52
Example: 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.
Slide 53
Example: 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 cost to install the shelving at the various
locations are:
Zrox Hewes Rockwright
Thomas
1
5
8
Washburn
3
4
4
Slide 54
Example: Transshipping

Network Representation
75 ARNOLD
Arnold
5
Thomas
4
50
Hewes
HEWES
60
RockWright
40
5
8
3 4
7
Super
Shelf
Zrox
1
8
75
ZROX
WashWASH
BURN
Burn
4
Slide 55
Example: 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
Slide 56
Example: Transshipping
Constraints Defined
Amount Out of Arnold:
Amount Out of Supershelf:
Amount Through Thomas:
Amount Through Washburn:
Amount Into Zrox:
Amount Into Hewes:
Amount Into Rockwright:

x13 + x14 < 75
x23 + x24 < 75
x13 + x23 - x35 - x36 - x37 = 0
x14 + x24 - x45 - x46 - x47 = 0
x35 + x45 = 50
x36 + x46 = 60
x37 + x47 = 40
Non-negativity of Variables: xij > 0, for all i and j.
Slide 57
The End of Chapter 7
Slide 58
Download