Sei sulla pagina 1di 57

Operations Research

Modeling Toolset

Queueing
Markov
Theory PERT/
Chains
CPM Network
Dynamic
Simulation Programming
Markov Programming
Inventory Decision Linear
Theory Processes Programming
Forecasting Stochastic Integer
Decision Programming Programming
Analysis Nonlinear
Game
Programming
Theory

Transportation-1
Network Problems

• Linear programming has a wide variety of applications


• Network problems
– Special types of linear programs
– Particular structure involving networks
• Ultimately, a network problem can be represented as a
linear programming model
• However the resulting A matrix is very sparse, and
involves only zeroes and ones
• This structure of the A matrix led to the development of
specialized algorithms to solve network problems

Transportation-2
Types of Network Problems

• Shortest Path
Special case: Project Management with PERT/CPM
• Minimum Spanning Tree
• Maximum Flow/Minimum Cut
• Minimum Cost Flow
Special case: Transportation and Assignment Problems
• Set Covering/Partitioning
• Traveling Salesperson
• Facility Location
and many more

Transportation-3
The Transportation Problem

Transportation-4
The Transportation Problem

• The problem of finding the minimum-cost distribution of


a given commodity
from a group of supply centers (sources) i=1,…,m
to a group of receiving centers (destinations) j=1,…,n
• Each source has a certain supply (si)
• Each destination has a certain demand (dj)
• The cost of shipping from a source to a destination is
directly proportional to the number of units shipped

Transportation-5
Simple Network Representation
Sources Destinations

Supply s1 1 Demand d1
1

Supply s2 2
2 Demand d2


xij

n Demand dn
Supply sm m

Costs cij

Transportation-6
Example: P&T Co.

• Produces canned peas at three canneries


Bellingham, WA, Eugene, OR, and Albert Lea, MN
• Ships by truck to four warehouses
Sacramento, CA, Salt Lake City, UT, Rapid City, SD, and
Albuquerque, NM
• Estimates of shipping costs, production capacities and
demands for the upcoming season is given
• The management needs to make a plan on the least
costly shipments to meet demand

Transportation-7
Example: P&T Co. Map

2 3
3

2
1

Transportation-8
Example: P&T Co. Data

Warehouse
Supply
Cannery 1 2 3 4
(Truckloads)

1 $ 464 $ 513 $ 654 $ 867 75

2 $ 352 $ 216 $ 690 $ 791 125

3 $ 995 $ 682 $ 388 $ 685 100


Demand 80 65 70 85
(Truckloads)
Shipping cost
per truckload

Transportation-9
Example: P&T Co.

• Network representation

Transportation-10
Example: P&T Co.

• Linear programming formulation


Let xij denote…

Minimize

subject to

Transportation-11
General LP Formulation for Transportation
Problems

Transportation-12
Feasible Solutions

• A transportation problem will have feasible solutions if


and only if
m n

s  d
i 1
i
j 1
j

• How to deal with cases when the equation doesn’t hold?

Transportation-13
Integer Solutions Property: Unimodularity

• Unimodularity relates to the properties of the A matrix


(determinants of the submatrices, beyond scope)
• Transportation problems are unimodular, so we get the
integers solutions property:

For transportation problems, when every si and dj


have an integer value, every BFS is integer valued.

• Most network problems also have this property.

Transportation-14
Transportation Simplex Method

• Since any transportation problem can be formulated as


an LP, we can use the simplex method to find an optimal
solution
• Because of the special structure of a transportation LP,
the iterations of the simplex method have a very special
form
• The transportation simplex method is nothing but the
original simplex method, but it streamlines the iterations
given this special form

Transportation-15
Transportation Simplex Method

Initialization
(Find initial CPF solution)

Is the
current
Yes
CPF Stop
solution
optimal?

No
Move to a better
adjacent CPF solution

Transportation-16
The Transportation Simplex Tableau
Destination
Supply ui
Source 1 2 … n
c11 c12 c1n
1 … s1

c21 c22 c2n


2 … s2

… … … … … …

cm1 cm2 cmn


m … sm

Demand d1 d2 … dn
Z=
vj

Transportation-17
Prototype Problem

• Holiday shipments of iPods to distribution centers


