Title: Linear Programming: Transportation Problem J. Loucks, St. Edward's University (Austin, TX, USA)
1Linear Programming Transportation ProblemJ.
Loucks, St. Edward's University (Austin, TX, USA)
Chapter 2B
2Transportation Problem
- 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 problem (TP), as well as many
other problems, are all examples of network
problems. - Efficient solution algorithms exist to solve
network problems.
3Transportation Problem
- TP can be formulated as linear programs and
solved by general purpose linear programming
codes. - For the TP, 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 the TP which
take advantage of its network structure.
4Transportation Problem
- The TP problem has the following characteristics
- m sources and n destinations
- number of variables is m x n
- number of constraints is m n (constraints are
for source capacity and destination demand) - costs appear only in objective function
(objective is to minimize total cost of shipping) - coefficients of decision variables in the
constraints are either 0 or 1
5Transportation 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.
6Transportation Problem
1
d1
c11
1
c12
s1
c13
2
d2
c21
c22
2
s2
c23
3
d3
SOURCES
DESTINATIONS
7The Relationship of TP to LP
- TP is a special case of LP
- How do we formulate TP as an LP?
- Let xij quantity of product shipped from source
i to destination j - Let cij per unit shipping cost from source i to
destination j - Let si be the row i total supply
- Let dj be the column j total demand
- The LP formulation of the TP problem is
8The Relationship of TP to LP
- LP Formulation
- The linear programming formulation in terms of
the amounts shipped from the origins to the
destinations, xij, can be written as -
- Min SScijxij
- i j
- s.t. Sxij lt si for
each origin i - j
- Sxij gt dj for
each destination j - i
- xij gt 0 for all i
and j
9Transportation 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 gt Lij
- Maximum route capacity from i to j
- xij lt Lij
- Unacceptable routes
- delete the variable (or put a very high cost,
called the Big-M method, on a selected pair of i
and j)
10Transportation 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).
11Transportation 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.
12Transportation Algorithm
- Phase I - Minimum-Cost Method (simple and
intuitive) - 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.
13Transportation 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.
14Transportation 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.
15Transportation 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.
16Example 1 TP
- 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.
17Example 1 TP
- 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
18Example 1 TP
- Initial Transportation Tableau
- Since total supply 100 and total demand 80,
a dummy destination is created with demand of 20
and 0 unit costs.
19Example 1 TP
- 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.
20Example 1 TP
- 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.
21Example 1 TP
- 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
22Example 1 TP
23Example 1 TP
- 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.
24Example 1 TP
- 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.
25Example 1 TP
- 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
26Example 1 TP
27Example 1 TP
- 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.
28Example 1 TP
- 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.
29Example 1 TP
- 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
30Example 1 TP
- Iteration 3 Tableau
- Since all the reduced costs are non-negative,
this is the optimal tableau.
31Example 1 TP
- 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
32Example 2 TP
Des Moines (100 units capacity)
Cleveland (200 units Req.)
Boston (200 units req.)
Albuquerque (300 units Req.)
Evansville (300 units capacity)
Fort Lauderdale (300 units capacity)
33Example 2 TP
34Example 2 TP
35Example 2 TP
- What is the initial solution?
- Since we want to minimize the cost, it is
reasonable to be greedy and start at the
cheapest cell (3/unit) while shipping as much as
possible. This method of getting the initial
feasible solution is called the least-cost rule - Any ties are broken arbitrarily. (Des Moines to
Cleveland - 3)(Evansville to Cleveland -
3)Lets start ad cell 1-3 (Des Moines to
Cleveland) - In making the flow assignments make sure not to
exceed the capacities and demands on the margins!
36Example 2 TP
Start
100
0
100
37Example 2 TP
100 100
0
200
0
100
38Example 2 TP
100 200 100
0
0
200
0
0
100
39Example 2 TP
100 200 100 300
0
0
200
0
0
0
0
100
40Example 2 TP
- The initial feasible solution via the least-cost
rule is - Ship 100 units from Des Moines to Cleveland
- Ship 100 units from Evansville to Cleveland
- Ship 200 units from Evansville to Boston
- Ship 300 units from Fort Lauderdale to
Albuquerque - The total cost of this solution is
- 100(3) 100(3) 200(4) 300(9) 4,100
- Is the current solution optimal?
- Perhaps, but we are not sure. Hence, some more
work is needed.
41Example 2 TP
- The cells that have a number in them are referred
to as basic cells (or basic variables) - In general, all basic variables are strictly
positive - When at least one basic variable is equal to
zero, the corresponding solution is called
degenerate - When a solution is degenerate, exercise caution
in using sensitivity reports
42Example 2 TP
- How many basic variables (cells) should there be
in the transportation tableau? - Answer (RC-1), where R number of rows and C
number of columns. Here, (RC-1) 33-1 5 - What are they (there are 4 of them)?
- Ship 100 units from Des Moines to Cleveland
- Ship 100 units from Evansville to Cleveland
- Ship 200 units from Evansville to Boston
- Ship 300 units from Fort Lauderdale to
Albuquerque
43Example 2 TP
- Is this solution degenerate?
- Answer Yes, because (RC-1) 33-1 5 gt 4
- Hence, we can arbitrarily make (5-4) 1 variable
which is at level zero basic. - Let us make Des Moines to Albuquerque a basic
variable at level zero - How do we determine if the current solution is
optimal? - Let us price currently nonbasic variables
(cells), which are all at level zero using the
stepping stone algorithm
44Example 2 TP
0 100
200 100 300
45Example 2 TP
- Evansville Albuquerque
- 8 3 3 5 3 gt 0
46Example 2 TP
0 100
200 100 300
47Example 2 TP
- Des Moines - Boston
- 4 3 3 - 4 0
48Example 2 TP
0 100
200 100 300
49Example 2 TP
- Fort Lauderdale - Boston
- 7 9 5 - 3 3 4 -1 lt 0
50Example 2 TP
0 100
200 100 300
51Example 2 TP
- Fort Lauderdale - Cleveland
- 5 29 5 - 3 -2 lt 0
52Example 1 TP
- The objective function improvement potentials for
the nonbasic variables are - Evansville Albuquerque 3 gt 0
- Des Moines - Boston 0 0
- Fort Lauderdale - Boston -1 lt 0
- Fort Lauderdale - Cleveland -2 lt 0
- The largest improvement (here reduction in cost)
in the objective function can be achieved by
increasing shipments from Fort Lauderdale to
Cleveland - What i2 the limit on the increase?
53Example 2 TP
0 K 100 -K
200 100 300 -K K
54Example 2 TP
- If we increase shipments from Fort Lauderdale to
Cleveland by K, we must reduce shipments in the
basic cells in the same row and column so that
the totals on the margins remain the same - Clearly, because negative quantities cannot be
shipped, we must impose that - K gt 0 (no problem)
- 300 K gt 0 (K lt 300)
- 0 K gt 0 (no problem)
- 100 K gt0 (K lt100)
- Hence, let K 100
- The new basis becomes
55Example 2 TP
100
200 100 200 100
56Example 2 TP
- Observe that the number of basic variables
(cells) is equal to (RC-1) 5. Hence, the
current basic solution is feasible and not
degenerate - Also observe that Des Moines Cleveland left the
basis while Fort Lauderdale Cleveland entered
the basis (one for one interchange) - Is the current solution optimal?
- Let us price the non-basic variables (cells)
57Example 2 TP
100
200 100 200 100
58Example 2 TP
- Evansville - Albuquerque
- 8 3 5 9 1 gt 0
59Example 2 TP
100
200 100 200 100
60Example 2 TP
- Des Moines - Boston
- 4 5 9 5 3 4 2 gt 0
61Example 2 TP
100
200 100 200 100
62Example 2 TP
- Fort Lauderdale - Boston
- 7 5 3 - 4 1 gt 0
63Example 2 TP
100
200 100 200 100
64Example 2 TP
- Des Moines - Cleveland
- 3 5 9 - 5 2 gt 0
65Example 2 TP
- The objective function improvement potentials for
the nonbasic variables are - Evansville - Albuquerque 1 gt 0
- Des Moines - Boston 2 gt 0
- Fort Lauderdale - Boston 1 gt 0
- Des Moines - Cleveland 2 gt 0
- Since all improvement potentials are positive, it
is not possible to achieve further improvement
(here reduction in cost) in the objective
function - Hence, the current solution is optimal
66Example 2 TP
- The final optimal (and not degenerate) solution
is - Ship 100 units from Des Moines to Albuquerque
- Ship 200 units from Fort Lauderdale to
Albuquerque - Ship 200 units from Evansville to Boston
- Ship 100 units from Evansville to Cleveland
- Ship 100 units from Fort Lauderdale to Cleveland
- The total cost of this solution is
- 100(5) 200(9) 200(4) 100(3) 100(5) 3,900
67Example 2 TP via LP
- In our example the LP formulation is
- Min z 5 x11 4x12 3x13 8 x21 4x22 3x23
9 x31 7x32 5x33 - s.t.
- x11 x12 x13 lt 100 (row 1)
- x21 x22 x23 lt 300 (row 2)
- x31 x32 x33 lt 300 (row 3)
- x11 x21 x31 gt 300 (column 1)
- x12 x22 x32 gt 200 (column 2)
- x31 x32 x33 gt 200 (column 3)
- xij gt 0 for i 1, 2, 3 and j 1, 2, 3
(nonnegativity)
68Example 2 TP via LP
- The solver formulation and solution is
69Example 2 TP via LP
- The solver answer report is
70Example 2 TP via LP
- The solver sensitivity report is
71Example 2 TP via LP
- The solver limits report is
72Example 3 Tropicsun (TP via LP)
- Tropicsun is a grower of oranges with locations
in the cities of Mt. Dora, Eustis and Clermont.
Tropicsun currently has 275,000 bushels of citrus
at the grove in Mt. Dora 400,000 bushels in
Eustis and 300,000 bushels in Clermont. The
citrus processing plants are located in Ocala
(capacity of 200,000 bushels), Orlando (600,000
bushels) and Leesburg (225,000 bushels).
Tropicsun contracts with a trucking company to
transport its fruit, which charges a flat rate
for every mile that each bushel of fruit must be
transported. Observe that the problem is not
balanced, since the total of the fruit supplies
(275,000 400,000 300,000 975,000) is not
equal to the total of the capacities (200,000
600,000 225,000 1,025,000). The difference of
50,000 bushels will be assigned to a dummy
source, which represents unutilized capacity. The
distances (in miles) between the groves and
processing plants are as follows
73Example 3 Tropicsun (TP via LP)
- Distances (in miles) between groves and plants
- Grove Ocala Orlando Leesburg
- Mt. Dora 21 50 40
- Eustis 35 30 22
- Clermont 55 20 25
74Example 3 TP via LP Tropicsun
Processing
Plants
Groves
Distances (in miles)
Supply
Capacity
21
Mt. Dora
Ocala
200,000
275,000
1
4
50
40
35
30
Eustis
Orlando
600,000
400,000
2
5
22
55
20
Clermont
Leesburg
225,000
300,000
3
6
25
75Example 3 Defining the Decision Variables
Xij of bushels shipped from node i to node
j Specifically, the nine decision variables
are X14 of bushels shipped from Mt. Dora
(node 1) to Ocala (node 4) X15 of bushels
shipped from Mt. Dora (node 1) to Orlando (node
5) X16 of bushels shipped from Mt. Dora (node
1) to Leesburg (node 6) X24 of bushels
shipped from Eustis (node 2) to Ocala (node
4) X25 of bushels shipped from Eustis (node
2) to Orlando (node 5) X26 of bushels shipped
from Eustis (node 2) to Leesburg (node 6) X34
of bushels shipped from Clermont (node 3) to
Ocala (node 4) X35 of bushels shipped from
Clermont (node 3) to Orlando (node 5) X36 of
bushels shipped from Clermont (node 3) to
Leesburg (node 6)
76Example 3 Defining the Objective Function
Minimize the total number of bushel-miles. MIN
21X14 50X15 40X16 35X24 30X25 22X26
55X34 20X35 25X36
77Example 3 Defining the Constraints
- Capacity constraints
- X14 X24 X34 lt 200,000 Ocala
- X15 X25 X35 lt 600,000 Orlando
- X16 X26 X36 lt 225,000 Leesburg
- Supply constraints
- X14 X15 X16 275,000 Mt. Dora
- X24 X25 X26 400,000 Eustis
- X34 X35 X36 300,000 Clermont
- Nonnegativity conditions
- Xij gt 0 for all i and j
78Example 3 Solver Formulation
79Example 3 Solver Solution
80Example 4 The Sentry Lock Corporation
81Example 4 Solver Formulation
82The End of Chapter 2B