Anda di halaman 1dari 156

Transportation Models

& Variants


OR / TRNSPTN M / B.E. Prodn / SAMPRIT
Samprit
.
2
Case Study: Procter & Gamble
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
3
Applications
Physical analog
of nodes
Physical analog
of arcs
Flow
Communication
systems
phone exchanges,
computers,
transmission
facilities, satellites
Cables, fiber optic
links, microwave
relay links
Voice messages,
Data,
Video transmissions
Hydraulic systems
Pumping stations
Reservoirs, Lakes
Pipelines
Water, Gas, Oil,
Hydraulic fluids
Integrated
computer circuits
Gates, registers,
processors
Wires Electrical current
Mechanical systems Joints
Rods, Beams,
Springs
Heat, Energy
Transportation
systems
Intersections,
Airports,
Rail yards
Highways,
Airline routes
Rail beds
Passengers,
freight,
vehicles
Applications of Network Optimization
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
4
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.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
5
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.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
6
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.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
7
Table 1. Shipping costs, Supply, and
Demand for Powerco Example
From To
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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
8
Solution
1. Decision Variable:
Since we have to determine how much
electricity is sent from each plant to each city;

X
ij
= Amount of electricity produced at plant i
and sent to city j

X
14
= Amount of electricity produced at plant
1 and sent to city 4
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
9
2. Objective function
Since we want to minimize the total cost of
shipping from plants to cities;

Minimize Z = 8X
11
+6X
12
+10X
13
+9X
14
+9X
21
+12X
22
+13X
23
+7X
24
+14X
31
+9X
32
+16X
33
+5X
34
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
10
3. Supply Constraints
Since each supply point has a limited production
capacity;

X
11
+X
12
+X
13
+X
14
<= 35
X
21
+X
22
+X
23
+X
24
<= 50

X
31
+X
32
+X
33
+X
34
<= 40
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
11
4. Demand Constraints
Since each supply point has a limited production
capacity;

X
11
+X
21
+X
31
>= 45
X
12
+X
22
+X
32
>= 20

X
13
+X
23
+X
33
>= 30
X
14
+X
24
+X
34
>= 30

OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
12
5. Sign Constraints
Since a negative amount of electricity can not be
shipped all Xijs must be non negative;

Xij >= 0 (i= 1,2,3; j= 1,2,3,4)
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
13
LP Formulation of Powercos Problem
Min Z = 8X
11
+6X
12
+10X
13
+9X
14
+9X
21
+12X
22
+13X
23
+7X
24
+14X
31
+9X
32
+16X
33
+5X
34

S.T.: X
11
+X
12
+X
13
+X
14
<= 35 (Supply Constraints)
X
21
+X
22
+X
23
+X
24
<= 50

X
31
+X
32
+X
33
+X
34
<= 40
X
11
+X
21
+X
31
>= 45 (Demand Constraints)
X
12
+X
22
+X
32
>= 20

X
13
+X
23
+X
33
>= 30
X
14
+X
24
+X
34
>= 30
Xij >= 0 (i= 1,2,3; j= 1,2,3,4)
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
14
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 s
i

units.
2. A set of n demand points to which the good is
shipped. Demand point j must receive at least
d
i
units of the shipped good.
3. Each unit produced at supply point i and
shipped to demand point j incurs a variable
cost of c
ij
.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
15
X
ij
= number of units shipped from supply point i
to demand point j

) ,..., 2 , 1 ; ,..., 2 , 1 ( 0
) ,..., 2 , 1 (
) ,..., 2 , 1 ( . .
min
1
1
1 1
n j m i X
n j d X
m i s X t s
X c
ij
m i
i
j ij
n j
j
i ij
m i
i
n j
j
ij ij
= = >
= >
= s

=
=
=
=
=
=
=
=
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
16
Balanced Transportation Problem
If Total supply equals to total demand, the
problem is said to be a balanced transportation
problem:



=
=
=
=
=
n j
j
j
m i
i
i d s
1 1
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
17
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.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
18
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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
19
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 (x
ij
s) satisfy all but one
constraint, the values for x
ij
s will satisfy that
remaining constraint automatically.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
20
Methods to find the bfs for a balanced TP
There are three basic methods:

1. Northwest Corner Method

2. Minimum Cost Method

3. Vogels Method
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
21
1. Northwest Corner Method
To find the basic feasible solution by the NWC
method:
Begin in the upper left (northwest) corner of
the transportation tableau and set x
11
as large
as possible (here the limitations for setting x
11

to a larger number, will be the demand of
demand point 1 and the supply of supply point
1. Your x
11
value can not be greater than
minimum of this 2 values).
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
22
According to the explanations in the previous slide
we can set x
11
=3 (meaning demand of demand
point 1 is satisfied by supply point 1).

5
6
2
3 5 2 3
3 2
6
2
X 5 2 3
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
23
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).