• Production at 3 facilities,
– A, supply 200k
– B, supply 350k
– C, supply 150k
• Distribute to 4 centers,
– N, demand 100k
– S, demand 140k
– E, demand 300k
– W, demand 250k
• Total demand vs. total supply
Transportation-18
Prototype Problem
Destination
Supply ui
Source N S E W
16 13 22 17
A 200

14 13 19 15
B 350

9 20 23 10
C 150

0 0 0 0
Dummy 90

Demand 100 140 300 250


Z=
vj

Transportation-19
Finding an Initial BFS

• The transportation simplex starts with an initial basic


feasible solution (as does regular simplex)
• There are alternative ways to find an initial BFS, most
common are
– The Northwest corner rule
– Vogel’s method
– Russell’s method (beyond scope)

Transportation-20
The Northwest Corner Rule

• Begin by selecting x11, let x11 = min{ s1, d1 }


• Thereafter, if xij was the last basic variable selected,
– Select xi(j+1) if source i has any supply left
– Otherwise, select x(i+1)j

Transportation-21
The Northwest Corner Rule
Destination
Supply
Source N S E W
16 13 22 17
A 200
100 100
14 13 19 15
B 350
40 300 10
9 20 23 10
C 150
150
0 0 0 0
Dummy 90
90
Demand 100 140 300 250

Z = 10770
Transportation-22
Vogel’s Method

• For each row and column, calculate its difference:


= (Second smallest cij in row/col) - (Smallest cij in row/col)
• For the row/col with the largest difference, select entry
with minimum cij as basic
• Eliminate any row/col with no supply/demand left from
further steps
• Repeat until BFS found

Transportation-23
Vogel’s Method (1): calculate differences
Destination
Supply diff
Source N S E W
16 13 22 17
A 200 3

14 13 19 15
B 350 1

9 20 23 10
C 150 1

0 0 0 0
Dummy 90 0

Demand 100 140 300 250

diff 9 13 19 10

Transportation-24
Vogel’s Method (2): select xDummyE as basic
variable
Destination
Supply diff
Source N S E W
16 13 22 17
A 200 3

14 13 19 15
B 350 1

9 20 23 10
C 150 1

0 0 0 0
Dummy 90
90 0

Demand 100 140 300 250

diff 9 13 19 10

Transportation-25
Vogel’s Method (3): update supply, demand
and differences
Destination
Supply diff
Source N S E W
16 13 22 17
A 200 3

14 13 19 15
B 350 1

9 20 23 10
C 150 1

0 0 0 0
Dummy 90
--- ---

Demand 100 140 210 250

diff 5 0 3 5

Transportation-26
Vogel’s Method (4): select xCN as basic
variable
Destination
Supply diff
Source N S E W
16 13 22 17
A 200 3

14 13 19 15
B 350 1

9 20 23 10
C 100 150 1

0 0 0 0
Dummy 90
--- ---

Demand 100 140 210 250

diff 5 0 3 5

Transportation-27
Vogel’s Method (5): update supply, demand
and differences
Destination
Supply diff
Source N S E W
16 13 22 17
A 200 4

14 13 19 15
B 350 2

9 20 23 10
C 100 50 10

0 0 0 0
Dummy 90
--- ---

Demand --- 140 210 250

diff --- 0 3 5

Transportation-28
Vogel’s Method (6): select xCW as basic
variable
Destination
Supply diff
Source N S E W
16 13 22 17
A 200 4

14 13 19 15
B 350 2

9 20 23 10
C 100 50
50 10

0 0 0 0
Dummy 90
--- ---

Demand --- 140 210 250

diff --- 0 3 5

Transportation-29
Vogel’s Method (7): update supply, demand
and differences
Destination
Supply diff
Source N S E W
16 13 22 17
A 200 4

14 13 19 15
B 350 2

9 20 23 10
C 100 50
--- ---

0 0 0 0
Dummy 90
--- ---

Demand --- 140 210 200

diff --- 0 3 2

Transportation-30
Vogel’s Method (8): select xAS as basic
variable
Destination
Supply diff
Source N S E W
16 13 22 17
A 140 200 4

14 13 19 15
B 350 2

9 20 23 10
C 100 50
--- ---

0 0 0 0
Dummy 90
--- ---

Demand --- 140 210 200

diff --- 0 3 2

Transportation-31
Vogel’s Method (9): update supply, demand
and differences
Destination
Supply diff
Source N S E W
16 13 22 17
A 140 60 5

14 13 19 15
B 350 4

9 20 23 10
C 100 50
--- ---

