Вы находитесь на странице: 1из 121

MINE 332

MINE SYSTEM ANALYSIS

CHAPTER 5
NETWORK ANALYSIS
4.1. Network Basics
4.2. Shortest Path Problems
4.2.1. Dijkstras Algorithm
4.2.2. Direct Approach
4.3. Maximum Flow Problems
4.3.1. LP Solution
4.3.2. Augmented Path Algorithm
4.4. Minimum Spanning Tree Problems
4.5. Critical Path Method (CPM)
4.6. Project Evaluation and Review Technique
(PERT)
Network Models
Many important optimization problems can be solved
by means of graphical or network representation
Specific network models:
Shortest Path Problems
Maximum Flow Problems
Critical Path Method (CPM) & Project
Evaluation and Review Technique (PERT)
Project Scheduling Models
Minimum Spanning Tree Problems
Minimum Cost Network Flow Problems
(MCNFPs)
Basic Definitions
GRAPH or NETWORK
NODES: A set of points or vertices (V)
ARCS: A set of arcs (A)
An Arc consists of an ordered pair of
vertices and represents a possible
direction of motion that may occur
between vertices

If a network contains an arc (j, k), motion is


possible from node j to node k.
Components of Typical Networks

NODES ARCS FLOW


Intersections Roads Vehicles

Airports Air Lines Aircraft

Switching Points Wires, Channels Messages


Pumping Pipes Fluids
Stations
Work Centers Materials-Handling Jobs
Routes
Example of a Network
: Cities
1 4
: One-Way Road

2 3

V = {1, 2, 3, 4}
A = {(1, 2), (2, 3), (3, 4), (4, 3), (4, 1)}
For an arc (j, k), node j is the initial node of the arc
and node k is the terminal node of the arc.
Basic Definitions
CHAINS: A sequence of arcs such that
every arc has exactly one vertex in
common with the previous arc is called a
chain.
PATH: A path is a chain in which the
terminal node if arc is identical to the
initial node of the next arc.
For example in previous example
Chain but not a path: (1, 2), (2, 3), (4, 3)
Chain and a path: (1, 2), (2, 3), (3, 4) represents
a travel from node 1 to node 4.
4.1. Network Basics
4.2. Shortest Path Problems
4.2.1. Dijkstras Algorithm
4.2.2. Direct Approach
4.3. Maximum Flow Problems
4.3.1. LP Solution
4.3.2. Augmented Path Algorithm
4.4. Minimum Spanning Tree Problems
4.5. Critical Path Method (CPM)
4.6. Project Evaluation and Review Technique
(PERT)
Shortest Path Problems
Assuming that each arc in the network
has a length associated with it.
Suppose we start at a particular node the
problem of finding the shortest path (path
of minimum length) from node 1 to any
other node in the network is called a
shortest path problem.
Example 1: Shortest Path Problem

3
2 4
4
2

Plant 1 1 2
6 City

3
2
3 3 5
Substations

If the cost of shipping is proportional to the distance


the power travels, then knowing the shortest path
will be necessary.
Example 2: Shortest Path Problem
I have just purchased (at time 0) a new car for
$12,000. The cost of maintaining a car during a year
depends on the age of the car at the beginning of the
year. To avoid high maintenance cost associated
with an older car, I may trade in my car and purchase
a new car. The price I receive on a trade-in depends
on the age of the car at the time of the trade-in. To
simplify the computations, we assume that at any
time, it costs $12,000 to purchase a new car. My goal
is to minimize the net cost (purchasing
costs+maintenance costs-money received in trade-ins)
incurred during the next five years. Formulate this
problem as a shortest path problem.
Example 2: Shortest Path Problem
CAR MAINTENANCE COSTS & CAR TRADE-IN PRICES

AGE OF CAR ANNUAL TRADE-IN


(Years) MAINTENANCE COST PRICE
1 $2,000 $7,000

2 $4,000 $6,000

3 $5,000 $2,000

4 $9,000 $1,000

5 $12,000 $0
Solution 2: Shortest Path Problem
Our network will have 6 nodes
Node i is the beginning of year i
For i<j, an arc (i, j) corresponds to purchasing a
new car at the beginning of year i and keeping it
until the beginning of year j
The length of arc (i, j) (call it cij) is the total net
cost incurred in owning and operating a car from
the beginning of year i to the beginning of year j
if a new car is purchased at the beginning of
year i and this car is traded in for a new car at
the beginning of year j.
Solution 2: Shortest Path Problem
cij = maintenance cost incurred during years i, i+1, ..j-1
+ cost of purchasing car at the beginning of year i
- trade-in value received at beginning of year j

c12=2+12-7 =7 c25=2+4+5+12-2 =21


c13=2+4+12-6 =12 c26=2+4+5+9+12-1 =31
c14=2+4+5+12-2 =21 c34=2+12-7 =7
c15=2+4+5+9+12-1 =31 c45=2+12-7 =7
c16=2+4+5+9+12+12-0 =44 c46=2+4+12-6 =12
c23=2+12-7 = 7 c56=2+12-7 =7
c24=2+4+12-6 =12
Solution 2: Shortest Path Problem
44
31
21 31
21
12
7 7 7 7 7
1 2 3 4 5 6
12 12

