# Transportation, Assignment and Transshipment Problems - PowerPoint PPT Presentation

PPT – Transportation, Assignment and Transshipment Problems PowerPoint presentation | free to download - id: 769479-NGMxY The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
Title:

## Transportation, Assignment and Transshipment Problems

Description:

### Transportation, Assignment and Transshipment Problems CPM and Critical Path Theorem: The minimum length of the schedule is the length of the longest path. – PowerPoint PPT presentation

Number of Views:137
Avg rating:3.0/5.0
Slides: 156
Provided by: t2366
Category:
Tags:
Transcript and Presenter's Notes

Title: Transportation, Assignment and Transshipment Problems

1
Transportation, Assignment and Transshipment
Problems

2
Applications of Network Optimization
Applications
Physical analogof nodes
Physical analogof arcs
Flow
Communicationsystems
phone exchanges, computers, transmission facilit
ies, satellites
Cables, fiber optic links, microwave relay
Voice messages, Data, Video transmissions
Hydraulic systems
Pumping stationsReservoirs, Lakes
Pipelines
Water, Gas, Oil,Hydraulic fluids
Integrated computer circuits
Gates, registers,processors
Wires
Electrical current
Mechanical systems
Joints
Rods, Beams, Springs
Heat, Energy
Transportationsystems
Intersections, Airports,Rail yards
Highways,Airline routes Railbeds
Passengers, freight, vehicles, operators
3
Description
• 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. While trying to
find the best way, generally a variable cost of
shipping the product from one supply point to a
demand point or a similar constraint should be
taken into consideration.

4
7.1 Formulating Transportation Problems
• Example 1 Powerco has three electric power
plants that supply the electric needs of four
cities.
• The associated supply of each plant and demand of
each city is given in the table 1.
• The cost of sending 1 million kwh of electricity
from a plant to a city depends on the distance
the electricity must travel.

5
Transportation tableau
• A transportation problem is specified by the
supply, the demand, and the shipping costs. So
the relevant data can be summarized in a
transportation tableau. The transportation
tableau implicitly expresses the supply and
demand constraints and the shipping cost between
each demand and supply point.

6
Table 1. Shipping costs, Supply, and Demand for
Powerco Example
From To To To To To
From City 1 City 2 City 3 City 4 Supply (Million kwh)
Plant 1 8 6 10 9 35
Plant 2 9 12 13 7 50
Plant 3 14 9 16 5 40
Demand (Million kwh) 45 20 30 30
Transportation Tableau
7
Solution
• Decision Variable
• Since we have to determine how much electricity
is sent from each plant to each city
• Xij Amount of electricity produced at plant i
and sent to city j
• X14 Amount of electricity produced at plant 1
and sent to city 4

8
2. Objective function
• Since we want to minimize the total cost of
shipping from plants to cities
• Minimize Z 8X116X1210X139X14
• 9X2112X2213X237X24
• 14X319X3216X335X34

9
3. Supply Constraints
• Since each supply point has a limited production
capacity
• X11X12X13X14 lt 35
• X21X22X23X24 lt 50
• X31X32X33X34 lt 40

10
4. Demand Constraints
• Since each supply point has a limited production
capacity
• X11X21X31 gt 45
• X12X22X32 gt 20
• X13X23X33 gt 30
• X14X24X34 gt 30

11
5. Sign Constraints
• Since a negative amount of electricity can not be
shipped all Xijs must be non negative
• Xij gt 0 (i 1,2,3 j 1,2,3,4)

12
LP Formulation of Powercos Problem
• Min Z 8X116X1210X139X149X2112X2213X237X24
• 14X319X3216X335X34
• S.T. X11X12X13X14 lt 35 (Supply Constraints)
• X21X22X23X24 lt 50
• X31X32X33X34 lt 40
• X11X21X31 gt 45 (Demand Constraints)
• X12X22X32 gt 20
• X13X23X33 gt 30
• X14X24X34 gt 30
• Xij gt 0 (i 1,2,3 j 1,2,3,4)

13
General Description of a Transportation Problem
1. A set of m supply points from which a good is
shipped. Supply point i can supply at most si
units.
2. A set of n demand points to which the good is
shipped. Demand point j must receive at least di
units of the shipped good.
3. Each unit produced at supply point i and shipped
to demand point j incurs a variable cost of cij.

14
• Xij number of units shipped from supply point i
to demand point j

15
Balanced Transportation Problem
• If Total supply equals to total demand, the
problem is said to be a balanced transportation
problem

16
Balancing a TP if total supply exceeds total
demand
• If total supply exceeds total demand, we can
balance the problem by adding dummy demand point.
Since shipments to the dummy demand point are not
real, they are assigned a cost of zero.

17
Balancing a transportation problem if total
supply is less than total demand
• If a transportation problem has a total supply
that is strictly less than total demand the
problem has no feasible solution. There is no
doubt that in such a case one or more of the
demand will be left unmet. Generally in such
situations a penalty cost is often associated
with unmet demand and as one can guess this time
the total penalty cost is desired to be minimum

18
7.2 Finding Basic Feasible Solution for TP
• Unlike other Linear Programming problems, a
balanced TP with m supply points and n demand
points is easier to solve, although it has m n
equality constraints. The reason for that is, if
a set of decision variables (xijs) satisfy all
but one constraint, the values for xijs will
satisfy that remaining constraint automatically.

19
Methods to find the bfs for a balanced TP
• There are three basic methods
• Northwest Corner Method
• Minimum Cost Method
• Vogels Method

