1.33k likes | 1.52k Views
Topic 11. Basic Project Scheduling. Project Scheduling. Jobs subject to precedence constraints Job on arc format (most common). 2. 5. 6. 0. 1. 4. 7. 2. 3. Overview. Critical Path Method (CPM) Program Evaluation and Review Technique (PERT). No resource Constraints. Project
E N D
Topic 11 Basic Project Scheduling IE 514
Project Scheduling • Jobs subject to precedence constraints • Job on arc format (most common) 2 5 6 0 1 4 7 2 3 IE 514
Overview Critical Path Method (CPM) Program Evaluation and Review Technique (PERT) No resource Constraints Project Scheduling Heuristic Resource Leveling Integer Programming Formulations Resource Constraints IE 514
Planning a Concert IE 514
Job on Arc Network • Not allowed: no two jobs can have the same starting and ending node! • Need to introduce a dummy job. B A D C B A D C IE 514
Changing a Tire IE 514
Job on Arc Network A E B D C Is this correct? IE 514
Job on Arc Network A B E C D IE 514
A B E D C Job on Node Network • No need for a dummy node • Less used traditionally • Recently more popular IE 514
Critical Path Method (CPM) • Think of unlimited machines in parallel • … and n jobs with precedence constraints • Processing times pj as before • Objective to minimize makespan IE 514
Critical Path Method • Forward procedure: • Starting at time zero, calculate the earliest each job can be started • The completion time of the last job is the makespan • Backward procedure • Starting at time equal to the makespan, calculate the latest each job can be started so that this makespan is realized IE 514
Forward Procedure Step 1: Set at time t = 0 for all jobs j with no predecessors, Sj’=0 and set Cj’ = pj. Step 2: Compute for each job j Cj’ = Sj’ + pj. Step 3: The optimal makespan is STOP IE 514
Backward Procedure Step 1: Set at time t = Cmax for all jobs j with no successors, Cj’’= Cmax and set Sj’’ = Cmax - pj. Step 2: Compute for each job j Sj’’ = Cj’’ - pj. Step 3: Verify that STOP IE 514
Comments • The forward procedure gives the earliest possible starting time for each job • The backwards procedures gives the latest possible starting time for each job • If these are equal the job is a critical job. • If these are different the job is a slack job, and the difference is the float. • A critical path is a chain of jobs starting at time 0 and ending at Cmax. IE 514
1 2 3 6 9 5 8 4 7 11 10 12 14 13 Example IE 514
1 2 3 6 9 5 8 4 7 14 13 12 11 10 Forward Procedure 5+6=11 11+12=23 23+10=33 33+9=42 5 43+8=51 14+12=26 26+10=36 51+5=56 5+9=14 43+7=50 36+7=43 14+7=21 26+6=32 IE 514
1 2 3 6 9 5 8 4 7 14 13 12 11 10 Backwards Procedure 24-12=12 34-10=24 43-9=34 51-8=43 14-9=5 56-5=51 36-10=26 43-7=36 56 26-12=14 56-5=51 51-8=43 35-10=26 43-7=36 IE 514
2 5 8 4 7 10 13 Critical Path 1 6 9 12 14 3 11 IE 514
Topic 12 Variable Processing Times IE 514
Time/Cost Trade-Offs • Assumed the processing times were fixed • More money shorter processing time • Start with linear costs • Processing time • Marginal cost IE 514
Linear Costs Resources (money) Processing time IE 514
Solution Methods • Objective: minimum cost of project • Time/Cost Trade-Off Heuristic • Good schedules • Works also for non-linear costs • Linear programming formulation • Optimal schedules • Non-linear version not easily solved IE 514
Sources, Sinks, and Cuts Cut set Sink node Source (dummy) node Minimal cut set IE 514
Time/Cost Trade-Off Heuristic • Step 1: • Set all processing times at their maximum • Determine all critical paths with these processing times • Construct the graph Gcp of critical paths • Continue to Step 2 IE 514
Time/Cost Trade-Off Heuristic • Step 2: • Determine all minimum cut sets in Gcp • Consider those sets where all processing times are larger than their minimum • If no such set STOP; otherwise continue to Step 2 IE 514
Time/Cost Trade-Off Heuristic • Step 3: • For each minimum cut set: • Compute the cost of reducing all processing times by one time unit. • Take the minimum cut set with the lowest cost • If this is less than the overhead per time unit go on to Step 4; otherwise STOP IE 514
Time/Cost Trade-Off Heuristic • Step 4: • Reduce all processing times in the minimum cut set by one time units • Determine the new set of critical paths • Revise graph Gcp and go back to Step 2 IE 514
Example IE 514
1 2 3 6 9 5 8 4 7 11 10 12 14 13 Maximum Processing Times IE 514
1 2 3 6 9 5 8 4 7 11 10 12 14 13 Maximum Processing Times IE 514
1 3 6 9 14 11 12 Critical Path Subgraph (Gcp) C1=7 C12=2 C6=3 C9=4 C14=8 C11=2 C3=4 Cut sets: {1},{3},{6},{9}, {11},{12},{14}. Minimum cut set with lowest cost IE 514
1 3 6 9 14 11 12 13 Critical Path Subgraph (Gcp) C1=7 C12=2 C6=3 C9=4 C14=8 C11=2 C13=4 C3=4 Cut sets: {1},{3},{6},{9}, {11},{12,13},{14}. Minimum cut set with lowest cost IE 514
1 3 6 9 14 12 13 11 Critical Path Subgraph (Gcp) C1=7 C12=2 C6=3 C9=4 C14=8 C11=2 C13=14 C3=4 Reduce processing time until = 4 Reduce processing time next on job 6 IE 514
4 1 3 6 9 7 2 12 13 11 14 10 Critical Path Subgraph (Gcp) C2=2 C4=3 C7=4 C10=5 C1=7 C12=2 C6=3 C9=4 C14=8 C11=2 C13=4 C3=4 IE 514
Linear Programming Formulation • The heuristic does not guaranteed optimum • Here total cost is linear • Want to minimize IE 514
Linear Program Minimize subject to IE 514
Topic 13 PERT IE 514
Program Evaluation and Review Technique (PERT) • Assumed processing times deterministic • Processing time of j random with mean mj and variance sj2. • Want to determine the expected makespan • Assume we have pja = most optimistic processing time pjm = most likely processing time (mode) pjb = most pessimistic processing time IE 514
Expected Makespan • Estimate expected processing time • Apply CPM with expected processing times • Let Jcp be a critical path • Estimate expected makespan IE 514
Distribution of Makespan • Estimate the variance of processing times • and the variance of the makespan • Assume it is normally distributed IE 514
Discussion • Potential problems with PERT: • Always underestimates project duration • other paths may delay the project • Non-critical paths ignored • critical path probability • critical activity probability • Activities are not always independent • same raw material, weather conditions, etc. • Estimates by be inaccurate IE 514
Discussion • No resource constraints: • Critical Path Method (CPM) • Simple deterministic • Time/cost trade-offs • Linear cost (heuristic or exact) • Non-linear cost (heuristic) • Accounting for randomness (PERT) IE 514
Topic 14 Adding Resource Constraints IE 514
Resource Constraints • Renewable resources • Very hard problem • No LP • Can develop an IP • Let job n+1 be dummy job (sink) and IE 514
Makespan • Let H bound the makespan, e.g. • Completion time of job j is and the makespan IE 514
IP Formulation Minimize Subject to IE 514
In Practice • The IP cannot be solved • (Almost) always resource constraints • Heuristic: Resource constraint Precedence constraint • Example: pouring foundation and sidewalk • both require same cement mixer • delaying foundation delays building • precedence constraint: pour foundation first • not a logical constraint IE 514
Optimality of Heuristic • Say n jobs need the same resource • Could otherwise all be done simultaneously • Add (artificial) precedence constraints • Have n! possibilities • Will we select the optimal sequence? IE 514
Decision Support • Resource leveling • Solve with no resource constraints • Plot the resource use as a function of time • If infeasible suggest precedence constraints • Longest job • Minimum slack • User adds constraints • Start over IE 514
Example: One Resource 2 Uses resource 6 9 6 3 6 11 Resource Profile Capacity Time 10 20 30 IE 514