12 21

Any path from node 1 to node 6 is net cost


If trade-in at the beginning of year 3 and at the end
of year 5 (or beginning of year 6)
Corresponds to the path1-3-6
The length of this path=c13+c36=total net cost
Shortest path from node 1 to 6 is the minimum cost
Algorithms for Shortest Path
Problems
DIJKSTRAs ALGORITHM
Solves single source problem
Nonnegativity
Can compute the shortest paths from a given start point s to all
other nodes
BELLMAN-FORD ALGORITHM
Solves single source problem if edge weights may be negative.
A SEARCH ALGORITHM
Solves for single source shortest paths using heuristics to try to
speed up the search
FLOYD-WARSHALL ALGORITHM
Solves all pairs shortest paths
JHONSONs ALGORITHM
Solves all pairs shortest paths, may be faster than Floyd-
Warshall on sparse graphs
PERTURBATION THEORY
Finds (at worst) the locally shortest path
Dijkstras Algorithm
Assuming that all arc lengths are nonnegative
Dijkstras Algorithm is used to find the shortest
path from a node (say, node 1) to all other nodes
First, label a node 1 with a permanent label of 0.
Then, label each node i that is connected to
node 1 by a single arc with a temporary label
equal to the length of the arc joining node 1 to
node i.
Each other node will have a temporary label of
Choose the node with the smallest temporary
label and make this label permanent.
Dijkstras Algorithm
Suppose that node j has just become the (k+1)th
node to be given permanent label.
Then node i is the kth closest node to node 1.
At this point, the temporary label of any node (i) is
the length of the shortest path from node 1 to
node i that passes only through nodes contained
in the k-1 closest nodes to node 1.
For each node j that now has a temporary label
and is connected to node I by an arc, we replace
node js temporary label by:

node j ' s current temporary label


min
noide j ' s permanent label length of arc(i, j )
Dijkstras Algorithm
The new temporary label for node j is the length of the
shortest path from node 1 to j that passes only through
nodes contained in the k closest nodes to node 1.
We know make the smallest temporary label a permanent
label.
The node with this new permanent label is the (k+1)th closest
node to node 1.
Continue this process until all nodes have a permanet label.
To find the shortest path from node 1 to node j, work
backward from node j by finding nodes having labels
differing exactly by the length if the connecting arc.
If we want the shortest path from node 1 to node j, we can
stop the labeling process as soon as node j receives a
permanent label.
Example 4: Dijkstras Algorithm
3
2 4
4
2
1 2
6 City

3
2
3 3 5
Substations

Find the shortest path from node 1 to node 6


by Dijkstras Algorithm.
Solution 4: Dijkstras Algorithm
We begin with the following labels (a * represents
a permanent label, and the ith number is the label
of node i)
[0* 4 3* ]
We now know that node 3 is the closest node to
node 1. We compute new temporary labels for all
nodes that are connected to node 3 by a single
arc. We only compute a new temporary label for
node 5 as follows:
New node 5 temporary label = min {, 3+3} = 6
Node 2 now has the smallest temporary label; we
now make node 2s label permanent. We now
know that node 2 is the second closest node to
node 1. Our new set of labels is
[0* 4* 3* 6 ]
Solution 4: Dijkstras Algorithm
Since nodes 4 and 5 are connected to the newly
permanent labeled node 2, we must change the
temporary labels of nodes 4 and 5.
Node 4s temporary label is:
Min {, 4+3} = 7
Node 5s temporary label is:
Min {6, 4+2} = 6
Node 5 has the smallest temporary label, so we
make node 5s label permanent. We now know
that node 5 is the third closest node to node 1.
[0* 4* 3* 7 6* ]
Since only node 6 is connected to node 5, node
6s temporary label will change to
Min {, 6+2} = 8
Solution 4: Dijkstras Algorithm
Node 4 now has the smallest temporary label, so
we make node 4s label permanent. We now
know that node 4 is fourth closest node to node
1. Our new labels are:
[0* 4* 3* 7* 6* 8]
Since node 6 is connected to the newly
permanent labeled node 4, we must change
node 6s temporary label to
Min {8, 7+2} = 8
We can now make node 6s label permanent. Our
final set of labels is
[0* 4* 3* 7* 6* 8*]
We can now work backward and find the
shortest path from node 1 to node 6.
Solution 4: Dijkstras Algorithm
The difference between node 6s and node 5s
permanent label is 2 = length of arc (5, 6), so we
go back to node 5. The difference between node
5s and node 2s permanent label is 2 = length of
arc (2, 5), so we may go back to node 2. Then we
must go back to node 1.
Thus 1-2-5-6 is a shortest path (of length 8) from
node 1 to node 6.
Observe that when we were at node 5, we could
also have worked backward to node 3 and
obtained the shortest path 1-3-5-6.
Direct Algorithm for the Shortest Path
Problem
Consider an undirected and connected network
with two special nodes called the origin and the
destination
Associated with each of the links (undirected
arcs) is a nonnegative distance
The objective is to find the shortest path (the
path with the minimum total distance) from the
origin to the destination
Fans out from the origin successively identifying
the shortest path to each of the nodes of the
network in the ascending order of their shortest
distance from the origin to the destination
Direct Algorithm for the Shortest Path
Problem
Objective of 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 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
Direct Algorithm for the Shortest Path
Problem
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
is selected (Ties provide additional candidates).
Calculation of the nth nearest node
For each such 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.
Example 5
A