20
1. 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).

21
According to the explanations in the previous
slide we can set x113 (meaning demand of demand
point 1 is satisfied by supply point 1).
22
After 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).
23
After applying the same procedure, we saw that we
can go south this time (meaning demand point 2
needs more supply by supply point 2).
24
Finally, we will have the following bfs, which
is x113, x122, x223, x232, x241, x342
25
2. 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

26
• 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.

27
An example for Minimum Cost MethodStep 1 Select
the cell with minimum cost.
28
Step 2 Cross-out column 2
29
Step 3 Find the new cell with minimum shipping
cost and cross-out row 2
30
Step 4 Find the new cell with minimum shipping
cost and cross-out row 1
31
Step 5 Find the new cell with minimum shipping
cost and cross-out column 1
32
Step 6 Find the new cell with minimum shipping
cost and cross-out column 3
33
Step 7 Finally assign 6 to last cell. The bfs is
found as X115, X212, X228, X315, X334 and
X346
34
3. 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. 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.

35
An example for Vogels MethodStep 1 Compute the
penalties.
36
Step 2 Identify the largest penalty and assign
the highest possible value to the variable.
37
Step 3 Identify the largest penalty and assign
the highest possible value to the variable.
38
Step 4 Identify the largest penalty and assign
the highest possible value to the variable.
39
Step 5 Finally the bfs is found as X110, X125,
X135, and X2115
40
7.3 The Transportation Simplex Method
• In this section we will explain how the simplex
algorithm is used to solve a transportation
problem.

41
How to Pivot a Transportation Problem
• Based on the transportation tableau, the
following steps should be performed.
• Step 1. Determine (by a criterion to be developed
shortly, for example northwest corner method) the
variable that should enter the basis.
• Step 2. Find the loop (it can be shown that there
is only one loop) involving the entering variable
and some of the basic variables.
• Step 3. Counting the cells in the loop, label
them as even cells or odd cells.

42
• Step 4. Find the odd cells whose variable assumes
the smallest value. Call this value ?. The
variable corresponding to this odd cell will
leave the basis. To perform the pivot, decrease
the value of each odd cell by ? and increase the
value of each even 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 an odd 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 odd cell
in the loop equals ?, you may arbitrarily choose
one of these odd cells to leave the basis again
a degenerate bfs will result

43
7.5. Assignment Problems
• Example 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.

44
• Setup times
• (Also called the cost matrix)

Time (Hours) Time (Hours) Time (Hours) 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
45
The Model
• According to the setup table Machincos problem
can be formulated as follows (for i,j1,2,3,4)

46
• For the model on the previous page note that
• Xij1 if machine i is assigned to meet the
demands of job j
• Xij0 if machine i is not assigned to meet the
demands of job j
• In general an assignment problem is balanced
transportation problem in which all supplies and
demands are equal to 1.

47
The Assignment Problem
• In general the LP formulation is given as
• Minimize

Each supply is 1
Each demand is 1
48
• The Air Force has used this for assigning
thousands of people to jobs.
• This is a classical problem. Research on the
assignment problem predates research on LPs.
• Very efficient special purpose solution
techniques exist.
• 10 years ago, Yusin Lee and J. Orlin solved a
problem with 2 million nodes and 40 million arcs
in ½ hour.

49
• Although the transportation simplex appears to be
very efficient, there is a certain class of
transportation problems, called assignment
problems, for which the transportation simplex is
often very inefficient. For that reason there is
an other method called The Hungarian Method. The
steps of The Hungarian Method are as listed
below
• Step1. Find a bfs. Find the minimum element in
each row of the mxm cost matrix. Construct a new
matrix by subtracting from each cost the minimum
cost in its row. For this new matrix, find the
minimum cost in each column. Construct a new
matrix (reduced cost matrix) by subtracting from
each cost the minimum cost in its column.

50
• Step2. Draw the minimum number of lines
(horizontal and/or vertical) that are needed to
cover all zeros in the reduced cost matrix. If m
lines are required , an optimal solution is
available among the covered zeros in the matrix.
If fewer than m lines are required, proceed to
step 3.
• Step3. Find the smallest nonzero element (call
its value k) in the reduced cost matrix that is
uncovered by the lines drawn in step 2. Now
subtract k from each uncovered element of the
reduced cost matrix and add k to each element

51
7.6 Transshipment Problems
• A transportation problem allows only shipments
that go directly from supply points to demand
points. In many situations, shipments are allowed
between supply points or between demand points.
Sometimes there may also be points (called
transshipment points) through which goods can be
transshipped on their journey from a supply point
to a demand point. Fortunately, the optimal
solution to a transshipment problem can be found
by solving a transportation problem.

52
Transshipment Problem
• An extension of a transportation problem
• More general than the transportation problem in
that in this problem there are intermediate
may be allowed between supply points and/or
between demand points
• LP Formulation
• Supply point it can send goods to another point
but cannot receive goods from any other point
• Demand point It can receive goods from other
points but cannot send goods to any other point
• Transshipment point It can both receive goods
from other points send goods to other points

53
• The following steps describe how the optimal
solution to a transshipment problem can be found
by solving a transportation problem.
• Step1. If necessary, add a dummy demand point
(with a supply of 0 and a demand equal to the
problems excess supply) to balance the problem.
Shipments to the dummy and from a point to itself
will be zero. Let s total available supply.
• Step2. Construct a transportation tableau as
follows A row in the tableau will be needed for
each supply point and transshipment point, and a
column will be needed for each demand point and
transshipment point.

