0% found this document useful (0 votes)
122 views

Transportation, Assignment, and Transshipment Problem

The document discusses three network models: the assignment problem, the transshipment problem, and the transportation problem. Each can be formulated as a linear program and solved using linear programming techniques. The assignment problem involves assigning workers to jobs or tasks in a one-to-one manner to minimize costs. It is a special case of the transportation problem where supplies and demands are all equal to one.

Uploaded by

Ghani Rizky
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
122 views

Transportation, Assignment, and Transshipment Problem

The document discusses three network models: the assignment problem, the transshipment problem, and the transportation problem. Each can be formulated as a linear program and solved using linear programming techniques. The assignment problem involves assigning workers to jobs or tasks in a one-to-one manner to minimize costs. It is a special case of the transportation problem where supplies and demands are all equal to one.

Uploaded by

Ghani Rizky
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 73

Assignment, Transshipment,

and Transportation Problem


Operations Research I – Week
}  The Assignment Problem:
◦  The Network Model and a
◦  Linear Programming Formulation
}  The Transshipment Problem:
◦  The Network Model and a
◦  Linear Programming Formulation
}  The Transportation Problem:
◦  The Network Model
◦  Linear Programming Formulation
◦  Solving Method
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 and
}  PERT/CPM problems are all examples of network
problems.
}  Each of these three models (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 which contain
separate computer codes for these models which take
advantage of their network structure.
}  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.
}  Assumes all workers are assigned and each job is
performed.
}  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.
}  Equal numbers of jobs and workers (or jobs and
machines, or …)
}  We want to assign the jobs to the workers in a one-to-
one manner
}  Different job/worker combinations have different costs
(or completion times)
}  We want to minimize total cost (time)
c11
1 1
c12
c13

c21
c22
2 2
c23

c31
c32
3 c33 3

WORKERS JOBS
min ∑∑c ij x ij
i j

s. t. ∑x ij = 1 For each worker i


j

∑x ij = 1 For each job j


i

x ij = 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 one job.
}  Write the objective function for the general LP
formulation of the Assignment Problem using only words
-- do not use any mathematical symbols.

}  Write constraints for the general LP formulation of the


Assignment Problem using only words -- do not use any
mathematical symbols.
Special considerations can include :
}  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.
}  number of workers does not equal the number of jobs —
add dummy workers/jobs with 0 assignment costs as needed.
(note: this may not be necessary if a worker/job is allowed
more than one job/worker)
}  worker i cannot do job j — assign cij = +M (where +M =
some very large number--implying a very large cost!).
Write down the formula.
St.
Min.
X11+X12+X13+X14=1
X21+X22+X24+X24=1
4X11 + 6X12+ 5X13 + 5X14 + 7X21+ 4X22+ 5X23 + 6X24 +
X31+X32+X33+X34=1
4X31 + 7X32 + 6X33+ 4X34 + 5X41+ 3X42+ 4X43 + 7X44 X41+X42+X43+X44=1
X11+X21+X31+X41=1
X12+X22+X32+X42=1
X13+X23+X33+X43=1
X14+X24+X34+X44=1
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.
Project
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?
50
West. A
36

0 16

28
30
Fed. B
18
0

35 32
20
Gol. C
0

25 25
14
Univ. Dum.
0
}  STEP 0 Convert to standard form, with # rows = # columns

}  STEP 1 Row reduction: find the smallest cost in each row, and reduce all
costs in the row by this amount.

}  STEP 2 Column reduction: find the smallest cost in each column, and reduce
all costs in the column by this amount.

}  STEP 3 Find the minimum number of lines through rows &/or columns
necessary to cover all of the zeroes in the cost matrix. If this equals n, then
STOP. (Zero assignment)

}  STEP 4 Locate the smallest unlined cost. Subtract this cost from all unlined
costs, and add to costs at intersections of lines. Return to step 3.
Sub- Project
contractors
A B C
Westside 50 36 16
Federated 28 30 18
Goliath 35 32 20
Universal 25 25 14

}  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:
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 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.

}  Step 4: The minimum uncovered number is 2 (circled).

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 5: A B C Dummy

Subtract 2 from uncovered Westside 25 11 2 0


numbers; add 2 to all numbers Federated 3 5 4 0
covered by two lines. Goliath 10 7 6 0

Universal 0 0 0 0
}  Step 3:
Draw the minimum number of
lines to cover all zeroes. A B C Dummy

Westside 23 9 0 0
}  Step 4: Federated 1 3 2 0
The minimum uncovered number Goliath 8 5 4 0
is 1 (circled).
Universal 0 0 0 2
A B C Dummy
}  Step 5: Subtract 1 from
uncovered numbers. Add 1 Westside 23 9 0 1

to numbers covered by two Federated 0 2 1 0

lines. This gives: Goliath 7 4 3 0