2 7 T
2 5

5 4
O B D

3 7
1 1
4
4 E
C

The road system for Seervada Park


Example 5

A
7 T
2 2 5
O 5 B 4 D
3 1 7
4 1
C 4 E
n Solved Nodes Closest Total nth Minimum Last
Directly Connected Distance Nearest Distance Connection
Connected to Unsolved Involved Node
Unsolved Nodes Nodes
1 O A 2 A 2 OA
Example 5
A
7 T
2 2 5
O 5 B 4 D
3 1 7
4 1
C 4 E
n Solved Nodes Closest Total nth Minimum Last
Directly Connected Distance Nearest Distance Connection
Connected to Unsolved Involved Node
Unsolved Nodes Nodes
1 O A 2 A 2 OA

2, 3 O C 4 C 4 OC
A B 2+2 = 4 B 4 AB
Example 5
A
7 T
2 2 5
O 5 B 4 D
3 1 7
4 1
C 4 E
n Solved Nodes Closest Total nth Minimum Last
Directly Connected Connected Distance Nearest Distance Connection
to Unsolved Nodes Unsolved Involved Node
Nodes
1 O A 2 A 2 OA
2, 3 O C 4 C 4 OC
A B 2+2 = 4 B 4 AB
4 A D 2+7=9
B E 4+3=7 E 7 BE
C E 4+4=8
Example 5
A
7 T
2 2 5
O 5 B 4 D
3 1 7
4 1
C 4 E
n Solved Nodes Closest Total nth Minimum Last
Directly Connected Distance Nearest Distance Connection
Connected to Unsolved Involved Node
Unsolved Nodes Nodes
4 A D 2+7=9
B E 4+3=7 E 7 BE
C E 4+4=8
5 A D 2+7=9
B D 4+4=8 D 8 BD
E D 7+1=8 D 8 ED
Example 5

2 7 T
2 5

5 4
O B D

7
3 1
1
4
4
C E
Solution 5
n Solved Nodes Closest Total nth Minimum Last
Directly Connected Distance Nearest Distance Connection
Connected to Unsolved Involved Node
Unsolved Nodes Nodes
1 O A 2 A 2 OA

2, 3 O C 4 C 4 OC
A B 2+2 = 4 B 4 AB

4 A D 2+7=9
B E 4+3=7 E 7 BE
C E 4+4=8
5 A D 2+7=9
B D 4+4=8 D 8 BD
E D 7+1=8 D 8 ED
6 D T 8+5=13 T 13 DT
E T 7+7=14
Solution 5
Shortest path from the destination to the
origin
TDEBAO OR
TDBAO
Therefore, two alternatives for the
shortest path from the origin to the
destination
OABEDT OR
OABDT
4.1. Network Basics
4.2. Shortest Path Problems
4.2.1. Dijkstras Algorithm
4.2.2. Direct Approach
4.3. Maximum Flow Problems
4.3.1. LP Solution
4.3.2. Augmented Path Algorithm
4.4. Minimum Spanning Tree Problems
4.5. Critical Path Method (CPM)
4.6. Project Evaluation and Review Technique
(PERT)
MAXIMUM FLOW PROBLEMS
The arcs may be thought of as having a capacity
that limits the quantity of a product that may be
shipped through the arc.
It is desired to transport the maximum amount of
flow from a starting point (source) to a terminal
point (called sink).
Such problems are called maximum flow
problems.
Linear programming and Ford-Fulkerson (1962)
method are used for solving maximum flow
problems.
Examples of Maximum Flow Problems
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
LP Solution of Maximum Flow
Problems
Sunco Oil wants to ship the maximum possible
amount of oil (per hour) via pipeline from node so
to node si. On its way from node so to node si, oil
must pass through some or all of stations 1, 2,
and 3. The various arcs represents pipelines of
different diameters. The maximum number of
barrels of oil (millions of barrels per hour) that
can be pumped through each arc is shown in
table. Each of these numbers is called an arc
capacity. Formulate an LP that can be used to
determine the maximum number of barrels of oil
per hour that can be sent from so to si.
Example 6: Sunco Oil
4
3 1

2 3 2
so 1 2 si

Network Representation for Sunco Oil Example


EXAMPLE6: Sunco Oil
Arc Capacities for Sunco Oil

ARC CAPACITY (millions of barrels per hour)


(so, 1) 2
(so, 2) 3
(1, 2) 3
(1, 3) 4
(3, si) 1
(2, si) 2
LP Solution 6: Sunco Oil

xij = millions of barres of oil per hour that


will pass through arc (i, j) of pipeline

For a flow to be feasible


