Professional Documents
Culture Documents
OPERATIONS
RESEARCH 1
SPECIAL CASES OF LP MODELS:
THE TRANSPORTATION PROBLEM
Learning objectives:
• At the end of this module, the student should be able to:
X1A 150
150 150
x2A 50
150 150
50 X2B 50 100
150 150
150 150
50 100 25 50 100 25
X3C 275
150 150
50 100 25 + 50 + 100 + 25
275 + 275
1 R+C-1 = 3+3-1 = 5.
150
where R = the number of rows/the number
2
of supply point
50 3 4
100 25 C = the number of columns/the
number of demand point
5 Else, you cannot proceed to the next
275
iteration in finding the optimal solution.
Degenerate solution
• A non-degenerate solution in transportation problem occurs when:
number of rows (R) + number of columns (C) – 1 = number of filled
cells. When this is not met, the solution is said to be degenerate.
2 3 5 6
5
2 1 3 5
10
3 8 4 6
15
12 8 4 6
An example for Minimum Cost Method
Step 1: Select the cell with minimum cost and set the value as
large as possible.
2 3 5 6
5
2 1 3 5
10
3 8 4 6
15
12 8 4 6
Step 2: Cross-out column 2 since the demand is already exhausted. Find
the next lowest cost.
2 3 5 6
5
2 1 3 5
2
8
3 8 4 6
15
12 X 4 6
Step 3: Find the new cell with minimum shipping cost and assign value
as large as possible. If there are ties, you may choose arbitrarily.
2 3 5 6
5
2 1 3 5
2
8
3 8 4 6
15
12 X 4 6
Step 3: Cross out row 2 since supply is already exhausted. Update the
available demand in column 1.
2 3 5 6
5
2 1 3 5
X
2 8
3 8 4 6
15
10 X 4 6
Step 4: Find the new cell with minimum shipping cost and assign value
as large as possible.
2 3 5 6
5
2 1 3 5
X
2 8
3 8 4 6
15
10 X 4 6
Step 4: Cross-out row 1 since supply is already exhausted. Update the
remaining demand to be fulfilled in column 1.
2 3 5 6
X
5
2 1 3 5
X
2 8
3 8 4 6
15
5 X 4 6
Step 4: Find the new cell with minimum shipping cost that belongs to a
column or row that hasn’t been crossed out yet. Assign the largest
possible value.
2 3 5 6
X
5
2 1 3 5
X
2 8
3 8 4 6
15
5 X 4 6
Step 5: Cross out column 1 and update supply in row 3.
2 3 5 6
X
5
2 1 3 5
X
2 8
3 8 4 6
10
5
X X 4 6
Step 6: Find the new cell with minimum shipping cost that belongs to a
column or row that hasn’t been crossed out yet. Assign the largest
possible value.
2 3 5 6
X
5
2 1 3 5
X
2 8
3 8 4 6
10
5
X X 4 6
Step 6: Cross out column 3 and update supply in row 3.
2 3 5 6
X
5
2 1 3 5
X
2 8
3 8 4 6
6
5 4
X X X 6
Step 7: Finally assign 6 to last cell.
2 3 5 6
X
5
2 1 3 5
X
2 8
3 8 4 6
6
5 4
X X X 6
Step 8: The bfs is found as: X11=5, X21=2, X22=8, X31=5, X33=4 and X34=6
2 3 5 6
X
5
2 1 3 5
X
2 8
3 8 4 6
X
5 4 6
X X X X
• Check the column totals with respect to the original problem.
Check the number of basic variables if equals r+c-1 = 3+4 -1 =6.
Since it satisfies both the column totals and required number of basic variables,
the solution can be considered as initial feasible solution with Z=89.
2 3 5 6
5
5
2 1 3 5
10
2 8
3 8 4 6
15
5 4 6
12 8 4 6
3. Determination of Initial Feasible Solution using
Vogel’s Approximation Method (VAM)
• The least cost method uses shipping costs in order to come up with a bfs that has
a lower cost.
• However, it is an example of greedy algorithm.
• The VAM accounts not just the lowest cost but considers the two lowest cost in a
specific row and column or lowest costs associated with each alternative route.
• Among the three methods in determining initial feasible solution, the Vogel’s
Approximation Method yields the closest to optimal solution. This means fewer
to no iteration towards the optimal solution.
3. Determination of Initial Feasible Solution using
Vogel’s Approximation Method (VAM)
1. Begin with computing the penalty for each row and column. The penalty
will be equal to the difference between the two smallest shipping costs
in the row or column.
2. Identify the row or column with the largest penalty.
3. Find the first basic variable which has the smallest shipping cost in that
row or column.
4. Assign the highest possible value to that variable, and cross-out the row
or column like the previous methods.
5. Compute new penalties and repeat the same procedure.
An example for Vogel’s Method
Step 1: Compute the penalties. The penalty will be equal to the difference
between the two smallest shipping costs in the row or column.
6 7 8
10 7-6=1
15 80 78
15 78-15=63
Demand 15 5 5
6 7 8
10 7-6=1
15 80 78
15 78-15=63
Demand 15 5 5
6 7 8
10 7-6=1
15 80 78
15 78-15=63
Demand 15 5 5
6 7 8
5 8-6=2
5
15 80 78
15 78-15=63
Demand 15 x 5
15 80 78
15 78-15=63
Demand 15 X 5
6 7 8
5 8-6=2
5
15 80 78
15 78-15=63
Demand 15 X 5
Note: Since the largest possible value that can be assign to the cell here is 5, both row and column will
be crossed out. This, later, will result to degeneracy. As added guideline, if it’s not the last basic
variable and both the column and row will be crossed out, choose to cancel either column or row only.
Assign a supply/demand amount of 0 to the row or column not chosen to be crossed out.
Step 4: Cross-out the row or column and update the supply/demand
amount like the previous methods. Update the row and column
penalties.
Supply Row Penalty
6 7 8
0 _
5 5
15 80 78
15 _
Demand 15 X X
Note: Since the largest possible value that can be assign to the cell here is 5, both row and column will
be crossed out. This, later, will result to degeneracy. As added guideline, if it’s not the last basic
variable and both the column and row will be crossed out, choose to cancel either column or row only.
Assign a supply/demand amount of 0 to the row or column not chosen to be crossed out.
Step 2: Identify the largest penalty. Find the basic variable which has the
smallest shipping cost in that row or column. Assign the highest possible
value to that variable
Supply Row Penalty
6 7 8
0 _
5 5
15 80 78
15 _
Demand 15 X X
6 7 8
x _
0 5 5
15 80 78
15 _
Demand 15 X X
Column Penalty - _ _
Step 4: Identify the largest penalty. Find the basic variable which has the
smallest shipping cost in that row or column. Assign the highest possible
value to that variable
6 7 8
X _
0 5 5
15 80 78
X _
15
Demand X X X
Column Penalty _ _ _
6 7 8
10 _
0 5 5
15 80 78
15 _
15
Demand 15 5 5
Column Penalty _ _ _
To Factory
Find the initial basic
From Albuquerque Boston Cleveland capacity feasible solution using:
Des Moines
$5 $4 $3 1. Northwest corner
100
method
$8 $4 $3 2. Least cost method
Evansville 300
3. Vogel’s
Fort $9 $7 $5 approximation
300
Lauderdale method
Warehouse
requirement 300 200 200 700
Finding the Optimal Solution using
Stepping Stone Method
An iterative technique for moving from an initial
feasible solution to an optimal one
1. Select any unused/unfilled square to evaluate
2. Beginning at this square, trace a closed path back to the original
square via squares that are currently being used/filled (may step over
empty/occupied square).
3. Beginning with a plus (+) sign at the unused corner, place alternate
minus and plus signs at each corner of the path just traced
Finding the Optimal Solution using
Stepping Stone Method
An iterative technique for moving from an initial
feasible solution to an optimal one
4. Calculate an improvement index by first adding the unit-
cost figures found in each square containing a plus sign
and subtracting the unit costs in each square containing a
minus sign
5. Repeat steps 1 though 4 until you have calculated an
improvement index for all unused squares. If all indices are
≥ 0, you have reached an optimal solution. If not, current
solution can be further improved to decrease shipping costs
Finding the Optimal Solution using
Stepping Stone Method
To (A) (B) (C) Factory
From Albuquerque Boston Cleveland capacity
$5 $4 $3
(D) Des Moines 100
- +
100 Des Moines-
(E) Evansville 200
$8
100
$4 $3
300 Boston index
+ -
(F) Fort Lauderdale
$9
100
$7
200
$5
300 = $4 - $5 + $8 - $4
Warehouse
requirement 300 200 200 700 = +$3
$5 $4
100
- +
+ -
$8 $4
200 100
Finding the Optimal Solution using
Stepping Stone Method
To (A) (B) (C) Factory
From Albuquerque Boston Cleveland capacity
$5 $4 Start $3
(D) Des Moines 100 100
+
$8 $4 $3
(E) Evansville 200 100 300
+ -
$9 $7 $5
(F) Fort Lauderdale 100 200 300
+ -
Warehouse
requirement 300 200 200 700
$5 $4 $3
(D) Des Moines 100 100
Evansville-Cleveland index
$8 $4 $3
(E) Evansville 200 =100
$3 - $4 + $7 - $5 = +$1
300
$9
(Closed
$7
path =$5
EC - EB + FB - FC)
(F) Fort Lauderdale 100 200 300
Fort Lauderdale-Albuquerque index
Warehouse
requirement 300 = $9
200 - $7 +200
$4 - $8 = -$2
700
(Closed path = FA - FB + EB - EA)
Finding the Optimal Solution using
Stepping Stone Method
1. If an improvement is possible, choose the route
(unused square) with the largest negative improvement
index (i.e. choose the most negative improvement
index). In this case, Fort Lauderdale-Albuquerque
index=-2, thus, this will be the entering variable.
2. On the closed path for that route, select the smallest
number found in the squares containing minus signs
3. Add this number to all squares on the closed path with
plus signs and subtract it from all squares with a minus
sign
Finding the Optimal Solution using
Stepping Stone Method
To (A) (B) (C) Factory
From Albuquerque Boston Cleveland capacity
$5 $4 $3
(D) Des Moines 100 100
$8 $4 $3
(E) Evansville 200 100 300
- +
$9 $7 $5
(F) Fort Lauderdale 100 200 300
+ -
Warehouse
requirement 300 200 200 700
1. Add 100 units on route FA
2. Subtract 100 from routes FB
3. Add 100 to route EB
4. Subtract 100 from route EA
Finding the Optimal Solution using
Stepping Stone Method
To (A) (B) (C) Factory
From Albuquerque Boston Cleveland capacity
$5 $4 $3
(D) Des Moines 100 100
$8 $4 $3
(E) Evansville 100 200 300
The procedure is
then repeated $9 $7 $5
starting from step 1. (F) Fort Lauderdale 100 200 300
Warehouse
requirement 300 200 200 700
A B C
5 4 3
100
D 100
8 4 3
300
E 200 100
9 7 5
300
F 200 100
300 200 200 700
Finding the Optimal Solution using
Modified Distribution Method (MODI)/ METHODS
OF MULTIPLIERS
1. Find the initial basic feasible solution.
2. The number of filled cell should be equal to R + C -1 (where R
is the number of row and C is the number of column). If not,
the solution is degenerate.
3. Obtain the row (vj) and column (ui) index. For each filled cell or
basic variable, use the formula below to obtain the row and
column indices.
a) Let u1 = 0.
b) Column index (ui) = cell cost (cij) – row index (vj)
c) Row index (vj) = cell cost (cij)– column index ui)
Finding the Optimal Solution using
METHODS OF MULTIPLIERS
4. Evaluate the empty cells using: Pij = Ui +Vj - Cij. If all Pij < 0, then the
solution is optimal and unique. If Pij ≤ 0, then the solution is optimal
and alternative solutions exist. Otherwise, the solution is not optimal.
5. If the solution is not optimal, identify the cell with the most positive
penalty.
6. Construct a closed loop starting from this cell and passing through
filled cells (similar with the stepping stone method with alternating +
and - sign).
7. Find the lowest cell value with a (-) sign in the loop.
8. Add or subtract this value in each cell within the loop.
9. Repeat steps 3-8 until an optimal solution is achieved.
Set u1=0. Then, from the basic variable in that
column, get the corresponding row indices, v1, v2.
u1=0 u2 u3
A B C
5 4 3
100
v1 D 100
8 4 3
300
v2 E 200 100
9 7 5
300
v3 F 100 200
300 200 200 700
Set u1=0. Then, from the basic variable in that
column, get the corresponding row indices, v1, v2.
u1=0 u2 u3
A B C
5 4 3
100
v1 = 5-u1 = 5-0 = 5 D 100
8 4 3
300
v2= 8-u1 = 8-0= 8 E 200 100
9 7 5
300
v3 F 100 200
300 200 200 700
Next, from the basic variable EB, compute for
the corresponding column index u2.
u1=0 u2 u3
A B C
5 4 3
100
v1 = 5-u1 = 5-0 = 5 D 100
8 4 3
300
v2= 8-u1 = 8-0= 8 E 200 100
9 7 5
300
v3 F 100 200
300 200 200 700
Next, from the basic variable EB, compute for
the corresponding column index u2.
u1=0 u2 = 4-v2 = 4-8 = -4 u3
A B C
5 4 3
100
v1 = 5-u1 = 5-0 = 5 D 100
8 4 3
300
v2= 8-u1 = 8-0= 8 E 200 100
9 7 5
300
v3 F 100 200
300 200 200 700
Next, from the basic variable FB, compute for
the corresponding row index v3.
u1=0 u2 = 4-v2 = 4-8 = -4 u3
A B C
5 4 3
100
v1 = 5-u1 = 5-0 = 5 D 100
8 4 3
300
v2= 8-u1 = 8-0= 8 E 200 100
9 7 5
300
v3 F 100 200
300 200 200 700
Next, from the basic variable FB, compute for
the corresponding row index v3.
u1=0 u2 = 4-v2 = 4-8 = -4 u3
A B C
5 4 3
100
v1 = 5-u1 = 5-0 = 5 D 100
8 4 3
300
v2= 8-u1 = 8-0= 8 E 200 100
9 7 5
300
v3 = 7-u2 = 7-(-4)=11 F 100 200
300 200 200 700
Next, from the basic variable FC, compute for
the corresponding column index u3.
u1=0 u2 = 4-v2 = 4-8 = -4 u3
A B C
5 4 3
100
v1 = 5-u1 = 5-0 = 5 D 100
8 4 3
300
v2= 8-u1 = 8-0= 8 E 200 100
9 7 5
300
v3 = 7-(-4)=11 F 100 200
300 200 200 700
Next, from the basic variable FC, compute for
the corresponding column index u3.
u1=0 u2 = 4-v2 = 4-8 = -4 u3 = 5-v3 = 5-11 = -6
A B C
5 4 3
100
v1 = 5-u1 = 5-0 = 5 D 100
8 4 3
300
v2= 8-u1 = 8-0= 8 E 200 100
9 7 5
300
v3 = 7-(-4)=11 F 100 200
300 200 200 700
Using the indices, compute for the coefficient of
the Non-Basic Variables (NBVs)/unfilled cells using
the formula Pij =ui+vi-cij.
u1=0 u2 = -4 u3 = -6
A B C
5 4 3
100
v1 = 5 D 100
8 4 3
300
v2= 8 E 200 100
9 7 5
300
v3 =11 F 100 200
300 200 200 700
Using the indices, compute for the coefficient of
the Non-Basic Variables (NBVs)/unfilled cells using
the formula Pij =ui+vi-cij.
u1=0 u2 = -4 u3 = -6
A B C
5 4 3
100
v1 = 5 D 100 -4+5-4=-3 -6+5-3=-4
8 4 3
300
v2= 8 E 200 100 -6+8-3=-1
9 7 5
300
v3 =11 F 0+11-9=2 100 200
300 200 200 700
Since not all Pij < 0, then the solution is not optimal.
We will choose FA to be the entering variable.
u1=0 u2 = -4 u3 = -6
A B C
5 4 3
100
v1 = 5 D 100 -3 -4
8 4 3
300
v2= 8 E 200 100 -1
9 7 5
300
v3 =11 F 2 100 200
300 200 200 700
Construct a closed loop starting from this cell (as +)
and passing through filled cells (similar with the
stepping stone method with alternating + and - sign).
u1=0 u2 = -4 u3 = -6
A B C
5 4 3
100
v1 = 5 D 100
8 4 3
300
v2= 8 E 200 - 100 +
9 7 5
300
v3 =11 F + 100 - 200
300 200 200 700
Find the lowest cell value with a (-) sign in the
loop.
u1=0 u2 = -4 u3 = -6
A B C
5 4 3
100
v1 = 5 D 100
8 4 3
300
v2= 8 E 200 - 100 +
9 7 5
300
v3 =11 F + 100 - 200
300 200 200 700
Add or subtract this value (100) in each cell
within the loop.
u1=0 u2 = -4 u3 = -6
A B C
5 4 3
100
v1 = 5 D 100
8 4 3
300
v2= 8 E 200 - 100 100 + 100
9 7 5
300
v3 =11 F + 100 100 - 100 200
300 200 200 700
Add or subtract this value (100 units) in each cell
within the loop.
u1 u2 u3
A B C
5 4 3
100
v1 D 100
8 4 3
300
v2 E 100 200
9 7 5
300
v3 F 100 200
300 200 200 700
Since there is entering variable (FA), there’s also one leaving variable. It is
the cell that will have a zero value after the subtraction of 100 units. If
there are ties, please choose to leave only 1 variable, the other one should
have a 0 value (degenerate solution).
This is iteration 1. The procedure is then repeated
starting from step 3 or the computation of row and
column indices.
u1 u2 u3
A B C
5 4 3
100
v1 D 100
8 4 3
300
V2 E 100 200
9 7 5
300
v3 F 100 200
300 200 200 700
The optimal solution is Z=3,900
A B C
5 4 3
100
D 100
8 4 3
300
E 200 100
9 7 5
300
F 200 100
300 200 200 700