Universal 0 0 0 3

}  Step 4: The minimum


number of lines to cover
all 0's is four.

Sub- Project
contractors
A B C
Westside 50 36 16
Federated 28 30 18
Goliath 35 32 20
Universal 25 25 14
}  Machineco has four jobs to be completed. Each
machine must be assigned to complete one job. The
time required to setup each machine for completing
each job is shown in the table below. Machinco wants
to minimize the total setup time needed to complete
the four jobs.
Time (Hours)

Job1 Job2 Job3 Job4

Machine 1 14 5 8 7

Machine 2 2 12 6 5

Machine 3 7 8 3 9

Machine 4 2 4 6 10
Job/Mach A B C D
1 8 6 2 4
2 6 7 11 10
3 3 5 7 6
4 5 10 12 9
Play matchmaker and determine an allocation of each man
and woman’s time that earns the maximum total happiness for
the island. Assume that happiness earned by a couple is
proportional to the amount of time they spend together.
An Overview
}  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.
}  Network Representation
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.
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
}  Network Representation
Zrox 50

5 1
75 Arnold Thomas 5
8 8

Hewes 60

3 4
7
Super Wash-
75 Shelf Burn
4 4
Rock-
Wright 40
}  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)

}  Note: A common mistake in Formulation is to define the


decision variable as Xijk -- implying that you have 2x2x3 =
12 decisions, when in fact, you only have
(2x2) + (2x3) = 10 decisions.
}  Objective Function Defined

◦  Minimize Overall Shipping Costs:


Min 5x13 + 8x14 +
7x23 + 4x24 +
1x35 + 5x36 + 8x37 +
3x45 + 4x46 + 4x47
}  Constraints Defined

Amount Out of Arnold: x13 + x14 < 75


Amount Out of Supershelf: x23 + x24 < 75
Amount Through Thomas: x13 + x23 - x35 - x36 - x37 = 0
Amount Through Washburn: x14 + x24 - x45 - x46 - x47 = 0
Amount Into Zrox: x35 + x45 = 50
Amount Into Hewes: x36 + x46 = 60
Amount Into Rockwright: x37 + x47 = 40

Non-negativity of Variables: xij > 0, for all i and j.


Widgetco manufactures widgets
at two factories, one in Memphis
and one in Denver. The Memphis
factory can produce as many as
150 widgets per day, and the
Denver factory can produce as
many as 200 widgets per day.
Widgets are shipped by air to
customers in Los Angeles and
Boston. The customers in each city
require 130 widgets per day.
Widgetco wants to minimize the
total cost of shipping the required
widgets to its customers.
Formulate an LP for the problem.
An Overview
}  A transportation problem basically deals with the problem, which
aims to find the best way to fulfill the demand of n demand points
using the capacities of m supply points.

1 d1
c11
s1 1 c12
c13
2 d2
c21 c22

s2 2
c23
3 d3

SOURCES DESTINATIONS
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.
}  LP Formulation

The linear programming formulation in terms of the amounts shipped


from the origins to the destinations, xij, can be written as:

min ∑∑ c x ij ij
i j

s. t. ∑x ij ≤ si for each source i


j

∑x ij ≥ di for each destination j


i

xij ≥ 0 for all i and j


}  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
}  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 very large number).
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
}  LP Formulation
◦  Decision Variables Defined
xij = amount shipped from plant i to suburb j
where i = 1 (Plant 1) and 2 (Plant 2)
j = 1 (Northwood), 2 (Westwood), and 3 (Eastwood)
}  LP Formulation
◦  Objective Function
Minimize total shipping cost per week:
Min 24x11 + 30x12 + 40x13 + 30x21 + 40x22 + 42x23
◦  Constraints
s.t. x11 + x12 + x13 < 50 (Plant 1 capacity)
x21 + x22 + x23 < 50 (Plant 2 capacity)
x11 + x21 > 25 (Northwood demand)
x12 + x22 > 45 (Westwood demand)
x13 + x23 > 10 (Eastwood demand)
all xij > 0 (Non-negativity)
}  A transportation problem can also be given in the table as
follows. 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.
}  Formulate the problem.
D1 D2 D3 Supply

15 30 20
S1 50

30 40 35
S2 30

Demand 25 45 10
}  If Total supply equals to total demand, the problem is
said to be a balanced transportation problem:

i =m j =n

∑s = ∑d
i =1
i
j =1
j
}  The transportation problem is solved in two phases:
◦  Phase I — Obtaining an initial feasible solution
◦  Phase II — Moving toward optimality
}  In Phase I, several procedures 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.
PHASE 1
There are three basic methods can be used:
1.  Northwest Corner Method
2.  Minimum Cost Method
3.  Vogel’s 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.
Supply

2
Demand
3 5 2 3

Supply

3 2