0 flow through each arc arc capacity
Flow into node i = flow out of node i
Example 6: Sunco Oil
(0) 4
3 (0) 1

(2) 2 (2) 3 (2) 2


so 1 2 si

(0) 3
(xo) 2

As an example of a possible flow (termed as feasible flow),


consider the flow identified by the numbers in paranthesis

e.g.
xso,1 = 2; x1,3 = 0; x1,2 = 2; x3,si = 0; x2,si = 2; xsi,so = 2; xso,2 = 0
44
MINE 332
LP SOLUTION 6: Sunco Oil
Let xo be the flow through the artificial arc
xo = total amount of oil entering into the sink
Max z = xo
s.t. OPTIMAL SOLUTION
xso, 1 2 (arc capacity constraints) z=3
xso, 2 3 xso,1 = 2
x12 3 x13 = 1
x2,si 2
x12 = 1
x13 4
xso,2 = 1
x3,si 1
xo = xso,1 + xso,2 (node so flow constraint)
x3,si = 1
xso,1 = x12 + x13 (node 1 flow constraint) x2,si = 2
x2,si = xso,2 + x12 (node 2 flow constraint) xo = 3
x13 = x3,si (node 3 flow constraint)
xo = x3,si + x2,si (node si flow constraint)
Xij 0
Augmented Path Algorithm
Identifying an augmented 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 augmented path exists, the net flows already
assigned constitute an optimal flow pattern
Identify the residual capacity c* of this augmented
path by finding the minimum of residual capacities
of the arcs on this path
Increase the flow in this path by c*
Decrease by c* the residual capacity of each arc on
this augmenting path. Increase by c* the residual
capacity of each arch in the opposite direction on
this augmenting path.
Example: Seervada Park
0 A 3
1 0 T
0
5 0 9
0 4 0
O 7 B D
2 5 0
4 0 7

0 1
0 C 0
E
4 0 6

The arc capacities for the Seervada Network


Iteration 1: O B E T
Residual Capacity = min {7, 5, 6} = 5

5
Iteration 1: O B E T
Residual Capacity = min {7, 5, 6} = 5

3
0 A
1 0 T

5 0 9 5
4 0
O 2 5 B D 5
5 2 0 0
4 0

0 5 1
0 C E 1
4 0
Iteration 2: O A D T
Residual Capacity = min {5, 3, 9} = 3

8
Iteration 2: O A D T
Residual Capacity = min {5, 3, 9} = 3

0
3 A
1 3 T

2 0 3 6 5
O 2 5 B 4 0 D 8
8 2 0
4 0

0 5 1
0 C E 1
4 0
Iteration 3: O A B D T
Residual Capacity = min {2, 1, 4, 6} = 1

9
Iteration 3: O A B D T
Residual Capacity = min {2, 1, 4, 6} = 1

0
4 A
0 4 T

1 1 5 5
3
O 2 5 B 3 D 9
9 2 0 1
4 0

0 5 1
0 C E 1
4 0
Iteration 4: O B D T
Residual Capacity = min {2, 3, 5} = 2

11
11
Iteration 4: O B D T
Residual Capacity = min {2, 3, 5} = 2

0
4 A
0 6 T

1 1 3 5
3
O 0 7 B 1 D 11
11 2 3
0 0
4

0 5 1
0 C E 1
4 0
Iteration 5: O C E D T
Residual Capacity = min {4, 4, 1, 3} = 1

11
11

12 12
Iteration 5: O C E D T
Residual Capacity = min {4, 4, 1, 3} = 1

0
4 A
0 7 T

1 1 2 5
3
O 2 5 B 4 D 12
12 2 0
0 1
3

0 5 0
1 C E 1
3 1
Iteration 6: O C E T
Residual Capacity = min {3, 3, 1} = 1

12
12

13
13
Iteration 6: O C E T
Residual Capacity = min {3, 3, 1} = 1

0
4 A
0 7 T

1 1 2 6
3
O 0 7 B 1 D 13
13 2 3
0 1
2

0 5 0
2 C E 0
2 2
Iteration 7: O C E B D T
Residual Capacity = min {2, 2, 5, 1, 2} = 1

13
13

14
14
Iteration 7: O C E B D T
Residual Capacity = min {2, 2, 5, 1, 2} = 1

0
4 A
0 8 T

1 1 1 6
3
O 0 7 B 0 D 14
14 2 4
1 1
1

0 4 0
3 C E 0
1 3
There are no more augmenteing paths , so the
current flow is optimal.

4 3 T
1 8

O 7 B 4 D 14
14 6
2 4 1
3

C E
3
4.1. Network Basics
4.2. Shortest Path Problems
4.2.1. Dijkstras Algorithm
4.2.2. Direct Approach
4.3. Maximum Flow Problems
4.3.1. LP Solution
4.3.2. Augmented Path Algorithm
4.4. Minimum Spanning Tree Problems
4.5. Critical Path Method (CPM)
4.6. Project Evaluation and Review Technique
(PERT)
Minimum Spanning Tree (M.S.T.)
Problems
Suppose that each arc (i,j) in a network
has a lenght associated with it and that
arc (i,j) represents a way of connecting
node i to node j.
In many applications, we wish 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.
Such group of arcs should contain no
loop.
Some M.S.T. Applications
Design of telecommunication networks (fiber-
optic networks, computer networks, leased-line
telephone networks, cable television networks,
etc.)
Design of a 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
power 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
Illustrations of M.S.T. Concept

