ENGM 631 Optimization Ch. 10: PERT/CPM
Great Pyriamid of Cheops (2,500 B.C.) 42,300,000 Stone Blocks 440 Stories 4Accuracy of 0.04 inch 413 acres level within 1 inch 4100,000 laborers 40,000 skilled masons 150,000 women & children
Project Goals Cost Time Performance Ref: M. Rosenau, Successful Project Management, LL Pubs., 1981
Activity-On Node (AON) AON: “Activity on Node” Each schedule activity in project is represented by a node or block A project is represented by a network of nodes connected with arrows arranged in sequence as specified by immediate predecessors Activity A Initiate project
AON (cont’d) ActivityImmediate Predecessors A-- BA CB DB EC, D FE A D EFB C Given a table like the one above, developing the network is a mechanistic process that does not require any decisions
Activity-On Arrow (AOA) AOA: “Activity on Arrow” Each activity is represented by an arrow, with nodes at each end to represent the start and finish of the activity A start of Afinish of A AOA networks are more similar to Gantt charts than AON networks but they necessitate the use of dummy activities
AOA and Dummy Activities Convert the following AON diagram into AOA:
AOA and Dummy Activities AOA diagram requires a dummy activity:
AOA and Dummy Activities Dummy Activities Are used to show predecessor relationships Are called “dummies” because they are not real activities and involve no work.
AON and AOA Both AON and AOA kinds of networks are used in industry but AON has become more popular We will therefore use AON
AON: Example
Class Exercise: Draw an AON Network for the Following:
AON: Consider a specific Activity Start time = 61 Finish time = 660 Take shower Duration = 600 End date = Start date + duration -1 From preceding activities To succeeding activities Why minus 1?
Consider a 5-day activity starting on Monday the 1 st of the month: Monday = Day 1 = Start date Friday = Day 5 = Finish date Duration = 5 End date = Start date + duration -1 The assumption is that the activity starts Monday morning early and finishes late Friday afternoon
Determining Earliest Times for Activities Forward Pass: “The calculation of the early start and early finish dates for the uncompleted portions of all network activities” — PMBOK
Finish date = Start date + duration -1 Forward Pass
Forward Pass: Class Exercise
Determining Latest Times for Activities Backward Pass: “The calculation of the late finish dates and late start dates for the uncompleted portions of all schedule activities. Determined by working backwards through the schedule network logic from the project’s end date. The end date may be calculated in the forward pass or determined by the customer or sponsor” —PMBOK
Early Finish = Early Start + duration – 1 Late Start = Late Finish – Duration + 1 Backward Pass
Late Start = Late Finish – Duration + 1
Backward Pass When an activity has more than one successor, (like Activity A) use the earliest start date to determine the late finish date of the predecessor (i.e. A finishes at day 10, not 14)
Backward Pass: Class Exercise
Due Date set by Customer If a project has to be done ASAP, use the end date calculated during the forward pass. If a project has a predetermined due date, use this due date instead of the date calculated during the forward pass
A B C D Project with predetermined due date, Day 40 Due Date set by Customer
Critical Path The longest path through a network (from start to finish) Activities on the Critical Path are called “critical activities”
Critical Path Why is it an important concept? Determines the project duration Shows the project manager where to focus her attention (critical activities have least flexibility)
The Critical Path is Not Stable “The critical path will generally change from time to time as activities are completed ahead or fall behind schedule” —PMBOK, PMI 1996 And it does so without warning! You do not know where to focus (Solutions to this problem discussed later)
Total Slack (Float) Total Slack = LS – ES = LF – EF Total Slack = Total Float (or simply “Float”)
Slack Implies Early and Late Times Start Finish Late Start Late Finish
Slack (cont’d) Slack represents scheduling flexibility –How much later than early start time is permissible –How much an activity can exceed expected duration –Some activities cannot be delayed by any amount (zero slack). This is often the case on the critical path
A B C D Predetermined due date later than the earliest possible completion Slack on the Critical Path In this case there is float on the critical path
Slack Why should the Gantt chart be drawn only after the network has been developed? For each activity with float, a decision has to be made whether the activity should be performed ASAP or only later
Free Slack (Free Float) Total slack is late times minus early times, and is amount of time an activity can be delayed without delaying project Free slack is amount of time an activity can be delayed without delaying at least one other activity If an activity is delayed more than the free slack, it will delay successors that are scheduled as early as possible and that could be disruptive
Free Slack ES EF Duration LS LF Key: Critical Path E F X What is the free slack of Activity X?
Free Slack ES EF Duration LS LF Key: Critical Path E F X What is the free slack of Activity X? Slack = 25 – – 3 = 12 Free Slack = 25 – – 3 = 2
Free Slack
Time – Cost Tradeoff (cont’d) Where the use of more costly resources would reduce duration Both the Normal time (T n ) and Crash time (Tc) are fixed values: In its simplest form, the CPM time-cost tradeoff does not take variability (other than that relating to cost) into account
Time – Cost Tradeoff (cont’d) Consider activity durations and direct costs for “Normal” and “Crash” conditions crash Time Direct Cost normal x x TcTc TnTn CcCc CnCn C c = Crash cost C n = Normal cost T c = Crash time T n = Normal time
Time – Cost Tradeoff (cont’d) Where in-between possibilities exist, assume a straight line (not stepwise, concave, etc) crash Time Direct Cost normal x x TcTc TnTn CcCc CnCn cost slope == ΔCΔC ΔTΔT C c - C n T c - T n
Time – Cost Tradeoff (cont’d)
Project completion time is estimated to be 16 days Suppose 16 is too long. To shorten project, must either reduce work or add resources among activities A, D, E, and G Suppose we cannot cut out any work, so we have to add resources. To which activity? A, D, E, or G? Consider the cost of these alternatives Time – Cost Tradeoff: Example
NormalCrashCost ActivityTnTn CnCn TcTc CcCc Slope A B C D E F G H Time – Cost Tradeoff: Example
Project takes 16 days and costs $820 To reduce duration, add resources to activity on CP with smallest cost slope –Activity A cannot be reduced –D and E have slopes of only $10 –Let’s pick D, arbitrarily. Reduce from 7 to 6 days Time – Cost Tradeoff: Example
Reduce duration of D from 7 to 6 days
Reducing D by 1 day adds $10 to cost of project This is a “direct cost” (DC) –so direct cost of project increases to DC = = $830 Time – Cost Tradeoff: Example
How far can an activity be reduced? –Either to its crash time, –or by the amount of slack time on parallel non- critical paths, –whichever happens first Time – Cost Tradeoff: Example
Slack times for B and C are 5 days D’s crash time is 2 days Hence, 5 days can be taken out of D (slack time) since result is 2 days – which happens to be crash time for D Time – Cost Tradeoff: Example
Reduce D by 5 days DC = (10) = $870 Project can be done in 11 days but will cost $870 Time – Cost Tradeoff: Example
With D now at 2 days, both C and D become critical (0 slack) If we want to reduce project duration still more, look for remaining activities on CP with lowest cost slope. That would be E Time – Cost Tradeoff: Example
NormalCrashCost Slope ActivityTnTn CnCn TcTc CcCc A Cannot be crashed B Reducing without crashing A and/or D will not help C Reducing without crashing D will not help D Fully crashed E F G H Time – Cost Tradeoff: Example