Lecture 4: Program Evaluation and Review Technique (PERT) © J. Christopher Beck 2008 1 Outline Quick CPM Review Program Evaluation and Review Technique (PERT) © J. Christopher Beck 2008 2 Readings P Ch 4.2, 4.3 Slides borrowed from Twente & Iowa See Pinedo CD © J. Christopher Beck 2008 3 A Small Example (again) Job p(j) Predecessors 1 2 2 3 3 1 4 4 1,2 5 2 2 6 1 4 “job on node”-representation: 1 2 3 © J. Christopher Beck 2008 4 6 5 4 Forward Procedure STEP1: For each job that has no predecessors: ' ' S max C k STEP2: compute for each job j: j S 'j 0 C 'j p j kj C STEP3: C max max j C 'j S 'j p j ' j C’1 = 2 S’1 = 0 S’6 = 7 1 C’2 = 3 S’2 = 0 S’4 = 3 2 C’4 = 7 4 6 C’3 = 1 © J. Christopher Beck 2008 S’3 = 0 3 S’5 = 3 5 C’6 = 8 C’5 = 5 Cmax = 8 5 Backward Procedure C ''j C max STEP1: For each job that has no successors: S ''j C max p j '' '' STEP2: compute for each job j: C j min S k jall k STEP3: Verify that: 0 min S j '' j S ''j C ''j p j C’’1 = 3 S’’1 = 1 S’’6 = 7 1 C’’2 = 3 S’’2 = 0 S’’4 = 3 C’’4 = 7 2 4 6 C’’3 = 8 © J. Christopher Beck 2008 S’’3 = 7 3 S’’5 = 6 5 C’’6 = 8 C’’5 = 8 Cmax = 8 6 OK so … © J. Christopher Beck 2008 7 Uncertain Processing Times Great, project scheduling is easy! In the real world, do we really know the duration of a job? What if we have estimates of duration? What if we have a distribution: pj = (μj, δj)? © J. Christopher Beck 2008 8 Program Evaluation & Review Technique (PERT) Idea: estimate pj and use CPM to estimate: Ê(Cmax) – expected makespan Ṽ(Cmax) – variance of makespan © J. Christopher Beck 2008 9 Simplest Approach Given pj = (μj , δj), let pj = μj Use CPM to find critical path Estimate the expected makespan This is a very crude approximation! Ê(Cmax) = Σ μj, j in critical path Ṽ(Cmax) = Σ (δj2), j in critical path See Example 4.3.2 Q: What if there are two CPs? © J. Christopher Beck 2008 10 Estimating (μj , δj) Assume you have 3 estimates of pj Optimistic: paj Most likely: pmj Pessimistic: pbj Reasonable estimates: μj = (paj+4pmj+pbj) / 6 δj = (pbj-paj) / 6 © J. Christopher Beck 2008 “No battle plan survives the first encounter with the enemy.” 11 PERT Steps 1. Find μj , δj2 2. Use CPM to find critical path(s) i.e., using estimates on previous slide with pj = μj 3. Estimated expected value and variance of Cmax Eˆ (Cmax ) ˆ j Assume makespan is normally distributed Vˆ (C ) max © J. Christopher Beck 2008 jJ cp 2 j jJ cp 12 PERT Problems More than one CP? non-CP with high variance? expected makespan must be larger than single CP estimate (why?) Assumption of normal distribution © J. Christopher Beck 2008 13 PERT Practice Draw precedence graph Find μj , δj2 Find Critical Path(s) Estimate expected value and variance of Cmax © J. Christopher Beck 2008 Job paj pmj pbj Predecessors 1 2 4 12 - 2 10 15 20 1 3 6 8 22 1 4 8 16 18 1 5 2 10 18 2,3,4 6 8 12 24 2 7 2 5 8 5 8 3 4 11 5 9 4 8 24 6,7 10 1 5 9 8 14 More PERT Practice Example 4.3.1 Jobs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pa j 4 4 8 10 6 12 4 5 10 7 6 6 7 2 pmj 5 6 8 11 7 12 11 6 10 8 7 8 7 5 pbj 6 8 14 18 8 12 12 7 10 15 8 10 7 8 Hint: same graph as 1 4.2.3 2 3 © J. Christopher Beck 2008 4 6 7 9 10 11 5 8 Find expected makespan and variance 12 14 13 15