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).
Let’s look at a toy problem…
‘Simple’ problem with only 7 real tasks and 2 milestones (the milestones are task 0 & task 8).
Solution when infinite resources available.
So Critical Path is 7 days.
Note: Sat/Sun are not workdays.
Only one type of resource to make the problem ‘simple.’
The graphic below shows the need for resources at certain time exceeds the resources available, that is, some resources are overloaded.
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.
P6 Model: Resource Leveled = 8 days
Critical Path = 1 + 1 + 5 = 7
1 resource, 5 total units
Duration = 8 days
Duration = 9 days
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.
Please enter your contact details, company name and a short message below and we will answer your query as soon as possible.
Contact Us