Not a spanning tree.

Not a spanning tree.

A spanning tree.
Example: M.S.T. Problem
12
1 2

4
7 (1,2) (2,3) (3,1) is a loop
(1,3) (2,3) is a spanning tree
(1,2) (2,3) is a spanning tree
(1,2) (1,3) is a spanning tree
3

DEFINITION: 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
loop. A spanning tree of minimum length in the network is a
minimum spanning tree.
M.S.T. Algorithm
STEP1: Begin at any node i, and join node i to the node j in
the network (call it j) that is closest to node i. The two nodes i
and j now form a connected set of nodes C={i,j}, and arc (i,j)
will be the minimum spanning tree. The remaining nodes in
the network (call them C) are referred to as the unconnected
set of nodes.

STEP2: Now chose a member of C (call it n) that is closest to


some node in C. Let m represent the node in C that is closest
to n. Then the arc (m,n) will be in the minimum spanning tree.
Now update C and C. Since n is now connected to {i,j}, C
now equals {i,j,n} and we must eliminate node n from C.

STEP3: Repeat this process until a minimum spanning tree is


found. Ties for closest node and arc to be included in the
minimum spanning tree may be broken arbitrarily.
Example: M.S.T. Problem
The State University campus has five
minicomputers. The distance between each
pair of computers (in city blocks) is given in the
Figure. The computers must be
interconnected by underground cable. What is
the minimum length of cable required? Note
that if no arc is drawn connecting a pair of
nodes, this means that (because of
underground rock formations) no cable can be
laid between these two computers.
Example: M.S.T. Problem
1
1 2

4
2
3
2

6
5 2 3

4
5

4
Solution: M.S.T. Problem
1
Iteration 1: Following 1 2
the M.S.T. algorithm,
we arbitrarily chose 4
2
to begin at node 1. 2 3
The closest node to
node 1 is node 2. 6
Now C={1, 2}, 5 2 3
C={3,4,5}, and arc
(1,2) will be in the 4
minimum spanning 5
tree.
C={1,2}
C={3,4,5}
4
Solution: M.S.T. Problem
Iteration 2: Node 5 is 1
1
2
the closest to C.
Since node 5 is two 4
blocks from node 1 2
3
and from node 2, we 2
may include either
arc (2,5) or arc (1,5) 6
5 2 3
in the minimum
spanning tree. We
arbitrarily chose to 4
include arc (2,5). 5
Then C={1,2,5},
C={3,4}. C={1,2,5}
C={3,4}
4
Solution: M.S.T. Problem
1
Iteration 3: Since 1 2
node 3 is two
4
blocks from node 2
3
5, we may include 2

arc (5,3) in the


6
minimum 5 2 3
spanning tree.
Now C ={1,2,3,5}, 4
5
C={4}.
C={1,2,3,5}
C={4}
4
Solution: M.S.T. Problem
Iteration 4: Node 5 is 1
the closest node to 1 2
node 4. Thus, we add 4
arc (5,4) to the 2
minimum spanning 2 3
tree.
6
5 2 3
Minimum Spanning Tree
(1,2), (2,5), (5,3), and (5,4)
4
The length = 9 blocks
5

4
Example: Seervada Park M.S.T.
The Seervada Park management needs to determine
under which roads telephone lines should be installed
to connect all stations with a minimum total length of
line.
A

2 7 T
2 5

5 4
O B D

3 7
1 1
4
4 E
C
Solution: Seervada Park M.S.T.
STEP 1:

2 7 T
2 5

5 4
O B D

3 7
1 1
4
4 E
C
Solution: Seervada Park M.S.T.
STEP 2:

2 7 T
2 5

5 4
O B D

3 7
1 1
4
4 E
C
Solution: Seervada Park M.S.T.
STEP 3:

2 7 T
2 5

5 4
O B D

3 7
1 1
4
4 E
C
Solution: Seervada Park M.S.T.
STEP 4:

2 7 T
2 5

5 4
O B D

3 7
1 1
4
4 E
C
Solution: Seervada Park M.S.T.
STEP 5:

2 7 T
2 5

5 4
O B D

3 7
1 1
4
4 E
C
Solution: Seervada Park M.S.T.
STEP 6:

2 7 T
2 5

5 4
O B D

3 7
1 1
4
4 E
C
Class Exercise
A 2 G
7
3 F
6
1 15
B
16
11 E 5
D
17 4 10 H
8 12
I
18 13
C
9
J
Answer: Class Exercise
A 2 G
7
3 F
6
1 15
B
16
11 E 5
D
17 4 10 H
8 12
I
18 13
C
9
J

