2 PERT/CPM PERT : program evaluation and review technique CPM : critical path methodUse a project network, Activity-on-Node (AON):Nodes: activities, or tasks, to be performedArcs: show immediate predecessors to an activityTimes: duration times of activities are written next to the node
3 Reliable Construction Company Example Activity list for the Reliable Construction Co. projectActivityActivity DescriptionImmediate PredecessorsEstimatedDurationAExcavate-2 weeksBLay the foundation4 weeksCPut up the rough wall10 weeksDPut up the roof6 weeksEInstall the exterior plumbingFInstall the interior plumbing5 weeksGPut up the exterior siding7 weeksHDo the exterior paintingE,G9 weeksIDo the electrical workJPut up the wallboardF,I8 weeksKInstall the flooringLDo the interior paintingMInstall the exterior fixturesNInstall the interior fixturesK,L
4 The project network for the Reliable Construction Co. project STARTActivity CodeA. ExcavateB. FoundationC. Rough wallD. RoofE. Exterior plumbingF. Interior plumbingG. Exterior sidingH. Exterior paintingI. Electrical workJ. WallboardK. FlooringL. Interior paintingM. Exterior fixturesN. Interior fixturesA2B4C10ID6E47GF57J8H9K4L5M2N6FINISH
5 Bake a Cake Example Task Immediate predecessors Task Time A: Buy frosting ingredients—½ hrB: Clean up kitchen1 hrC: Buy cake ingredientsD: Prepare frostingA,B¼ hrE: Prepare batter & bakeB,C2 hrsF: Frost cakeD,E1/2ABDEF11/42StartCFinish
6 Critical PathA path through a project network is a route from START to FINISH.The length of path is the sum of the task times (durations) of the nodes (activities) on the path.The critical path is the longest path.The project duration is the length of the longest path.
8 To Find the Critical Path and Slacks Work from top to bottom in the network, calculatingES = earliest start time for an activityEF = earliest finish time for an activityES for activity i = largest EF of the immediate predecessorsES = 0 if no immediate predecessorsEF = ES + activity duration timeWork from bottom to top in the network, calculatingLS = latest start time for an activityLF = latest finish time for an activityLS = LF – activity duration timeLF for activity i = smallest LS of the immediate successorsLF at Finish = EF at Finish if no immediate successorsSlack = LF - EF = LS - ESIf slack is zero, the activity is on the critical path.
9 The complete project network showing ES, LS, EF and LF for each activity of the baking example S = (ES, LS)F = (EF, LF)Slack = LS – ES = LF - EFS=( ) F=( ) Slack=StartS=( ) F=( ) Slack=S=( ) F=( ) Slack=B1AS=( ) F=( ) Slack=CS=( ) F=( ) Slack=DE2S=( ) F=( ) Slack=FS=( ) F=( ) Slack=FinishS=( ) F=( ) Slack=Work down the network calculating ES and EF (ES at Start = 0, EF at Start = 0)Work backward up the network calculating LS and LF (LF and LS at Finish is EF and ES at Finish)
10 The complete project network showing ES, LS, EF and LF for each activity of the baking example S=(0, 0) F=(0, 0) Slack=0S = (ES, LS)F = (EF, LF)Slack = LS – ES = LF - EFStartS=(0, 0) F=(1,1) Slack=0S=(0, 2 ¼ ) F=(½, 2 ¾ ) Slack=2 ¼B1AS=(0, ½) F=(½, 1) Slack= ½CS=(1, 2 ¾) F=(1 ¼, 3) Slack=1 ¾DE2S=(1, 1) F=(3, 3) Slack=0FS=(3, 3) F=(3 ½, 3 ½) Slack=0FinishS=(3 ½, 3 ½) F=(3 ½, 3 ½) Slack=0Critical Path is Start →B→E →F →FinishActivity D has slack of 1¾ hours (Start of D could be delayed without affecting total project duration)Also, activities A and C have slack of 2 ¼ and ½ respectively.
13 The spreadsheet used by MS project for entering the activity list for the Reliable Construction Co. project
14 Incorporate Uncertain Activity Duration Times (Probabilistic) PERT Three-Estimate Approachm = most likely estimate of activity duration timeo = optimistic estimate of activity duration timep = pessimistic estimate of activity duration timeAssume Beta distribution of activity timeApproximately:
15 Expected value and variance of the duration of each activity for Reliable’s project OptimisticEstimateoMost Likely EstimatemPessimistic EstimatepA1231/9B3 ½84C691810D5 ½E4 ½54/9FG6 ½117H17I7 ½JKLMN
16 The paths and path lengths through Reliable’s project network when the duration of each activity equals its pessimistic estimatePathLengthSTART →A →B →C →D →G →H →M→FINISHSTART →A →B →C →E →H →M →FINISHSTART →A →B →C →E →F →J →K →N →FINISHSTART →A →B →C →E →F →J →L →N →FINISHSTART →A →B →C →I →J →K →N →FINISHSTART →A →B →C →I →J →L →N →FINISH=70 weeks=54 weeks=66 weeks=69 weeks=60 weeks=63 weeks
17 mean length of path µp = sum of mean activity times on the path For a path (typically the critical path), find the mean length (time) µp and the variance σp2mean length of path µp = sum of mean activity times on the path(because E[X+Y] = E[X] + E[Y])Variance of length of path σp2 = sum of variances of activity times on path(because we assume independence:Var [X+Y] = Var [X] + Var [Y] if X,Y independent)Example:critical path Start →A →B →C →E →F →J →L →N →Finishµp = = 44σp2 = 1/ / /9 =9
18 Find the probability the project is completed in 47 weeks using an assumption of a Normal distribution
19 Time-Cost Trade-offsIf one can expedite the project, use money/resources to reduce task times, what is the best way to allocate money?For an activity, could pay extra to reduce time (crash)How much would it cost to reduce total project duration from 44 weeks to 40 weeks? Which activities should be “crashed”?Could calculate crash cost and crash time for all possible paths – but can also apply LP!Crash costNormal costCrash timeNormal timeActivity duration time$assume linear
20 Crash Cost per Week Saved Time-cost trade-off data for the activities of Reliable’s projectActivityTimeCostMaximum Reductionin TimeCrash Cost per Week SavedNormalCrashA2 weeks1 week$180,000$280,000$100,000B4 weeks$320,000$420,000$50,000C10 weeks7 weeks$620,000$860,0003 weeks$80,000D6 weeks$260,000$340,000$40,000E$410,000$570,000$160,000F5 weeksG$900,000$1,020,000H9 weeks$200,000$380,000$60,000I$210,000$270,000$30,000J8 weeks$430,000$490,000KL$250,000$350,000MN$330,000$510,000If do all tasks normal, 44 weeks, cost is 4.55 million.If do all tasks crash, 28 weeks, cost is 6.15 million.
21 Marginal Cost Analysis For small networks, may reduce the project 1 week at a time, and observe the changes.Activity to CrashCrash CostLength of PathABCDGHMABCEHMABCEFJKNABCEFJLNABCIJKNABCIJLN403143444142J$ 30,00039F$ 40,000
22 Linear Programming to Make Crashing Decisions LetZ = total cost of crashing on any activityxj = reduction in the duration of activity j due to crashingj = A,B,C,…,Nxj ≤ maximum reduction time = normal time – crash timeyFINISH= project duration, time at which FINISH node is reachedyj = start time of activity jyj ≥ yi + normal timei – xi i is an immediate predecessor of jFIJyJyJ ≥ yF xFyJ ≥ yI xIyF5yI7
24 The schedule of cumulative project costs when all activities begin at their earliest start times or at their latest start times
25 Time-cost trade-off data for the activities of the baking project ActivityNormal TimeCrash TimeNormal CostCrash CostA: Buy frosting0.50.255B: Clean kitchen1.010C: Buy cakeD: Prepare frostingE: Prepare batter bake2.01.5F: Frost cake
26 The project network showing Normal Time and Crash Time for each activity of the baking project StartN: Normal timeC: Crash timeIf all are normal:ADF 1 ¼BDF 1 ¾BEF 3 ½CEF 3Total time is 3 ½.If all are crashed:ADF ¾BDF ¾BEFCEFTotal time is 2.N C1 , 1/4N C1/2 , 1/4ACN C1/2 , 1/4BDEN C1/4 , 1/4N C2 , 1 1/2FN C1/2, 1/4Finish
27 Could solve the crash LP for finish times between 3 Could solve the crash LP for finish times between 3.5 and 2 to evaluate alternatives2516.67Cost11.678.3352.5184.108.40.20633.253.5T= yFinish
28 Lasagna Dinner Example TaskTasks that must precedeTimeA: Buy the mozzarella cheese30 minsB: Slice the mozzarellaA5 minsC: Beat 2 eggs2 minsD: Mix eggs and ricotta cheeseC3 minsE: Cut up onions and mushrooms7 minsF: Cook the tomato sauceE25 minsG: Boil large quantity of water15 minsH: Boil the lasagna noodlesG10 minsI: Drain the lasagna noodlesHJ: Assemble all the ingredientsI, F, D, BK: Preheat the ovenL: Bake the lasagnaJ, K
30 Start E 7 G 15 30 A C 2 K 15 H 10 D 3 F 25 5 B I 2 J 10 L 30 Finish EF = ES + activity time (or duration)if no predecessors, ES = 0;otherwise ES = max (EF) (immediate predecessors)work forward through networkStartES=0EF=30ES=0EF=2ES=0EF=7ES=0EF=15E7G1530ACES=0EF=152K15H10ES=15EF=25ES=7EF=32ES=30EF=35D3ES=2EF=5F255BES=25EF=27I2ES=35EF=45J10ES=45EF=75L30Finish
31 The complete project network showing ES, LS, EF, LF and Slack for each activity of the Lasagna dinner exampleS = (ES, LS)F = (EF, LF)Slack = LF-EF=LS-ESStartS=(0,0) F=(30,30) Slack=030ACS=(0,30)F=(2,32) slack=30S=(0,3) F=(7,10) Slack=3S=(0,10) F=(15,25) Slack=10S=(0,30) F=(15,45) Slack=302E7G15K15S=(30,30) F=(35,35) Slack=0S=(15,25) F=(25,35) Slack=105BS=(2,32) F=(5,35) slack=30S=(7,10) F=(32,35) Slack=3DF25H103S=(25,33) F=(27,35) Slack=8I2S=(35,35) F=(45,45) Slack=0J10S=(45,45) F=(75,75) Slack=0L30Critical path has zero slack: A→B →J →LFinish
32 Because of a phone call, you will delayed by 6 minutes to cut onions and mushrooms (Task E) . By how much willdinner be delayed?slack is 3, delay of 6 minutes will delay dinner by 6-3=3If you use your food processor instead to reduce cuttingtime from 7 minutes to 2 minutes, will dinner still bedelayed?ES=0 LS=8LS=2 LF=10E2slack = 8, so phone of 6 won’t delay dinner
33 All of the critical path, ES, LS, EF, LF, are based on estimates of the activity times. How can you incorporate uncertainty into planning?PERT 3 – estimate approachMost Likely Estimate (m) most probable eventOptimistic Estimate (σ) if everything goes perfectlyPessimistic Estimate (p) if everything goes wrong
34 What is the probability of meeting your deadline? Assume the distribution for activity time is a Beta distributiondensityf(t)t: timeµ - 3σµ + 3σµ ± 3σ interval captures 99.73% of distribution
36 Could calculate pessimistic length: = 115Longest pessimistic path may not be the critical mean pathThe mean length is sum of means:= 75 = µpAssume all task times are independent, variance for path is sum of variances:
37 Assume distribution of path time is normal (central limit theorem if lots of tasks on a path)