© J. Christopher Beck Lecture 6: Time/Cost Trade-off in Project Planning
© J. Christopher Beck Outline Project Planning with Time/Cost Tradeoffs Linear and non-linear
© J. Christopher Beck Readings P Ch Slides borrowed from Twente & Iowa See Pinedo CD
© J. Christopher Beck Time/Cost Trade-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 Linear Costs Money Processing time Marginal cost Cost to reduce job j by by 1 time unit
© J. Christopher Beck Problem Spend money to reduce processing times so as to minimize: “Overhead” cost Cost per activity
© J. Christopher Beck 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 Source (dummy) node Sink node Minimal cut set Cut set Sources, Sinks, & Cuts
© J. Christopher Beck Cuts Sets & Minimal Cut Sets Given a graph G(V,E) A cut set is a set of nodes such that in the graph formed by removing the nodes in S from G there is no path from the source to the sink A minimal cut set, R, is a cut set such that if you remove any node, a, from R, R \ {a} is not a cut set V is a set of nodes E is set of edges (arcs)
© J. Christopher Beck Is This a Cut Set? Is This a Minimal Cut Set?
© J. Christopher Beck Is This a Cut Set? Is This a Minimal Cut Set?
© J. Christopher Beck Is This a Cut Set? Is This a Minimal Cut Set?
© J. Christopher Beck Is This a Cut Set? Is This a Minimal Cut Set?
© J. Christopher Beck Is This a Cut Set? Is This a Minimal Cut Set?
© J. Christopher Beck Is This a Cut Set? Is This a Minimal Cut Set?
© J. Christopher Beck Step 1: Set all processing times at their maximum Determine all critical paths Construct the graph G cp of critical paths Time/Cost Trade-off Heuristic
© J. Christopher Beck Step 2: Determine all minimal cut sets in G cp Consider those sets where all processing times are larger than their minimum If no such set STOP; otherwise continue to Step 3 Time/Cost Trade-off Heuristic
© J. Christopher Beck 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 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 G cp and go back to Step 2
© J. Christopher Beck Example Jobs p max j p min j cajcaj cbjcbj cjcj Error in text
© J. Christopher Beck Warning: Example Unfortunately, the text is wrong for this example!
© J. Christopher Beck Step 1: Maximum Processing Times, Find G cp
© J. Christopher Beck Step 1: Maximum Processing Times, Find G cp Cost = overhead + job costs = c o * C max + Σc b j = 6 * = 560
© J. Christopher Beck c 1 =7 c 3 =4 c 6 =3c 9 =4 c 11 =2 c 12 =2 c 14 =8 Minimum cut set with lowest cost Cut sets: {1},{3},{6},{9}, {11},{12},{14}. Arbitrarily choose 12 Reduce p 12 from 8 to 7 1. Step 2 & 3: Min. Cut Sets in G cp & Lowest Cost
© J. Christopher Beck Step 4 & 1: Reduce p 12 by Cost = overhead + processing = c 0 * C max + Σjob costs = 6 * = 556
© J. Christopher Beck Step 2 & 3: Min. Cut Sets in G cp & Lowest Cost c 1 =7 c 3 =4 c 6 =3c 9 =4 c 11 =2 c 12 =2 c 14 =8 13 Cut sets: {1},{3},{6},{9}, {11},{12,13},{14} Why isn’t {12} a cut set? What is the cost of {12, 13}? c 13 =4 Minimum cut set with lowest cost
© J. Christopher Beck Step 4 & 1: Reduce p 11 by Cost = overhead + processing = c 0 * C max + Σjob costs = 6 * = 552
© J. Christopher Beck Step 2 & 3: Min. Cut Sets in G cp & Lowest Cost c 1 =7 c 3 =4 c 6 =3c 9 =4 c 11 =2 c 12 =2 c 14 = Min. cut sets! Where are they? Min cost min cut set: {2,11}: 4 Reduce Job 2 to 5 and Job 11 to 5 c 13 =4 Minimum cut set with lowest cost c 2 =2c 4 =3c 7 =4 c 10 =4
© J. Christopher Beck Step 4 & 1: Reduce p 2 & p 11 by Cost = overhead + processing = c 0 * C max + Σjob costs = 6 * = 550
© J. Christopher Beck Step 2 & 3: Min. Cut Sets in G cp & Lowest Cost c 1 =7 c 3 =4 c 6 =3c 9 =4 c 11 =2 c 12 =2 c 14 =8 13 Can’t reduce Job 2 anymore. Why? Min cost min cut set: {11,12}: 4 Reduce Job 11 to 4, Job 12 to 6 c 13 =4 Minimum cut set with lowest cost c 2 =2c 4 =3c 7 =4 c 10 =4
© J. Christopher Beck Step 4 & 1: Reduce p 11 and p 12 by Cost = overhead + processing = c 0 * C max + Σjob costs = 6 * = 548
© J. Christopher Beck Step 2 & 3: Min. Cut Sets in G cp & Lowest Cost c 1 =7 c 3 =4 c 6 =3c 9 =4 c 11 =2 c 12 =2 c 14 =8 13 Cutset: {6, 12}: 4 Reduce Job 6 to 11, Job 12 to 5 c 13 = c 2 =2c 4 =3c 7 =4 c 10 =4
© J. Christopher Beck Step 4 & 1: Reduce p 6 and p 12 by Cost = overhead + processing = c 0 * C max + Σjob costs = 6 * = 547
© J. Christopher Beck Step 2 & 3: Min. Cut Sets in G cp & Lowest Cost c 1 =7 c 3 =4 c 6 =3c 9 =4 c 11 =2 c 12 =2 c 14 =8 13 All cut sets either can’t be reduced (a job at p min ) or has a cost ≥ 6. So we’re done. c 13 = c 2 =2c 4 =3c 7 =4 c 10 =4
© J. Christopher Beck Example It would be very useful for you to work through this entire example on your own! Remember the book is wrong. You should use the slides.
© J. Christopher Beck Linear Programming Formulation The heuristic does not guarantee optimum See example You are responsible for the LP formulation! see the text!
© J. Christopher Beck Can Also Have Non-linear Costs Arbitrary function c j (p j ) → cost of setting job j to processing time p j LP doesn’t work! See Section 4.5 A question I like: Given processing times and c j (p j ), which algorithm would you use (heuristic or LP)?