Total Length: 48
4.1. Network Basics
4.2. Shortest Path Problems
4.2.1. Dijkstras Algorithm
4.2.2. Direct Approach
4.3. Maximum Flow Problems
4.3.1. LP Solution
4.3.2. Augmented Path Algorithm
4.4. Minimum Spanning Tree Problems
4.5. Critical Path Method (CPM)
4.6. Project Evaluation and Review Technique
(PERT)
Ciritical Path Method (CPM)
Network models can be used as an aid in the
scheduling of large complex projects that
consist of many activities.
If the duration of each activity is known with
certainty, the critical path method can be used
to determine the length of time required to complete
a project.
to determine how long each activity in the project can
be delayed without delaying the completion of a
project
CPM was developed in the late 1950s by
researchers at DuPont and Sperry Rand
Applications Examples of CPM/PERT
Mine Planning and Scheduling
Scheduling construction projects such as
buildings, highways, and airports...
Installing new computer systems
Designing corporate mergers
Building ships
Developing countdown and hold procedure
for the launching of space crafts
Six Steps Common to CPM/PERT
1. Define the project and all significant activities
2. Develop relationships among the activities.
Identify precedence relationships
3. Draw the network
4. Assign time and/or cost estimates to each
activity
5. Compute the longest time path (critical path)
through the network
6. Use the network to help plan, schedule,
monitor, and control the project.
Questions Addressed by CPM/PERT
When will the project be completed?
What are the critical activities or tasks in the
project?
Which are the non-critical activities?
What is the probability that the project will be
completed by a specific date?
Is the project on schedule, ahead of schedule, or
behind of schedule?
Is the project over or under the budgeted amount?
Are there enough resources to finish the project on
time?
If the project must be finished in less than the
scheduled amount of time, what is the best way to
accomplish this at least cost?
Advantages of CPM/PERT
Useful at several stages of project management
Straightforward in concept, not mathematically complex
Uses graphical displays employing networks to help user
perceive relationships among practical activities
Critical path and slack time analyses help pinpointing
activities that is needed to be closely watched
Networks generated provide valuable project documentation
and graphically point out who is responsible for various
project activities
Applicable to a wide variety of projects and industries
Useful in monitoring not only schedule, but costs as well
Limitations of CPM/PERT
Project activities must be clearly defined,
independent, and stable in their relationships
Precedence relationships must be specified and
networked together
Time activities in PERT are assumed to follow the
beta probability distributionmust be verified
Time estimates tend to be subjective, and are
subject to fudging by managers
There is inherent danger in too much emphasis
being places on the ciritical path
Utilization of CPM/PERT
To apply CPM or PERT, we need a set 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 (project diagram) is used to
represent the predecence relationships between
activities (AOA representation of a project)
How to construct AOA representation of a
project?
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 should be such that
the node representing the completion time of an
activity always has a larger number than the node
representing the beginning of the 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.
Example: Widgetco
Widgetco is about to introduce a new product (product 3).
A list of activities and their predecessors and of the
duration of each activity is given. Draw a project network
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
Solution: Widgetco
C (8) F (12)
3 5 6
A (6)

D (7)
1 Dummy E (10)

B (9)
2 4
Activity Predecessors Duration (days)
A: train workers - 6
B: purchase raw materials - 9
Node 1: Start node C: produce product 1 A, B 8

Node 6: Finish node D: produce product 2 A, B 7


E: test product 2 D 10
F: assemble products 1&2 C, E 12
CPM
Two key building blocks in CPM
EARLY EVENT TIME
The earliest event time at which the event
corresponding to node i can occur
Represented by ET(i) for node i
LATE EVENT TIME
The latest event time at which the event
corresponding to node i can occur without delaying
the completion of the project
Represented by LT(i) for node i
Early Event Time
Note that ET(1) = 0
Then compute ET(2), ET(3), and so on...
Stop when ET(n) has been calculated (n:
finished node)
Computation of ET(i)
Find each prior event node i that is connected by an
arc to node i
To the ET for each immediate predecessor of the
node i, add the duration of the activity connecting the
immediate predecessor to node i
ET (i) equals the maximum of the sums computed in
previous step.
Example: ET
Suppose that for the segment of the project
network given below we have already determined
ET(3) = 6
ET(4) = 8
ET(5) = 10
ET (6) = max {ET(3)+8, ET(4)+4, ET(5)+3}
3
8
ET(6) = max {14, 12, 13}
ET(6) = 14
4
4 6

3
5
ET(i)s for Widgetco
ET(3) = 9 ET(5) = 26
8 12
3 5 6
6 ET(6) = 38

7
1 0 10
ET(1) = 0

9
2 4
ET(2) = 9 ET(4) = 16

Node 1: Start node


Node 6: Finish node
Late Event Time
Work backward, begin with the finish
node
Note that LT(n) = ET(n)
Then compute LT(n-1), LT(n-2),... LT(1).
Computation of LT(i)
Find each node that occurs after node i and is
connected to node i by an arc. These event
are immediate successors of node i.
From LT for each immediate successor to
node i, subtract the duration of the activity
LT(i) is the smallest of the differences
determined in previous step.
Example: LT
Suppose that for the segment of the project
network given below we have already determined
LT(5) = 24
LT(6) = 26
LT(7) = 28
5 LT (4) = min {LT(5)-3, LT(6)-4, LT(7)-7}
3 LT(4) = min {21, 22, 23}
LT(4) = 21
4 4
6