3 2 X
6
2
X 3 2 3
3 2 X
3 3
2
X X 2 3
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
24
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).

3 2 X
3 2 1
2
X X X 3
3 2 X
3 2 1 X
2
X X X 2
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
25
Finally, we will have the following bfs, which is:
x
11
=3, x
12
=2, x
22
=3, x
23
=2, x
24
=1, x
34
=2

3 2 X
3 2 1 X
2 X
X X X X
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
26
2. Minimum Cost Method
The Northwest Corner Method dos not utilize
shipping costs. It can yield an initial basic
feasible solution easily but the total shipping cost
may be very high. The minimum cost method
uses shipping costs in order come up with a
basic feasible solution that has a lower cost. To
begin the minimum cost method, first we find the
decision variable with the smallest shipping cost
(X
ij
). Then assign X
ij
its largest possible value,
which is the minimum of s
i
and d
j
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
27
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 non crossed-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.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
An example for Minimum Cost Method
Step 1: Select the cell with minimum cost.
2 3 5 6
2 1 3 5
3 8 4 6
5
10
15
12 8 4 6
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
29
Step 2: Cross-out column 2
2 3 5 6
2 1 3 5
8
3 8 4 6
12 X 4 6
5
2
15
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
30
Step 3: Find the new cell with minimum shipping
cost and cross-out row 2
2 3 5 6
2 1 3 5
2 8
3 8 4 6
5
X
15
10 X 4 6
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
31
Step 4: Find the new cell with minimum shipping
cost and cross-out row 1
2 3 5 6
5
2 1 3 5
2 8
3 8 4 6
X
X
15
5 X 4 6
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
32
Step 5: Find the new cell with minimum shipping
cost and cross-out column 1
2 3 5 6
5
2 1 3 5
2 8
3 8 4 6
5
X
X
10
X X 4 6
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
33
Step 6: Find the new cell with minimum shipping
cost and cross-out column 3
2 3 5 6
5
2 1 3 5
2 8
3 8 4 6
5 4
X
X
6
X X X 6
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
34
Step 7: Finally assign 6 to last cell. The bfs is found
as: X
11
=5, X
21
=2, X
22
=8, X
31
=5, X
33
=4 and X
34
=6
2 3 5 6
5
2 1 3 5
2 8
3 8 4 6
5 4 6
X
X
X
X X X X
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
35
3. Vogels Method
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.
.
36
An example for Vogels Method
Step 1: Compute the penalties.
Supply Row Penalty
6 7 8
15 80 78
Demand
Column Penalty 15-6=9 80-7=73 78-8=70
7-6=1
78-15=63
15 5 5
10
15
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
37
Step 2: Identify the largest penalty and assign the
highest possible value to the variable.
Supply Row Penalty
6 7 8
5
15 80 78
Demand
Column Penalty 15-6=9 _ 78-8=70
8-6=2
78-15=63
15 X 5
5
15
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
38
Step 3: Identify the largest penalty and assign the
highest possible value to the variable.
Supply Row Penalty
6 7 8
5 5
15 80 78
Demand
Column Penalty 15-6=9 _ _
_
_
15 X X
0
15
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
39
Step 4: 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
Demand
Column Penalty _ _ _
_
_
15 X X
X
15
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
40
Step 5: Finally the bfs is found as X
11
=0, X
12
=5,
X
13
=5, and X
21
=15
Supply Row Penalty
6 7 8
0 5 5
15 80 78
15
Demand
Column Penalty _ _ _
_
_
X X X
X
X
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
41
7.3 The Transportation Simplex Method
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
In this section we will explain how the simplex
algorithm is used to solve a transportation
problem.
.
42
How to Pivot a Transportation Problem
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.
.
43
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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
.
44
7.5. Assignment Problems
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.
.
45
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
Setup times
(Also called the cost matrix)
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
.
46
The Model
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
According to the setup table Machincos problem
can be formulated as follows (for i,j=1,2,3,4):
1 0
1
1
1
1
1
1
1
1 . .
10 6 2 9 3 8 7
5 6 12 2 7 8 5 14 min
44 34 24 14
43 33 23 13
42 32 22 12
41 31 21 11
44 43 42 41
34 33 32 31
24 23 22 21
14 13 12 11
44 43 42 41 34 33 32 31
24 23 22 21 14 13 12 11
= =
= + + +
= + + +
= + + +
= + + +
= + + +
= + + +
= + + +
= + + +
+ + + + + + + +
+ + + + + + + =
ij ij orX X
X X X X
X X X X
X X X X
X X X X
X X X X
X X X X
X X X X
X X X X t s
X X X X X X X X
X X X X X X X X Z
.
47
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
For the model on the previous page note that:

