Title: Computational Methods for Management and Economics Carla Gomes
1Computational Methods forManagement and
EconomicsCarla Gomes
- Module 8b
- The transportation simplex method
2The transportation and assignment problems
- Special types of linear programming problems.
- The structure of these problems leads to
algorithms streamlined versions of the simplex
method - more efficient than the standard simplex
method.
3The transportation problem
4Setting up the tableau for the general simplex
method
- Convert minimization problem into maximization
problem - Big M or 2 phase method to introduce m n
artificial variables (equality constraints) - Find an initial BF solution
Insert table 8.13
Noteall entries not shown are 0.
5Iterations in the general simplex method
- Optimality test and step 1 of iteration
- Select an entering basic variable ? knowing
current row 0 (which is obtained by subtracting a
certain multiple of another row from the
preceding row 0). - Step 2 (leaving basic variable) ? identifies
which basic variable reaches zero as the entering
variable is increased (which is done by comparing
the current coefficients of the entering basic
variable and the corresponding rhs). - Step 3 (determine new BF solution) ? subtracting
certain multiples of one row from other rows
6Iterations in the general simplex method
applied to transportation problem
- General form of row 0
- ui multiple of the original row i that has been
subtracted (directly or indirectly) from original
row 0. - vj multiple of the original row i that has been
subtracted (directly or indirectly) from original
row 0. - cij ui vj 0 if it is a basic variable
otherwise it is interpreted as the rate at which
Z will change as xij is increased.
Insert table 814
7Transportation simplex method
Does the transportation simplex method do all
the general simplex method operations?
- NO!
- No artificial variables are needed ? simple
procedure is used to identify the initial BF
solution. - Row 0 can be obtained without using any other row
a simple procedure allows us to calculate the
values of ui and vi directly. - Basically by solving a simple procedure that
allows us to find the solution to the set of
equations for the basic variables that have a
coefficient 0 in row 0, i.e., cij ui vj0. - The leaving variable can also be identified in a
simple way due to the special structure of the
problem, without explicitly using the
coefficients of the new entering basic variable. - The new BF solution can also be identified very
easily.
8Transportation simplex method
- Much faster than standard simplex method
- standard simplex method
- mn1 rows
- (m1)(n1) mn m n 1 columns
- transportation simplex method
- m 2 rows
- n 2 columns
Assume m 10 n 100 and see the difference!
9Tableau for Transportation simplex method
Insert table 8.15
() Because there are mn equations a BF solution
in this case only has mn-1 basic variables
the other variable can be obtained as a function
of the mn-1 variables
10Transportation simplex method
- Initialization finding the initial BF solution
- Optimality test
- Iteration
11General procedure for construction of an initial
basic feasible solution for TP
- From the rows and columns still under
consideration select the next basic variable
(allocation) according to some criterion - Make that allocation the largest possible (the
smallest of the remaining supply in its row vs.
remaining demand in its column) - Eliminate the row or column that zeroed the
corresponding supply/demand (in case of tie,
randomly pick between the row vs. column this is
a case of a degenerate basic solution, i.e, a
basic variable with value 0). - If only one row or column remains under
consideration, then the procedure is complete by
selecting every remaining variable associated
with that row or column to be basic with the only
feasible allocation. Otherwise return to step 1.
12Criteria for selecting next basic variable
- There are several methods. Here are three
- Northwest Corner Method
- Minimum Cost Method
- Vogels Method
131. Northwest Corner Method
- To find the bfs by the NWC method
- Begin in the upper left (northwest) corner of the
transportation tableau and set x11 as large as
possible (here the limitations for setting x11 to
a larger number, will be the demand of demand
point 1 and the supply of supply point 1. Your
x11 value can not be greater than minimum of this
2 values).
14According to the explanations in the previous
slide we can set x113 (meaning demand of demand
point 1 is satisfied by supply point 1).
15After we check the east and south cells, we saw
that we can go east (meaning supply point 1 still
has capacity to fulfill some demand).
16After applying the same procedure, we saw that we
can go south this time (meaning demand point 2
needs more supply by supply point 2).
17Finally, we will have the following bfs, which
is x113, x122, x223, x232, x241, x342
182. Minimum Cost Method
- The Northwest Corner Method dos not utilize
shipping costs. It can yield an initial bfs
easily but the total shipping cost may be very
high. The minimum cost method uses shipping costs
in order come up with a bfs that has a lower
cost. To begin the minimum cost method, first we
find the decision variable with the smallest
shipping cost (Xij). Then assign Xij its largest
possible value, which is the minimum of si and dj
19- After that, as in the Northwest Corner Method we
should cross out row i and column j and reduce
the supply or demand of the noncrossed-out row or
column by the value of Xij. Then we will choose
the cell with the minimum cost of shipping from
the cells that do not lie in a crossed-out row or
column and we will repeat the procedure.
20An example for Minimum Cost MethodStep 1 Select
the cell with minimum cost.
21Step 2 Cross-out column 2
22Step 3 Find the new cell with minimum shipping
cost and cross-out row 2
23Step 4 Find the new cell with minimum shipping
cost and cross-out row 1
24Step 5 Find the new cell with minimum shipping
cost and cross-out column 1
25Step 6 Find the new cell with minimum shipping
cost and cross-out column 3
26Step 7 Finally assign 6 to last cell. The bfs is
found as X115, X212, X228, X315, X334 and
X346
273. Vogels Method
- Begin with computing each row and column a
penalty. The penalty will be equal to the
difference between the two smallest shipping
costs in the row or column. - Identify the row or column with the largest
penalty. Find the first basic variable which has
the smallest shipping cost in that row or column.
Assign the highest possible value to that
variable, and cross-out the row or column as in
the previous methods. - Compute new penalties and use the same procedure.
28An example for Vogels MethodStep 1 Compute the
penalties.
29Step 2 Identify the largest penalty and assign
the highest possible value to the variable.
30Step 3 Identify the largest penalty and assign
the highest possible value to the variable.
31Step 4 Identify the largest penalty and assign
the highest possible value to the variable.
32Step 5 Finally the bfs is found as X110, X125,
X135, and X2115
33Russells method
- For each row and column remaining under
consideration determine its ui the largest cij
still in that row, and its vj -- the largest cij
still in that column. - For each variable xij not previous selected in
these rows and columns calculate ?ij cij - ui -
vj. - Select the variable xij with the largest (in
absolute terms) negative ?ij (ties my be broken
randomly).
34An example for Russells MethodStep 1 Compute
uis and vjs for each row and column .
35An example for Russells MethodStep 2 For each
variable xij not previous selected in these rows
and columns calculate ?ij cij - ui - vj.
36An example for Russells MethodStep 2 For each
variable xij not previous selected in these rows
and columns calculate ?ij cij - ui - vj.
Note v1 and v3 changed
37An example for Russells MethodStep 2 For each
variable xij not previous selected in these rows
and columns calculate ?ij cij - ui - vj.
?11 16 - 22 19 - 25 ?21 14 - 19 19 -
24 ?31 19 - M 19 M
?12 16 - 22 19 25 ?22 14 - 19 19
24 ?32 19 - M 19 - M
?13 13 - 22 20 29 ?23 13 - 19 20
26 ?33 20 - M 20 M
?14 22 - 22 23 23 ?24 19 - 19 23
23 ?34 23 - M 23 M
38Russells method Interactive Solver
39(No Transcript)
40(No Transcript)
41(No Transcript)
42(No Transcript)
43(No Transcript)
44(No Transcript)
45(No Transcript)
46(No Transcript)
47(No Transcript)
48(No Transcript)
49(No Transcript)
50(No Transcript)
51(No Transcript)
52Initial Basic Feasible Solution
53Comparison of different methods for finding
initial basic feasible solution
- NW corner rule very simple to implement and
therefore fast. However it doesnt factor in the
costs. - The minimum cost method and Vogels method take
into consideration the costs and they are simple
to compute - Russells method also takes into consideration
the costs and it closely patterns the decision
criterion used by the transportation simplex
method to pick the entering variable.() - Nevertheless it is not clear which method
performs better on average, which may depend on
the particular class of problem
() In particular ?ij cij - ui vj estimate
the relative values of cij - ui vj
54Transportation simplex method
- Initialization finding the initial BF solution
- Optimality test how do we check if it is the
optimal solution? - Iteration
55Transportation simplex methodOptimality Test
- Very similar to the standard simplex method we
check if all the cij - ui vj are non-negative.
Optimality test A BF solution is optimal iff
cij - ui vj? 0 for every (i,j) such that xij
is non-basic .
Note the cij - ui vj correspond to the
coefficients in row 0.
56Transportation simplex methodOptimality Test
- So what do we have to do?
- calculate the uis and vjs for the current BF
solution - Use the values obtained in 1 to calculate the cij
- ui vj for the non-basic variables.
Optimality test A BF solution is optimal iff
cij - ui vj? 0 for every (i,j) such that xij
is non-basic .
Note the cij - ui vj correspond to the
coefficients in row 0.
57Calculation of the uis and vjs for the
current BF solution
- We know that when a variable is basic its
corresponding row 0 coefficient is zero - So cij - ui vj 0 ?? cij ui vj for all the
basic variables - Given that there are m n 1 variables, there
are m n 1 of these equations - Since the number of unknowns (uis and vjs ) is
mn, we can assign an arbitrary value to one of
them a convenient choice is to assign to the ui
that has the largest number of allocations the
value 0. - It is then very easy to solve the remaining
equations.
58Calculation of the uis and vjs for the
current BF solution
x31 19 u3 v1 set u30 ? v1 19 x32 19
u3 v2 ? v2 19 x34 19 u3 v4 ? v4
23 x21 14 u2 v1 v1 19 ? u2
-5 x23 13 u2 v3 u2 -5 ? v3
18 x13 13 u1 v3 v3 18 ? u1
-5 x15 17 u1 v5 u1 -5 ? v5
22 x45 0 u4 v5 v5 22 ? u4 -22
Now we can compute the cij - ui vj for the
non-basic variables.
59x11 16 5 - 19 2 x12 16 5 19 2
x14 22 5 23 4 x22 14 5 19 0
v1 19 x24 19 5 23 1 v3 x25
15 5 22 -2 x33 20 0 18 2 x41 M
22 19 M 3 x42 0 22 19 3 x43
M 22 18 M 4 x43 0 22 23 -1
Which non-basic variable will enter the basis?
Is it optimal?
60Transportation simplex method
- Initialization finding the initial BF solution
- Optimality test how do we check if it is the
optimal solution? - Iteration
61How to Pivot a Transportation Problem
- Select as the entering variable the variable with
the largest (in absolute value) negative cij - ui
vj value. - Select as the leaving variable. Increasing the
entering variable from zero sets off a chain
reaction of compensating changes in other basic
variables. The first variable to be decreased to
zero then becomes the leaving basic variable. - Find the chain involving the entering variable
and some of the basic variables. - Counting the cells in the chain, label them
alternating as () and () cells, starting with
the entering variable with label ()
62- 3. Find the (-) cells whose variable assumes the
smallest value. Call this value ?. The variable
corresponding to this (-) cell will leave the
basis. - 4. To perform the pivot, decrease the value of
each (-) cell by ? and increase the value of
each cell by ?. The variables that are not in
the loop remain unchanged. The pivot is now
complete. - ( If ? 0, the entering variable will equal 0,
and a - variable that has a current value of 0
will leave the basis. In this case a degenerate
bfs existed before and will result after the
pivot. If more than one - cell in the loop
equals ?, you may arbitrarily choose one of these
odd cells to leave the basis again a degenerate
bfs will result)
63Illustration of pivoting procedure. We want to
find the bfs that would result if x14 were
entered into the basis.
Ent. Variable
-
-
-
What is the value of the entering variable?
64New bfs after x14 is pivoted into basis. Since
There is no loop involving the cells (1,1),
(1,4), (2,1), (2,2), (3,3) and (3, 4) the new
solution is a bfs.
After the pivot the new bfs is x1115, x1420,
x2130, X2220, X3330 and X3410.
65Two important points!
- In the pivoting procedure
- Since each row has as many 20s as 20s, the new
solution will satisfy each supply and demand
constraint. - By choosing the smallest (-) variable (X23) to
leave the basis, we ensured that all variables
will remain nonnegative.
66(No Transcript)
67(No Transcript)
68(No Transcript)
69(No Transcript)
70(No Transcript)
71(No Transcript)
72- The 1st initial BF solution is degenerate because
x310. But it is not a problem since this cell
becomes a () cell. - Another degenerate solution arises in the 3rd
tableau (two (-) cells tie for the smallest
value - 30). We selected (2,1) to be the leaving
variable if we selected (3,4), (2,1) would
become the degenerate basic variable. Cell (3,4)
is a (-) cell but at the level 0. So the entering
variable has the value 0. - Because none of the cij - ui vj is negative in
the 4th tableau, it means that the 3rd tableau is
also optimal.