Lecture 4 Project Planning 1 J Christopher Beck
Lecture 4: Project Planning 1 © J. Christopher Beck 2005 1
Outline n ROMAN n n Project representation n n Project scheduling system Job-on-node CPM – forward & backward PERT – CPM with estimates Some slides taken from Twente University (see Pinedo CD) © J. Christopher Beck 2005 2
ROMAN n How do you shut down a nuclear power plant for maintenance? n n n Very carefully 10, 000 to 40, 000 jobs $1, 000 per day © J. Christopher Beck 2005 3
Problem n Given a set of jobs, precedence constraints & resource requirements, assign resources to jobs for specific periods to: n n n Minimize makespan Makes sure all jobs can be done safely Jobs: refueling, repairs, plant modifications, maintenance © J. Christopher Beck 2005 4
Approach n n Decision tree for sophisticated safely analysis Constraint programming based project scheduling system n Builds on basic algorithms we will study © J. Christopher Beck 2005 5
Project Planning: Example 1 1 n 2 4 6 3 5 7 Rules for “job on node” networks: n network contains no directed cycles n event numbering © J. Christopher Beck 2005 n network contains no redundant arcs 6
Example 2 “job on node”-representation: 1 © J. Christopher Beck 2005 2 4 3 5 6 7
Example 2 Alternative Makespan? Critical Path? “job on node”-representation: 1 2 3 © J. Christopher Beck 2005 4 6 5 8
Critical Path Method n n Find Critical path and makespan Two steps: n n forward procedure – find min. makespan backward procedure – find CP © J. Christopher Beck 2005 9
Forward Procedure STEP 1: For each job that has no predecessors: STEP 2: compute for each job j: STEP 3: C’ 1 = 2 S’ 1 = 0 S’ 6 = 7 1 C’ 2 = 3 S’ 4 = 3 C’ 4 = 7 2 4 S’ 2 = 0 6 C’ 3 = 1 © J. Christopher Beck 2005 S’ 3 = 0 3 S’ 5 = 3 5 C’ 6 = 8 C’ 5 = 5 C’max = 8 10
Backward Procedure STEP 1: For each job that has no successors: STEP 2: compute for each job j: STEP 3: Verify that: 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 2005 S’’ 3 = 7 3 S’’ 5 = 5 5 C’’ 6 = 8 C’’ 5 = 8 C’max = 8 11
Critical Path n If S’j = S’’j then activity is in the critical path Job S’ S’’ j © J. Christopher Beck 2005 j 1 0 1 2 0 0 3 0 7 4 3 3 5 6 7 7 12
Example 4. 2. 3 Jobs 1 2 3 4 pj 5 6 7 8 9 10 11 12 13 14 5 6 9 12 7 12 10 6 10 9 2 4 7 1 9 3 © J. Christopher Beck 2005 8 7 5 12 14 11 5 8 1) Find makespan 2) Find CP 10 6 7 13 13
What if … n n Great, project scheduling is easy! In the real world, do we really know the duration of a job? What if pj = (μj, δj)? (Believe it or not, that is current research!) © J. Christopher Beck 2005 14
Program Evaluation & Review Technique (PERT) n Idea: estimate pj and use CPM to estimate: n n Ê(Cmax) – expected makespan Ṽ(Cmax) – variance of makespan © J. Christopher Beck 2005 15
PERT n n n Given pj = (μj , δj), let pj = μj Use CPM to find critical path Estimate the expected makespan n This is a very crude approximation! n n Ê(Cmax) = Σ μj, j in critical path Ṽ(Cmax) = Σ (δj 2), j in critical path See Example 4. 3. 2 Q: What if there are two CPs? © J. Christopher Beck 2005 16
Estimating (μj , δj) n Assume you have 3 estimates of pj n n Optimistic: paj Most likely: pmj Pessimistic: pbj Estimates: n n μj = (paj+4 pmj+pbj) / 6 δj = (pbj-paj) / 6 © J. Christopher Beck 2005 17
Example 4. 3. 1 Jobs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 paj 4 4 8 10 6 12 4 5 10 7 6 6 7 2 p mj 5 6 8 11 7 12 11 6 10 8 7 5 p bj 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 2005 4 6 7 9 10 11 5 8 Find expected makespan and variance 12 14 13 18
- Slides: 18