0 0 0 0
Dummy 90
--- ---

Demand --- --- 210 200

diff --- --- 3 2

Transportation-32
Vogel’s Method (10): select xAW as basic
variable
Destination
Supply diff
Source N S E W
16 13 22 17
A 140 60 60 5

14 13 19 15
B 350 4

9 20 23 10
C 100 50
--- ---

0 0 0 0
Dummy 90
--- ---

Demand --- --- 210 200

diff --- --- 3 2

Transportation-33
Vogel’s Method (11): update supply, demand
and differences
Destination
Supply diff
Source N S E W
16 13 22 17
A 140 60 --- ---

14 13 19 15
B 350 4

9 20 23 10
C 100 50
--- ---

0 0 0 0
Dummy 90
--- ---

Demand --- --- 210 140

diff --- ---

Transportation-34
Vogel’s Method (12): select xBW and xBE as
basic variables
Destination
Supply diff
Source N S E W
16 13 22 17
A 140 60 --- ---

14 13 19 15
B 210 140 ---

9 20 23 10
C 100 50
--- ---

0 0 0 0
Dummy 90
--- ---

Demand --- --- --- ---


Z = 10330
diff --- ---

Transportation-35
Optimality Test

• In the regular simplex method, we needed to check the


row-0 coefficients of each nonbasic variable to check
optimality and we have an optimal solution if all are  0
• There is an efficient way to find these row-0 coefficients
for a given BFS to a transportation problem:
– Given the basic variables, calculate values of dual variables
• ui associated with each source
• vj associated with each destination
using cij – ui – vj = 0 for xij basic, or ui + vj = cij
(let ui = 0 for row i with the largest number of basic variables)
– Row-0 coefficients can be found from c’ij=cij-ui-vj for xij nonbasic

Transportation-36
Optimality Test (1)
Destination
Supply ui
Source N S E W
16 13 22 17
A 140 60 200

14 13 19 15
B 210 140 350

9 20 23 10
C 100 50 150

0 0 0 0
Dummy 90 90

Demand 100 140 300 250

vj

Transportation-37
Optimality Test (2)
• Calculate ui, vj using cij – ui – vj = 0 for xij basic
(let ui = 0 for row i with the largest number of basic variables)
Destination
Supply ui
Source N S E W
16 13 22 17
A 140 60 200 0

14 13 19 15
B 210 140 350 -2

9 20 23 10
C 100 50 150 -7

0 0 0 0
Dummy 90 90 -21

Demand 100 140 300 250


vj 16 13 21 17
Transportation-38
Optimality Test (3)
• Calculate c’ij=cij-ui-vj for xij nonbasic
Destination
Supply ui
Source N S E W
16 13 22 17
A 140 60 200 0
0 1
14 13 19 15
B 210 140 350 -2
0 2
9 20 23 10
C 100 50 150 -7
14 9
0 0 0 0
Dummy 90 90 -21
5 8 4
Demand 100 140 300 250
vj 16 13 21 17
Transportation-39
Optimal Solution
Sources Destinations

N Demand = 100
Supply = 200 A 140
60
S Demand = 140
Supply = 350 B 210
140 E Demand = 300
100 (shortage of 90)
Supply = 150 C
50 Demand = 250
W

Cost Z = 10330

Transportation-40
An Iteration

• Find the entering basic variable


– Select the variable with the largest negative c’ij
• Find the leaving basic variable
– Determine the chain reaction that would result from increasing
the value of the entering variable from zero
– The leaving variable will be the first variable to reach zero
because of this chain reaction

Transportation-41
Initial Solution Obtained by the Northwest
Corner Rule
Destination
Supply ui
Source N S E W
16 13 22 17
A 200 0
100 100 3 2
14 13 19 15
B 40 300
350 0
-2 10

9 20 23 10
C 150
150 -5
-2 12 9
0 0 0 0
Dummy 90 -15
-1 2 -4 90

Demand 100 140 300 250

vj 16 13 19 15
Transportation-42
Iteration 1
Destination
Supply ui
Source N S E W
16 13 22 17
A 200 0
100 100

14 13 19 - 15 +
B 40 300
350 0
10

9 20 23 10
C 150
150 -5

0 0 0 + 0 -
Dummy ? 90
90 -15

Demand 100 140 300 250

vj 16 13 19 15
Transportation-43
End of Iteration 1
Destination
Supply ui
Source N S E W
16 13 22 17
A 200
100 100

