CPM, Crashing, Resource Leveling using MS Excel & MS Project David S.W. Lai Sept 24, 2013 1 Scope • • Critical Path Analysis Crashing • Resource leveling Linear Programming (LP) approach MS Excel 2010 MS Project 2010 2 Critical Path Method A Linear Programming Approach 3 Example Problem The Build-Rite Construction Company has identified the following ten activities that take place in building a house. Activity Immediate Predecessors Expected Time (days) 1 Walls and Ceiling 2 5 2 Foundation - 3 3 Roof Timbers 1 2 4 Roof Sheathing 3 3 5 Electrical Wiring 1 4 6 Roof Shingles 4 8 7 Exterior Siding 8 5 8 Windows 1 2 9 Paint 6, 7, 10 2 10 Inside Wall Board 8, 5 3 Determine the critical path and the critical activities. 4 The example description is modified from the exercises described in Moore and Weatherford, Decision Modelling, Pearson 2001. Solution Activity 1 2 3 4 5 6 7 8 9 10 Early Start Schedule ES EF 3 0 8 10 8 13 10 8 21 12 8 3 10 13 12 21 15 10 23 15 Late Start Schedule LS LF 3 0 8 10 14 13 16 14 21 18 8 3 10 13 18 21 21 16 23 21 Total Slacks 0 0 0 0 6 0 6 6 0 6 Critical activities: 1, 2, 3, 4, 6, 9 The project manager should adjust accordingly the budgets and resource allocations to avoid any delay on these activities. 5 Critical Path Method • Step 1: Forward pass • Step 2: Backward pass • Step 3: Calculating slacks Early Start Schedule Late Start Schedule Slacks 6 A LP Model for CPM analysis Precedence Constraints Predecessor Successor 2 1 Duration of the Predecessor 3 1 3 5 3 4 2 1 5 5 4 6 3 8 7 2 1 8 5 6 9 8 7 9 5 10 9 3 5 10 4 8 10 2 Objective Function minimize the project duration. Constraints e.g. activity 6 precedes activity 9 Decision Variables start times of the activities 7 AON network & LP Model Nodes Decision Variables Precedence Constraints Arcs Optimal Solution Longest Path 3 2 5 1 2 3 8 3 4 6 2 4 3 5 10 2 5 8 7 9 Note that an alternative LP model can be derived from the AOA network. Critical activities can then be identified via sensitivity analysis. 8 Parameters • The start time of the project • The (expected) times of the activities • Precedence Relations of two activities 1 2 3 4 5 6 7 8 9 10 Activity Walls and Ceiling Foundation Roof Timbers Roof Sheathing Electrical Wiring Roof Shingles Exterior Siding Windows Paint Inside Wall Board Project Start Time Time (days) 5 3 2 3 4 8 5 2 2 3 0 Precedence Constraints Predecesor Successor 2 1 1 3 3 4 1 5 4 6 8 7 1 8 6 9 7 9 10 9 5 10 8 10 9 A Linear Programming Approach for Critical Path Analysis A Spreadsheet Implementation Activity 1 Walls and Ceiling 2 Foundation 3 Roof Timbers 4 Roof Sheathing 5 Electrical Wiring 6 Roof Shingles 7 Exterior Siding 8 Windows 9 Paint 10 Inside Wall Board Project Start Time Objective Value Time (days) 5 3 2 3 4 8 5 2 2 3 Start time 30810 813 10 821 12 Finish time 8310 13 12 21 15 10 23 15 0 23 days 10 • Early start schedule Any activity will be started at its earliest start time. • Late start schedule Any activity will be started at its latest start time. ES 3 0 8 10 8 13 10 8 21 12 LS 3 0 8 10 14 13 16 14 21 18 EF 8 3 10 13 12 21 15 10 23 15 LF 8 3 10 13 18 21 21 16 23 21 11 Critical Activities Since the total slacks can be determined using the early start schedule and the late start schedule, the critical activities can be identified as well. Activity 1 2 3 4 5 6 7 8 9 10 ES 3 0 8 10 8 13 10 8 21 12 Early Start/Late Start Schedule EF LS 8 3 3 0 10 8 13 10 12 14 21 13 15 16 10 14 23 21 15 18 LF 8 3 10 13 18 21 21 16 23 21 Total Slacks 0 0 0 0 6 0 6 6 0 6 Critical activities: 1, 2, 3, 4, 6, 9 12 Demo • To enable the solver in EXCEL 2010 – File Options Add-Ins Select “Solver Add-in” Go Select “Solver Add-in” OK • You may find the solver in – Data Solver Objective Function Decision Variables Constraints Use simplex method for the LP models 13 Crashing A Linear Programming Approach 14 Example Problem Activity Normal Time Normal Cost Crash Time Crash Cost 1 5 50 3 72 2 3 20 2 30 3 2 15 1 30 4 3 8 1 20 5 4 30 4 30 6 8 13 4 21 7 5 45 1 65 8 2 45 1 52 9 2 40 2 40 10 3 22 2 34 Cost Build-Rite’s engineers have calculated the cost of completing each activity. Their results are given below. e.g. Cost for Activity 1 80 70 60 50 40 2 3 4 5 Activity Time 6 How much would it cost to complete the project within 22 days? 21 days? 20 days?... 15 Solution: Time-Cost Trade-Off 380 360 Project Cost 340 The normal schedule obtained using CPM 320 300 280 13 18 23 each activity is performed at its lowest cost and at a normal duration. Project Duration The crashing process has revealed a relationship between the cost and the schedule of the project, which allows us to prepare our budget by considering the possible trade-offs between cost and time. 16 Notations crash Max. Crash Days 17 A LP Model for Crashing with a fixed project due date Minimize the cost for crashing Precedence Constraints No. of days to crash Start times of the activities. Max. Clashed Days Project due date 18 A Linear Programming Approach for Crashing A Spreadsheet Implementation Crashing Crashing Normal Normal (days) Time Cost 1 5 50 ?2 2 3 20 ?1 3 2 15 ?1 4 3 8 ?2 5 4 30 ?0 6 8 13 ?4 7 5 45 ?1 8 2 45 ?0 9 2 40 ?0 10 3 22 ?1 Crash Cost ? 84 Project Cost ? 288 Activity Obj. Value Crash Time 3 2 1 1 4 4 1 1 2 2 Crash Cost 72 30 30 20 30 21 65 52 40 34 Max. Crash Cost per Days Crash Day 2 11 1 10 1 15 2 6 0 0 4 2 4 5 1 7 0 0 1 12 ? 372.1 19 Demo 20 Resource Leveling MS Project 2010 21 Example The working hours requirements of the activities are estimated. They are described below. Activity Immediate Predecessors Expected Time (days) Work hours 30 hrs 22 hrs 8 hrs 16 hrs 6 hrs 4 hrs 6 hrs 12 hrs 8 hrs 4 hrs 1 Walls and Ceiling 2 5 2 Foundation - 3 3 Roof Timbers 1 2 4 Roof Sheathing 3 3 5 Electrical Wiring 1 4 6 Roof Shingles 4 8 7 Exterior Siding 8 5 8 Windows 1 2 9 Paint 6, 7, 10 2 10 Inside Wall Board 8, 5 3 The example question is modified from Project Management (Shtub, Bard, Globerson) Exercise 10.1 22 Resource leveling The reallocation of slacks in activities to minimize fluctuations in resource requirement profile. The resource profile before leveling. • large resource fluctuation • Overallocation of resource The resource profile after leveling. • Minimized resource fluctuation • No delay in the project 23 Demo 24 1. Create a Project. 1. File New Blank Project 2. File Options Schedule Set the working hours per day. E.g. 8 hours. The durations of activities (or tasks) are fixed in our case. 25 2. Input the task information 1. Task Gantt Chart 2. Input the task information 3. Select all the tasks and then press “Auto Schedule” 26 3. Set the Project Start Date • Project Project Information Statistics 27 3. Identify the critical path • Task Gantt Chart Network Diagram • Gantt chart Add New Column “total slack” Note that the project can be finished within 23 days. 28 4. Add a renewable resource • Task Gantt Chart Resource Sheet • In the first row, input Examples of renewable – Resource Name: Manpower – Type: work – Max. Units: 100% resource • Manpower • Materials • Machines 29 5. Type in the resource usage • Input the work hours of the activities • Select the column right click Assign Resources Select “Manpower” Assign Task Work hour 1 2 3 4 5 6 7 8 9 10 30 hrs 22 hrs 8 hrs 16 hrs 6 hrs 4 hrs 6 hrs 12 hrs 8 hrs 4 hrs 30 6. Resource Graph • Task Gantt chart Resource Graph Large frustration 31 7. Resource Leveling • Resource Leveling Options tick “level only within available slack. • Resource level all Smaller f frustration • Frustration is minimized. • No over-allocation • The project duration remains the same (total slacks are reduced ) 32