X
ij
=1 if machine i is assigned to meet the
demands of job j

X
ij
=0 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.
.
48
The Assignment Problem
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
In general the LP formulation is given as

Minimize
1 1
1
1
1 1
1 1
0
, , ,
, , ,
or 1,
n n
ij ij
i j
n
ij
j
n
ij
i
ij
c x
x i n
x j n
x ij
= =
=
=
= =
= =
=

Each supply is 1
Each demand is 1
.
49
Comments on the Assignment
Problem
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.
.
50
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.
.
51
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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 that is covered by two
lines. Return to step2.
.
52
7.6 Transshipment Problems
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.
.
53
Transshipment Problem
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
An extension of a transportation problem
More general than the transportation problem in that in
this problem there are intermediate transshipment
points. In addition, shipments 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

.
54
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.
.
55
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.
.
56
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.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
57
Transportation Tableau Associated
with the Transshipment Example
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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
.
58
Limitations of Transportation Problem
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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
.
59
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

OR / TRNSPTN M / B.E. Prodn / SAMPRIT
Chapter 8
Network Models


OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
61
Networks are Everywhere
Physical Networks
Road Networks
Railway Networks
Airline traffic Networks
Electrical networks, e.g., the power grid
Abstract networks
organizational charts
precedence relationships in projects
Others?

OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
62
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

OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.

OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.

OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
66
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
Transportation problem (already discussed)
Transshipment problem
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
67
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.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
68
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 algorithm when
side-constraints are added
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 flow-carrying link
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.

1 2
Nodes
1 2
Arc
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
Chain: A sequence of arcs such that every
arc has exactly one vertex in common with
the previous arc is called a chain.


1 2
Common vertex
between two arcs
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.

2 3
1 4
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
72
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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
73
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 other links).
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
74
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.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
75
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 link (ties provide additional
candidates)
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.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
76
The Road System for Seervada Park
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 roads
in miles
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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
77
The Road System for Seervada Park
O
A
B
C
D
E
T
2
1
2
3
4
7
4
1
7
5
5
4
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
78
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}

OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
79
Dijkstras Algorithm for Shortest Path
on a Network with Positive Arc Lengths

O
A
B
C
Solved Nodes
2
5
4
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
80
Dijkstras Algorithm for Shortest Path
on a Network with Positive Arc Lengths
2
nd
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}

