E N D
Project Scheduling (PS) To determine the schedules to perform the various activities (tasks) required to complete the project, subject to all constraints such as the technological limits on the activities of the project, the availability of resources and budget, and the due date requirements. SEEM 3530
Important Questions on Time • If each of the activities goes according to plan, when will the project be completed ? • Which activities are most critical to ensure the timely completion of the project ? • Which activities can be delayed, if necessary, without delaying project completion, and by how much ? • Specifically, at what times should each activity begin and end ? SEEM 3530
Trade-off between Time and Money • At any given time during the project, what is the range of dollars that should be spent ? • Is it worthwhile to incur extra costs to accelerate some of the activities ? SEEM 3530
Main PS Approaches • When activity times are deterministic, Critical Path Method (CPM) is applied • When the time to complete a task as a random variable, Program Evaluation and Review Technique (PERT) is adopted . • Both approaches work on a project network, which graphically portrays the activities of the project and their relationships. • Linear Programming (LP) is also used when there are other constraints e.g. resource limitations. SEEM 3530
CPM Analysis: Network Approach A network approach, to model the activities and their precedence relationships, and to perform scheduling analysis based on the network Activity-on-node approach: use a node to represent an activity. Activity-on-arrow approach: use an arc to represent an activity. SEEM 3530
Network Construction • A node represents an activity of the project • An arc represents the precedence relationship betweenactivities (i.e. indicating that an activity must be finished before the “following” activity can start). SEEM 3530
Rules to Construct Project Network • Rule 1. Each activity is represented by one and only one node in the network. • Rule 2. As each activity is added to the network, use arcs to represent precedence: • Which activities must be completed immediately before this activity can start ? • Which activities must immediately follow this activity? • Rule 3. All activities that have no predecessors should be connected to a common start node, while all activities that have no successors should have a common end node. SEEM 3530
Rules to construct AON networks • There should be a single start node and a single end node to identify these milestones. • All nodes, except the end node, must have at least one successor. • All nodes, except the start node, must have at least one predecessor. • No arrows should be left dangling. Every arrow must have a head and a tail. • An arrow specifies only the precedence relations; its length has no significance with respect to the time duration of either of the activities it connects. • Cycles or close-loop paths through the network are not permitted. They imply that an activity is a successor that depends on it. SEEM 3530
Example: Construct Project Network SEEM 3530
Rules to Construct Project Network • The process begins by identifying all activities that have no predecessors and joining them to a unique start node: A C B E SEEM 3530
A B D F G End Rules to Construct Project Network • Before starting activity F, activities C, E, and D must be completed. Therefore, an arc should be introduced to represent the precedence relationships of these activities: SEEM 3530
Example: Network Construction • A project has activities A,B,C,…, L, which have the following relationships: • A, B, and C, the first activities of the project that can start simultaneously. • A and B precede D. • B precedes E, F, and H. • F and C precede G. • E and H precede I and J. • C, D, F, and J precede K. • K precedes L. • I, G, and L are the terminal activities of the project. SEEM 3530
Example: Project Network SEEM 3530
Questions to be Answered by PS • If each of the activities goes according to plan, when is the earliest time that the project can be completed ? • Which tasks are the bottleneck (critical) tasks that directly affect the timely completion of the project ? • Which “non-critical” tasks be delayed, if necessary, without delaying project completion, and by how much ? • What should be the scheduled start and finishtimes for each activity? …... SEEM 3530
Answer Approach Determine • the earliest start time and • the latest finish time that each activity can take place to complete the project at the earliest possible time. SEEM 3530
Terms Used in Scheduling • Earliest Start time, ESj, of activity j is defined as the earliest time at which the activity can start, provided all previous activities were completed at their earliest possible times. • Latest Finish time, LFi, of activity i is defined as the latest time at which the activity can be completed without delaying the (earliest) completion of the project. SEEM 3530
Terms Used in Scheduling • Earliest Finish time, EFj, of activity j is defined as the earliest time at which the activity can finish, provided all previous activities were completed at their earliest possible times. SEEM 3530
Calculating early start and early finish times • A forward pass is used to determine the earliest start (ES) time and the earliest finish (EF) time for each activity: ES(K) = max{EF(J): J is an immediate predecessor of K} EF(K) = ES(K) + L(K), where L(K) denotes the duration of activity K. SEEM 3530
Example: Activities and Network SEEM 3530
A B D F G n SEEM 3530
Example: Calculating Earliest Times ESj = max i{ ESi + Li } -------------------------------- ESA = ESB = ESC = ESD = ESE = ESF = ESG = -------------------------------- What is the earliest project completion time? SEEM 3530
A B D F G End Example: ES(K) = max{EF(J): J an immediate predecessor of K} -------------------------------- ES(A)=ES(B)=ES(E)= 0. EF(A)=5, EF(B)=3, EF(E)=7 ES(C)=EF(A)=5, EF(C)=5+8=13 ES(D)=max{EF(A), EF(B)} =max{5, 3}=5. EF(D)=5+7=12 ES(F)=max{EF(C), EF(D), EF(E)} =max{13, 5, 7}=13 EF(F)=13+4=17 ES(G)=17, EF(G)=17+5=22 ---------------------------------------- Note: The above shows that the earliest time that the project can be finished is 22 weeks. SEEM 3530
Terms Used in Scheduling • Latest Start time, Ti, of activity i is defined as the latest time at which the activity can start without delaying the (earliest) completion of the project. • Latest Finish time, LFi, of activity i is defined as the latest time at which the activity can be completed without delaying the (earliest) completion of the project. SEEM 3530
Calculating late finish times of activities • A backward pass is used to determine the latest start (LS) time and the latest finish (LF) time for each activity. • Let LFEnd = ESEnd (earliest project completion time) or, if there is a due date, d, for the project, and d > ESEnd,, then LFEnd can be set as d. LF(K) = min{LS(J): J is a successor of K} LS(K) = LF(K) - L(K), where L(K) denotes the duration of activity K. SEEM 3530
Example: LF(K) = min{LS(J): J is a successor of K} ------------------------------------ LF(G)=EF(G)=22; LS(G)=22-5=17. LF(F)=LS(G)=17; LS(F)=17-4=13. LF(C)=LS(F)=13; LS(C)=13-8=5. LF(D)=LS(F)=13; LS(D)=13-7=6. LF(A)=min{LS(C), LS(D)} =min{5, 6}=5; LS(A)=5-5=0. LF(B)=LS(D)=6; LS(B)=6-3=3. LF(E)=LS(F)=17; LS(E)=17-7=6. ------------------------------------------- Note: If there is a due date d, then: LF(G)=max{EF(G), d}. SEEM 3530
Activity Slack • Slack of an activity is defined as the difference between the latest start (finish) time and the earliest start (finish) time of the activity. SEEM 3530
A Critical Path • If the earliest time and the latest time for an activity is equal, the activity has zero slack. It means that this activity cannot be delayed • If all activities on a path have zero slack, it is a critical path– no activity along this path can be delayed. SEEM 3530
Example: Finding a Critical Path • Identify the path(s), of which all activities have zero slack. SEEM 3530
Example: Finding a Critical Path • For the example, the activities: A, C, F, and G have zero slack and thus the path (1 - A - C - F – G - n) is a critical path of the project. No activity along this path can be delayed. SEEM 3530
Use Slack to Find a Critical Path To identify the critical path of a project, we can use the following simple method: • Compute the slack for each activity in the network. • Connect the activities that have zero slacks. The path(s) generated is a (are) critical path(s). SEEM 3530
Properties of Critical Paths • A critical path is a sequence of activities that establishes the earliest project completion time. • The delay of any activity on a critical path will cause a delay of the completion of the entire project. • A critical path is a longestpath (w.r.t. time) through the network. The length (in time) of a critical path represents the shortest duration of the project. • Any increase in the duration of an activity on a critical path results in the same increase in the duration of the project. • Every project network has (at least) one critical path. Some networks have several critical paths, but all critical paths are of the same length. SEEM 3530
Managerial Use of Activity Slacks • Information about the amount of slack in each activity is very important for the project manager, as this will allow him/her to know which activity can be delayed without delaying the completion of the project. • After knowing which activities could be adjusted, he/she could adjust accordingly the budgets and resource allocations so as to make the project to stay on schedule. He/she could also determine whether he/she could reduce the resources needed to meet the project completion due date. SEEM 3530
Free Slack and Total Slack 1.Free slack denotes the amount of time that an activity can be delayed without delaying both the start of any succeeding activity and the completion of the project. 2.Total slack denotes the amount of time that the completion of an activity can be delayed without delaying the completion of the project. SEEM 3530
Calculating Total Slacks • The total slack (TS) of an activity is calculated as the difference between its late start (or finish) and its early start (or finish) times. TS(K) = LS(K)-ES(K), or = LF(K)-EF(K). • Note: This is equivalent to the difference between the maximum amount of time we can use to perform the activity and the duration of the activity. (Total slack: the maximum slack to delay an activity). SEEM 3530
Calculating Free Slacks • The free slack (FS) of an activity is calculated as the difference between the earliest start time of its successors and its early finish time. FS(K) = min{ES(J): J is a successor of K} - EF(K). • (Free slack: the maximum slack to delay an activity without delaying the start of the succeeding activities). SEEM 3530
Slacks: An example --------------------------------------------------- Activity Total slack Free slack Start 0 0 A 0 0 B 3 2 C 0 0 D 1 1 E 6 6 F 0 0 G 0 0 End 0 0 --------------------------------------------------- SEEM 3530
Effect on Succeeding Activities • If an activity is delayed within its free slack, no notification to its successors is required to be made. • If an activity is delayed longer than its free slack but shorter than its total slack, its successors must be informed as this will affect the slacks of the successors. SEEM 3530
Critical Path Method (Recap): • Define the project and all its significant activities. • Determine which activities must precede and/or follow others. • Draw the network connecting all the activities. • Assign time estimates to each activity. • Find the critical path. • Determine project duration, critical activities, slack, etc. SEEM 3530
Activity Start and Finish Times • ESi = Earliest start time of activity i, which is defined as the earliest time that the activity can start without violating any precedence relation. • EFi = Earliest finish time of activity i, which is defined as the earliest time that the activity can finish without violating any precedence relation. • LSi = Latest start time of activity i, which is defined as the latest time that the activity can start without delaying the completion of the project. • LFi = Latest finish time of activity i, which is defined as the latest time that the activity can finish without delaying the completion of the project. SEEM 3530