7
LT(i)s for Widgetco
LT(3) = 9 LT(5) = 26
8 12
3 5 6
6 LT(6) = 38

7
1 0 10
ET(1) = 0

9
2 4
LT(2) = 9 LT(4) = 16

Node 1: Start node


Node 6: Finish node
Total Float
Total float can be used as a measure of how
important it is to keep each activitys duration
from greatly exceeding our estimate of its
completion
Total float can be represented by TF(i,j) for an
arbitrary arc representing activity (i,j)
TF(i,j) is the amount by which the starting time of
activity (i,j) could be delayed beyond its earliest
possible starting time without delaying the
completion of the project (assuming no other
activities are delayed)
TF(i,j) = LT(j) ET(i) - tij
ET(i)s for Widgetco
ET(3) = 9 ET(5) = 26
3 8 5 12 6
6 ET(6) = 38
1 7
0 10
ET(1) = 0
9
2 4
ET(2) = 9 ET(4) = 16

LT(3) = 9 LT(5) = 26
3 8 5 12 6
6 LT(6) = 38
1 7
0 10 Activity B: TF(1,2) = LT(2) - ET(1) - 9 = 0
ET(1) = 0 Activity A: TF(1,3) = LT(3) - ET(1) - 6 = 3
9 Activity D: TF(3,4) = LT(4) - ET(3) - 7 = 0
2 4 Activity C: TF(3,5) = LT(5) - ET(3) - 8 = 9
LT(2) = 9 LT(4) = 16 Activity E: TF(4,5) = LT(5) - ET(4) - 10 = 0
Activity F: TF(5,6) = LT(6) - ET(5) - 12 = 0
Dummy activity: TF(2,3) = LT(3) - ET(2) - 0 = 0
TF(i,j)s for Widgetco
Activity B: TF(1,2) = LT(2) - ET(1) - 9 = 0
Activity A: TF(1,3) = LT(3) - ET(1) - 6 = 3
Activity D: TF(3,4) = LT(4) - ET(3) - 7 = 0
Activity C: TF(3,5) = LT(5) - ET(3) - 8 = 9
Activity E: TF(4,5) = LT(5) - ET(4) - 10 = 0
Activity F: TF(5,6) = LT(6) - ET(5) - 12 = 0
Dummy activity: TF(2,3) = LT(3) - ET(2) - 0 = 0

If an activity has a total float of zero, then any


delay in the start of the activity will delay the
completion of the project
Any activity with a total float 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.
Critical Path for Widgetco

3 5 6

1
TF(1,2) = 0
TF(1,3) = 3
TF(2,3) = 0
TF(3,4) = 0
2 TF(3,5) = 9
4 TF(4,5) = 0
TF(5,6) = 0

Widgetco critical path is 1-2-3-4-5-6.


Free Float
The free float of the activity
corresponding to arc (i,j) denoted by
FF(i,j) is the amount by which the starting
time of the activity corresponding to arc
(i,j) can be delayed without delaying the
start of any later activity beyond the
earliest possible starting time.
FF(i,j) = ET(j) ET(i) tij
FF(i,j)s for Widgetco
Activity B: FF(1,2) = 9 - 0 - 9 = 0
Activity A: FF(1,3) = 9 - 0 - 6 = 3
Activity D: FF(3,4) = 16 - 9 - 7 = 0
Activity C: FF(3,5) = 26 - 9 - 8 = 9
Activity E: FF(4,5) = 26 - 16 - 10 = 0
Activity F: FF(5,6) = 38 - 26 - 12 = 0

For example, because FF for activity C is


9 days, a delay in the start of this activity
(occurrence of node 3) more than 9 days,
a delay the start of some later activity (on
this case activity F).
Class Exercise: CPM
The ABC Manufacturing Company is considering the construction of a new
factorey building. The following list shows the project activities, precedence
relationships, and time estimates.

Activity Description Immediate Predecessor(s) Time

A Problem Definition - 3
B Preliminary study of costs and constraints A 3
C Analysis of problems in existing building A 3
D Incorporation of requirements in new building C 5
E Detailed drawings of new building B, C 6
F Contractor building a prototype D, E 9
G Cost analysis E 5
H Engineers reviewing feasibility G 3
I Contractor building the factory G, F 5
J Building inspection I, H 6
K Final plant layout J 4
Class Exercise: CPM

E G
3 5 7
6 5
B H
3 3
A J K
1 2 9 10 11
3 6 4
3 I
C
5
D F
4 6 8
5 9

CRITICAL PATHS: A, B, E, F, I, J, K and A, C, E, F, I, J, K


Class Exercise: CPM
Activity Duration ESi LCj ESj Total Float Critical Total Float
(i, j) Di,j TFi,j = LCj ESi Di,j FFi,j = ESj ESi Di,j
A (1, 2) 3 0 3 3 303=0 Yes 303=0