O
A
D
C
B
7
2
5
4
Current Solved Nodes
(2)
(0)
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
81
Dijkstras Algorithm for Shortest Path
on a Network with Positive Arc Lengths
3
rd
Iteration:
Step 1: Neighboring nodes = {D, E}. Only AD, BD, BE,
and CE
Step 2: Min(Min(2 + 7, 4+4), Min(4 + 3, 4+4)) = 7
Step 3: The shortest path to E has been found S = {O,
A, B, C, E}
O
A
B
C
D
E
7
4
3
4
Current Solved
Nodes
(2)
(4)
(4)
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
82
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(2+7, 4+4, 7+1), (7+7))) = 8
Step 3: Shortest path from node O to Node D has been
found. S = {O, A, B, C, D, E}

O
A
B
C
E
D
T
(2)
(4)
(4) (7)
7
4
1
7
Current solved nodes
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
83
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(8+5, 7+7) = 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

O
A
B
C
D
E
T
(0)
(2)
(4)
(4)
(8)
(7)
5
7
Current solved nodes
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
84
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

O
A
B
C
D
E
T
2
4
(0)
2
4
3
1
5
(2)
(4)
(4)
(7)
(8)
(13)
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
85
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
2+2=4
C
B
4
4
OC
AB
4 A
B
C
D
E
E
2+7=9
4+3=7
4+4=8

E

7


BE
5 A
B
E
D
D
D
2+7=9
4+4=8
7+1=8

D
D

8
8

BD
ED
6 D
E
T
T
8+5=13
7+7=14
T 13 DT
OR / TRNSPTN M / B.E. Prodn /
SAMPRIT
.
86
LP Formulation of the Shortest
Path Problem
Consider the following shortest path problem from
node 1 to node 6
A: denotes a link






Send one unit of flow from node 1 to node 6
1
2
3
4
5
6
4
3
2
3
3
2
1
2
5
4
3
6
7
2
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
87
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
s xj s 1, which can in turn be replaced by xj > 0
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
88
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)
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
89
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)

OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
90
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

OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
91
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

O B
2
5
The residual capacity for flow from node O to Node B
The residual capacity for assigning some flow from node B to node O
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
92
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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
93
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*

OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
94
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 direction on
each individual road. For each road 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.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
95
Maximum Flow Example
Consider the problem of sending as many units from
node O to node T for the following network (current flow,
capacity):
O
A
B
C
D
E
T
(0,5)

(0,2)
(0,1)
(0,5)
(0,4)
(0,6)
(0,4)
(0,1)
(0,3)
(0,9)
(0,7)
(0,4)
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
96
Maximum Flow Example
Iteration 1: one of the several augmenting paths is OBET, which has a
residual capacity of min{7, 5, 6} = 5. By assigning the flow of 5 to this path,
the resulting network is shown above
O
A
B
C
D
E
T
(0,5)

(0,2)
(0,1)
(5,5)
(0,4)
(5,6)
(0,4)
(0,1)
(0,3)
(0,9)
(5,7)
(0,4)
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
97
Maximum Flow Example
Iteration 2: Assign a flow of 3 to the augmenting
path OADT. The resulting residual network
is
O
A
B
C
D
E
T
(3,5)

(0,2)
(0,1)
(5,5)
(0,4)
(5,6)
(0,4)
(0,1)
(3,3)
(3,9)
(5,7)
(0,4)
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
98
Maximum Flow Example
Iteration 3: Assign a flow of 1 to the augmenting
path OABDT. The resulting residual
network is
O
A
B
C
D
E
T
(4,5)

(0,2)
(1,1)
(5,5)
(0,4)
(5,6)
(1,4)
(0,1)
(3,3)
(4,9)
(5,7)
(0,4)
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
99
Maximum Flow Example
Iteration 4: Assign a flow of 2 to the augmenting path OBDT.
The resulting residual network is

O
A
B
C
D
E
T
(4,5)

(0,2)
(1,1)
(5,5)
(0,4)
(5,6)
(3,4)
(0,1)
(3,3)
(6,9)
(7,7)
(0,4)
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
100
Maximum Flow Example
Iteration 5: Assign a flow of 1 to the augmenting
path OCEDT. The resulting residual
network is
O
A
B
C
D
E
T
(4,5)

