Project Management Week 5: Resource Allocation 2021/1/18 Tran Van Ly Industrial Engineering & Management International University Email: tvly@hcmiu.edu.vn Room A2-504 1 Recall previous week Planning tasks Define activities Sequence activities Estimate activities resources Estimate activities durations Develop schedule 2 Recall previous week Activity Immediate Predecessors A - B - C A D A E A F B-C G B–C H E–F I E–F J D–H K G-I D J A H E Start C F End I K B G Recall previous week SEQUENCE ACTIVITIES D J A S H E C F E I K B G a = optimistic estimate m = most likely time estimate b = pessimistic time estimate Activity Immediate Predecessors A -B -C A D A E A F B,C G B,C H E,F I E,F J D,H K G,I Mean (expected time): t= 2 b a Variance: 2 = 6 2 a + 4m + b 6 = бA2 + бC2 + бF2 + бI2 +бK2 Recall previous week Probabilistic Network Analysis Determine probability that project is Z completed within specified time x- x Z = where = tp = project mean time = project standard deviation x = proposed project time Z = number of standard deviations x is from mean days Gantt Chart • A Gantt chart is a horizontal bar chart that visually represents a project plan over time. Modern Gantt charts also show the status and who’s responsible for—each task in the project. Key Element of Gantt Chart • Task list: Runs vertically down the left of the gantt chart to describe project work and may be organized into groups and subgroups • Timeline: Runs horizontally across the top of the gantt chart and shows months, weeks, days, and years • Dateline: A vertical line that highlights the current date on the gantt chart • Bars: Horizontal markers on the right side of the gantt chart that represent tasks and show progress, duration, and start and end dates Key Element of Gantt Chart • Milestones: Yellow diamonds that call out major events, dates, decisions, and deliverables • Dependencies: Light gray lines that connect tasks that need to happen in a certain order • Progress: Shows how far along work is and may be indicated by % Complete and/or bar shading • Resource assigned: Indicates the person or team responsible for completing a task LINEAR PROGRAMMING APPROACH FOR CPM ANALYSIS • Example LP model: MIN Subject to: t2 - t1 >= 5; t4 - t2 >= 8; t4 - t1 >= 7; t6 - t5 >= 5; t3 - t2 >= 0; t6; activity A; activity C; activity E; activity G; dummy activity; t3 - t1 >= 3; t4 - t3 >= 7; t5 - t4 >= 4; activity B activity D activity F t1 = 0; 2 C, 8 A, 5 1 B, 3 3 E, 7 D, 7 4 F, 4 5 G, 5 6 Using Microsoft Project software Interface Using Microsoft Project software Key steps Using Microsoft Project software Using Microsoft Project software Using Microsoft Project software Using Microsoft Project software Learning Objectives • Critical path method – Crashing a project • Resource allocation problem • Resource loading • Resource leveling • Constrained resource scheduling 16 Critical Path Method Crashing a Project • CPM includes a way of relating the project schedule to the level of physical resources allocated to the project • This allows the project manager to trade time for cost, or vice versa • In CPM, two activity times and two costs are specified, if appropriate for each activity Critical Path Method Crashing a Project • The first time/cost combination is called normal, and the second set is referred to as crash • Normal times are “normal” in the same sense as the ‘m’ time estimate of the three times used in PERT • Crash times result from an attempt to expedite the activity by the application of additional resources Critical Path Method Crashing a Project • Careful planning is critical when attempting to expedite (crash) a project • Expediting tends to create problems; and the solution to one problem often creates several more problems that require solutions • Some organizations have more than one level of crashing © 2006 John Wiley and Sons, Inc. Chapter 9-3 CRASHING A PROJECT • Project crashing is a method for shortening the project duration by reducing the time of one or more of the critical project activities to less than its normal activity time. • The objective of crashing is to reduce project duration while minimizing the cost of crashing. • Two simple principles: – focus on the critical path(s) when trying to shorten the duration of a project – when shortening a project’s duration, select the least expensive way to do it CRASHING A PROJECT • Steps in crashing: 1. Compute the crash cost per time period. If crash costs are linear over time: Crash cost – Normal cost Crash cost per period = Normal time – Crash time 2. Using current activity times to find the critical path and identify the critical activities. CRASHING A PROJECT • Steps in crashing: 3. Select the activity to crash: • If there is only one critical path: Select the activity on this critical path that: –Can still be crashed –Has the smallest crash cost per period 4. If there is more than one critical path: Select one activity from each critical path such that –Each selected activity can still be crashed –The total crash cost of all selected activities is the smallest –Note - the same activity may be common to more than one critical path 5. Update all activity times. If the desired due date has been reached, stop. If not, return to Step 2 CRASHING A PROJECT • The network and durations given below shows the normal schedule for a project. Activity Normal duration Crash duration (days) (days) Normal cost ($) Crash cost ($) A 120 100 12000 14000 B 20 15 1800 2800 C 40 30 16000 22000 D 30 20 1400 2000 E 50 40 3600 4800 F 60 45 13500 18000 CRASHING A PROJECT • The owner wants you to you to finish the project in 110 days. • Find the minimum possible cost for the project if you want to finish it on 110 days. • (Assume that for each activity there is a single linear, continuous function between the crash duration and normal duration points). CRASHING A PROJECT • Using the normal duration (ND), crash duration (CD), normal cost (NC), and crash cost (CC), calculate the crash cost slope for each activity: Activity Normal duration (days) Crash duration (days) Normal cost ($) Crash cost ($) Cost slope ($/day) A 120 100 12000 14000 100 (3) B 20 15 1800 2800 200 (4) C 40 30 16000 22000 600 (6) D 30 20 1400 2000 60 (1) E 50 40 3600 4800 120 (2) F 60 45 13500 18000 300 (5) CRASHING A PROJECT • The normal cost for the project is $48300 and the normal duration is 140 days. • The first crashing activity is D. • Maximum of 10 days can be cut from this schedule by reducing the duration of activity D to the crash duration of 20 days. CRASHING A PROJECT • The next crashing activity is E. • Crashing the activity E by 10 days will cost an additional $120 per day or $1200. • The project duration is now 120 days and the total project cost is $50100. CRASHING A PROJECT The next stage of crashing requires a more through analysis • Activity A is paired with each of the other activities to determine which has the least overall cost slope for those activities which have remaining days to be crashed – Activity A ($100) + activity B ($200) – Activity A ($100) + activity C ($600) + activity F ($300) • The least-cost slope will be activity A + activity B for a cost increase of $300 per day. Total project cost would be $51600 CRASHING A PROJECT • Final step in crashing the project to 110 days would be accomplished by reducing the duration of activity A by 5 days to 110 days, reducing activity C by 5 days to 35 days, and reducing activity F by 5 days to 55 days. • The total project cost for the crashed schedule to 110 days of duration would be $56600 Crashing – Sample Network 3 8 6 3 2 1 6 10 4 7 0 11 Activity Normal Time 6 5 Normal Cost Crash Time 5 Crash Cost 1-2 3 $50 2 $70 2-3 6 $80 4 $160 2-4 10 $60 9 $90 2-5 11 $50 7 $150 3-6 8 $100 6 $160 5-7 5 $40 4 $70 6-7 6 $70 6 $70 Fast-Tracking • Another way to expedite a project is known as “fast-tracking” • It refers to overlapping the design and build phases of a project • Because design is usually completed before construction starts, overlapping the two activities will result in shortening the project duration The Resource Allocation Problem • A shortcoming of most scheduling procedures is that they do not address the issues of resource utilization and availability • Scheduling procedures tend to focus on time rather than physical resources • Time itself is always a critical resource in project management, one that is unique because it can neither be inventoried nor renewed The Resource Allocation Problem • Schedules should be evaluated not merely in terms of meeting project milestones, but also in terms of the timing and use of scarce resources • A fundamental measure of the project manager’s success in project management is the skill with which the trade-offs among performance, time, and cost are managed The Resource Allocation Problem • The extreme points of the relationship between time use and resource use are these: – Time Limited: The project must be finished by a certain time, using as few resources as possible. But it is time, not resource usage, that is critical – Resource Limited: The project must be finished as soon as possible, but without exceeding some specific level of resource usage or some general resource constraint The Resource Allocation Problem • If all three variables - time, cost, specifications are fixed, the system is “overdetermined” • In this case, the project manager has lost all flexibility to perform the trade-offs that are so necessary to the successful completion of projects • A system-constrained task requires a fixed amount of time and known quantities of resources Resource Loading • Resource loading describes the amounts of individual resources an existing schedule requires during specific time periods • The loads (requirements) of each resource type are listed as a function of time period • Resource loading gives a general understanding of the demands a project or set of projects will make on a firm’s resources Resource Loading • An excellent guide for early, rough project planning • Because the project action plan is the source of information on activity precedencies, durations, and resources requirements, it is the primary input for both the project schedule and its budget • The action plan links the schedule directly to specific demands for resources Resource Loading • The PERT/CPM network technique can be modified to generate time-phased resource requirements • The project manager must be aware of the ebbs and flows of usage for each input resource throughout the life of the project • It is the project manager’s responsibility to ensure that the required resources, in the required amounts, are available when and where they are needed Resource Leveling • Resource leveling aims to minimize the period-byperiod variations in resource loading by shifting tasks within their slack allowances • The purpose is to create a smoother distribution of resource usage • Several advantages include: – Less hands-on management is required – May be able to use a “just-in-time” inventory policy Resource Leveling • When resources are leveled, the associated costs also tend to be leveled • The project manager must be aware of the cash flows associated with the project and of the means of shifting them in ways that are useful to the parent firm • Resource leveling is a procedure that can be used for almost all projects, whether or not resources are constrained Resource Leveling & Smoothing Constrained Resource Scheduling • There are two fundamental approaches to constrained allocation problems: – Heuristic Methods – Optimization Models • Heuristic approaches employ rules of thumb that have been found to work reasonably well in similar situations • Optimization approaches seek the best solutions but are far more limited in their ability to handle complex situations and large problems Heuristic Methods • Heuristic approaches to constrained resource scheduling problems are in wide, general use for a number of reasons: 1. They are the only feasible methods of attacking the large, nonlinear, complex problems that tend to occur in the real world of project management 2. While the schedules that heuristics generate may not be optimal, they are usually quite good- certainly good enough for most purposes Heuristic Methods • Most heuristic solution methods start with the PERT/CPM schedule and analyze resource usage period by period, resource by resource • In a period when the available supply of a resource is exceeded, the heuristic examines the tasks in that period and allocates the scarce resource to them sequentially, according to some priority rule • Technological necessities always take precedence Heuristic Methods • Common priority rules: – As soon as possible – As late as possible – Shortest task first – Most resources first – Minimum slack first – Most critical followers – Most successors – Arbitrary Heuristic Methods • Most priority rules are simple adaptations of the heuristics used for the traditional “job shop scheduling” problem of production/operations management • Most heuristics use a combination of rules: a primary rule, and a secondary rule to break ties • As the scheduling heuristic operates, one of two events will result: – The routine runs out of activities before it runs out of resources – The routine runs out of resources before all activities have been scheduled Optimizing Methods • The methods to find an optimal solution to the constrained resource scheduling problem fall into two categories: – Mathematical programming – Enumeration • Mathematical programming can be thought of as liner programming (LP) for the most part Optimizing Methods • Linear programming is usually not feasible for reasonably large projects where there may be a dozen resources and thousands of activities • In the late 1960s and early 1970s, limited enumeration techniques were applied to the constrained resource problem • Tree search, and branch and bound methods were devised to handle up to five resources and 200 activities Mathematical Programming • The three most common objectives of mathematical programming are: 1. Minimum total throughput time (time in the shop) for all projects 2. Minimum total completion time for all projects 3. Minimum total lateness or lateness penalty for all projects • These objectives are most appropriate for ‘job shop’ type solutions to resource constraints Heuristic Techniques • There are scores of different heuristic-based procedures in existence • They represent rather simple extensions of wellknown approaches to job-shop scheduling: – – – – – Resource Scheduling Method Minimum late finish time Greatest resource demand Greatest resource utilization Most possible jobs Critical Chain • Eliyahu M. Goldratt’s “Theory of Constraints” • Traditional Project Estimation Techniques Ineffective – Time and Resource Constraints Usually Violated – PMs Rely on “Padding” of Schedules and Budgets – Unknown Nature of Event Interaction • Fear, Uncertainty, Doubt • Psychological, Organizational, and Physical Critical Chain - Approach • Bottleneck Management – Activities with Several Predecessors and/or Successors – Add “Time Buffers” at Bottleneck Events • “Safety Stock” Equivalent in Manufacturing • Just-in-Time with “Just-in-Case” • Statistically-derived “Path Buffers” – Establish the Critical Chain for Scarce Resources – Prioritization of Resources in Chain Events HW1 - CRASHING A PROJECT • Find the total completion time of the project. • If we want to complete the project in 10 weeks, which activities should be crashed? The activities necessary for the completion of this project are listed in the following table: Activity Immediate predecessor Normal time (weeks) Crash time (weeks) Normal cost ($) Crash cost ($) A - 4 3 2000 2600 B - 2 1 2200 2800 C A 3 3 500 500 D B 8 4 2300 2600 E B 6 3 900 1200 F C, D 3 2 3000 4200 G E, F 4 2 1400 2000 HW2- CRASHING WITH ADDITION BUDGET The following table provides the information necessary to construct a project network and project crash data: Activity 1 2 3 4 5 Activity Predecessor 1 3 Activity Time (weeks) Normal Crash 20 8 24 20 14 7 10 6 11 5 Activity Cost ($) Normal 1000 1200 700 500 550 Crash 1480 1400 1190 820 730 a. Determine the maximum possible crash time for the network, and crash the network the maximum amount possible. b. Compute the normal project cost and the cost of the crashed project. c. Owner has $5000 to speed up the project: Identify which activities to crash [Develop a mathematical model to optimize crashing cost when owner ready to pay more than normal cost of $N*1000 (Cost Time Trade – Off)]