B (2, 3) 3 3 6 6 633=0 Yes 633=0

C (2, 4) 3 3 6 6 633=0 Yes 633=0

D (4, 6) 5 6 12 12 12 6 5 = 1 - 12 6 5 = 1

E (3, 5) 6 6 12 12 12 6 6 = 0 Yes 12 6 6 = 0

F (6, 8) 9 12 21 21 21 12 9 = 0 Yes 21 12 9 = 0

G (5, 7) 5 12 21 17 21 12 5 = 4 - 21 12 5 = 4

H (7, 9) 3 17 26 26 26 17 3 = 6 - 26 17 3 = 6

I (8, 9) 5 21 26 26 26 21 5 = 0 Yes 26 21 5 = 0

J (9, 10) 6 26 32 32 32 26 6 = 0 Yes 32 26 6 = 0

K (10, 11) 4 32 36 36 36 32 4 = 0 Yes 36 32 4 = 0


4.1. Network Basics
4.2. Shortest Path Problems
4.2.1. Dijkstras Algorithm
4.2.2. Direct Approach
4.3. Maximum Flow Problems
4.3.1. LP Solution
4.3.2. Augmented Path Algorithm
4.4. Minimum Spanning Tree Problems
4.5. Critical Path Method (CPM)
4.6. Project Evaluation and Review Technique
(PERT)
Project Evaluation and Review
Technique (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.
It was developed in the late 1950s by
consultants working on the development of the
Polaris missile.
PERT is an attempt to correct the shortcoming
of CPM by modeling the duration of each activity
as a random variable.
PERT
For each activity, PERT requires that the project
manager estimate three quantities:
Optimistic duration (a)
Pessimistic duration (b)
The most likely value for duration (m)
Let Tij be the duration of activity (i,j).
PERT requires the assumption that Tij follows a
beta distribution
According to this assumption, it can be shown
that the mean and variance of Tij may be
approximated by:
E(Tij) = (a+4m+b)/6
VAR (Tij) = (b-a)2/36
PERT
What is Distribution Function?

The distribution function (also


called the cumulative density
function (CDF) or probability
distribution function), describes the
probability that a variate (X) takes on
a value (x) less than or equal to a
number .

114
Source: http://demonstrations.wolfram.com/ExploringTheTailsOfTheNormalDistribution/
PERT
Properties of Beta Distribution: It is used for modeling events that occur in a range of
a minimum and maximum value.
For this reason, the Beta distribution is used extensively in PERT, CPM and other
project planning/control systems to describe the time to completion of a task.

Source:http://www.brighton-webs.co.uk/distributions/beta.asp 115
MINE 332
PERT
PERT requires the assumption that the durations of all
activities are independent.
In this case, the mean and variance of the time to complete
the activities on any path are given by:


( i , j ) path
E (Tij )
( i , j ) path
VAR(Tij )

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:
CP
( i , j )critical path
Tij
Example: Modified Widgetco
Suppose that for Widgetco example a, b, and m
for each activity are given as follows:

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
Calculate the expected completion time and the
variance of the project.
Solution: Modified Widgetco
E(T12) = (5+13+9*4)/6 = 9 VAR(T12) = (13-5)2 /36 = 1.78
E(T13) = 6 VAR(T13) = 1.78
E(T35) = 8 VAR(T35) = 2.78
E(T34) = 7 VAR(T34) = 4
E(T45) = 10 VAR(T45) = 0.44
E(T56) = 12 VAR(T56) = 1
E(T23) = 0 VAR(T23) = 0
8 12
6
3 5 6 (38,38)
(9,9)
(26,26)
1 Critical path: 1-2-3-4-5-6
7 10
0 E(CP)=9+0+7+10+12 = 38
(0,0) 9 VAR(CP)=1.78+0+4+0.44+1=
7.22
4 Standard Deviation for CP
2 (9,9) (16,16)
= (7.22)1/2 = 2.69
Class Exercise: PERT
Draw a PERT network diagram for a construction project with the activity
information given below:

Duration (Weeks)
Activity Immediate Optimistic (a) Most Likely (m) Pessimistic (b)
Predecessor(s)
A - 7 16 28
B A 4 19 25
C A 10 16 37
D B 7 13 37
E B, C 13 19 33
F B 19 22 33
G D, E 4 7 19
H F, G 13 19 49
I B, C 13 25 37
J I, H 7 13 19
Class Exercise: PERT
Activity (i, j) Expected Time, E(Di,j) Varince, i,j2

A (1, 2) 16,5 12,25


B (2, 3) 17,5 12,25
C (2, 4) 18,5 20,25
D (3, 5) 16 25
E (4, 5) 20,33 11,11
F (3, 6) 23,33 5,44
G (5, 6) 8,5 6,25
H (6, 7) 23 36
I (4, 7) 25 16
J (7, 8) 13 4
Class Exercise: PERT

A B F
1 2 3 6
16,5 17,5 23,33
D
G
16 8,5
C
H 23
5
18,5

E
20,33

I J
4 7 8
25 13

CRITICAL PATHS: A, C, E, G, H, J

Вам также может понравиться