(0,2)
(1,1)
(5,5)
(1,4)
(5,6)
(3,4)
(1,1)
(3,3)
(7,9)
(7,7)
(1,4)
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
101
Maximum Flow Example
Iteration 6: Assign a flow of 1 to the augmenting
path OCET. The resulting residual network
is
O
A
B
C
D
E
T
(4,5)

(0,2)
(1,1)
(5,5)
(2,4)
(6,6)
(3,4)
(1,1)
(3,3)
(7,9)
(7,7)
(2,4)
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
102
Maximum Flow Example
There are no more flow augmenting paths, so the
current flow pattern is optimal









13
O
C
A
B
E
D
T
13
4
7
2
1
3
3
5
6
1
7
2
OR / TRNSPTN M / B.E. Prodn /
SAMPRIT
.
103
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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.
so si 2 1
(2)2 (1)3 (2)2
(1)3
a0
3 (1)4
(1)1
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).
Arc Capacity
(so,1) 2
(so,2) 3
(1,2) 3
(1,3) 4
(3,si) 1
(2,si) 2
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
For reasons that will become clear soon, an
artificial arc called a
0
is added from the sink to
the source. To formulate an LP about this
problem first we should determine the
decision variable.

X
ij
= 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 <= flow through each arc <= arc capacity
And
Flow into node i = Flow out from node i
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
Let X
0
be the flow through the artificial arc, the
conservation of flow implies that X
0
= total amount of
oil entering the sink. Thus, Suncos goal is to
maximize X
0.

Max Z= X
0
S.t. X
so,1
<=2 (Arc Capacity constraints)
X
so,2
<=3
X
12
<=3
X
2,si
<=2
X
13
<=4
X
3,si
<=1
X
0
=X
so,1
+X
so,2
(Node so flow constraints)

X
so,1
=X
12
+X
13
(Node 1 flow constraints)

X
so,2
+X
12
=X
2,si
(Node 2 flow constraints)

X
13
=X
3,si
(Node 3 flow constraints)
X
3,si
+X
2,si
=X
0
(Node si flow constraints)

X
ij
>=0
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
One optimal solution to this LP is Z=3, X
so,1
=2,
X
13
=1, X
12
=1, X
so,2
=1, X
3,si
=1, X
2,si
=2, X
o
=3.

OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
110
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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
111
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 (rail
lines, roads, etc.)
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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.
1
3
2
12
7
4
(1,2)-(2,3)-(3,1) is a loop
(1,3)-(2,3) is the minimum spanning tree
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
113
Minimum Spanning Tree Problem
Description
You are given the nodes of the network but not
the links. Instead you are given the potential 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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
114
Minimum Spanning Tree Algorithm
Greedy Algorithm
1. Select any node arbitrarily, and then connect (i.e.,
add a link) to the nearest distinct node
2. Identify the unconnected node that is closest to a
connected node, and then connect these two nodes
(i.e., add a link between them). Repeat the 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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.
4
2
5
3
1
6
4
5
1
3
2
2
2
4
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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
C={1,2}, ={3,4,5}, and arc(1,2) will be in the
minimum spanning tree.
4
2
5
3
1
6
4
5
1
3
2
2
2
4
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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
C={1,2,5} and ={3,4}.
4
2
5
3
1
6
4
5
1
3
2
2
2
4
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
Iteration 3: Since node 3 is two blocks from
node 5, we may include arc(5,3) in the
minimum spanning tree. Now C={1,2,5,3} and
={4}.
4
2
5
3
1
6
4
5
1
3
2
2
2
4
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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
1+2+2+4=9 blocks.
4
2
5
3
1
6
4
5
1
3
2
2
2
4
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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 a
given deadline.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
122
Project Planning, Scheduling and
Control
Planning: organized approach to accomplish the
goal of minimizing elapsed time of project
defines objectives and tasks; represents tasks
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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
123
Network Representation
Tasks (or activities) are represented by arcs
Each task has a duration denoted by t
j

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.
A path is a sequence of linked tasks going from
beginning to end
Critical path is the longest path
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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).
1 3 2
A B
Activity A must be completed before activity B starts
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
126
Formulating the CPM Problem
Input Data:
Precedence relationships and durations
Decision Variable:
ES
i
: Earliest starting times for each of the tasks
Objective:
Minimize the elapsed time of the project
where node n is the last node in the graph
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
127
Constraints
If t
j
is the earliest starting time of a task, ES
i
is the
earliest starting time of an immediate predecessor and
t
i
is the duration of the immediate predecessor, then
we have
ES
j
> ES
i
+ t
i
for every arc (i, j)

OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
128
Critical Path Definitions
Earliest Start Time (ES) is the earliest time a
task can feasibly start
Earliest Finish Time (EF) is the earliest time a
task can feasibly end
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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
129
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
EF
i
= ES
i
+ t
i
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.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
130
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
LS
i
= LF
i
- t
i
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.

OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
131
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.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
132
CPM and Critical Path
Critical path are found by identifying those tasks
where ES=LS (equivalently, EF=LF)
No flexibility in scheduling tasks on the critical path
The makespan of the critical path equals the LF of
the final task
Slack is the difference between LS and ES, or LF
and EF. An activity with a slack of zero is on the
critical path
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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)
A:train workers - 6
B:purchase raw materials - 9
C:produce product 1 A, B 8
D:produce product 2 A, B 7
E:test product 2 D 10
F:assemble products 1&2 C, E 12
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
Project Diagram for Widgetco
1
6 5
4 2
3
A 6
B 9
Dummy
C 8
D 7
E 10
F 12
Node 1 = starting node
Node 6 = finish node
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
Project Diagram for Widgetco Forward Pass
(ES,EF)
1
6 5
4 2
3
A 6
B 9
Dummy
C 8
D 7
E 10
F 12
Node 1 = starting node
Node 6 = finish node
(0,6)
(0,9)
(9,17)
(9,16)
(16,26)
(26,38)
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
Project Diagram for Widgetco Backward Pass (LS,LF)
1
6 5
4 2
3
A 6
B 9
Dummy
C 8
D 7
E 10
F 12
Node 1 = starting node
Node 6 = finish node
(3,9)
(0,9)
(18,26)
(9,16)
(16,26)
(26,38)
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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

OR / TRNSPTN M / B.E. Prodn / SAMPRIT
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
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
Using LP to find a critical path
Decision variable:

X
ij
:the 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:

Z=X
F
-X
1

Note that for each activity (i,j), before j occurs , i
must occur and activity (i,j) must be completed.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
141
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
Min Z =X
6
-X
1
S.T. X
3
>=X
1
+6 (Arc (1,3) constraint)
X
2
>=X
1
+9 (Arc (1,2) constraint)
X
5
>=X
3
+8 (Arc (3,5) constraint)
X
4
>=X
3
+7 (Arc (3,4) constraint)
X
5
>=X
4
+10 (Arc (4,5) constraint)
X
6
>=X
5
+12 (Arc (5,6) constraint)
X
3
>=X
2
(Arc (2,3) constraint)

The optimal solution to this LP is Z=38, X
1
=0, X
2
=9,
X
3
=9, X
4
=16, X
5
=26, X
6
=38
.
142
On variability of tasks
Consider 10 independent tasks
each takes 1 unit of time on average
the time it takes is uniformly distributed between 0
and 2.


CPM (uses expected value) Modeling Randomness
The random schedule takes longer
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
143
On Incorporating Variability
Program Evaluation and Review Technique (PERT)
Attempts to incorporate variability in the durations
Assume mean, , and variance, o
2
, of the durations can be
estimated
Simulation
Model variability using any distribution
simulate to see how long a schedule will take