2
Demand
X 5 2 3
After we check the east and south After applying the same procedure, we saw
cells, we saw that we can go east that we can go south this time (meaning
(meaning supply point 1x still has demand point 2 needs more supply by
capacity to fulfill some demand). supply point 2).
3 2 X

3 2 1 X

2 X

X X X X
•  The Northwest Corner Method does not utilize shipping
costs.
•  It can find an initial BFS easily but the total shipping
cost may be very high.
•  The minimum cost method uses shipping costs in
order to 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
}  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.
2 3 5 6
5

Step 1: Select the cell


2 1 3 5
with minimum cost. 10

3 8 4 6
15

12 8 4 6

2 3 5 6
5
Step 2:
2 1 3 5
Cross-out column 2 2
8

3 8 4 6
15

12 X 4 6
2 3 5 6
5
Step 3:
Find the new cell with 2 1 3 5
minimum shipping cost X
2 8
and cross-out row 2
3 8 4 6
15

10 X 4 6

2 3 5 6
X
5
Step 4:
2 1 3 5
Find the new cell with X
2 8
minimum shipping cost
and cross-out row 1 3 8 4 6
15

5 X 4 6
2 3 5 6
Step 5: X
5
Find the new cell with 2 1 3 5
minimum shipping cost X
2 8
and cross-out column 1
3 8 4 6
10
5

X X 4 6

2 3 5 6
X
5
Step 6:
2 1 3 5
Find the new cell with X
2 8
minimum shipping cost
and cross-out column 3 3 8 4 6
6
5 4

X X X 6
Step 7: Finally assign 6 to last cell. 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
1.  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.
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.  Then 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.
}  Step 1: Compute the penalties.

Supply Row Penalty

6 7 8
10 7-6=1

15 80 78
15 78-15=63

Demand 15 5 5

Column Penalty 15-6=9 80-7=73 78-8=70


}  Step 2: Identify the largest penalty and assign the
highest possible value to the variable.

Supply Row Penalty

6 7 8
5 8-6=2
5

15 80 78
15 78-15=63

Demand 15 X 5

Column Penalty 15-6=9 _ 78-8=70


Identify the largest penalty and assign the highest
possible value to the variable.

Supply Row Penalty

6 7 8
0 _
5 5

15 80 78
15 _

Demand 15 X X

Column Penalty 15-6=9 _ _


}  Identify the largest penalty and assign the highest
possible value to the variable.

Supply Row Penalty

6 7 8
X _
0 5 5

15 80 78
15 _

Demand 15 X X

Column Penalty _ _ _
}  Finally the bfs is found as X11=0, X12=5, X13=5, and
X21=15

Supply Row Penalty

6 7 8
X _
0 5 5

15 80 78
X _
15

Demand X X X

Column Penalty _ _ _
}  Those three algorithms require the assumption of

Balanced Transportation Problem

i =m j =n

∑s = ∑d
i =1
i
j =1
j
}  If total supply > total demand,
◦  adding dummy demand point.
◦  Since shipments to the dummy demand point are not real,
they are assigned a cost of zero.

}  If total supply < total demand (no feasible solution)


◦  adding dummy supply point.
◦  one or more of the demand will be left unmet.
◦  a penalty cost is often associated with unmet demand
}  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.

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.
}  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.

}  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.
■  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 Supply

24 30 40 0
Plant 1 50

30 40 42 0
Plant 2 50

Demand 25 45 10 20
Northwood Westwood Eastwood Dummy

24 30 40 0
Plant 1 25 5 0 20

30 40 42 0
Plant 2 0 40 10 0
}  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.

Northwood Westwood Eastwood Dummy

24 30 40 0 u1 = 0
Plant 1 25 5 0 20

30 40 42 0
Plant 2 0 40 10 0 u2 = 10

v1 = 24 v2 = 30 v3 = 32 v4 = 0
}  Calculate the reduced costs (circled numbers) 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

Northwood Westwood Eastwood Dummy ui


24 30 40 0
Plant 1 25 5 +8 20 0

30 40 42 0
Plant 2 -4 40 10 -10 10

vj 24 30 32 0 The most negative


unoccupied cell
Northwood Westwood Eastwood Dummy ui The smallest to be
subtracted
+ -
Plant 1 5 20 0

- +
Plant 2 40 0 10

vj 24 30 32 0

Northwood Westwood Eastwood Dummy ui


The most 24 30 40 0
negative 25 25 +8 +10 0
reduced cost
30 40 42 0
-4 20 10 20 10

vj 24 30 32 -10
Northwood Westwood Eastwood Dummy
- +
25 25
+ -
0 20 10 20

Northwood Westwood Eastwood Dummy ui


24 30 40 0
Plant 1 5 45 +4 +6 0

30 40 42 0
Plant 2 20 +4 10 20 6

vj 24 30 36 -6
Since all the reduced
costs are non
negative, this is the
optimal table !!!
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

You might also like