# limited resource allocation

Limited resource allocation analysis is needed when there are insufficient resources for the work to be accomplished in the time allotted to the project. Resource allocation will ensure that the work can be completed; however, the early finish of the project is likely to be delayed.

There are mathematical algorithms that will provide the optimal solution to resource allocation problems, however, these methods are not of practical value to project managers. Since the optimal method cannot be practically used, project managers (and software) implement a variety of procedures (or algorithms) to produce possible resource allocation solutions.

Each of these algorithms produces schedules that are acceptable, given the required resource limits. Differences in the solutions may, however, result in different project end dates. Given the different possible results, experienced project managers apply multiple algorithms to evaluate different possible solutions.

Regardless of the algorithm used it is assumed that activities are not split. The algorithms also do not consider splitting crews between multiple activities. As a result, resource allocation algorithms are the beginning of evaluating the impact limited resources on the sequence and duration of activities in a project.

# examples

In the example below presents a three activity bar chart. The first and third activities require one crew per day. We will assume that only one crew is available for the duration of the project. As you can see there is a possible overlap in when the work of the first and third activities can be accomplished. Due to the resource limitation, however, project completion will have to be delayed for the duration of the overlap.

The duration of the project is extended two days, because only one crew is available to complete the project.

Even the simple schedule, below, can be used to demonstrate the results provided from different allocation algorithms. By inspection you should be able to determine the impact of having only one crew available. Take a moment and determine the earliest that the project can finish given on one crew.

Unlike the way that you arrived at your solution, computer software must follow specific algorithms. These algorithms rank activities to determine which activity will receive resources. The basic role of the algorithms is to determine, in cases where activities could begin at the same time, which activity should be given the resources first. Scheduling algorithms must use data that is already part of the schedule.

For the first algorithm, let’s rank the activities requiring the one available crew according to early start and total float. In this case, when two activities could start at the same time the activity with the least total float (i.e. “more critical” activities) will receive the resources. In this case the order of activities to receive the crew will be Activity 1, Activity 3, and Activity 4. The resulting schedule is shown below.

What happens, however, if we use the earliest start and then earliest finish as the sorting algorithm? The order of activities would be Activity 1, Activity 4, and Activity 3. The resulting schedule is shown below.

The difficulty with using one specific algorithm, only, is that the organization of the network has an impact on the results obtained by the algorithm. An essential lesson from these two simple examples is that a good project manager will know the allocation algorithm being used by their software. If only a single algorithm is available in the software, the project manager should never take the answer provided by the software at face value.

# typical algorithms

As an example of the kinds of algorithms that may be employed for limited resource allocation problems the table below is provided. The primary sort pertains to all activities, the secondary sort pertains to activities where two activities have the same primary sort.

Primary Sort Secondary Sort
Earliest Early Start Minimum Total Float
Earliest Late Start Minimum Total Float
Minimum Duration Earliest Start Date
Maximum Duration Earliest Start Date
Maximum Resource Usage Early Start Date

If activities tie on both the primary and secondary sort typically the activity with the smaller activity identification number will be selected first. Since activity identification numbers are unique, the tertiary sort will always resolve a tie.

Please solve the limited resource allocation problem for each of the following two small schedules. Assume that only one crew is available for the entire duration of each of the projects. First determine, by inspection, the best resource allocation. Of course, if you are looking at large schedules the project will be too complex for your intuition to provide a satisfactory answer. In these cases you will need to use the scheduling algorithm provided by your software package. Use the first algorithm shown in the chart above (Early Start/Total Float). After arriving at a solution using the first algorithm, use the second algorithm (Late Start/Total Float).

Was there a difference in project duration, depending on which algorithm you applied?

Now apply several different allocation algorithms to the following small schedule.

Was there a difference in project duration, depending on which algorithm you applied?

# practical resource allocation

In practice, you will need to identify resource that might cause bottlenecks on your projects. These limiting resources may be material, labor, or equipment. If you are the prime contractor, you may be able to lessen the risk of limited resource bottlenecks by subcontracting out work for which your firm has insufficient resources. Such a method may be risky if only applied to transfer resource risks since the subcontractor’s resource concerns may still cause bottlenecks on the overall project.

The strength of the regional construction industry, local job conditions, proximity to equipment and materials will impact all partners on your team. As a result critical resources should be included in the schedule regardless of who is performing the work. Including these resources allows a rational evaluation of the possible risks to the project before there are delays.

Unlike the simple examples provided as exercises, levels of resource change over time. Use of overtime and variable work hours may, for a short time, improve productivity. The project manger will have to evaluate these changes over time to determine their additional impacts (positive or negative) on the project schedule. For small projects back-of-the-seat scheduling may be sufficient for this purpose, for large projects, however, there is no substitute for running a few what-if scenarios as you plan your project.