Why Resource Leveling May be Highly Inefficient

Book a Demo

Resource Scheduling & Resource Leveling: What is it?

Resource scheduling is the process of assigning and organizing resources, such as people, equipment, materials, and facilities-to specific tasks or projects within a defined timeframe, ensuring that the right resources are available at the right time to meet project goals and deadlines. Resource leveling, on the other hand, is a project management technique used to resolve resource overallocation by adjusting the start and finish dates of tasks based on resource constraints, with the goal of balancing resource demand with available supply, even if it means extending the project duration. While resource scheduling focuses on efficient allocation and timing, resource leveling ensures that no resource is overbooked, often by shifting tasks or extending timelines to accommodate limited resource availability.

Resource scheduling is difficult because it requires balancing a complex mix of constraints, including resource availability, project deadlines, budgets, and skill requirements, all while managing competing demands across one or more projects. The result is that often trying to solve for the best allocation of resources requires evaluating an intractable number of permutations, and verifying the feasibility of a schedule under these conditions cannot be done efficiently (in polynomial time). 

Resource Scheduling Difficult? Maybe Only for Big Problems?

Let’s look at a toy problem…

‘Simple’ problem with only 7 real tasks and 2 milestones (the milestones are task 0 & task 8). 

   

Notes:

  • Number superscript of circle is ‘duration in days’
  • Number subscript of circle is ‘resources needed’
  • There is only 1 type of resource

Critical Path of Network (Longest path assuming unlimited resources)

Solution when infinite resources available.

  • Find longest path = 1 + 1 + 5 = 7

So Critical Path is 7 days.

 

Gantt Chart of Critical Path

Note: Sat/Sun are not workdays.

Set Resource Pool to 5.

Only one type of resource to make the problem ‘simple.’

Check the status of resources needed versus resources available.

The graphic below shows the need for resources at certain time exceeds the resources available, that is, some resources are overloaded.

Resource level to solve over allocation.

Below is shown the results of resource-leveling in Microsoft Project, (assuming a 5-day work week).

Resource-Leveled in MS Project = 9 days

View of resources required over time.

 

Another view of the MS Project resource-leveled solution.

But there is a better solution…

P6 Model: Resource Leveled = 8 days

Simple?

Critical Path = 1 + 1 + 5 = 7

1 resource, 5 total units

Duration = 8 days

Duration = 9 days

End of Story… Not quite

There is an even better solution: 7 days. So, this ‘simple’ problem could not even be solved well by the world’s ‘premier’ project management tools. Can you solve this ‘simple’ problem in 7 days?

What initially appears to be a ‘simple’ resource scheduling problem quickly reveals the complexity and nuance involved in balancing time, resource availability, and task dependencies. As we’ve seen, even widely used tools like Microsoft Project and Primavera P6 can fall short in optimizing resource scheduling solutions for relatively small problems, let alone large-scale project environments. This highlights the challenges of resource scheduling and leveling—not only are they computationally difficult, but they often require creative approaches or advanced algorithms to find truly optimal solutions. So, while project management software provides a solid foundation, the real power lies in understanding the problem deeply and questioning whether the “best” solution is really the best available.

Would you like a FREE Demo? Contact Us

Please enter your contact details, company name and a short message below and we will answer your query as soon as possible.

Contact Us