OR / TRNSPTN M / B.E. Prodn / SAMPRIT
PERT
CPM assumes that the duration of each activity
is known with certainty. For many projects, this
is clearly not applicable. PERT is an attempt to
correct this shortcoming of CPM by modeling the
duration of each activity as a random variable.
For each activity, PERT requires that the project
manager estimate the following three quantities:
a : estimate of the activitys duration under the
most favorable conditions
b : estimate of the activitys duration under the
least favorable conditions
m : most likely value for the activitys duration
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
Let T
ij
be the duration of activity (i,j). PERT
requires the assumption that T
ij
follows a
beta distribution. According to this
assumption, it can be shown that the mean
and variance of T
ij
may be approximated by
36
) (
var
6
4
) (
2
a b
T
b m a
T E
ij
ij

=
+ +
=
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
PERT requires the assumption that the
durations of all activities are independent.
Thus,

epath j i
ij T E
) , (
) (

epath j i
ij T
) , (
var
: expected duration of activities on any path
: variance of duration of activities on any path
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
Let CP be the random variable denoting the
total duration of the activities on a critical
path found by CPM. PERT assumes that the
critical path found by CPM contains enough
activities to allow us to invoke the Central
Limit Theorem and conclude that the
following is normally distributed:

e
=
th criticalpa j i
ij T CP
) , (
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
a, b and m for activities in Widgetco
Activity a b m
(1,2) 5 13 9
(1,3) 2 10 6
(3,5) 3 13 8
(3,4) 1 13 7
(4,5) 8 12 10
(5,6) 9 15 12
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
According to the table on the previous slide:
1
36
) 9 15 (
var , 12
6
48 15 9
) (
44 . 0
36
) 8 12 (
var , 10
6
40 12 8
) (
4
36
) 1 13 (
var , 7
6
28 13 1
) (
78 . 2
36
) 3 13 (
var , 8
6
32 13 3
) (
78 . 1
36
) 2 10 (
var , 6
6
24 10 2
) (
78 . 1
36
) 5 13 (
var , 9
6
36 13 5
) (
2
56 56
2
45 45
2
34 34
2
35 35
2
13 13
2
12 12
=

= =
+ +
=
=

= =
+ +
=
=

= =
+ +
=
=

= =
+ +
=
=

= =
+ +
=
=

= =
+ +
=
T T E
T T E
T T E
T T E
T T E
T T E
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
Of course, the fact that arc (2,3) is a dummy
arc yields
E(T
23
)=varT
23
=0

The critical path was B-D-E-F. Thus,
E(CP)=9+0+7+10+12=38
varCP=1.78+0+4+0.44+1=7.22

Then the standard deviation for CP is
(7.22)
1/2
=2.69
And
13 . 0 ) 12 . 1 ( )
69 . 2
38 35
69 . 2
38
( ) 35 ( = s =

= s Z P
CP
P CP P
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
PERT implies that there is a 13% chance
that the project will be completed within 35
days.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
152
More on Project Management
CPM
Advantage of ease of use
Lays out the Gantt chart (nicely visual)
Identifies the critical path
Used in practice on large projects
e.g., used for the big dig

Other issues
Tasks take resources, which are limited
Task times are really random variables
Unpredictable things happen


OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
153
Incorporating Resource Constraints
Each task can have resources that it needs
3 construction workers
1 crane
etc
In scheduling, do not use more resources than are
available at any time
Makes the problem much more difficult to solve exactly.
Heuristics are used.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
154
Dealing with the unknown
VERY hard to model
How does one model totally unforeseen events?
In the Big Dig, there is a leak in digging a tunnel despite
assurances it would not happen
In the Hubble telescope, a firm assures that the mirrors
are ground properly. By the time the mistake is
discovered, the telescope is in outer space.
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
155
Project Management Software
Explosive growth in software packages using these
techniques
Cost and capabilities vary greatly
Yearly survey in PM Network
Microsoft Project is most commonly used package
today
Free 60 day trial versions:
http://www.microsoft.com/office/98/project/ trial/info.htm
OR / TRNSPTN M / B.E. Prodn / SAMPRIT
.
156
Summary
Project management
Simple model: we use estimates of the time for
each task, and we use the precedence
constraints


OR / TRNSPTN M / B.E. Prodn / SAMPRIT

Anda mungkin juga menyukai