54
• Each supply point will have a supply equal to
its original supply, and each demand point will
have a demand to its original demand. Let s
total available supply. Then each transshipment
point will have a supply equal to (points
original supply)s and a demand equal to (points
original demand)s. This ensures that any
transshipment point that is a net supplier will
have a net outflow equal to points original
supply and a net demander will have a net inflow
equal to points original demand. Although we
dont know how much will be shipped through each
transshipment point, we can be sure that the
total amount will not exceed s.

55
Transshipment Example
• Example 5 Widgetco manufactures widgets at two
factories, one in Memphis and one in Denver. The
Memphis factory can produce as 150 widgets, and
the Denver factory can produce as many as 200
widgets per day. Widgets are shipped by air to
customers in LA and Boston. The customers in each
city require 130 widgets per day. Because of the
deregulation of airfares, Widgetco believes that
it may be cheaper first fly some widgets to NY or
Chicago and then fly them to their final
destinations. The cost of flying a widget are
shown next. Widgetco wants to minimize the total
cost of shipping the required widgets to
customers.

56
Transportation Tableau Associated with the
Transshipment Example
• NY Chicago LA Boston Dummy
Supply
• Memphis 8 13 25 28
0 150
• Denver 15 12 26 25
0 200
• NY 0 6 16 17
0 350
• Chicago 6 0 14 16
0 350
• Demand 350 350 130 130
90
• Supply points Memphis, Denver
• Demand Points LA Boston
• Transshipment Points NY, Chicago
• The problem can be solved using the
transportation simplex method

57
Limitations of Transportation Problem
• One commodity ONLY any one product supplied and
demanded at multiple locations
• Merchandise
• Electricity, water
• Invalid for multiple commodities (UNLESS
transporting any one of the multiple commodities
is completely independent of transporting any
other commodity and hence can be treated by
itself alone)
• Example transporting product 1 and product 2
from the supply points to the demand points where
the total amount (of the two products)
transported on a link is subject to a capacity
constraint
• Example where economy of scale can be achieved
by transporting the two products on the same link
at a larger total volume and at a lower unit cost
of transportation

