5.1. Problem Definition
In principle, and according to the Project management Institute’s PMBOK® (Project Management Body of Knowledge guide, 2013), Scheduling is the process of dividing the scope of work into several small elements (activities), then defining who will do them (resources), and their inter-dependencies (logic); and finally performing the time analysis to define various time properties for each element (early dates, late dates, floats, etc.).
Various scheduling methods were presented for implementing the time analysis concepts, starting from the US Navy’s PERT (Program Evaluation &
Review Technique) method in 1957, up to the CCPM (Critical Chain Project Management) method by Goldratt (1997). The properties of the three main scheduling elements (activities, resources & logic) are usually not fully deterministic during initial stages of the project; these uncertainties caused the split of scheduling methods into two main paradigms: Deterministic Methods and Un-deterministic Methods.
Deterministic methods assume the initial availability of all schedule details. Critical Path Method (CPM), Resource-Constrained Project Scheduling (RCPS), Line of Balance (LOB), and Critical Chain Project Management (CCPM) are the most famous and commonly used deterministic methods in the research and practical fields of scheduling; while Un-deterministic Methods (such as PERT, GERT, and other Stochastic methods) deal with the schedule uncertainties, mainly processing times (or durations), with probabilistic approach. The information required for the analysis with un-deterministic methods (probability figures and duration possibilities) negatively affects the amount of inputs, as well as the complexity of the process, which makes these methods, in many cases, impractical for the use in regular day to day scheduling practices, especially in construction industry.
Dynamic Scheduling, as explained in the chapter 3, can be summarized as a continuous dynamic process of updating, checking and revising the schedule according to the selected scheduling architecture and based on predefined rescheduling strategy, policy and rescheduling technique. The scheduling/rescheduling processes involve regular deterministic scheduling methods for the analysis, while effects of real-time events and uncertainties are mitigated with the continuous schedule adjustments and/or optimization.
5.2. The Dynamic Scheduling solution’s design
Implementation Phase. The modelling phase involves the selection of a scheduling method which will be used for the analysis of schedule alternatives, development of a mathematical model for the problem elements (variables, constraints and objectives), selecting the rescheduling technique which suits the characteristics of the problem and the construction industry, and designing the architecture of the dynamic scheduling solution.
The rescheduling strategy and policy are dependent on the industry, project requirements & conditions, and end users' requirements; so, they will be defined by users during the implementation phase according to their project's specific conditions and requirements. Consequently, the solution must be designed to accommodate all possible rescheduling strategies and policies in order to give the flexibility to users to set the most suitable strategy and policy for their application.
5.3. Scheduling method selection
According to the literature review performed, the Resource-Constrained Project Scheduling (RCPSP) and the Critical Chain Project Management (CCPM) are currently the basis for almost all analysis/optimization models in the scheduling research field; especially RCPSP method with all of its extensions. The following section will review the history and the details of these two methods, and will accordingly analyse their suitability to the problem under study.
Figure 5.1: Dynamic scheduling solution design
5.3.1. Resource-Constrained Project Scheduling Problem (RCPSP)
RCPSP, in principle, is an improved version of the original CPM after taking the resource limitations into consideration. It has become a well-known standard problem in the context of project scheduling, and has attracted numerous researchers who developed both exact and heuristic scheduling procedures (Hartmann, 2010).The Job-Shop problem in the manufacturing industry is one of the first problems which used the RCPSP concepts.
Due to the complexity of the problem, RCPSP became a very attractive field for researchers either in scheduling field or in operations research.
Herroelen (1998) and Brucker (1999) reviewed RCPSP literature, and classified RCPSPs accordingly. They also proposed various optimization models for the problem’s analysis. Another detailed survey was lately presented by Hartmann (2010) for variants and extensions of the RCPSP.
The original (or basic) RCPSP can be summarized, without mathematical notations, as the presentation of a project’s activities, resource requirements for each activity and the limitations of each resource; with the assumption that all information about durations, precedence, resources requirements and resources availability are deterministic and known in advance.
Several extensions to the RCPSP were presented during the last two decades attempting to improve the problem's presentation to match the real life problem’s characteristics. The following points briefly summarize the main RCPSP’s extensions:
• Pre-emptive Scheduling: The basic RCPSP assumes uninterruptable execution of each activity. Demeulemeester and Herroelen (1996b) presented a solution in the modelling of Pre-emptive Scheduling, where each activity can be interrupted after each integer time unit of its duration. The number of interruptions can be limited by an additional variable (Ballestin, 2008). Frank et al. (2001) proposed calendar scheduling including pre-emptive concepts.
• Multi-Mode Scheduling: Elmaghraby (1977) started the approach of working with activity networks where each activity can be executed by one or more alternatives (modes). Each mode represents different duration and different resource requirements. Multi-mode Resource–
Constrained Project Scheduling (MRCPSP) became one of the main extensions of the RCPSP. MRCPSP was adopted by large number of researchers, who developed the multi-mode concept with various other extensions. For instance, Li (2008) developed a MRCPSP model
• Time-Cost Trade-off Problem (TCTP) [or the Resource Investment Problem (RIP)]: In the basic RCPSP and the MRCPSP, non-renewable resources (such as budget) were not considered in the initial problem models. One of the main objectives of the RCPSP is to minimize the project overall duration; so, in the multi-mode analysis, if the cost is not considered, the mode with minimum duration will be selected in all activities. However, in most cases, adding more resources to reduce duration, or replacing resources with more productive ones, will add additional costs to the project; which must not be entertained in excess of the available budget. So, to overcome this, either to add budget to the model as a non-renewable resource (which must not be consumed above a predefined value), or to add the cost as the model objective (if the time can be constrained to a predefined completion date). Various models were generated to present and solve the TCTP (such as Demeulemeester (1998) and Ranjbar (2008)).
• Time/Resource Trade-off Problem (TRTP) [or the Resource Levelling Problem (RLP)]: A similar approach to the TCTP was required to handle the balance between resource availability constraints of renewable resources and the project time frame. TRTP modelling examples were presented by Demeulemeester (2000) and Ranjbar (2007, 2009).
• Minimum & Maximum Time Lags: Basic RCPSP deals with activities relations on a Finish-to-Start (FS) basis; however real-life scheduling is way beyond that. Minimum time lags are generally required for activities overlapping, while maximum time lags are required for representing deadlines or maximum execution period of a group of activities (for example a group of activities sharing a scarce resource).
Neumann et al (2003b) surveyed the characteristics and models presented for time lags implementation.
• Resources Irregularities: Various practical concepts for resources irregularities were added to the RCPSP, such as the varying capacities with time for renewable resources. Cumulative Resources is another resources irregularity, it was introduced by Neumann (2002) as a resource which is produced by some activities, cumulated in a storage area, and then used by other activities (for example: precast elements in construction projects).
• Non-Regular Objective Functions: As mentioned in the context, the objective function for the original RCPSP was to minimize the time span; however, many other objectives were introduced to the problem
models, such as minimizing cost, minimizing negative cash flows, and increasing the schedule quality and robustness (flexibility).
• Stochastic activity durations: Stochastic resource-constrained project scheduling is a probabilistic approach which aims at scheduling project activities with uncertain durations (Herroelen, 2005). The duration of activities is defined in the problem model by random vectors of durations, which are distributed according to a deterministic probability distribution (Brucker, 1999). This approach aimed to close the gap between deterministic and un-deterministic methods.
5.3.2. Critical Chain Project Management (CCPM)
Eliyahu Goldratt introduced in his novel “The Goal” (Goldratt, 1984), an approach for operations management which he called the Theory of Constraint (TOC). His management philosophy was that any manageable system is limited in achieving more of its goal by a very small number of constraints, and that there is always at least one constraint. The TOC process seeks to identify the constraints and restructure the rest of the organization around them.
The book was a best seller for years, and the TOC concept opened a large field of debate. Sometime the concept was resisted (Duncan, 1999), and sometimes acknowledged as a source of discipline to Project Management (Elton, 2001). In addition, there are some indications that this technique is increasingly being used (Steyn, 2001).
Goldratt further elaborated the TOC concepts toward project management and introduced the concepts of Critical Chain Project Management (CCPM) in his book “Critical Chain” in 1997. The book explained the CCPM concept through a simple novel, not in the regular scientific or mathematical explanations approach.
In general, CCPM is a method of planning and managing projects that puts the main emphasis on the resources required to execute project tasks. It involves the analysis of both activities and resources dependencies; however, in the monitoring process, the Critical Chain (CC) should always take the focus, not the Critical Path (CP).
CCPM focuses on the constraints of a project which prevent achieving its goals (Rabbani, 2007). It uses a deterministic schedule integrated by a buffer mechanism to deal with both resource constraints and uncertainty (Long, 2008).The Critical Chain is the sequence of both activities precedence and resources dependencies that prevents the project from being completed in
Critical Chain analysis (Goldratt, 1997) is used as an alternative to Critical Path analysis. The main features that distinguish the critical chain from the critical path are:
• Resource dependencies are not shown in the network as logic links, but they are implicitly used through visual presentation (colouring).
• Removal of all contingency periods included within activity durations, and inserting them back to the project network as clearly identified buffers. In addition to usage of 50% probable activity durations.
• Monitoring project progress and health by monitoring the consumption rate of the buffers rather than monitoring individual tasks performance.
Goldratt classified buffers into three categories: project, feeding &
resource buffer. Leach (2005) added two more buffer categories: strategic resource buffer and drum buffer. The following definitions explain the location and purpose of each buffer type:
1. Project buffer: Added at the end of the project as a contingency period for the delays of the Critical Chain.
2. Feeding buffer: A contingency period located at the end of each path in the project (except the Critical Chain), it resembles the Total Float of non-critical paths in the CPM.
3. Resource buffer: Added to any critical resource before its use on the Critical Chain. The buffer will not interrupt the predecessor usage of the resource; however, it will run parallel to it as a warning that the resource should complete on-time before its scheduled start on the critical activities.
4. Strategic Resource buffer: A time period during which the critical resource will have no scheduled work. This insulates each project that uses the strategic resource from impacts of previous projects and ensures that future projects will not be impacted by uncertainty affecting the strategic resource.
5. Drum buffer: A period of time placed between projects to avoid projects contention on a Drum resource (the Critical resource used for inter-projects scheduling).
5.3.3. RCPS vs. CCPM
Elton and Roe (2001) stated that the TOC & the CC concepts work well when dealing with individual projects, but they short fall in explaining how companies could best manage a portfolio of projects, which requires further advice to be given in parallel with Goldratt’s guidelines.
Despite of the large debate on the CCPM, the research efforts around its concepts is few and scattered. Although several implementations to the CCPM concepts were presented during the last two decades (such as integrating CC concepts to EPC projects by Yeo, (2002)), only few researches were presented for improvement or extending this technique (such as the Critical Resource Chain framework presented by Liu and Shih (2009-a)).
On the other hand, RCPS detailed almost all possible constraints and complexities of the scheduling problem; in addition, all these details were mathematically modelled and tested in many researches, which makes the life easier for any researcher in the field to pick and implement readymade and tested models. However, nothing is perfect, when Goldratt presented the CCPM in 1997 he was looking on the main shortfall of the RCPS, practicality. It is hard to present that the RCPS or its base CPM lack practicality; and I believe this is the main reason why Goldratt presented his new modelling concept in the form of a novel, just to prove that in real life things happen in a bit different way than the concepts of RCPS or CPM.
It is also unfair to judge RCPS to be impractical, while almost all practical implementations of scheduling worldwide are based on its concepts.
In my opinion, the key issue in this dilemma is that originally CPM was built on the concept that activities are the main element of scheduling, while resources, as the secondary element, are assigned to activities and scheduled based on the logic of the main element, activities. This concept caused many hidden difficulties in the scheduling field, such as the need for resource limitation constraints, and the need for segregating hard logic (or sequence logic) from soft logic (or resource logic) in order to facilitate the manipulation of soft logic while optimizing the schedule, whether manually or via an automated system.
CCPM tried to overcome this issue by highlighting (graphically) that resources are as important as activities, and in most cases resources are leading the critical path of projects. In addition, it added some concepts like buffers, which uncovered some practically hidden difficulties in the projects control processes.
Originally, the judgment on CCPM was that "the technique can be considered as an innovation that would be useful to organizations capable of accepting a new paradigm" (Steyn, 2001). However, in later researches, another opinion was expressed as "Although, this methodology has acted as an important eye-opener, its pitfalls in oversimplification of the problem have been revealed recently" (Herroelen, 2005).
5.3.4. The need for a new scheduling method
Before detailing the concepts of the new proposed scheduling method, let’s review the definition of modelling and use it to measure the efficiency of models available for current scheduling methods (mainly RCPS):
“Modelling, or the process of constructing a model, is the representation of a designed or actual object, process, or system, a representation of a reality. A model must capture and represent the reality being modelled as closely as its particle, it must include the essential features of the reality, in respect of the purpose of constructing the model, whilst being reasonably cheap to construct and operate, and easy to use.” (Fellows and Liu, 2008)
Two main characteristics of a model were included in the previous definition: capture and represent the reality being modelled, and being reasonably cheap to construct and operate. RCPSP with its extensions was mostly successful in the concept of representing reality; however, it partially failed with respect to resources and resource assignments modelling, and this is the main concept on which the CCPM was built on.
In addition, RCPSP modelling can also be deemed to partially fail with respect to being cheap for optimization (i.e. requires large calculation time).
Most of the RCPS researchers might not accept the previous statement. But if we thought from a practical point of view, most of the researches verified their models and tested the performance of their algorithms using problem sets with average number of activities between 30 to 120 activities (mainly Patterson (1984) and Kolisch (1995) problem sets) and up to a maximum of 500 activities in few special case problems; while in reality, especially in construction industry, a medium sized schedule will have an average of 500 to 1,000 activities. Very few researches expanded the size of the schedules under testing to the medium sized schedules, and the analysis in some cases with genetic algorithms exceeded 24 hours (Fahmy, 2004) with normal processing power (it might be a bit less with current processing power). So, it can be concluded that the required analysis time will almost be impractical to optimize a regular large scale project with an average of 5,000 to 20,000 activities, even with the current high processing power. For a dynamic scheduling solution, having interaction with users on hourly basis, models and algorithms with such performance will usually be unacceptable.
Based on the above literature review and without going further into more details and examples of the pros and cons of these two techniques, the difference can be summarized in one general statement: RCPS is a well-defined system, properly modelled and successfully implemented, but it falls into few practical traps with respect to resource management and processing time. While CCPM highlighted most of the resource issues and presented
field complexities, and consequently it was not professionally implemented in large scale applications.
So, the successful combination of the concepts of these two methods into an innovative method can be a breakthrough in the project management field practices. This research will attempt to present a new scheduling method which benefits from the pros of both scheduling paradigms (RCPS &
CCPM), and develop a related mathematical model aiming to improve schedule analysis performance.
5.4. Multi-Layer Scheduling (MLS) Modelling
It was obvious from the literature review that scheduling theories since their start were not giving resources the appropriate attention. And it was also obvious that there was always a continuous trend in the research and field practices to increase resources importance, starting from the resource-free CPM, to resource constrained techniques (RCPS), and finally to resource driven schedules of CCPM.
Various researches were presented to differentiate between sequence logic and resource logic. Other researchers presented and modelled the difference in calendars of activities and resources. In addition, it became a regular practice to create two different breakdown structures for each project:
Work Breakdown Structure (WBS) for activities and Organisational Breakdown Structure (OBS) for resources. Based on the above analysis, it can be concluded that: Each schedule consists of two interlinked schedule layers: Activity Schedule Layer and Resource Schedule Layer.
Many complex approaches were designed and practically implemented to accommodate both schedule layers in one layer presentation, without facing the fact that they are actually two different schedules. They have different breakdown, different behaviour, different logic type, different logic attitude, and different calendars.
It will not be a correct judgement to go to the other extreme of the discussion and state that there is only one schedule, Resources Schedule; and that activities are assigned to resources and not the reverse. This can be accepted and modelled theoretically, but not practically. Although any activity in the world is executed with resources, it is not practical for any organisation to model and schedule resources of other organisations. For example, a project for the construction of a power plant will contain many activities for design inputs, equipment procurement, and authorities approvals; and it will not be feasible for the contractor of the project to model