Starting with the non-resource constrained situation helps illustrate the resource constrained situation. In the NON-resource constrained case, (infinite resources) the scheduling engine only needs to take into account all the technical/temporal constraints when determining the schedule. In the mathematical sense, this problem is solvable and every project management software package should output the same result. However, once resources are introduced, the problem becomes massively more complex. This can be understood intuitively by considering all the resources that could be required to complete an activity. A single real-world activity could require multiple people, each needing specific skills and access to specific pieces of equipment in limited supply. Furthermore, the physical space where the activity occurs may be shared by other activities, so this activity cannot occur during some (or all) of those other activities. These are just a few examples, but certainly there are other types of constraints that may also need to be considered. A resource constrained situation is significantly more complex than a purely temporal case. Mathematically, the resource-constrained project scheduling problem is NP-hard (nondeterministic polynomial-time hard). This means that there is realistically no way to guarantee that the result provided is the optimal result, as the problem space is too large to exhaustively search.
It is likely that many users of commercial project management software are not aware that the results from the resource leveling process are not optimal, and that they could be improved upon significantly. It is ironic (or at least disappointing) that project teams who have put in the significant effort and cost to create a resource-constrained model could reap huge time and cost savings simply by running their already built model through a different resource scheduling engine.
A small project network can be used to illustrate the difficulty of resource-constrained scheduling. It is fortunate that these effects can be seen at this scale because (due to the inherent complexity of the resource constrained scheduling problem) it is difficult/impossible to visualize what is occurring for larger networks. The illustrative network is from Demeulemeester, E., Herroelen, W.S., Simpson, W., Baroum, S., Patterson, J.H. and Yang, K.-K. (1994). European Journal of Operational Research, 76, 218-228.
The Critical Path (i.e., scheduling assuming infinite resources) is 7 as shown in the Primavera P6 Gantt chart below (assuming a five-day work week).
Next, a resource limit is set. 5 units of the resource are available. Resource leveling in Primavera P6 results are shown below in the figure on the right. As can be seen, the resource leveled result is 8 days for Primavera P6.
Just for reference, if this same problem is resource leveled in Microsoft Project the result is 9 days as shown below.
Note that this problem only dealt with one type of resource. The problem of scheduling while taking into account resources is non-trivial, even for small projects.
This illustration above should hint at the level of complexity that occurs as many more different types of resource constraints are introduced.
In many domains, such as refinery turnaround, there can be multiple resources per task. For example, there are numerous space-related issues (only so many workers will fit in a given area, and some actions may permanently eliminate possible workspace), so space becomes a significant resource that needs to be managed.
Aurora evolved out of the needs of NASA, the United Space Alliance, and over the course of its application to industry. Improvements to Aurora have been made over many generations, and the latest generation is the result of a major redesign, where Stottler Henke systematically looked at every planning and scheduling system Stottler Henke has ever developed and considered all the decisions that a planning and scheduling system has to make to then design and implement an architecture such that it was easy to customize every one of those decisions.
Aurora is used in the planning and scheduling of extremely complex processes involving thousands of operations. Each operation can require a combination of resources (facilities, equipment, personnel). Aurora is adaptable to different domains that each have their own set of additional constraints, examples include the safety limitations and floor plan layout coordination involved in preparing components for the International Space Station (ISS); non-concurrency and offset constraints to allow necessary safety and practicality controls over scheduling astronaut time; and physical space constraints, including addition and removal of these constraints, and ergonomic constraints involved in airplane assembly. Finally, Aurora has evolved to meet the real-world challenges of endless changes to the schedule caused by unexpected delays and malfunctioning equipment.
Consider the amount of work that is put into developing a project network – days, weeks, and months before selecting the resource-level option. Presently, there may be significant amounts of time and effort put into optimizing the results of the Primavera P6 resource leveling results to derive a shorter project schedule. Now, with a trivial amount of additional effort after the network development, a project with a shorter duration can be calculated automatically (saving significant amounts of time and effort). Or, put another way, leveraging Aurora saves effort and provides better results.
In this blog, we have shown that a resource constrained schedule (and therefore resource constrained project management) is greatly affected by the underlying resource leveling/scheduling engine – even more so as the project becomes larger and includes larger numbers of resource requirements and other non-temporal constraints. It is unfortunate that project teams that have put in the significant effort and cost to create a resource-constrained model may not know that they could potentially reap huge time and cost savings simply by running their already built model through Aurora’s intelligent scheduling engine.
Please enter your contact details, company name and a short message below and we will answer your query as soon as possible.
Contact Us