280 likes | 823 Views
Lecture 5: Project Planning 2. Outline. Time/Cost Tradeoffs Linear and non-linear Adding Workforce Constraints Slides borrowed from Twente & Iowa See Pinedo CD. Time/Cost Trade-Offs. What if you could spend money to reduce the job duration More money shorter processing time
E N D
Lecture 5: Project Planning 2 © J. Christopher Beck 2005
Outline • Time/Cost Tradeoffs • Linear and non-linear • Adding Workforce Constraints • Slides borrowed from Twente & Iowa • See Pinedo CD © J. Christopher Beck 2005
Time/CostTrade-Offs • What if you could spend money to reduce the job duration • More money shorter processing time • Run machine at higher speed © J. Christopher Beck 2005
Linear Costs Money Marginal cost Processing time © J. Christopher Beck 2005
Problem • Spend money to reduce processing times so as to minimize: Cost per activity “Overhead” cost © J. Christopher Beck 2005
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 © J. Christopher Beck 2005
Cut set Sink node Source (dummy) node Minimal cut set Sources, Sinks, & Cuts © J. Christopher Beck 2005
Time/Cost Trade-off Heuristic • Step 1: • Set all processing times at their maximum • Determine all critical paths • Construct the graph Gcp of critical paths © J. Christopher Beck 2005
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 3 © J. Christopher Beck 2005
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 © J. Christopher Beck 2005
Time/Cost Trade-Off Heuristic • Step 4: • Reduce all processing times in the minimum cut set by one time unit • Determine the new set of critical paths • Revise graph Gcp and go back to Step 2 © J. Christopher Beck 2005
Example 4.4.2 Overhead: co = 6 (cost of project per time unit) © J. Christopher Beck 2005
1 2 3 6 9 5 8 4 7 11 10 12 14 13 Step 1: Maximum Processing Times, Find Gcp © J. Christopher Beck 2005
8 4 5 9 7 3 2 1 6 13 11 10 12 14 Step 1: Maximum Processing Times, Find Gcp Cost = overhead + job costs = co * Cmax + Σcaj = 6 * 56 + 350 = 686 © J. Christopher Beck 2005
1 3 6 9 11 12 14 Step 2 & 3: Min. Cut Sets in Gcp & Lowest Cost 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 © J. Christopher Beck 2005
8 4 5 9 7 3 2 1 6 13 11 10 12 14 Step 4 & 1: Reduce Processing Time for Each Job by 1 Cost = overhead + processing = c0 * Cmax + Σjob costs = 6 * 55 + 352 = 682 © J. Christopher Beck 2005
1 3 6 9 14 11 12 13 Step 2 & 3: Min. Cut Sets in Gcp & Lowest Cost 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 © J. Christopher Beck 2005
1 3 6 9 11 12 14 13 Next 3 Iterations c1=7 c12=2 c6=3 c9=4 c14=8 c11=2 c13= 4 c3=4 Next 3 iterations reduce processing time from 7 to 4 Cost = overhead + processing = co * Cmax + Σjob costs = 6 * 52 + 355 = 667 © J. Christopher Beck 2005
1 3 6 9 11 12 14 13 Step 1,2, & 3 c1=7 c12=2 c6=3 c9=4 c14=8 c11=2 c13= 4 c3=4 Reduce processing time next on job 6 Q: why not 12? © J. Christopher Beck 2005
4 1 3 6 9 7 2 12 13 11 14 10 After More Iterations … c2=2 c4=3 c7=4 c10=5 c1=7 c12=2 c6=3 c9=4 c14=8 c11=2 c13= 4 c3=4 © J. Christopher Beck 2005
Linear Programming Formulation • The heuristic does not guarantee optimum • See example 4.4.3 • Here total cost is linear so use LP • Want to minimize © J. Christopher Beck 2005
Linear Program Minimize subject to earliest start time of job k processing time of job k © J. Christopher Beck 2005
Can Also Have Non-linear Costs • Arbitrary function cj(pj) → cost of setting job j to processing time pj • LP doesn’t work! • See Section 4.5 • A question I like: • Given processing times and cj(pj), which algorithm would you use (heuristic or LP)? © J. Christopher Beck 2005
What If Jobs Require Resources? • Back to fixed durations • Without resources → easy • With resources → hard • Resource Constraint Project Scheduling Problem (RCPSP) © J. Christopher Beck 2005
3 5 2 1 6 4 RCPSP Example 6 5 4 3 2 1 Resource requirements 1 2 3 4 5 6 7 8 © J. Christopher Beck 2005
What if R1 = 4? 6 5 4 2 3 1 5 6 2 3 4 1 1 2 3 4 5 6 7 8 9 10 © J. Christopher Beck 2005
RCPSP • n: jobs j=1,…,n • N: resources i=1,…,N • Rk: availability of resource k • pj: duration of job j • Rkj: requirement of job j for resource k • Pj: (immediate) predecessors of job j • Minimize Cmax © J. Christopher Beck 2005
RCPSP Example © J. Christopher Beck 2005