ENCE 603 Management Science Applications in Project Management Lectures 5-7
ENCE 603 Management Science Applications in Project Management Lectures 5-7
ENCE 603 Management Science Applications in Project Management Lectures 5-7
Outline
Project Scheduling Critical Path Method (CPM) AON and AOA methods Project Crashing Precedence Diagramming Method (PDM) Gantt Charts
Project Networks
Project activities described by a network Can use the activity-on-node (AON) model Nodes are activities, arrows (arcs) indicate the precedence relationships Could also consider the activity-on-arc (AOA) model which has arcs for activities with nodes being the starting and ending points AON used frequently in practical, non-optimization situations, AOA is used in optimization settings First AON, then AOA Main idea for both is to determine the critical path (e.g., tasks whose delay will cause a delay for the whole project)
3 Copyright 2008, Dr. Steven A. Gabriel
Project Networks
Sample project network (AON) (read left to right) Dashed lines indicate dummy activities Key: Activity, Duration (days)
Network Analysis
Network Scheduling: Main purpose of CPM is to determine the critical path Critical path determines the minimum completion time for a project Use forward pass and backward pass routines to analyze the project network Network Control: Monitor progress of a project on the basis of the network schedule Take correction action when required Crashing the project Penalty/reward approach
5 Copyright 2008, Dr. Steven A. Gabriel
Project Networks
A: Activity identification (node) ES: Earliest starting time EC: Earliest completion time LS: Latest starting time LC: Latest completion time t: Activity duration P(A): set of predecessor nodes to node A S(A): set of successor nodes to node A
7 Copyright 2008, Dr. Steven A. Gabriel
Project Networks
In tabular form Activity Predecessor A n/a B n/a C n/a D A E C F A G B,D,E Duration 2 6 4 3 5 4 2
Sample Computations ES(A) =Max{EC(j), j in P(A)}=EC(start)=0 EC(A)=ES(A)+tA=0+2=2 ES(B)= EC(start)=0 EC(B)=ES(B)+ tB=0+6=6 ES(F)= EC(A)=2 EC(F)= ES(F)+4=6, etc. F,4 D,3 end
A,2
start
B,6
G,2
C,4
Copyright 2008, Dr. Steven A. Gabriel
E,5
8
Project Networks
Notation: Above node ES(i), EC(i), below node LS(i),LC(i) Zero project slack convention in force
0,2 A,2 4,6 0,0 start 0,0 0,4 C,4 0,4 0,6 B,6 3,9 4,9 E,5 4,9 Sample Computations LC(F) =Min{LS(i), i in S(F))}=11 LS(F)=LC(F)-tF=11-4=7 etc.
9 Copyright 2008, Dr. Steven A. Gabriel
2,6 F,4 2,5 D,3 6,9 G,2 9,11 7,11 9,11 end 11,11 11,11
Project Networks
During the forward pass, it is assumed that each activity will begin at its earliest starting time An activity can begin as soon as the last of its predecessors has finished C must wait for both A and B to finish before it can start Completion of the forward pass determines the C earliest completion time of the project
A B
During the backward pass, it is assumed that each activity begins at its latest completion time Each activity ends at the latest starting time of the first activity in the project network
10
Project Networks
Note: 1=first node (activity),n=last node,i,j=arbitrary nodes, P(i)= immediate predecessors of node i, S(j)= immediate successors of node j, Tp=project deadline time
1 3 2 5 4
i1 i i2
i3
Project Networks
Rule 3: EC(i)=ES(i)+ti Rule 4: EC(Project)=EC(n) Rule 5: LC(Project)=EC(Project) zero project slack convention (unless otherwise stated for example, see Rule 6) Rule 6: LC(Project)=Tp Rule 7: LC(j) =Min i in S(j) LS(i) Rule 8: LS(j)=LC(j)-tj
j1
j2 j3
Project Networks
Total Slack: Amount of time an activity may be delayed from its earliest starting time without delaying the latest completion time of the project TS(j)=LC(j)-EC(j) or TS(j)=LS(j)-ES(j) Those activities with the minimum total slack are called the critical activities (e.g., kitchen cabinets) Examples of activities that might have slack Free Slack: Amount of time an activity may be delayed from its earliest starting time without delaying the starting time of any of its immediate successors. FS(j)= Min i in S(j) {ES(i)-EC(j) Lets consider the sample network relative to critical activities and slack times
13 Copyright 2008, Dr. Steven A. Gabriel
0,6
G,2
Sample Computations ES(A) =Max{EC(j), j in P(A)}=EC(start)=0 EC(A)=ES(A)+tA=0+2=2 ES(B)= EC(start)=0 EC(B)=ES(B)+ tB=0+6=6 ES(F)= EC(A)=2 EC(F)= ES(F)+4=6, etc.
15
Project Networks
When results of a CPM analysis are matched up with a calendar, then we obtain a project schedule Gantt chart is a popular way to present this schedule Using the ES times from the sample AON project network, we have the following Gantt chart (could also use latest completion times as well, extreme case when all slack times are fully used)
Project Networks
G F E D C B A
1 2 3 4 5 6 7 8 9 10 11
Days
Note, Gantt chart shows for example: Starting time of F can be delayed until day 7 (TS=5) w/o delaying overall project Also, A, D, or both may be delayed by a combined total of four days (TS=4) w/o delaying the overall project B may be delayed up to 3 days without affecting the overall project completion time Can ignore precedence arrows (better20 for large networks)
10
Nodes represent the realizations of some milestones (events) of the project Arcs represent the activities Node i, the immediate predecessor node of arc(i,j) is the start node for the activity Node j, the immediate successor node of arc(i,j) is the end node for the activity Want to determine the critical path of activities, i.e., those with the least slack
22
11
Each node should have at least one arc directed into the node and one arc directed out of the node (with the exception of the start and end nodes), why? Start node has does not have any arc into it and the end node has no arc out of it All of the nodes and arcs of the network have to be visited (that is realized) in order to complete the project, why?
24
12
13
14
x j xi + tij , (i, j )
Let 1 be the index of the start node Let F be the index of the finish node (i.e., when the project is completed) LP objective function is to minimize xF-x1, i.e., the total project time
29 Copyright 2008, Dr. Steven A. Gabriel
Min x5 x1 s.t. A) x2 >= x1 + 2 B) x4 >= x1 + 6 C) x3 >= x1 + 4 D) x4 >= x2 + 3 E) x4 >= x3 + 5 F) x5 >= x2 + 4 G) x5 >= x4 + 2 Variables unrestricted in sign
30 Copyright 2008, Dr. Steven A. Gabriel
15
ROW
16
b 2
3 e
d 4 g 6 h k 9 7
i j
8 dummy arc 10 l
dummy arc
Immediate Predecessors
11
m 12
end
*For politically correct project networks, Mom and Dad are interchangeable. ** In a perfect world, activity f precedes activity c!
17
Finding the Critical Path in an AOA Project Network for Introducing a New Product
Activity a b c d e f Description Train workers Purchase raw materials Produce product 1 Produce product 2 Test product 2 Assemble products 1 and 2 into new product 3 Immediate Predecessors a,b a,b d c,e Duration (Days) 6 9 8 7 10 12
a 1 b 2
3 d
f 5 6
e dummy arc 4
18
Finding the Critical Path in an AOA Project Network for Introducing a New Product min x6-x1
s.t. x3-x1>=6 ! arc (1,3) Why variables free (i.e., not x2-x1>=9 ! arc (1,2) necessarily nonnegative)? x5-x3>=8 ! arc (3,5) x4-x3>=7 ! arc (3,4) When ok, when not? x5-x4>=10 ! arc (4,5) x6-x5>=12 ! arc (5,6) Excel version of this x3-x2>=0 ! arc (2,3) end LP? ! could have variables free or not !free x1 x2 x3 x4 x5 x6
37 Copyright 2008, Dr. Steven A. Gabriel
Finding the Critical Path in an AOA Project Network for Introducing a New Product
LP OPTIMUM FOUND AT STEP 1 OBJECTIVE FUNCTION VALUE 1) 38.00000