Transportation,
Assignment, and Transshipment
Problems
Slide 1
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.
Slide 2
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
Algorithms (simplex method).
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.
Slide 3
Transportation Problem
The transportation problem seeks to
minimize the total shipping costs of
transporting goods from m origins or sources
(each with a supply si) to n destinations
(each with a demand dj), when the unit
shipping cost from source, 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 4
Transportation Problem
Network Representation
1 d1
c11
s1 1 c12
c13
2 d2
c21 c
22
s2 2
c23
3 d3
SOURCES DESTINATIONS
Slide 5
Transportation Problem
LP Formulation
The linear programming formulation in terms of the
amounts shipped from the sources to the destinations, xij ,
can be written as:
Min cijxij (total transportation cost)
ij
s.t. xij < si for each source i (supply constraints)
j
xij = dj for each destination j (demand constraints)
i
xij > 0 for all i and j (nonnegativity constraints)
Slide 6
Transportation Problem
To solve the transportation problem by its special
purpose algorithm, it is required that the sum of the
supplies at the sources 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 sources are zero. Similarly, if
total supply is less than total demand, a dummy
source 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 7
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 D2 D3 Supply
15 30 20
S1 50
30 40 35
S2 30
Demand 25 45 10
Slide 8
Problem formulation
The LP model for this problem is as follows:
Min Z = 15 X11 + 30 X12 + 20 X13 + 30 X21 + 40X22 + 35X23
S.t.
X11 + X12 + X13 ≤ 50
Supply constraints
X21 + X22 + X23 ≤ 30
X11 + X21 = 25
X12 + X22 = 45
X13 + X23 = 10 demand constraints
X11, …, X23 0
Slide 9
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, by using the MODI
method for evaluating the reduced costs may be used
to move from the initial feasible solution to the
optimal one.
Slide 10
Initial Tableau
There are many method for finding the initial tableau
for the transportation problem which are:
1. Northwest corner
2. Minimum cost of the row
3. Minimum cost of the column
4. Least cost
5. Vogle’s approximation method
6. Russell’s approximation method
Slide 11
Northwest corner
Northwest corner: Begin by selecting X11 (that is, start in the
northwest corner of the transportation tableau). Therefore, if
Xij was the last basic variable (occupied cell) selected, then
select Xij+1 (that is, move one column to the right) if source I
has any supply remaining. Otherwise, next select Xi+1 j (that
is, move one row down).
D1 D2 D3 Supply
15 30 20
S1 25 25 50
30 40 35
S2 20 10 30
Demand 25 45 10
Total cost is $2275
Slide 12
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.
D1 D2 D3 Supply
15 30 20
Total S1 25 15 10 50
cost 30 40 35
is S2 30 30
$2225
Demand 25 45 10 Slide 13
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 14
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 15
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 16
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 17
Assignment Problem
Network Representation
c11
1 1
c12
c13
c21
2
c22 2
c23
c32
c31
3 c33 3
WORKERS JOBS
Slide 18
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 19
Variations of Assignment Problem
Total number of agents not equal to total number of
tasks
Maximization objective function
Unacceptable assignments
Slide 20
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 21
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 22
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 23
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 24
Transshipment Problem
Network Representation
3 c36
c13 c37
s1 1 c14 6 d1
c15 c46
4 c47
c23 c24
c56 7 d2
s2 2
c25
5 c57
SOURCES INTERMEDIATE DESTINATIONS
NODES
“Transshipment points” Slide 25
Transshipment Problem
Linear Programming Formulation
xij represents the shipment from node i to node j
Min cijxij
ij
s.t. xij < si for each source 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
Slide 26
Solving the transshipment problem using transportation
algorithm
Supply point: is a point that can send
goods to another point but can not
receive goods from any other point
Demand point: is a point that can receive
goods form other points but cannot send
goods to any other point.
Transshipment point: is a point that can
both receive goods from other points and
send goods to other points
Slide 27
Solving the transshipment problem using transportation
algorithm
a transshipment problem can be transformed to a balanced
transportation problem by using the following procedure:
• Step 1: if necessary, add a dummy demand point or a dummy
supply point as needed
• Step 2: construct a transportation tableau as follows:
◆ A row in the tableau will be needed for each supply point
and transshipment point.
◆ A column will be needed for each demand point and
transshipment point
◆ Each supply point will have a supply equal to its original
supply, and each demand point will have a demand equals
to its original demand.
◆ each transshipment point will have
supply = its original supply + total available supply, and
demand = its original demand + total available supply
Then the problem can be solved as a transportation problem
Slide 28