WOOD 492 MODELLING FOR DECISION SUPPORT Lecture 23 CPM Review – Minimum spanning tree • Goal: find the smallest network that has a path between each two nodes (application example: railway networks) • Greedy algorithm solution : start from any node and in each step pick the closest unconnected node and add it to the network – Critical path method (CPM) for time-cost trade-off • Goal: find the optimal plan to expedite some activities within a project in order to minimize the costs while meeting the project deadline • First, we visualize the activities within a project using a network (each activity is represented with a node in the network) • Then we find the “critical path”, which is the longest path through the project network, going from start to finish nodes. Oct 31, 2012 Wood 492 - Saba Vahid 2 Example 15 – Project network • “Reliable Constructions Co.” has identified the activities within a plant construction project • The deadline is in 40 weeks • Project budget is $5.4 million • Based on activity information we create the project network • How long will the project take? – We need to find the paths through the project network and their lengths – Path: one of the routes following the arcs from Start to Finish node – Length: sum of the estimated durations of the activities along that path Example 15 Oct 31, 2012 Wood 492 - Saba Vahid 3 Example 15 - Critical Path Method Start • There are six paths for this network 1. 2. 3. 4. 5. 6. • Start-A-B-C-D-G-H-M-Finish Start-A-B-C-E-H-M-Finish Start-A-B-C-E-F-J-K-N-Finish Start-A-B-C-E-F-J-L-N-Finish Start-A-B-C-I-J-K-N-Finish Start-A-B-C-I-J-L-N-Finish 40 weeks 31 weeks 43 weeks 44 weeks 41 weeks 42 weeks A Critical Path Activities on each path are done sequentially (can not overlap), so the project length can not be shorter than the length of a given path, but it might be longer – e.g. activity H has 2 predecessors (E, and G which is not on the path). Looking at the duration of activities after C, we see that activity E only takes 4 weeks, while activity D and G take 13 weeks combined. Since H needs to wait for both E and G to finish, the project will take much longer than the 31 weeks estimated length for the second path 2 B 4 C 10 6 7 D I 4 E 5 7 G F 8 9 J H 4 5 K 2 M L N 6 Finish Oct 31, 2012 Wood 492 - Saba Vahid 4 Critical Path Start • Critical path: Start-A-B-C-E-F-J-L-N-Finish 44 weeks A 2 • The longest path through the project network • May have more than one critical path (same length) • Activities on the longest path can be done sequentially without having to wait for activities on other paths, so the project length is equal to the length of this path • All other paths will reach the Finish node sooner than the critical path • Project length is 44 wks: longer than the 40 wks deadline • The management should focus on reducing the length of activities on the critical path to finish the project by the deadline B 4 C 10 6 7 D I 4 E 5 7 G F 8 9 J H 4 5 K 2 M L N 6 • Which activities to choose? Finish Oct 31, 2012 Wood 492 - Saba Vahid 5 CPM for time-cost trade-offs • Crashing an activity: using costly measured to reduce its length • CPM: determines how much (if any) to crash each activity to reduce the estimated duration of the project • Time-cost graph : shows the relationship between time and cost of an activity Cost in the normal and crash modes • Assumptions: – Maximum time reduction and associated crash costs For each activity can be estimated with certainty – Partially crashing an activity is possible, the associated cost and time move along the line segment in the graph Crash cost Crash Normal Normal cost Crash time Normal time Duration • Time-cost trade-off data are required for each activity Oct 31, 2012 Wood 492 - Saba Vahid 6 Cost-time trade-off • • • Example of cost-time trade-off for an activity Activity J (putting up the wallboard) It’s possible to reduce the duration of this activity by two weeks (through hiring temporary workers and using overtime) Normal time: 8 weeks Normal Cost: $430,000 Crash time: 6 weeks Crash Cost:$490,000 Maximum reduction in time=8 – 6 = 2 weeks Crash cost per week saved = (490,000 – 430,000)/2 = $30,000 So for each week the company saves in time, $30,000 are required in extra costs Example 15 Oct 31, 2012 Wood 492 - Saba Vahid 7 Which activities to crash? • How to select the activities to crash, while minimizing the costs of doing so? – Marginal Cost analysis – Linear programming • Marginal Cost Analysis 1. select the longest path through the network 2. Among the activities on that path, select the one with the lowest “crash cost per week” 3. Reduce its length by one week if possible, if not move to the next lowest crash cost/week 4. Review the length of all paths after this reduction and repeat steps 1 to 3 until you reach the desired length of the project Example 15 Oct 31, 2012 Wood 492 - Saba Vahid 8 Using LP to choose activities to crash • The objective: minimize the total cost of crashing the activities • Variables: xj : reduction in activity j duration by crashing (j=A,B,..,N) • Constraints: – Total project duration is less than the desired length – The reductions can not be more than the maximum allowed reduction – The reductions must be non-negative – Precedence relationships between activities must hold (we need to define extra variables to write these constraints) Oct 31, 2012 Wood 492 - Saba Vahid 9 Precedence relationships • Define new variables: Yj = start time of activity j (for j=B,C,…,N) • The start time of each activity has to be after all its predecessors are finished, so Start time of activity j >= (start time + duration) of its immediate predecessor • Duration of each activity j= its normal time – xj • For example, immediate predecessor of activity F is E, so: YF >= YE + 4 – XE • For activities with more than one predecessor, more inequalities are needed Oct 31, 2012 Wood 492 - Saba Vahid 10 The LP for cost-time trade-off, Example 15 • Minimize Z = Normal Cost + (crash cost per week of activity j ∗ reduction in activity j duration) • Subject to: • 𝑥𝐴 ≤ 1, 𝑥𝐵 ≤ 2, … (maximum reduction constraints) • 𝑥𝐴 ≥ 0, 𝑥𝐵 ≥ 0,… (non-negativity constraints) • 𝑦𝐵 ≥ 0 + 2 − 𝑥𝐴 𝑦𝐶 ≥ 𝑦𝐵 + 4 − 𝑥𝐵 𝑦𝐹𝑖𝑛𝑖𝑠ℎ ≥ 𝑦𝑀 + 2 − 𝑥𝑀 𝑦𝐹𝑖𝑛𝑖𝑠ℎ ≥ 𝑦𝑁 + 6 − 𝑥𝑁 …. (start time constraints/precedence) • 𝑦𝐹𝑖𝑛𝑖𝑠ℎ ≤ 40 (finish time constraint) Example 15 Oct 31, 2012 Wood 492 - Saba Vahid 11