58
Limitations of Transportation Problem
• Difficult to generalize the technique to
accommodate (these are generic difficulty for
mathematical programming, including linear and
non-linear programming
• Economy of scale the per-unit cost of
transportation on a link decreasing with the
volume (nonlinear and concave there is a trick
to convert a non-linear program with a piecewise
linear but convex objective function to a linear
program no such tricks exists for a piecewise
linear but concave objective function)
• Fixed-cost transportation usually involves fixed
charges. For example, the cost of truck rental
(or cost of trucking in general) consists of a
fixed charge that is independent of the mileage
and a mileage charge that is proportional to the
total mileage driven. Such fixed charges render
the objective function NON-LINEAR and CONCAVE and
make the problem much more difficult to solve

59
Chapter 8Network Models

60
Networks are Everywhere
• Physical Networks
• Railway Networks
• Airline traffic Networks
• Electrical networks, e.g., the power grid
• Abstract networks
• organizational charts
• precedence relationships in projects
• Others?

61
Overview
• Networks and graphs are powerful modeling tools.
• Most OR models have networks or graphs as a major
aspect
• Each representation has its advantages
• Major purpose of a representation
• efficiency in algorithms
• ease of use

62
Description
• Many important optimization problems can be
analyzed by means of graphical or network
representation. In this chapter the following
network models will be discussed
• 1. Shortest path problems
• 2. Maximum flow problems
• 3. CPM-PERT project scheduling models
• 4. Minimum Cost Network Flow Problems
• 5. Minimum spanning tree problems

63
WHAT IS CPM/PERT FOR?
• CPM/PERT are fundamental tools of project
management and are used for one of a kind, often
large and expensive, decisions such as building
docks, airports and starting a new factory.
Such decisions can be described via mathematical
models, but this is not essential. Some would
argue that CPM/PERT is not a pure OR topic.
CPM/PERT really falls into gray area that can be
claimed by fields other than OR also.

64
General Comments on CPM/PERT vs. ALB
• Assembly Line Balancing (ALB) are naturally not
discussed in this text, but it is important to be
aware of the huge difference between the ALB and
CPM/PERT concepts because the precedence diagrams
look so similar.
• Activity on node (AON) method of network
precedence diagram drawing and the ALB diagram
are identical looking at first. The ALB deals
with small repetitive items such as TVs while
CPM/PERT deals with large one of a kind projects.

65
Network Analysis and Their LP Connections
• Several Major Basic Classes of Network Problems
• How to recognize and formulate them? What are the
features they can be used to model? What are
their limitations?
• All can be formulated as an LP
• Several important ad-hoc algorithms and their
rationales will be provided
• Most efficient transportation of goods,
information etc. through a network
• Transshipment problem

66
Network Analysis and Their LP Connections
• Most efficient way to go from one point to
another in a distance network or networks
representing non-distance phenomenon, e.g., the
cost network representing production,
inventory, and other costs
• Shortest path problem
• Find the shortest path between two points in a
network
• Dijkstra algorithm
• Limitations Breakdown of the Dijkstras
algorithm when side constraints are added
• LP formulation
• LP formulation to accommodate some side
constraints, e.g., disallowing use of two
particular links in the shortest path
• An example application to non-distance contexts
Minimum production and inventory cost in the
context of dynamic programming.

67
Network Analysis and Their LP Connections
• Maximum amount of flow from one point to another
in a capacitated network
• Maximum flow problem
• The flow-augmenting algorithm
• Limitations breakdown of the flow-augmenting
• LP formulation
• LP formulation to accommodate some
side-constraints, e.g., no link carrying more
than 30 of the whole flow so as to avoid drastic
reduction of flow after failure of any one

68
8.1 Basic Definitions
• A graph or network is defined by two sets of
symbols
• Nodes A set of points or vertices(call it V)
are called nodes of a graph or network.
• Arcs An arc consists of an ordered pair of
vertices and represents a possible direction of
motion that may occur between vertices.

Nodes
1
2
Arc
1
2
69
• Chain A sequence of arcs such that every arc
has exactly one vertex in common with the
previous arc is called a chain.

Common vertex between two arcs
1
2
70
• Path A path is a chain in which the terminal
node of each arc is identical to the initial node
of next arc.
• For example in the figure below (1,2)-(2,3)-(4,3)
is a chain but not a path (1,2)-(2,3)-(3,4) is a
chain and a path, which represents a way to
travel from node 1 to node 4.

71
Essence of Dijkstras Shortest- Path Algorithm
• Key Points regarding the nature of the algorithm
• In each iteration, the shortest path from the
origin to one of the rest of the nodes is found.
That is, we obtain one new solved node in each
iteration. (More than one such path and node may
be found in one iteration when there is a tie.
There may also exist multiple shortest paths from
the origin to some nodes.)
• The algorithm stops when the shortest path to the
destination is found

72
Essence of Dijkstras Shortest- Path Algorithm
• General thought process involved in each
iteration
• Let S be the current set of solved nodes (the
set of nodes whose shortest paths from the origin
been found), N be the set of all nodes, and N S
be the set of unsolved nodes
• 1. The next solved node should be reachable
directly from one of the solved nodes via one
direct link or arc (these nodes can be called
neighboring nodes of the current solved nodes).
Therefore, we consider only such nodes and all
the links providing the access from the current
solved nodes to these neighboring nodes (but no

73
Essence of Dijkstras Shortest- Path Algorithm
• 2. For each of these neighboring nodes, find the
shortest path from the origin via only current
solved nodes and the corresponding distance from
the origin
• 3. In general, there exist multiple such
neighboring nodes.The shortest path to one of
these nodes is claimed to have been found. This
node is the one that has the shortest distance
from the origin among these neighboring nodes
being considered. Call this new node solved
node.

74
Algorithm for the Shortest Path Problem
• Objective of the nth iteration Find the nth
nearest node to the origin (to be repeated for n
1, 2, until the nth nearest node is the
destination)
• Input for the nth Iteration (n 1) nearest
nodes to the origin (solved for at the previous
iterations), including their shortest path and
distance from the origin. (These nodes plus the
origin will be called solved nodes the others
are unsolved nodes)
• Candidates for the nth nearest node Each solved
node that is directly connected by a link to one
or more unsolved nodes provides one candidate ?
the unsolved node with the shortest connecting
• Calculation of nth nearest node For each solved
node and its candidate, add the distance between
them and the distance of the shortest path from
the origin to this solved node. The candidate
with the smallest such total distance is the nth
nearest node (ties provide additional solved
nodes), and its shortest path is the one
generating this distance.

75
• Cars are not allowed into the park
• There is a narrow winding road system for trams
and for jeeps driven by the park rangers
• The road system is shown without curves in the
next slide
• Location O is the entrance into the park
• Other letters designate the locations of the
ranger stations
• The scenic wonder is at location T
• The numbers give the distance of these winding
• The park management wishes to determine which
route from the park entrance to station T has the
smallest total distance for the operation of the
trams

76
7
A
D
5
2
T
2
4
1
5
O
B
7
3
4
1
E
4
C
77
Dijkstras Algorithm for Shortest Path on a
Network with Positive Arc Lengths
• Oth iteration Shortest distance from node O to
Node O. S O.
• Ist iteration
• Step 1 Neighboring Nodes A, B, C
• Step 2 Shortest path from O to neighboring nodes
that traverse through the current set of solved
nodes S. Min 2, 5, 4 2 (corresponding to node
A).
• Step 3 The shortest path from O to A has been
found with a distance of 2. S O, A

78
Dijkstras Algorithm for Shortest Path on a
Network with Positive Arc Lengths
A
Solved Nodes
2
O
B
5
4
C
79
Dijkstras Algorithm for Shortest Path on a
Network with Positive Arc Lengths
• 2nd Iteration
• Step 1 Neighboring nodes B, C, D
• Step 2 Min (Min (2 2, 5), 4, (2 7)) 4.
• Step 3 Shortest path from B and C has been
found. S O, A, B, C

7
A
D
Current Solved Nodes
(2)
2
B
(0)
5
C
O
4
80
Dijkstras Algorithm for Shortest Path on a
Network with Positive Arc Lengths
• 3rd Iteration
• Step 1 Neighboring nodes D, E. Only AD, BD,
BE, and CE
• Step 2 Min(Min(2 7, 44), Min(4 3, 44)) 7
• Step 3 The shortest path to E has been found S
O, A, B, C, E

7
A
D
Current Solved Nodes
(2)
4
B
3
O
E
(4)
C
4
(4)
81
Dijkstras Algorithm for Shortest Path on a
Network with Positive Arc Lengths
• Iteration 4
• Step 1 Include (only) Nodes D and T. Include
only arcs AD, BD, ED, ET
• Step 2 Min((min(27, 44, 71), (77))) 8
• Step 3 Shortest path from node O to Node D has
been found. S O, A, B, C, D, E

7
A
D
(2)
4
O
1
B
(4)
T
E
Current solved nodes
7
(4)
(7)
C
82
Dijkstras Algorithm for Shortest Path on a
Network with Positive Arc Lengths
• Iteration 5
• Step 1 Include only node T and include arcs DT
and ET
• Step 2 Min(85, 77) 13 (no other competing
nodes)
• Step 3 The shortest path from the origin to T,
the destination, has been found, with a distance
of 13

A
(2)
D
Current solved nodes
5
(8)
T
B
(4)
(0)
O
7
E
(4)
C
(7)
83
Dijkstras Algorithm for Shortest Path on a
Network with Positive Arc Lengths
• Final Solution
• Incidentally, we have also found the nth nearest
node from the origin sequentially

A
(2)
(8)
2
2
5
D
4
T
O
B
1
(0)
3
(13)
4
(4)
E
(7)
C
(4)
84
Shortest-Path Algorithm Applied to Seervada Park
Problem
n Solved Nodes Directly Connected to Unsolved Nodes Closest Connected Unsolved Node Total Distance Involved Nth Nearest Node Minimum Distance Last Connection
1 O A 2 A 2 OA
2, 3 O A C B 4 224 C B 4 4 OC AB
4 A B C D E E 279 437 448 E 7 BE
5 A B E D DD 279 448 718 D D 8 8 BD ED
6 D E T T 8513 7714 T 13 DT
85
LP Formulation of the Shortest Path Problem
• Consider the following shortest path problem from
node 1 to node 6
• Send one unit of flow from node 1 to node 6

3
2
4
2
3
4
6
1
6
2
1
4
3
2
2
7
3
5
3
5
86
LP Formulation of the Shortest Path Problem
• Use flow conservation constraints
• (Outflow from any node inflow to that node) 0
• For origin 1
• For destination -1
• For all other nodes 0
• Let xj denote the flow along link j, j 1, 2,
.., 7, xj 0 or 1
• It turns out that this 0-1 constraints can be
replaced by 0 ? xj ? 1, which can in turn be
replaced by xj ? 0

87
LP Formulation of the Shortest Path Problem
• Min 4x1 3x2 3x3 2x4 3x5 2x6 2x7
• S.t. x1 x2
1
• -x1 x3 x4
0
• - x2 x5
0
• - x3 x6
0
• - x4 x5 x7
0
• - x6
x7 -1
• Xj ? 0, j 1, 2, , 7 (xj integers)

88
Maximum Flow Problem
• Maximum flow problem description
• All flow through a directed and connected network
originates at one node (source) and terminates at
one another node (sink)
• All the remaining nodes are transshipment nodes
• Flow through an arc is allowed only in the
direction indicated by the arrowhead, where the
maximum amount of flow is given by the capacity
of that arc. At the source, all arcs point away
from the node. At the sink, all arcs point into
the node
• The objective is to maximize the total amount of
flow from the source to the sink (measured as the
amount leaving the source or the amount entering
the sink)

89
Maximum Flow Problem
• Typical applications
• Maximize the flow through a companys
distribution network from its factories to its
customers
• Maximize the flow through a companys supply
network from its vendors to its factories
• Maximize the flow of oil through a system of
pipelines
• Maximize the flow of water through a system of
aqueducts
• Maximize the flow of vehicles through a
transportation network

90
Maximum Flow Algorithm
• Some Terminology
• The residual network shows the remaining arc
capacities for assigning additional flows after
some flows have been assigned to the arcs

The residual capacity for assigning some flow
from node B to node O
5
2
O
B
The residual capacity for flow from node O to
Node B
91
Maximum Flow Algorithm
• An augmenting path is a directed path from the
source to the sink in the residual network such
that every arc on this path has strictly positive
residual capacity
• The residual capacity of the augmenting path is
the minimum of these residual capacities (the
amount of flow that can feasibly be added to the
entire path)
• Basic idea
• Repeatedly select some augmenting path and add a
flow equal to its residual capacity to that path
in the original network. This process continues
until there are no more augmenting paths, so that
the flow from the source to the sink cannot be
increased further

92
Maximum Flow Algorithm
• The Augmenting Path Algorithm
• Assume that the arc capacities are either
integers or rational numbers
• 1. identify an augmenting path by finding some
directed path from the source to the sink in the
residual network such that every arc on this path
has strictly positive residual capacity. If no
such path exists, the net flows already assigned
constitute an optimal flow pattern
• 2. Identify the residual capacity c of this
augmenting path by finding the minimum of the
residual capacities of the arcs on this path.
Increase the flow in this path by c

93
Maximum Flow Example
• During the peak season the park management of the
Seervada park would like to determine how to
route the various tram trips from the park
entrance (Station O) to the scenic (Station T) to
maximize the number of trips per day. Each tram
will return by the same route it took on the
outgoing trip so the analysis focuses on outgoing
trips only. To avoid unduly disturbing the
ecology and wildlife of the region, strict upper
limits have been imposed on the number of
outgoing trips allowed per day in the outbound
the direction of travel for outgoing trips is
indicated by an arrow in the next slide. The
number at the base of the arrow gives the upper
limit on the number of outgoing trips allowed per
day.

94
Maximum Flow Example
• Consider the problem of sending as many units
from node O to node T for the following network
(current flow, capacity)

(0,3)
A
D
(0,9)
(0,5)
(0,1)
T
(0,4)
(0,1)
(0,7)
O
B
(0,6)
(0,5)
(0,4)
(0,2)
E
(0,4)
C
95
Maximum Flow Example
• Iteration 1 one of the several augmenting paths
is O?B?E?T, which has a residual capacity of
min7, 5, 6 5. By assigning the flow of 5 to
this path, the resulting network is shown above

(0,3)
A
D
(0,9)
(0,5)
(0,1)
T
(0,4)
(0,1)
(5,7)
O
B
(5,6)
(5,5)
(0,4)
(0,2)
E
(0,4)
C
96
Maximum Flow Example
• Iteration 2 Assign a flow of 3 to the augmenting
path O?A?D?T. The resulting residual network is

(3,3)
A
D
(3,9)
(3,5)
(0,1)
T
(0,4)
(0,1)
(5,7)
O
B
(5,6)
(5,5)
(0,4)
(0,2)
E
(0,4)
C
97
Maximum Flow Example
• Iteration 3 Assign a flow of 1 to the augmenting
path O?A?B?D?T. The resulting residual network is

(3,3)
A
D
(4,9)
(4,5)
(1,1)
T
(1,4)
(0,1)
(5,7)
O
B
(5,6)
(5,5)
(0,4)
(0,2)
E
(0,4)
C
98
Maximum Flow Example
• Iteration 4 Assign a flow of 2 to the augmenting
path O?B?D?T. The resulting residual network is

(3,3)
A
D
(6,9)
(4,5)
(1,1)
T
(3,4)
(0,1)
(7,7)
O
B
(5,6)
(5,5)
(0,4)
(0,2)
E
(0,4)
C
99
Maximum Flow Example
• Iteration 5 Assign a flow of 1 to the augmenting
path O?C?E?D?T. The resulting residual network is

(3,3)
A
D
(7,9)
(4,5)
(1,1)
T
(3,4)
(1,1)
(7,7)
O
B
(5,6)
(5,5)
(1,4)
(0,2)
E
(1,4)
C
100
Maximum Flow Example
• Iteration 6 Assign a flow of 1 to the augmenting
path O?C?E?T. The resulting residual network is

(3,3)
A
D
(7,9)
(4,5)
(1,1)
T
(3,4)
(1,1)
(7,7)
O
B
(6,6)
(5,5)
(2,4)
(0,2)
E
(2,4)
C
101
Maximum Flow Example
• There are no more flow augmenting paths, so the
current flow pattern is optimal

3
A
7
D
1
T
4
13
3
1
O
B
13
6
7
E
5
2
C
2
102
Maximum Flow Example
• Recognizing optimality
• Max-flow min-cut theorem can be useful
• A cut is defined as any set of directed arcs
containing at least one arc from every directed
path from the source to the sink
• For any particular cut, the cut value is the sum
of the arc capacities of the arcs of the cut
• The theorem states that, for any network with a
single source and sink, the maximum feasible flow
from the source to the sink equals the minimum
cut value for all cuts of the network

103
8.3 Maximum Flow Problems
• Many situations can be modeled by a network in
which the arcs may be thought of as having a
capacity that limits the quantity of a product
that may be shipped through the arc. In these
situations, it is often desired to transport the
maximum amount of flow from a starting point
(called the source) to a terminal point (called
the sink). Such problems are called maximum flow
problems.

104
An example for maximum flow problem
• Sunco Oil wants to ship the maximum possible
amount of oil (per hour) via pipeline from node
so to node si as shown in the figure below.

Arc Capacity
(so,1) 2
(so,2) 3
(1,2) 3
(1,3) 4
(3,si) 1
(2,si) 2
The various arcs represent pipelines of different
diameters. The maximum number of barrels of oil
that can be pumped through each arc is shown in
the table above (also called arc capacity).
105
• For reasons that will become clear soon, an
artificial arc called a0 is added from the sink
problem first we should determine the decision
variable.
• Xij Millions of barrels of oil per hour that
will pass through arc(i,j) of pipeline.
• For a flow to be feasible it needs to be in the
following range
• 0 lt flow through each arc lt arc capacity
• And
• Flow into node i Flow out from node i

106
• Let X0 be the flow through the artificial arc,
the conservation of flow implies that X0 total
amount of oil entering the sink. Thus, Suncos
goal is to maximize X0.
• Max Z X0
• S.t. Xso,1lt2 (Arc Capacity constraints)
• Xso,2lt3
• X12lt3
• X2,silt2
• X13lt4
• X3,silt1
• X0Xso,1Xso,2 (Node so flow constraints)
• Xso,1X12X13 (Node 1 flow constraints)
• Xso,2X12X2,si (Node 2 flow constraints)
• X13X3,si (Node 3 flow constraints)
• X3,siX2,siX0 (Node si flow constraints)
• Xijgt0

107
• One optimal solution to this LP is Z3, Xso,12,
X131, X121, Xso,21, X3,si1, X2,si2, Xo3.

108
8.6 Minimum Spanning Tree Problems
• Suppose that each arc (i,j) in a network has a
length associated with it and that arc (i,j)
represents a way of connecting node i to node j.
For example, if each node in a network represents
a computer in a computer network, arc(i,j) might
represent an underground cable that connects
computer i to computer j. In many applications,
we want to determine the set of arcs in a network
that connect all nodes such that the sum of the
length of the arcs is minimized. Clearly, such a
group of arcs contain no loop.

109
Minimum Spanning Tree Problem
• An undirected and connected network is being
considered, where the given information includes
some measure of the positive length (distance,
cost, time, etc.) associated with each link
• Both the shortest path and minimum spanning tree
problems involve choosing a set of links that
have the shortest total length among all sets of
links that satisfy a certain property
• For the shortest-path problem this property is
that the chosen links must provide a path between
the origin and the destination
• For the minimum spanning tree problem, the
required property is that the chosen links must
provide a path between each pair of nodes

110
Some Applications
• Design of telecommunication networks (fiber-optic
networks, computer networks, leased-line
telephone networks, cable television networks,
etc.)
• Design of lightly used transportation network to
minimize the total cost of providing the links
• Design of a network of high-voltage electrical
transmission lines
• Design of a network of wiring on electrical
equipment (e.g., a digital computer system) to
minimize the total length of the wire
• Design of a network of pipelines to connect a
number of locations

111
• For a network with n nodes, a spanning tree is a
group of n-1 arcs that connects all nodes of the
network and contains no loops.

12
1
2
(1,2)-(2,3)-(3,1) is a loop
4
7
(1,3)-(2,3) is the minimum spanning tree
3
112
Minimum Spanning Tree Problem Description
• You are given the nodes of the network but not
links and the positive length for each if it is
inserted into the network (alternative measures
for length of a link include distance, cost, and
time)
• You wish to design the network by inserting
enough links to satisfy the requirement that
there be a path between every pair of nodes
• The objective is to satisfy this requirement in a
way that minimizes the total length of links
inserted into the network

113
Minimum Spanning Tree Algorithm
• Greedy Algorithm
• 1. Select any node arbitrarily, and then connect
• 2. Identify the unconnected node that is closest
to a connected node, and then connect these two
step until all nodes have been connected
• 3. Tie breaking Ties for the nearest distinct
node (step 1) or the closest unconnected node
(step 2) may be broken arbitrarily, and the
algorithm will still yield an optimal solution.
• Fastest way of executing algorithm manually is
the graphical approach illustrated next

114
• Example The State University campus has five
computers. The distances between computers are
given in the figure below. What is the minimum
length of cable required to interconnect the
computers? Note that if two computers are not
connected this is because of underground rock
formations.

115
• Solution We want to find the minimum spanning
tree.
• Iteration 1 Following the MST algorithm
discussed before, we arbitrarily choose node 1 to
begin. The closest node is node 2. Now C1,2,
C3,4,5, and arc(1,2) will be in the minimum
spanning tree.

1
1
2
2
2
6
5
4
3
2
4
4
3
5
116
• Iteration 2 Node 5 is closest to C. since node
5 is two blocks from node 1 and node 2, we may
include either arc(2,5) or arc(1,5) in the
minimum spanning tree. We arbitrarily choose to
include arc(2,5). Then C1,2,5 and C3,4.

1
1
2
2
2
6
5
4
3
2
4
4
3
5
117
• Iteration 3 Since node 3 is two blocks from
node 5, we may include arc(5,3) in the minimum
spanning tree. Now C1,2,5,3 and C4.

1
1
2
2
2
6
5
4
3
2
4
4
3
5
118
• Iteration 4 Node 5 is the closest node to node
4. Thus, we add arc(5,4) to the minimum spanning
tree.
• We now have a minimum spanning tree consisting of
arcs(1,2), (2,5), (5,3), and (5,4). The length of
the minimum spanning tree is 12249 blocks.

1
1
2
2
2
6
5
4
3
2
4
4
3
5
119
8.4 CPM and PERT
• Network models can be used as an aid in the
scheduling of large complex projects that consist
of many activities.
• CPM If the duration of each activity is known
with certainty, the Critical Path Method (CPM)
can be used to determine the length of time
required to complete a project.
• PERT If the duration of activities is not known
with certainty, the Program Evaluation and Review
Technique (PERT) can be used to estimate the
probability that the project will be completed by

120
CPM and PERT are used in many applications
including the following
• Scheduling construction projects such as office
buildings, highways and swimming pools
• Developing countdown and hold procedure for
the launching of space crafts
• Installing new computer systems
• Designing and marketing new products
• Completing corporate mergers
• Building ships

121
Project Planning, Scheduling and Control
• Planning organized approach to accomplish the
goal of minimizing elapsed time of project
interactions on a network estimates time and
resources
• Scheduling a time-phased commitment of resources
• identifies critical tasks which, if delayed, will
delay the projects completion time.
• Control means of monitoring and revising the
progress of a project

122
Network Representation
• Tasks (or activities) are represented by arcs
• Each task has a duration denoted by tj
• Node 0 represents the start and node n denotes
the finish of the project
• Precedence relations are shown by arcs
• specify what other tasks must be completed before
the task in question can begin.
beginning to end
• Critical path is the longest path

123
• To apply CPM and PERT, we need a list of
activities that make up the project. The project
is considered to be completed when all activities
have been completed. For each activity there is a
set of activities (called the predecessors of the
activity) that must be completed before the
activity begins. A project network is used to
represent the precedence relationships between
activities. In the following discussions the
activities will be represented by arcs and the
nodes will be used to represent completion of a
set of activities (Activity on arc (AOA) type of
network).

A
B
1
3
2
Activity A must be completed before activity B
starts
124
• While constructing an AOA type of project diagram
one should use the following rules
• Node 1 represents the start of the project. An
arc should lead from node 1 to represent each
activity that has no predecessors.
• A node (called the finish node) representing the
completion of the project should be included in
the network.
• Number the nodes in the network so that the node
representing the completion time of an activity
always has a larger number than the node
representing the beginning of an activity.
• An activity should not be represented by more
than one arc in the network
• Two nodes can be connected by at most one arc.
• To avoid violating rules 4 and 5, it can be
sometimes necessary to utilize a dummy activity
that takes zero time.

125
Formulating the CPM Problem
• Input Data
• Precedence relationships and durations
• Decision Variable
• ESi Earliest starting times for each of the
• Objective
• Minimize the elapsed time of the project
• where node n is the last node in the graph

126
Constraints
• If tj is the earliest starting time of a task,
ESi is the earliest starting time of an immediate
predecessor and ti is the duration of the
immediate predecessor, then we have
• ESj ³ ESi ti for every arc (i, j)

127
Critical Path Definitions
• Earliest Start Time (ES) is the earliest time a
• Earliest Finish Time (EF) is the earliest time a
• Latest Start Time (LS) is the latest time a task
can feasibly start, without delaying the project
at all.
• Latest Finish Time (LF) is the latest time a task
can feasibly end, without delaying the project at
all

128
Critical Path Method
• Forward Pass
• Go through the jobs in order
• Start each job at the earliest time while
satisfying the precedence constraints
• It finds the earliest start and finish times
• EFi ESi ti
• Earliest start time for an activity leaving a
particular node is equal to the largest of the
earliest finish times for all activities entering
the node.

129
CPM The Backward Pass
• Fix the finishing time
• Look at tasks in reverse order
• Lay out tasks one at a time on the Gantt chart
starting at the finish and working backwards to
the start
• Start the task at its latest starting time
• LSi LFi - ti
• Latest finish time for an activity entering a
particular node is equal to the smallest of the
latest start times for all activities leaving the
node.

130
CPM and Critical Path
• Theorem The minimum length of the schedule is
the length of the longest path. The longest
path is called the critical path
• Look for tasks whose earliest start time and
latest start time are the same. These tasks are
critical, and are on a critical path.

131
CPM and Critical Path
• Critical path are found by identifying those
• No flexibility in scheduling tasks on the
critical path
• The makespan of the critical path equals the LF
• Slack is the difference between LS and ES, or LF
and EF. An activity with a slack of zero is on
the critical path

132
An example for CPM
• Widgetco is about to introduce a new product. A
list of activities and the precedence
relationships are given in the table below. Draw
a project diagram for this project.

Activity Predecessors Duration(days)
Atrain workers - 6
Bpurchase raw materials - 9
Cproduce product 1 A, B 8
Dproduce product 2 A, B 7
Etest product 2 D 10
Fassemble products 12 C, E 12
133
Project Diagram for Widgetco
C 8
F 12
6
5
3
A 6
D 7
1
Dummy
E 10
B 9
4
2
Node 1 starting node Node 6 finish node
134
Project Diagram for Widgetco Forward Pass (ES,EF)
(9,17)
(26,38)
C 8
F 12
(0,6)
6
5
3
A 6
D 7
1
Dummy
E 10
(16,26)
(9,16)
B 9
4
2
(0,9)
Node 1 starting node Node 6 finish node
135
Project Diagram for Widgetco Backward Pass (LS,LF)
(18,26)
(26,38)
C 8
F 12
(3,9)
6
5
3
A 6
D 7
1
Dummy
E 10
(16,26)
(9,16)
B 9
4
2
(0,9)
Node 1 starting node Node 6 finish node
136
• For Widgetco example ES(i)s and LS(i)s are as
follows

Activity ES(i) LS(i)
A 0 3
B 0 0
C 9 18
D 9 9
E 16 16
F 26 26
137
• According to the table on the previous slide the
slacks are computed as follows
• Activity B 0
• Activity A 3
• Activity D 0
• Activity C 9
• Activity E 0
• Activity F 0

138
Critical path
• An activity with a slack of zero is a critical
activity
• A path from node 1 to the finish node that
consists entirely of critical activities is
called a critical path.
• For Widgetco example B-D-E-F is a critical path.
• The Makespan is equal to 38

139
Using LP to find a critical path
• Decision variable
• Xijthe time that the event corresponding to node
j occurs
• Since our goal is to minimize the time required
to complete the project, we use an objective
function of
• ZXF-X1
• Note that for each activity (i,j), before j
occurs , i must occur and activity (i,j) must be
completed.

140
• Min Z X6-X1
• S.T. X3gtX16 (Arc (1,3) constraint)
• X2gtX19 (Arc (1,2) constraint)
• X5gtX38 (Arc (3,5) constraint)
• X4gtX37 (Arc (3,4) constraint)
• X5gtX410 (Arc (4,5) constraint)
• X6gtX512 (Arc (5,6) constraint)
• X3gtX2 (Arc (2,3) constraint)
• The optimal solution to this LP is Z38, X10,
X29, X39, X416, X526, X638

141
• each takes 1 unit of time on average
• the time it takes is uniformly distributed
between 0 and 2.

Modeling Randomness
CPM (uses expected value)
The random schedule takes longer
142
On Incorporating Variability
• Program Evaluation and Review Technique (PERT)
• Attempts to incorporate variability in the
durations
• Assume mean, m, and variance, s2, of the
durations can be estimated