14 13 19 15
B 40 210
350
100

9 20 23 10
C 150
150

0 0 0 0
Dummy 90 90

Demand 100 140 300 250

vj
Transportation-44
Optimality Test
Destination
Supply ui
Source N S E W
16 13 22 17
A 200 0
100 100 3 2
14 13 19 15
B 40 210
350 0
-2 100

9 20 23 10
C 150
150 -5
-2 12 9
0 0 0 0
Dummy 90 90 -19
3 6 4
Demand 100 140 300 250

vj 16 13 19 15
Transportation-45
Iteration 2
Destination
Supply ui
Source N S E W
16 - 13 + 22 17
A 200 0
100 100

14 + 13 - 19 15
B 210
350 0
? 40 100

9 20 23 10
C 150
150 -5

0 0 0 0
Dummy 90 90 -19

Demand 100 140 300 250

vj 16 13 19 15
Transportation-46
End of Iteration 2
Destination
Supply ui
Source N S E W
16 13 22 17
A 200
60 140

14 13 19 15
B 40 210
350
100

9 20 23 10
C 150
150

0 0 0 0
Dummy 90 90

Demand 100 140 300 250

vj
Transportation-47
Optimality Test
Destination
Supply ui
Source N S E W
16 13 22 17
A 200 2
60 140 1 0
14 13 19 15
B 40 210
350 0
2 100

9 20 23 10
C 150
150 -5
0 14 9
0 0 0 0
Dummy 90 90 -19
5 8 4
Demand 100 140 300 250

vj 14 11 19 15 Z = 10330
Transportation-48
Optimal Solution
Sources Destinations

60 N Demand = 100
Supply = 200 A
140
40 S Demand = 140
Supply = 350 B 210

100 E Demand = 300


(shortage of 90)
Supply = 150 C
150
W Demand = 250

Cost Z = 10330

Transportation-49
The Assignment Problem

• The problem of finding the minimum-costly assignment


of a set of tasks (i=1,…,m) to a set of agents (j=1,…,n)
• Each task should be performed by one agent
• Each agent should perform one task
• A cost cij associated with each assignment

• We should have m=n (if not…?)

• A special type of linear programming problem, and


• A special type of transportation problem,
with si=dj= ?
Transportation-50
Prototype Problem

• Assign students to mentors


• Each assignment has a ‘mismatch’ index
• Minimize mismatches
Mentor
Supply
Student Snape McGonagall Lupin
5 2 3
Harry 1

1 4 5
Draco 1

2 4 4
Goyle 1

Demand 1 1 1

Transportation-51
Prototype Problem

• Linear programming formulation


Let xij denote…

Minimize

subject to

Transportation-52
General LP Formulation for Assignment
Problems

Transportation-53
Solving the Assignment Problem

• It is a linear programming problem, so we could use


regular simplex method
• It is a transportation problem, so we could use
transportation simplex method
• However, it has a very special structure, such that it can
be solved in polynomial time
• Many such algorithms exist, but the best known (and one
of the oldest) is the Hungarian Method

Transportation-54
The Hungarian Method
1. Subtract row minimums from each element in the row
2. Subtract column minimums from each element in the column
3. Cover the zeroes with as few lines as possible
4. If the number of lines = n, then optimal solution is hidden in zeroes
5. Otherwise, find the minimum cost that is not covered by any lines
1. Subtract it from all uncovered elements
2. Add it to all elements at intersections (covered by two lines)
6. Back to step 3

Transportation-55
The Hungarian Method – Optimal Solution

How to identify the optimal solution:


• Make the assignments one at a time in positions that
have zero elements.
• Begin with rows or columns that have only one zero.
Cross out both the row and the column involved after
each assignment is made.
• Move on to the rows and columns that are not yet
crossed out to select the next assignment, with
preference given to any such row or column that has
only one zero that is not crossed out.
• Continue until every row and every column has exactly
one assignment and so has been crossed out.
Transportation-56
Hungarian Method
Mentor Mentor
Student Snape McG Lupin Student Snape McG Lupin
Harry 5 2 3 Harry

Draco 1 4 5 Draco

Goyle 2 4 4 Goyle

Mentor Mentor
Student Snape McG Lupin Student Snape McG Lupin
Harry Harry

Draco Draco

Goyle Goyle

Transportation-57

Potrebbero piacerti anche