# Critical Chain Design Structure Matrix Method for Construction Project Scheduling under Rework Scenarios

Authors: Guofeng Ma; Keke Hao; Yu Xiao; Tiancheng Zhu
Journal: Mathematical Problems in Engineering
 (2019)

---

## Abstract

Rework risks have been a major challenge in the construction industry that constantly affects project schedules and threatens on-time project completion. Traditional project scheduling methods are not capable of modeling rework relationships between activities and mitigating the impact of resulting uncertainties during the development of project schedules. To address this challenge, a critical chain design structure matrix (CCDSM) method is proposed in this paper. The CCDSM method aims to develop construction project schedules that are adaptive to rework scenarios and robust against rework risks. The CCDSM method models and displays large-scale rework relationships among activities and introduces a new rework buffer to quantitatively represent the impact of rework instances in project schedules. A max-plus algorithm is adopted in CCDSM to transform complex logic relationships into simple matrix operations, reducing computational load of schedule generation. A case study was conducted to demonstrate the implementation of the CCDSM method and assess its effectiveness in addressing rework risks. The results showed that the CCDSM is a promising tool to generate schedules, which could improve on-time project completion rate and reduce impacts of varying rework scenarios on project execution.


---

## Body

## 1. Introduction

Rework has been regarded as one of the major challenges that can adversely affect project performance in the construction industry [1]. Hwang et al. [2] surveyed about Client-Related Rework (CRR) in 381 projects conducted by 51 construction companies and concluded that more than 80% companies and 59% projects experienced CRR, which increased project costs by 7.1% and caused 3.3 weeks’ delay on average. Simpeh et al. [3] investigated 78 construction professionals and found that if the mean rework cost of a project reached 5.12%, the likelihood of the project exceeding its budget would be as high as 76%.Extensive efforts have been made to manage rework-caused project delay and minimize the rework impact in construction projects. When used to predict the project duration as well as its on-time completion probability, traditional scheduling techniques, such as CPM, PERT, and Gantt Charts, cannot quantitatively measure activity rework time and its impact on project completion time [4] and hence are not able to directly take into account the rework risks during project planning. Although buffers in the CCPM can aggregate uncertainties in project execution, which are reflected as blocks of resource or time redundancy in project schedules, it is still difficult to model large-scale rework relationships between activities using the CCPM [5]. To further address this challenge, a design structure matrix (DSM) method has been introduced, which is designed to represent the dependency or information flow between activities, providing an effective representation of rework instances [5]. However, one limitation of the DSM method exists that the matrix format is too concise to fully display certain attributes of activities, which leads the DSM method usually to be adapted as a project duration calculator rather than a process control tool [6]. Overall, most of the current tools for managing rework are reactive, can barely compute and diagram rework instances with satisfactory accuracy, and focus on measuring the rework risk of activity duration rather than that of overall project completion time. Due to these limitations, although in many cases project managers expect rework to occur, they lack reliable tools to fully assess and address these risks at the planning stage of the projects and to mitigate potential impacts of rework with proactive measures.Accordingly, a new method, termed critical chain design structure matrix (CCDSM), is proposed in this paper. Built on the strength of the CCPM and DSM in project scheduling, the CCDSM aims to integrate these two methods to overcome their respective limitations in developing construction project schedules that are adaptive to rework instances. The CCDSM is designed in such a way that it not only models large-scale rework relationships among activities, improving the accuracy and effectiveness of project management, but also displays various attributes of activities, enabling analysis and visualization of the project schedule under rework scenarios. Moreover, the CCDSM adopts max-plus algorithm, a straightforward linear algebra algorithm, to transform complex logic relationships into simple matrix operations, which effectively reduces the computational load of generating schedules. The detailed design of the CCDSM and a case study that demonstrates the effectiveness of the CCDSM in addressing rework risks in construction projects are presented in the remainder of this paper.


## 2. Review of Relevant Works

### 2.1. Buffer Management and Critical Chain Scheduling in the CCPM

The CCPM, which has proved to be a powerful tool for project scheduling in many fields [7, 8], has been increasingly used in project scheduling and subject to a number of refinements and extensions [9]. There are two main components in the implementation of the CCPM, including buffer management and critical chain scheduling.There are three major types of buffers, including resource buffer (RB), feeding buffer (FB), and project buffer (PB) in CCPM, which are distinguished by their positions and functions in the schedules [10]. RBs are set to protect the critical chain from the tightness of critical resources. They are used as warnings, consuming no time. FBs are set to protect the critical chain from the variation of tasks not on the critical chain and are placed where noncritical and critical activities converge. PBs are placed at the end of the critical chain to protect against exceeding project delivery dates. The concentration principle of buffer determination in CCPM is shown as Figure 1, where di represents the estimated duration of activityi and STi denotes the safety time of i. In fact, another two major time buffering methods existed for developing reliable schedules and protect them from effects of uncertainties. One is optimization-based time buffering method such as starting time criticality and Tabu search, which insert buffers in front of activities dispersedly to ensure that each activity can be conducted on time in accordance with the project schedules. However, it is unknown whether such scattered buffers can ensure on-time completion of the entire project [11]. The other is simulation-based time buffering method. However, a major drawback of simulation-based methods exists that simulation is highly computationally demanding, which could become a significant problem in practice when large projects are involved or when project managers want to perform what-if analysis for a wide variety of scenarios [12]. The CCPM-based time buffering used in this study has several advantages. It calculates time buffers efficiently, provides explicit protection against stochastic variation and presents a set of reasonable control guidelines to ensure on-time completion of the entire project [13].Figure 1
Concentration principle of buffer determination.Determining the size of buffers depends on various factors, such as managerial experience and preferences of the project team, project circumstances, personnel and equipment capabilities, and so on [14]. A number of buffer sizing approaches have been developed in CCPM, among which the cut and paste method (C&PM) and the root square error method (RSEM) are widely used. The C&PM reduces the safety time of each activity by 50% and estimates half of the sum of safety time to be a buffer. However, the C&PM adopts a linear procedure, and the size of the calculated buffer increases linearly with the length of the critical chain. The RSEM calculates the square root of the total squares of the difference between two estimates, a safe estimate, and an average estimate, for each activity in the critical chain as the buffer size [15]. Tukel et al. [16] argued that the RSEM could be less affected by the length of the critical chain than the C&PM. In addition, Icmeli and Erenguc [17] proposed a resource utilization factor (RF) to calculate buffers. Roghanian et al. [18] took into account variation of fuzzy numbers for required resources when buffer sizing. Ghaari and Emsley [9] employed Monte Carlo simulation method to validate the efficiency of C&PM in buffer sizing and put forward buffer sizing schemes in multiproject environments considering the level of resource capacity. A major limitation of these existing buffer sizing approaches, however, is that they operate based on an assumption that project activity durations are independent of each other (Li et al., 2012). These approaches, therefore, are not appropriate to cope with rework, which involves extensively the mutual relationships between activities. In a recent study, Zhang et al. [19] proposed a CCPM-based scheduling method that, by integrating the DSM, took into account rework risks in the calculation of resource tightness and information constraints. However, this method failed to recognize that the rework risks could also impact the critical chain, and it identified the critical chain in a traditional manner.With respect to critical chain scheduling, Francisco and Alfonso [20] extended traditional critical chain scheduling methods by using critical set and critical cloud to avoid ambiguity in the identification of critical tasks. Ma et al. [21] proposed a critical chain scheduling method with a scenario-based proactive robustness optimization. The method was able to yield higher probabilities of on-time project completion than traditional CCPM-based scheduling methods. Goto [22] developed a scheduling framework for projects under limited resources by representing the CCPM method in max-plus algebra to achieve a short lead time. Salama et al. [23] took into account the impacts of resource continuity and variability on activity durations and integrated linear scheduling and CCPM methods to identify multiple critical sequences. Despite active research in CCPM-based linear process scheduling in recent years, the challenge of rework in CCPM-based schedules has barely been addressed [24], where further research is needed.


### 2.2. DSM as a Process Management Technique

Since Steward [25] first introduced the DSM for the square-matrix-based models of processes, process architecture DSM models (process DSMs) have received the most attention among different application areas of DSM [6]. The DSM uses matrix format to uniformly represent three different logical relationships and dependencies, including sequential, parallel, and coupled, between activities, as shown in Figure 2. An off-diagonal element Aij of the DSM matrix represents with a mark or a number the information flow from activity j to activity i or the dependency relationship between these two activities. If no dependency exists between activities j and i, it will be null or zero. Diagonal element Aii is occasionally used to represents certain characteristics, such as duration, of the activity i, or simply nothing in most cases.Figure 2
Different types of relationship between activities represented in the DSM.
(a)
Sequential (b)
Parallel (c)
CoupledIn this matrix-based display, elements above the diagonal are usually regarded as information feedback or iterative activities relationship [5]. Such display provides a useful tool for analyzing rework and has given rise to a number of relevant studies. The first DSM-based, discrete event Monte Carlo simulation model was proposed by Browning [26], and later extended by Browning and Eppinger [27], to estimate project duration and cost and their variances. They argued that processes with the fewest feedback marks in the DSM may not be necessarily optimal and could be sped up with appropriate increase in overlapping and iterations [6]. They introduced rework probability (RP) matrix, rework impact (RI) matrix, and learning curve (LC) to represent and calculate rework duration [27]. For the element in row i and column j in [RP]ij, if j>i, which means the element belongs to upper triangular, it describes the probability that the completion of activity i causing rework of activityj; if j<i, which means the element belongs to lower triangular, it describes the probability that after activity j completes rework, the activity i will be influenced. [RI]ij represents the possibility of activity i to be reworked when rework is caused by activity j for i,j=1,…,n. LCi represents the ratio of activity i to be reworked because the participants may benefit from learning and adaption when rerunning the activity. Based on their definition, the values of the elements in these two matrices are between 0 and 1. The values of elements in the two matrices can be collected from historical data or estimated based on risk preferences of the project team. Then the expected rework time of activity i caused by activity j can be calculated by RPij×RIij×di×LCi, where di represents the duration of activityi.A number of other DSM simulations have adopted the above framework, with certain extensions to account for additional constraints in process scheduling. For instance, Cho and Eppinger [28] proposed a heuristic for solving stochastic, resource-constrained project scheduling problems in an iterative project network. Lévárdy and Browning [29] accounted for technical performance characteristics besides duration and cost, by setting up a superset of general classes of activities, each with modes that vary in terms of inputs, duration, cost, and expected benefits. Meanwhile, a number of studies have looked into transferring process DSM to a more effective process management tool that is closer to traditional process management tools and expressions. A time factor was therefore introduced [30]. The time factor is defined based on the overlapping relationship between the activities. As shown in Figure 3, di and dj are defined as the duration of activities i andj, respectively, ti as the duration between the start of activity i and the time when information transition from activity i to activity j is completed, and tj as the duration between the start of activity j and the time the information transition is completed. A predecessor time factor is defined as Pji=ti/di and a successor time factor as Sji=tj/dj, where 0<P≤1,0≤S<1. Two matrices,P andS, are defined by these two factors. The project duration is then calculated according to (1), and a nomenclature is provided in Table 1.(1)ESi∗=max⁡ESj+Pij×Pjj-Sij×SiiESi=max⁡ESi∗,0EFi=ESi+AiiTT=max⁡EFiTable 1
Nomenclature for all parameters in the paper.
Parameter Notation Parameter Notation A Initial state matrix:Aii shows duration of activity i; for the non-diagonal elements, if there is information delivered from j to i, then the value of Aij is non empty; else it is empty. S D ESi The activity duration variance matrixEarliest start time of activity i  P i j The predecessor time factor fromjto i E F i Earliest finish time of activityi  S i j The successor time factor fromj to i T T The length of critical path  D Activity time matrix: the diagonal elements are activity duration and the non-diagonal elements are minus infinity F Activity deviation matrix:[F]ij shows the deviation between activity j and activity i  R Activity relationship matrix: if there is information delivered fromj to i, then the value of [R]ij is 0; else it is ε. x 0 0 vector: the number of dimension equals the number of activities  x E + The early finish time for activity x E - The early start time for activity  [  ] n × 1 N-dimension vector of certain value R T i The first and second rework time as well as rework time the last critical activity cause other activities to generate, respectively, for i=1,2,3  e The activity element in matrix R, but the value is 0 in the algorithm T F The total float of each activity  w For the diagonal elements, if the corresponding activity is on the critical path, then the value is 0; or the value isε. v For the diagonal elements, if the corresponding activity is on the non-critical path, then the value is 0; or the value isε.  ε Negative infinity in max-plus [ R P ] i j Rework probability matrix  [ R I ] i j Rework impact matrix R w B i Rework buffer of activityi  PT Estimated project completion timeFigure 3
Information transfer process with overlapping.In short, prior research has explored the possibility of using the DSM to predict and control rework in project scheduling and planning and has achieved noticeable progress. However, DSM lacks the capability of functioning as a stand-alone project management technique, for that DSM’s matrix-based expression is difficult to be effectively converted to network diagram-based expression, sometimes leading to ambiguity and confusion [5]. Therefore, it is challenging to apply DSM to the process management of construction projects, and DSM needs to be extended and improved with further research efforts.


## 2.1. Buffer Management and Critical Chain Scheduling in the CCPM

The CCPM, which has proved to be a powerful tool for project scheduling in many fields [7, 8], has been increasingly used in project scheduling and subject to a number of refinements and extensions [9]. There are two main components in the implementation of the CCPM, including buffer management and critical chain scheduling.There are three major types of buffers, including resource buffer (RB), feeding buffer (FB), and project buffer (PB) in CCPM, which are distinguished by their positions and functions in the schedules [10]. RBs are set to protect the critical chain from the tightness of critical resources. They are used as warnings, consuming no time. FBs are set to protect the critical chain from the variation of tasks not on the critical chain and are placed where noncritical and critical activities converge. PBs are placed at the end of the critical chain to protect against exceeding project delivery dates. The concentration principle of buffer determination in CCPM is shown as Figure 1, where di represents the estimated duration of activityi and STi denotes the safety time of i. In fact, another two major time buffering methods existed for developing reliable schedules and protect them from effects of uncertainties. One is optimization-based time buffering method such as starting time criticality and Tabu search, which insert buffers in front of activities dispersedly to ensure that each activity can be conducted on time in accordance with the project schedules. However, it is unknown whether such scattered buffers can ensure on-time completion of the entire project [11]. The other is simulation-based time buffering method. However, a major drawback of simulation-based methods exists that simulation is highly computationally demanding, which could become a significant problem in practice when large projects are involved or when project managers want to perform what-if analysis for a wide variety of scenarios [12]. The CCPM-based time buffering used in this study has several advantages. It calculates time buffers efficiently, provides explicit protection against stochastic variation and presents a set of reasonable control guidelines to ensure on-time completion of the entire project [13].Figure 1
Concentration principle of buffer determination.Determining the size of buffers depends on various factors, such as managerial experience and preferences of the project team, project circumstances, personnel and equipment capabilities, and so on [14]. A number of buffer sizing approaches have been developed in CCPM, among which the cut and paste method (C&PM) and the root square error method (RSEM) are widely used. The C&PM reduces the safety time of each activity by 50% and estimates half of the sum of safety time to be a buffer. However, the C&PM adopts a linear procedure, and the size of the calculated buffer increases linearly with the length of the critical chain. The RSEM calculates the square root of the total squares of the difference between two estimates, a safe estimate, and an average estimate, for each activity in the critical chain as the buffer size [15]. Tukel et al. [16] argued that the RSEM could be less affected by the length of the critical chain than the C&PM. In addition, Icmeli and Erenguc [17] proposed a resource utilization factor (RF) to calculate buffers. Roghanian et al. [18] took into account variation of fuzzy numbers for required resources when buffer sizing. Ghaari and Emsley [9] employed Monte Carlo simulation method to validate the efficiency of C&PM in buffer sizing and put forward buffer sizing schemes in multiproject environments considering the level of resource capacity. A major limitation of these existing buffer sizing approaches, however, is that they operate based on an assumption that project activity durations are independent of each other (Li et al., 2012). These approaches, therefore, are not appropriate to cope with rework, which involves extensively the mutual relationships between activities. In a recent study, Zhang et al. [19] proposed a CCPM-based scheduling method that, by integrating the DSM, took into account rework risks in the calculation of resource tightness and information constraints. However, this method failed to recognize that the rework risks could also impact the critical chain, and it identified the critical chain in a traditional manner.With respect to critical chain scheduling, Francisco and Alfonso [20] extended traditional critical chain scheduling methods by using critical set and critical cloud to avoid ambiguity in the identification of critical tasks. Ma et al. [21] proposed a critical chain scheduling method with a scenario-based proactive robustness optimization. The method was able to yield higher probabilities of on-time project completion than traditional CCPM-based scheduling methods. Goto [22] developed a scheduling framework for projects under limited resources by representing the CCPM method in max-plus algebra to achieve a short lead time. Salama et al. [23] took into account the impacts of resource continuity and variability on activity durations and integrated linear scheduling and CCPM methods to identify multiple critical sequences. Despite active research in CCPM-based linear process scheduling in recent years, the challenge of rework in CCPM-based schedules has barely been addressed [24], where further research is needed.


## 2.2. DSM as a Process Management Technique

Since Steward [25] first introduced the DSM for the square-matrix-based models of processes, process architecture DSM models (process DSMs) have received the most attention among different application areas of DSM [6]. The DSM uses matrix format to uniformly represent three different logical relationships and dependencies, including sequential, parallel, and coupled, between activities, as shown in Figure 2. An off-diagonal element Aij of the DSM matrix represents with a mark or a number the information flow from activity j to activity i or the dependency relationship between these two activities. If no dependency exists between activities j and i, it will be null or zero. Diagonal element Aii is occasionally used to represents certain characteristics, such as duration, of the activity i, or simply nothing in most cases.Figure 2
Different types of relationship between activities represented in the DSM.
(a)
Sequential (b)
Parallel (c)
CoupledIn this matrix-based display, elements above the diagonal are usually regarded as information feedback or iterative activities relationship [5]. Such display provides a useful tool for analyzing rework and has given rise to a number of relevant studies. The first DSM-based, discrete event Monte Carlo simulation model was proposed by Browning [26], and later extended by Browning and Eppinger [27], to estimate project duration and cost and their variances. They argued that processes with the fewest feedback marks in the DSM may not be necessarily optimal and could be sped up with appropriate increase in overlapping and iterations [6]. They introduced rework probability (RP) matrix, rework impact (RI) matrix, and learning curve (LC) to represent and calculate rework duration [27]. For the element in row i and column j in [RP]ij, if j>i, which means the element belongs to upper triangular, it describes the probability that the completion of activity i causing rework of activityj; if j<i, which means the element belongs to lower triangular, it describes the probability that after activity j completes rework, the activity i will be influenced. [RI]ij represents the possibility of activity i to be reworked when rework is caused by activity j for i,j=1,…,n. LCi represents the ratio of activity i to be reworked because the participants may benefit from learning and adaption when rerunning the activity. Based on their definition, the values of the elements in these two matrices are between 0 and 1. The values of elements in the two matrices can be collected from historical data or estimated based on risk preferences of the project team. Then the expected rework time of activity i caused by activity j can be calculated by RPij×RIij×di×LCi, where di represents the duration of activityi.A number of other DSM simulations have adopted the above framework, with certain extensions to account for additional constraints in process scheduling. For instance, Cho and Eppinger [28] proposed a heuristic for solving stochastic, resource-constrained project scheduling problems in an iterative project network. Lévárdy and Browning [29] accounted for technical performance characteristics besides duration and cost, by setting up a superset of general classes of activities, each with modes that vary in terms of inputs, duration, cost, and expected benefits. Meanwhile, a number of studies have looked into transferring process DSM to a more effective process management tool that is closer to traditional process management tools and expressions. A time factor was therefore introduced [30]. The time factor is defined based on the overlapping relationship between the activities. As shown in Figure 3, di and dj are defined as the duration of activities i andj, respectively, ti as the duration between the start of activity i and the time when information transition from activity i to activity j is completed, and tj as the duration between the start of activity j and the time the information transition is completed. A predecessor time factor is defined as Pji=ti/di and a successor time factor as Sji=tj/dj, where 0<P≤1,0≤S<1. Two matrices,P andS, are defined by these two factors. The project duration is then calculated according to (1), and a nomenclature is provided in Table 1.(1)ESi∗=max⁡ESj+Pij×Pjj-Sij×SiiESi=max⁡ESi∗,0EFi=ESi+AiiTT=max⁡EFiTable 1
Nomenclature for all parameters in the paper.
Parameter Notation Parameter Notation A Initial state matrix:Aii shows duration of activity i; for the non-diagonal elements, if there is information delivered from j to i, then the value of Aij is non empty; else it is empty. S D ESi The activity duration variance matrixEarliest start time of activity i  P i j The predecessor time factor fromjto i E F i Earliest finish time of activityi  S i j The successor time factor fromj to i T T The length of critical path  D Activity time matrix: the diagonal elements are activity duration and the non-diagonal elements are minus infinity F Activity deviation matrix:[F]ij shows the deviation between activity j and activity i  R Activity relationship matrix: if there is information delivered fromj to i, then the value of [R]ij is 0; else it is ε. x 0 0 vector: the number of dimension equals the number of activities  x E + The early finish time for activity x E - The early start time for activity  [  ] n × 1 N-dimension vector of certain value R T i The first and second rework time as well as rework time the last critical activity cause other activities to generate, respectively, for i=1,2,3  e The activity element in matrix R, but the value is 0 in the algorithm T F The total float of each activity  w For the diagonal elements, if the corresponding activity is on the critical path, then the value is 0; or the value isε. v For the diagonal elements, if the corresponding activity is on the non-critical path, then the value is 0; or the value isε.  ε Negative infinity in max-plus [ R P ] i j Rework probability matrix  [ R I ] i j Rework impact matrix R w B i Rework buffer of activityi  PT Estimated project completion timeFigure 3
Information transfer process with overlapping.In short, prior research has explored the possibility of using the DSM to predict and control rework in project scheduling and planning and has achieved noticeable progress. However, DSM lacks the capability of functioning as a stand-alone project management technique, for that DSM’s matrix-based expression is difficult to be effectively converted to network diagram-based expression, sometimes leading to ambiguity and confusion [5]. Therefore, it is challenging to apply DSM to the process management of construction projects, and DSM needs to be extended and improved with further research efforts.


## 3. The Critical Chain Design Structure Matrix Method

In this section, we are going to demonstrate how to use the CCDSM method to generate the project schedule. We improve the max-plus algorithm to reduce computational load in generating project schedules and introduce rework buffers to evaluate and address rework risks.


### 3.1. Construction Project Scheduling with the Max-Plus Algorithm

A discrete event system is state-discrete and event-driven. Its state evolution depends on asynchronous discrete events occurring at discrete points over time [31]. Simple discrete event systems are usually linear systems in which state and output variables for all possible input variables and the initial state satisfy superposition principle of the system. A construction project can generally be seen as a linear system that consists of a number of discrete events.The max-plus algorithm provides an alternative way to describe the discrete event system. Based on the max-plus algorithm, the status of all discrete events, denoted as vectorx(k), in a system can be used to describe the status of the system, and adjacent statuses are interchangeable with a limited number of linear changes, as follows:(2)x1=A1x0x2=A2x1⋮xk=Akxk-1Based on the above equation, if the linear changes at every stage, A1,A2…Ak, are known, then the final status of the system, x(k), can be derived from the initial status of the system x(0). Using this as a starting point, the max-plus algorithm introduces four types of operations to describe the discrete event systems. For two m×m matrices X and Y denoted as X,Y∈Om×m, whose elements are nonnegative numbers or negative infinity, these operations are defined as follows:(3)X⊕Yij=max⁡Xij,YijX∧Yij=min⁡Xij,YijX⊗Yij=⨁k=1mXik+YkjX⊙Yij=⋀k=1m-Xik+Ykjwhere X⊗Y could be further simplified as XY, and Xn=XX⋯X︸n.To apply the max-plus algorithm to schedule management, three new matrices need to be developed to describe relevant project information. These matrices include(1) activity duration matrix, denoted asD, which is developed by filling the diagonal elements with each activity’s duration and the nondiagonal elements with negative infinity; (2) activity deviation matrix, denoted asF, which is developed based on the rule that Fij represents the deviation of the start time of activity j and activityi; and (3) activity relationship matrix, denoted asR, which is developed based on the rule that if there is information delivered from activity j to activityi, then the value of Rij is 0; otherwise the value is negative infinity.According to the max-plus algorithm [32], we have the following.The early finish time for each activity is calculated as(4)xE+=D⊗F∗⊗x0where (F)∗=e⊕F⊕…⊕(F)l-1. The (i,j)-th element of matrix (F)∗ means the largest deviation of the start time of activity j and activityi, if activities i and j are on one or more paths at the same time; otherwise, it is ε. For simplicity, the elements of vector x0 are set ase, which means the beginning of activities in the project will not be affected by other construction projects.The length of critical path, denoted as the maximum of early finish time for all activities, is calculated as(5)TT=max⁡xE+The early start time is calculated as the difference between early finish time for each activity and its duration according to(6)xE-=D⊙xE+The late start time of activityi is calculated as the difference between length of critical path and the sum of activity i’s duration as well as subsequent critical activities’ durations according to (7)xL-=D⊗F∗T⊙x0⊙TTThe total float is calculated as(8)TFi=xE-i⊙xL-iThe critical chain is then determined by the set of activitiesα that satisfy {α∣TFα=0}.It needs to be noted that when determining floats, the max-plus algorithm is run in simple matrix form which significantly improves the computational efficiency and is more applicable to large-scale projects [33]. The definitions of parameters in the above equations are summarized in the nomenclature in Table 1.


### 3.2. Determining Project Rework Buffer

It is widely believed that information uncertainty is the main cause of rework [34]. Such uncertain information may transmit from upstream activities to downstream activities or feedback in the opposite direction, creating information flow. Information flow interactions lead to rework risks in construction projects and consequently bring about more rework time. There are two main situations that rework exists.( 1 ) First rework: as depicted in Figure 4(a),i is a precedent activity ofj, and they perform sequentially according to relationships. After it is completed, the performance information of j will be generated and transmitted toi, which may result in rework of i. The first rework time, shown as the shadow area in Figure 4(a), can be calculated by [27](9)RT1ij=RPij·RIij·LCi·DiiThen the total first rework time of i caused by all its downstream activities can be obtained by (10)RT1i=∑j=i+1nRPij·RIij·LCi·Diiwhere n represents the number of activities in the schedule.Figure 4
First rework and second rework.
(a)
First rework (b)
Second rework caused by information transition from its precedent activity (c)
Second rework caused by information feedback from its successive activity( 2 ) Second rework: as depicted in Figures 4(b) and 4(c), after completing the rework of j caused by k, j transmits or feeds back some revised information to i, which may cause rework of i. Such two forms are defined as the second rework in the paper. The second rework times, shown as the shadow areas in Figures 4(b) and 4(c), can be calculated by(11)RT2ijk=RPij·RPjk·RIij·LCi·DiiThen the total second rework time of i caused by all its downstream activities can be obtained by (12)RT2i=∑j=1k-1∑k=i+1nRPjk·RPij·RIij·LCi·DiiTo proactively account for the uncertainty caused by interactivity relationships and the associated rework risks, a rework buffer (RwB) is introduced in the proposed CCDSM. Conceptually, RwB assesses and compresses the duration uncertainty caused by rework and is placed after the completion of rework activities in project schedules. RwB is designed to warn project participants from how much workload may increase for each rework activity, so as to prepare the project participants for sufficient time and resources.The rework buffer ofi can be obtained by(13)RwBi=RT1i+RT2iFor the last critical activityθ in the schedule, considering all reworks it causes other activities to generate will take place after its completion and have an impact on project completion time; therefore, its rework buffer is defined as the sum of the total rework time it causes other activities to generate and its total rework time caused by other activities.The total rework time it causes all other activities to generate can be calculated by(14)RT3θ==∑i=1nRPiθ·RIiθ·LCi·Dii+∑i=1n∑j=1nRPij·RPjθ·RIij·LCi·DiiThe rework buffer of θ then can be obtained by(15)RwBθ=RT1θ+RT2θ+RT3θ


### 3.3. Determining Project Buffers and Feeding Buffers in Max-Plus Representation

#### 3.3.1. Determining Project Buffers

Previous studies on the CCPM-max-plus representation adopted the C&PM method for calculating project buffers, shown as (16), and feeding buffers [33]. (16)PB=max⁡D⊗w⊗R∗D⊗wx03where (i,j)-th element of matrix (D⊗w⊗R)∗ means the cumulative time of duration of activity α, which is on the critical chain and range from i+1 toj; (i,j)-th element of matrix D⊗w satisfies that if activity i is on the critical chain, then (i,j)-th element is duration of activityI; otherwise it is ε.However, the C&PM method lacks sound mathematical foundation and overestimates project durations, resulting in a waste of time and resources. Alternatively, the C&PM is replaced by the RSEM, which is based on the large number law and central limit theorem, in the CCDSM to calculate the PB:(17)PB=∑i∈CPSDiwhere SDi is the variance of duration of activity i on the critical path.To calculate the PB in max-plus representation, a matrix denoted asTp is introduced. For the element in row iandcolumn i-1in[Tp]ij, if activity i is critical activity, it will be filled with the variance of duration of activityi; else, it will be zero. For other elements in [Tp]ij, it is filled with zero. The PB then can be represented in max-plus algebra as(18)PB=C0T⊗Tp∗⊗C0where C0T=e,e,…,e︸n+1.


#### 3.3.2. Determining Feeding Buffers

In order to insert feeding buffers in place to protect critical path from delays in noncritical paths, two operators, denoted asdiag() and #, are first introduced. For a vector x, a new matrix can be obtained by the operator diag() as [diag()]ij=xi:ifi=j,ε:else, and a new vector can be obtained by the operator # as [x]i#=ε:ifxi≠ε,e:if[x]i=ε.In preparation of the location and size of the feeding buffer, another two vectors are introduced, denoted asw and v. Matrix w is developed based on the rule that for a diagonal element; if the corresponding activity is on the critical path, then the element value is 0; otherwise, the element value is ε. Matrix v is developed based on the rule that, for a diagonal element, if the corresponding activity is on the noncritical path, then the value is 0; otherwise, the value is ε. Moreover, an adjacency matrix R is transformed from matrix F by [R]ij=e:ifFij≠ε,ε:else. Vector v′ is then introduced to locate the feeding buffers as follows:(19)v′γ=RβαT⊗wγwhere Rβα is the adjacency matrix, which represents transitions from noncritical activities to critical ones and can be obtained by Rβα=diag(w)⊗R⊗diag(v). λ represents the noncritical activity, one of whose successors is critical activity. Therefore, a feeding buffer should be inserted behind the activity γ.The feeding buffer can then be determined by square rooting of the sum of[SD]η, where η is the set of activities on a certain noncritical chain. The formula is expressed in max-plus algebra as(20)FB0=diagRββ⊗diagv′#⊗diagSD∗⊗C1⊗diagdiagSD⊗diagv′⊗C1⊗C1Additionally, the calculation of feeding buffer should be adjusted using the following equation to meet the constraint that the size of feeding buffer cannot exceed total float:(21)FBγ=min⁡FB0γ,TFγ


### 3.4. Implementation of the CCDSM with Max-Plus Linear Expression

The max-plus-based implementation of the CCDSM is summarized in the following seven steps. It needs to be noted that, as the max-plus algorithm cannot solve nonlinear conversions such as multiplication, the input data for the project rework problem including matricesA, P, S, RP, andRI needs to be preprocessed:Step 1 (preprocessA).
Extract all diagonal elements of matrixA and form a diagonal matrixD.Step 2 (preprocessP and S).
Combine matricesP and S to generate matrix F according to the following equation:(22)Fij=Pij×Pjj-Sij×SiiExtract all nonnull elements of matrix F and use them to form matrix R. Then updateR, by replacing all nonnull elements with e and all null elements with ε.Step 3 (preprocessRP andRI).
Based on (9)-(15), merge matricesRPandRI to generate the vector RwB, whose i-th element is the corresponding rework buffer of activityi.Step 4 (calculate the length of critical path).
Based on (4)-(8), the length of critical pathTTand other parameters, including the total float timeTF and critical path are determined.Step 5 (calculate matricesw and v).
According to the critical path determined in Step 4, matricesw and v can be generated. Meanwhile, the activity duration variance matrixSD can be generated based on data collected from the project to calculate the buffers size;Step 6 (calculate buffer sizes).
Based on (17)-(21), project bufferPB and feeding buffersFBs are calculated with RSEM and represented in max-plus algebra.Step 7 (generate the schedule).
As the principle of CCPM, the feeding buffers should be placed on the noncritical chains prior to the joints of the critical chain and noncritical chains, and the project buffer should be placed at the end of the schedule to protect the whole project process. Then, the estimated project timePT can be calculated based on (23)PT=TT+PB+RwBθ


## 3.1. Construction Project Scheduling with the Max-Plus Algorithm

A discrete event system is state-discrete and event-driven. Its state evolution depends on asynchronous discrete events occurring at discrete points over time [31]. Simple discrete event systems are usually linear systems in which state and output variables for all possible input variables and the initial state satisfy superposition principle of the system. A construction project can generally be seen as a linear system that consists of a number of discrete events.The max-plus algorithm provides an alternative way to describe the discrete event system. Based on the max-plus algorithm, the status of all discrete events, denoted as vectorx(k), in a system can be used to describe the status of the system, and adjacent statuses are interchangeable with a limited number of linear changes, as follows:(2)x1=A1x0x2=A2x1⋮xk=Akxk-1Based on the above equation, if the linear changes at every stage, A1,A2…Ak, are known, then the final status of the system, x(k), can be derived from the initial status of the system x(0). Using this as a starting point, the max-plus algorithm introduces four types of operations to describe the discrete event systems. For two m×m matrices X and Y denoted as X,Y∈Om×m, whose elements are nonnegative numbers or negative infinity, these operations are defined as follows:(3)X⊕Yij=max⁡Xij,YijX∧Yij=min⁡Xij,YijX⊗Yij=⨁k=1mXik+YkjX⊙Yij=⋀k=1m-Xik+Ykjwhere X⊗Y could be further simplified as XY, and Xn=XX⋯X︸n.To apply the max-plus algorithm to schedule management, three new matrices need to be developed to describe relevant project information. These matrices include(1) activity duration matrix, denoted asD, which is developed by filling the diagonal elements with each activity’s duration and the nondiagonal elements with negative infinity; (2) activity deviation matrix, denoted asF, which is developed based on the rule that Fij represents the deviation of the start time of activity j and activityi; and (3) activity relationship matrix, denoted asR, which is developed based on the rule that if there is information delivered from activity j to activityi, then the value of Rij is 0; otherwise the value is negative infinity.According to the max-plus algorithm [32], we have the following.The early finish time for each activity is calculated as(4)xE+=D⊗F∗⊗x0where (F)∗=e⊕F⊕…⊕(F)l-1. The (i,j)-th element of matrix (F)∗ means the largest deviation of the start time of activity j and activityi, if activities i and j are on one or more paths at the same time; otherwise, it is ε. For simplicity, the elements of vector x0 are set ase, which means the beginning of activities in the project will not be affected by other construction projects.The length of critical path, denoted as the maximum of early finish time for all activities, is calculated as(5)TT=max⁡xE+The early start time is calculated as the difference between early finish time for each activity and its duration according to(6)xE-=D⊙xE+The late start time of activityi is calculated as the difference between length of critical path and the sum of activity i’s duration as well as subsequent critical activities’ durations according to (7)xL-=D⊗F∗T⊙x0⊙TTThe total float is calculated as(8)TFi=xE-i⊙xL-iThe critical chain is then determined by the set of activitiesα that satisfy {α∣TFα=0}.It needs to be noted that when determining floats, the max-plus algorithm is run in simple matrix form which significantly improves the computational efficiency and is more applicable to large-scale projects [33]. The definitions of parameters in the above equations are summarized in the nomenclature in Table 1.


## 3.2. Determining Project Rework Buffer

It is widely believed that information uncertainty is the main cause of rework [34]. Such uncertain information may transmit from upstream activities to downstream activities or feedback in the opposite direction, creating information flow. Information flow interactions lead to rework risks in construction projects and consequently bring about more rework time. There are two main situations that rework exists.( 1 ) First rework: as depicted in Figure 4(a),i is a precedent activity ofj, and they perform sequentially according to relationships. After it is completed, the performance information of j will be generated and transmitted toi, which may result in rework of i. The first rework time, shown as the shadow area in Figure 4(a), can be calculated by [27](9)RT1ij=RPij·RIij·LCi·DiiThen the total first rework time of i caused by all its downstream activities can be obtained by (10)RT1i=∑j=i+1nRPij·RIij·LCi·Diiwhere n represents the number of activities in the schedule.Figure 4
First rework and second rework.
(a)
First rework (b)
Second rework caused by information transition from its precedent activity (c)
Second rework caused by information feedback from its successive activity( 2 ) Second rework: as depicted in Figures 4(b) and 4(c), after completing the rework of j caused by k, j transmits or feeds back some revised information to i, which may cause rework of i. Such two forms are defined as the second rework in the paper. The second rework times, shown as the shadow areas in Figures 4(b) and 4(c), can be calculated by(11)RT2ijk=RPij·RPjk·RIij·LCi·DiiThen the total second rework time of i caused by all its downstream activities can be obtained by (12)RT2i=∑j=1k-1∑k=i+1nRPjk·RPij·RIij·LCi·DiiTo proactively account for the uncertainty caused by interactivity relationships and the associated rework risks, a rework buffer (RwB) is introduced in the proposed CCDSM. Conceptually, RwB assesses and compresses the duration uncertainty caused by rework and is placed after the completion of rework activities in project schedules. RwB is designed to warn project participants from how much workload may increase for each rework activity, so as to prepare the project participants for sufficient time and resources.The rework buffer ofi can be obtained by(13)RwBi=RT1i+RT2iFor the last critical activityθ in the schedule, considering all reworks it causes other activities to generate will take place after its completion and have an impact on project completion time; therefore, its rework buffer is defined as the sum of the total rework time it causes other activities to generate and its total rework time caused by other activities.The total rework time it causes all other activities to generate can be calculated by(14)RT3θ==∑i=1nRPiθ·RIiθ·LCi·Dii+∑i=1n∑j=1nRPij·RPjθ·RIij·LCi·DiiThe rework buffer of θ then can be obtained by(15)RwBθ=RT1θ+RT2θ+RT3θ


## 3.3. Determining Project Buffers and Feeding Buffers in Max-Plus Representation

### 3.3.1. Determining Project Buffers

Previous studies on the CCPM-max-plus representation adopted the C&PM method for calculating project buffers, shown as (16), and feeding buffers [33]. (16)PB=max⁡D⊗w⊗R∗D⊗wx03where (i,j)-th element of matrix (D⊗w⊗R)∗ means the cumulative time of duration of activity α, which is on the critical chain and range from i+1 toj; (i,j)-th element of matrix D⊗w satisfies that if activity i is on the critical chain, then (i,j)-th element is duration of activityI; otherwise it is ε.However, the C&PM method lacks sound mathematical foundation and overestimates project durations, resulting in a waste of time and resources. Alternatively, the C&PM is replaced by the RSEM, which is based on the large number law and central limit theorem, in the CCDSM to calculate the PB:(17)PB=∑i∈CPSDiwhere SDi is the variance of duration of activity i on the critical path.To calculate the PB in max-plus representation, a matrix denoted asTp is introduced. For the element in row iandcolumn i-1in[Tp]ij, if activity i is critical activity, it will be filled with the variance of duration of activityi; else, it will be zero. For other elements in [Tp]ij, it is filled with zero. The PB then can be represented in max-plus algebra as(18)PB=C0T⊗Tp∗⊗C0where C0T=e,e,…,e︸n+1.


### 3.3.2. Determining Feeding Buffers

In order to insert feeding buffers in place to protect critical path from delays in noncritical paths, two operators, denoted asdiag() and #, are first introduced. For a vector x, a new matrix can be obtained by the operator diag() as [diag()]ij=xi:ifi=j,ε:else, and a new vector can be obtained by the operator # as [x]i#=ε:ifxi≠ε,e:if[x]i=ε.In preparation of the location and size of the feeding buffer, another two vectors are introduced, denoted asw and v. Matrix w is developed based on the rule that for a diagonal element; if the corresponding activity is on the critical path, then the element value is 0; otherwise, the element value is ε. Matrix v is developed based on the rule that, for a diagonal element, if the corresponding activity is on the noncritical path, then the value is 0; otherwise, the value is ε. Moreover, an adjacency matrix R is transformed from matrix F by [R]ij=e:ifFij≠ε,ε:else. Vector v′ is then introduced to locate the feeding buffers as follows:(19)v′γ=RβαT⊗wγwhere Rβα is the adjacency matrix, which represents transitions from noncritical activities to critical ones and can be obtained by Rβα=diag(w)⊗R⊗diag(v). λ represents the noncritical activity, one of whose successors is critical activity. Therefore, a feeding buffer should be inserted behind the activity γ.The feeding buffer can then be determined by square rooting of the sum of[SD]η, where η is the set of activities on a certain noncritical chain. The formula is expressed in max-plus algebra as(20)FB0=diagRββ⊗diagv′#⊗diagSD∗⊗C1⊗diagdiagSD⊗diagv′⊗C1⊗C1Additionally, the calculation of feeding buffer should be adjusted using the following equation to meet the constraint that the size of feeding buffer cannot exceed total float:(21)FBγ=min⁡FB0γ,TFγ


## 3.3.1. Determining Project Buffers

Previous studies on the CCPM-max-plus representation adopted the C&PM method for calculating project buffers, shown as (16), and feeding buffers [33]. (16)PB=max⁡D⊗w⊗R∗D⊗wx03where (i,j)-th element of matrix (D⊗w⊗R)∗ means the cumulative time of duration of activity α, which is on the critical chain and range from i+1 toj; (i,j)-th element of matrix D⊗w satisfies that if activity i is on the critical chain, then (i,j)-th element is duration of activityI; otherwise it is ε.However, the C&PM method lacks sound mathematical foundation and overestimates project durations, resulting in a waste of time and resources. Alternatively, the C&PM is replaced by the RSEM, which is based on the large number law and central limit theorem, in the CCDSM to calculate the PB:(17)PB=∑i∈CPSDiwhere SDi is the variance of duration of activity i on the critical path.To calculate the PB in max-plus representation, a matrix denoted asTp is introduced. For the element in row iandcolumn i-1in[Tp]ij, if activity i is critical activity, it will be filled with the variance of duration of activityi; else, it will be zero. For other elements in [Tp]ij, it is filled with zero. The PB then can be represented in max-plus algebra as(18)PB=C0T⊗Tp∗⊗C0where C0T=e,e,…,e︸n+1.


## 3.3.2. Determining Feeding Buffers

In order to insert feeding buffers in place to protect critical path from delays in noncritical paths, two operators, denoted asdiag() and #, are first introduced. For a vector x, a new matrix can be obtained by the operator diag() as [diag()]ij=xi:ifi=j,ε:else, and a new vector can be obtained by the operator # as [x]i#=ε:ifxi≠ε,e:if[x]i=ε.In preparation of the location and size of the feeding buffer, another two vectors are introduced, denoted asw and v. Matrix w is developed based on the rule that for a diagonal element; if the corresponding activity is on the critical path, then the element value is 0; otherwise, the element value is ε. Matrix v is developed based on the rule that, for a diagonal element, if the corresponding activity is on the noncritical path, then the value is 0; otherwise, the value is ε. Moreover, an adjacency matrix R is transformed from matrix F by [R]ij=e:ifFij≠ε,ε:else. Vector v′ is then introduced to locate the feeding buffers as follows:(19)v′γ=RβαT⊗wγwhere Rβα is the adjacency matrix, which represents transitions from noncritical activities to critical ones and can be obtained by Rβα=diag(w)⊗R⊗diag(v). λ represents the noncritical activity, one of whose successors is critical activity. Therefore, a feeding buffer should be inserted behind the activity γ.The feeding buffer can then be determined by square rooting of the sum of[SD]η, where η is the set of activities on a certain noncritical chain. The formula is expressed in max-plus algebra as(20)FB0=diagRββ⊗diagv′#⊗diagSD∗⊗C1⊗diagdiagSD⊗diagv′⊗C1⊗C1Additionally, the calculation of feeding buffer should be adjusted using the following equation to meet the constraint that the size of feeding buffer cannot exceed total float:(21)FBγ=min⁡FB0γ,TFγ


## 3.4. Implementation of the CCDSM with Max-Plus Linear Expression

The max-plus-based implementation of the CCDSM is summarized in the following seven steps. It needs to be noted that, as the max-plus algorithm cannot solve nonlinear conversions such as multiplication, the input data for the project rework problem including matricesA, P, S, RP, andRI needs to be preprocessed:Step 1 (preprocessA).
Extract all diagonal elements of matrixA and form a diagonal matrixD.Step 2 (preprocessP and S).
Combine matricesP and S to generate matrix F according to the following equation:(22)Fij=Pij×Pjj-Sij×SiiExtract all nonnull elements of matrix F and use them to form matrix R. Then updateR, by replacing all nonnull elements with e and all null elements with ε.Step 3 (preprocessRP andRI).
Based on (9)-(15), merge matricesRPandRI to generate the vector RwB, whose i-th element is the corresponding rework buffer of activityi.Step 4 (calculate the length of critical path).
Based on (4)-(8), the length of critical pathTTand other parameters, including the total float timeTF and critical path are determined.Step 5 (calculate matricesw and v).
According to the critical path determined in Step 4, matricesw and v can be generated. Meanwhile, the activity duration variance matrixSD can be generated based on data collected from the project to calculate the buffers size;Step 6 (calculate buffer sizes).
Based on (17)-(21), project bufferPB and feeding buffersFBs are calculated with RSEM and represented in max-plus algebra.Step 7 (generate the schedule).
As the principle of CCPM, the feeding buffers should be placed on the noncritical chains prior to the joints of the critical chain and noncritical chains, and the project buffer should be placed at the end of the schedule to protect the whole project process. Then, the estimated project timePT can be calculated based on (23)PT=TT+PB+RwBθ


## 4. Case Study

In this section, the proposed CCDSM method is implemented in a case project to demonstrate its feasibility and effectiveness in addressing rework risks in project schedule management. The settings of the case project are first presented, followed by descriptions of implementation of the CCDSM in the case project. The schedule generated with the CCDSM method is assessed in detail and compared with the schedules generated with traditional CCPM- and DES-based methods.


### 4.1. Case Project Settings

The case used in this study was derived from a modular real estate development project firstly introduced in [35] and further described in [36]. The matrix A of the case is shown in Figure 5(a). This case consisted of 19 major activities and 183 interactivity relationships, including 65 rework relationships represented by elements above the diagonal of matrix A. It is assumed that rework can propagate up to twice to avoid infinite loop in the computation. The parameters for each activity and the interactivity relationships were derived based on literature and empirical evidence, and are shown in Figures 5(b), 5(c), 5(d), and 5(e) and summarized in Table 2. Large-scale rework relationships and complex connections between activities were observed in the case project, which was representative of typical construction projects in reality.Table 2
Activity parameters in the case project.
ID Activity Learning curve Duration (day) Min Likely Max A Perform prelim. mkt analysis 0.5 5 8 15  B Evaluate marketability options 0.6 5 8 15  C Engage feasibility consultants 0.3 3 4 7  D Evaluate planning & zoning process 0.5 10 13 20  E Perform massing study 0.6 20 24 35  F Develop conceptual design 0.8 30 35 50  G Identify external stakeholders 0.4 5 8 15  H Identify permits & approvals 0.7 10 13 20  I Complete phase 1 ESA 0.3 10 13 20  J Evaluate consultants & contractors 0.6 10 13 20  K Obtain rough construction costs 0.5 5 8 15  L Determine highest & best use 0.5 3 5 9  M Identify debt options 0.4 2 4 8  N Identify equity options 0.5 3 4 5  O Update financial underwriting 0.5 1 2 3  P Reevaluate organization strategy 0.6 2 3 5  Q Estimate schedule 0.6 3 4 7  R Gain control of site and/or client 0.6 3 4 7  S Review and approve 0.7 3 4 7Figure 5
Project information in the case project.
(a)
MatrixA (b)
MatrixP (c)
MatrixS (d)
MatrixRP (e)
MatrixRI


### 4.2. Implementation of the CCDSM Method

The proposed CCDSM method was implemented in the case project following the steps explained in the last section and the results were shown below. Noticeably, for better understanding of scheduling process, the implementation process of the CCDSM method is reorganized as below.Step 1. Matrices D and R were derived from matrixA, as shown in Figure 6. The duration of each activity was presented in the diagonal of the matrixD.Figure 6
Matrix D & R.
(a)
MatrixD (b)
MatrixR (element ε is omitted)Step 2. MatrixF (see Figure 7) was derived from matrices P and S according to (22). This step calculated the activity deviation matrix based on the predecessor time matrix and the successor time matrix.Figure 7
MatrixF (element ε is omitted).Step 3. Optimize activity sequence and update matricesD, R, RP, RI, and F according to new activity sequence. To reduce project rework and obtain near-optimal project completion time, the genetic algorithm (GA) was applied to optimize activity sequence. The GA is a metaheuristic method that searches for optimal solutions using processes similar to those in natural selections and genetics [37]. In the paper, minimization of total length of rework path first proposed by Gebala and Eppinger [38] was used as the objective function to calculate the optimal sequence of activities:(24)f=∑i=1n∑j=i+1nj-i·wi,jwhere w(i,j) represents rework probability of activity i caused by activity j.The parameter settings were selected as follows: population size set as 50, number of generations set as 150, crossover probability set as 0.95, and mutation probability set as 0.08. The GA process reported an optimal schedule asP,Q,H,E,R,B,C,K,N,L,M,F,D,S,A,G,J,I,O. The GA convergence process is shown in Figure 8.Figure 8
Convergence curve in the GA-based optimization.Step 4. RwB was generated from matricesRP andRI based on (9)-(15). The goal of this step was to factor in and calculate the rework time of the case project. RwB was [3,4,6,10,5,1,1,3,1,2,1,15,1,1,1,1,1,1,9].Step 5. To generate reliable project schedules, the most likely duration of each activity, which has been widely used and accepted by project teams in prior research [39], was selected to calculate the estimated project duration. The critical chain was reported as [H,E,B,K,N,L,F,A,G,J,O].Step 6. The activity duration variance matrixSDwas generated with 1,000 Monte Carlo simulations of the activities’ duration that follows a beta distribution.Step 7. Buffers were calculated based on (17)-(21). The project buffer was 36 days, and the feeding buffer was [3,4,0,0,38,0,4,0,0,0,6,0,10,38,0,0,0,0,2,0].Step 8. The estimated project duration was calculated as 102 days, based on (23). The project buffer was placed at the end of the schedule, and the feeding buffer was placed on the noncritical chains prior to the joints of the critical chain and noncritical chains, following the principle of CCPM.It was worth mentioning that overlapping was observed among various activities, including critical activities, in the above schedule, which illustrated real-world high-frequency interactions among activities in the project.To assess the performance of the CCDSM method and the quality of the project schedule it generated, the execution of case project was simulated 1000 times using Monte Carlo approach, where the sampling of actual activity durations followed beta distribution. The simulated actual project durations were depicted in Figure9. It can be seen in the figure that under rework assumption, the process schedule of 102 days had a completion probability of 98.1%, indicating that the proposed CCDSM method was able to provide satisfactory assurance of on-time project completion under varying scheduling scenarios.Figure 9
Simulated actual project durations and on-time project completion probability of the CCDSM-based schedule.


### 4.3. Comparison of the CCDSM Method with Traditional CCPM and DES Methods

This subsection further compares the performance of the CCDSM method with traditional CCPM and DES methods to assess its effectiveness in addressing rework risks.A CCPM-based schedule was generated with traditional buffers including project buffer and feeding buffer and without rework buffer. The results indicated that the estimated project durations of the CCPM-based schedule were 93 days, including project buffers of 36 days. When the estimated project duration of CCPM-based schedule was superimposed in the Monte Carlo-simulated project durations, as depicted in Figure10, it can be seen that the on-time completion probability was 49.3%. The results suggested that the CCDSM-based schedule, which took into consideration rework relationships and had a duration of 102 days, significantly outperformed the CCPM-based schedule in ensuring on-time completion of the case project that was faced with typical rework risks.Figure 10
Comparison of on-time project completion probabilities between the CCDSM- and CCPM-based schedules.Furthermore, a DES-based schedule was generated by implementing DES algorithm, in which activity durations following a beta distribution were generated at random to compute the project duration. When the DES algorithm was used to generate project schedules under rework scenarios, a probabilistic judgment is performed firstly on whether or not each activity causes rework, and then an iterative simulation process began until all activities were finished. Specifically, the DES algorithm proposed by Browning and Eppinger [27] was adopted in this study, with the following minor modifications to make it more applicable to the case project and comparable to the CCDSM method: (1) the optimized activity sequence in Section 4.2 was employed in the DES process; (2) activity i did not started until STS logic tie with its each predecessor activity j; that is Fij, was satisfied; (3) rework probability of activity i would decrease by 50% each time it reworked [28].To compare the CCDSM-based schedule with the DES-based schedule, the execution of the case project using the DES-based schedule was simulated 1,000 times using Monte Carlo approach, and the simulated actual project durations are depicted in Figure11. The results showed that the estimated project duration of the DES-based schedule was 115 days, which was 13 days longer than that of the CCDSM-based schedule, with the same on-time completion probability of 98.1%. In other words, the CCDSM method outperformed the DES method by ensuring the same on-time completion probability with a shorter project schedule. Moreover, the CCDSM method was also advantageous over the DES-based method in that it enabled effective control of project schedules during project implementation, which could be done by monitoring consumption of time buffers, leading to reduction in project overrun risks.Figure 11
On-time project completion probability of the DES-based schedule.


## 4.1. Case Project Settings

The case used in this study was derived from a modular real estate development project firstly introduced in [35] and further described in [36]. The matrix A of the case is shown in Figure 5(a). This case consisted of 19 major activities and 183 interactivity relationships, including 65 rework relationships represented by elements above the diagonal of matrix A. It is assumed that rework can propagate up to twice to avoid infinite loop in the computation. The parameters for each activity and the interactivity relationships were derived based on literature and empirical evidence, and are shown in Figures 5(b), 5(c), 5(d), and 5(e) and summarized in Table 2. Large-scale rework relationships and complex connections between activities were observed in the case project, which was representative of typical construction projects in reality.Table 2
Activity parameters in the case project.
ID Activity Learning curve Duration (day) Min Likely Max A Perform prelim. mkt analysis 0.5 5 8 15  B Evaluate marketability options 0.6 5 8 15  C Engage feasibility consultants 0.3 3 4 7  D Evaluate planning & zoning process 0.5 10 13 20  E Perform massing study 0.6 20 24 35  F Develop conceptual design 0.8 30 35 50  G Identify external stakeholders 0.4 5 8 15  H Identify permits & approvals 0.7 10 13 20  I Complete phase 1 ESA 0.3 10 13 20  J Evaluate consultants & contractors 0.6 10 13 20  K Obtain rough construction costs 0.5 5 8 15  L Determine highest & best use 0.5 3 5 9  M Identify debt options 0.4 2 4 8  N Identify equity options 0.5 3 4 5  O Update financial underwriting 0.5 1 2 3  P Reevaluate organization strategy 0.6 2 3 5  Q Estimate schedule 0.6 3 4 7  R Gain control of site and/or client 0.6 3 4 7  S Review and approve 0.7 3 4 7Figure 5
Project information in the case project.
(a)
MatrixA (b)
MatrixP (c)
MatrixS (d)
MatrixRP (e)
MatrixRI


## 4.2. Implementation of the CCDSM Method

The proposed CCDSM method was implemented in the case project following the steps explained in the last section and the results were shown below. Noticeably, for better understanding of scheduling process, the implementation process of the CCDSM method is reorganized as below.Step 1. Matrices D and R were derived from matrixA, as shown in Figure 6. The duration of each activity was presented in the diagonal of the matrixD.Figure 6
Matrix D & R.
(a)
MatrixD (b)
MatrixR (element ε is omitted)Step 2. MatrixF (see Figure 7) was derived from matrices P and S according to (22). This step calculated the activity deviation matrix based on the predecessor time matrix and the successor time matrix.Figure 7
MatrixF (element ε is omitted).Step 3. Optimize activity sequence and update matricesD, R, RP, RI, and F according to new activity sequence. To reduce project rework and obtain near-optimal project completion time, the genetic algorithm (GA) was applied to optimize activity sequence. The GA is a metaheuristic method that searches for optimal solutions using processes similar to those in natural selections and genetics [37]. In the paper, minimization of total length of rework path first proposed by Gebala and Eppinger [38] was used as the objective function to calculate the optimal sequence of activities:(24)f=∑i=1n∑j=i+1nj-i·wi,jwhere w(i,j) represents rework probability of activity i caused by activity j.The parameter settings were selected as follows: population size set as 50, number of generations set as 150, crossover probability set as 0.95, and mutation probability set as 0.08. The GA process reported an optimal schedule asP,Q,H,E,R,B,C,K,N,L,M,F,D,S,A,G,J,I,O. The GA convergence process is shown in Figure 8.Figure 8
Convergence curve in the GA-based optimization.Step 4. RwB was generated from matricesRP andRI based on (9)-(15). The goal of this step was to factor in and calculate the rework time of the case project. RwB was [3,4,6,10,5,1,1,3,1,2,1,15,1,1,1,1,1,1,9].Step 5. To generate reliable project schedules, the most likely duration of each activity, which has been widely used and accepted by project teams in prior research [39], was selected to calculate the estimated project duration. The critical chain was reported as [H,E,B,K,N,L,F,A,G,J,O].Step 6. The activity duration variance matrixSDwas generated with 1,000 Monte Carlo simulations of the activities’ duration that follows a beta distribution.Step 7. Buffers were calculated based on (17)-(21). The project buffer was 36 days, and the feeding buffer was [3,4,0,0,38,0,4,0,0,0,6,0,10,38,0,0,0,0,2,0].Step 8. The estimated project duration was calculated as 102 days, based on (23). The project buffer was placed at the end of the schedule, and the feeding buffer was placed on the noncritical chains prior to the joints of the critical chain and noncritical chains, following the principle of CCPM.It was worth mentioning that overlapping was observed among various activities, including critical activities, in the above schedule, which illustrated real-world high-frequency interactions among activities in the project.To assess the performance of the CCDSM method and the quality of the project schedule it generated, the execution of case project was simulated 1000 times using Monte Carlo approach, where the sampling of actual activity durations followed beta distribution. The simulated actual project durations were depicted in Figure9. It can be seen in the figure that under rework assumption, the process schedule of 102 days had a completion probability of 98.1%, indicating that the proposed CCDSM method was able to provide satisfactory assurance of on-time project completion under varying scheduling scenarios.Figure 9
Simulated actual project durations and on-time project completion probability of the CCDSM-based schedule.


## 4.3. Comparison of the CCDSM Method with Traditional CCPM and DES Methods

This subsection further compares the performance of the CCDSM method with traditional CCPM and DES methods to assess its effectiveness in addressing rework risks.A CCPM-based schedule was generated with traditional buffers including project buffer and feeding buffer and without rework buffer. The results indicated that the estimated project durations of the CCPM-based schedule were 93 days, including project buffers of 36 days. When the estimated project duration of CCPM-based schedule was superimposed in the Monte Carlo-simulated project durations, as depicted in Figure10, it can be seen that the on-time completion probability was 49.3%. The results suggested that the CCDSM-based schedule, which took into consideration rework relationships and had a duration of 102 days, significantly outperformed the CCPM-based schedule in ensuring on-time completion of the case project that was faced with typical rework risks.Figure 10
Comparison of on-time project completion probabilities between the CCDSM- and CCPM-based schedules.Furthermore, a DES-based schedule was generated by implementing DES algorithm, in which activity durations following a beta distribution were generated at random to compute the project duration. When the DES algorithm was used to generate project schedules under rework scenarios, a probabilistic judgment is performed firstly on whether or not each activity causes rework, and then an iterative simulation process began until all activities were finished. Specifically, the DES algorithm proposed by Browning and Eppinger [27] was adopted in this study, with the following minor modifications to make it more applicable to the case project and comparable to the CCDSM method: (1) the optimized activity sequence in Section 4.2 was employed in the DES process; (2) activity i did not started until STS logic tie with its each predecessor activity j; that is Fij, was satisfied; (3) rework probability of activity i would decrease by 50% each time it reworked [28].To compare the CCDSM-based schedule with the DES-based schedule, the execution of the case project using the DES-based schedule was simulated 1,000 times using Monte Carlo approach, and the simulated actual project durations are depicted in Figure11. The results showed that the estimated project duration of the DES-based schedule was 115 days, which was 13 days longer than that of the CCDSM-based schedule, with the same on-time completion probability of 98.1%. In other words, the CCDSM method outperformed the DES method by ensuring the same on-time completion probability with a shorter project schedule. Moreover, the CCDSM method was also advantageous over the DES-based method in that it enabled effective control of project schedules during project implementation, which could be done by monitoring consumption of time buffers, leading to reduction in project overrun risks.Figure 11
On-time project completion probability of the DES-based schedule.


## 5. Conclusions

Construction projects are constantly challenged by rework risks, which have largely remained unaddressed by existing project scheduling. This paper proposed the CCDSM method for developing project schedules that are adaptive to rework instances during project execution. This method models large-scale rework relationships among activities with the introduction of a new rework buffer in traditional CCPM method. The method allows analysis and visualization of the schedules and utilizes max-plus algorithm to transform complex logic relationships into simple matrix operations, reducing the computational load of generating process schedules. A case study was conducted to demonstrate the implementation of the CCDSM method and assess its effectiveness in addressing rework risks. The results showed that CCDSM-based schedule outperformed the CCPM-based schedule in ensuring on-time completion of the case project that was faced with typical rework risks. In addition, in comparison to the DES method, the CCDSM performed better by providing a smaller project duration with the same probability of on-time project completion.The CCDSM method contributes to construction management in the following ways. First, the CCDSM method absorbs risks of rework and various other uncertainties to generate the reliable project schedule, enabling managers to predict project durations more accurately before projects start. Based on accurate prediction of project durations, the negotiation of contracts and supply of resources can be conducted in a more reasonable manner, avoiding costs overruns, schedule delays, and even project failures. Second, based on generated project schedule with time buffers, effective monitoring and control of construction progress can be realized. Overall speaking, the proposed CCDSM method provides a promising solution to mitigate rework risks in construction projects and protect projects from undesirable delays caused by possible rework instances.Meanwhile, the CCDSM bears several limitations that would benefit from future improvement. First, only the STS logic tie between activities is tested in this study. Techniques for integrating multiple logic ties including STS, STF, FTS, and FTF deserve further attention. Second, resource conflicts and levering are considered beyond the scope of this study, but it is a critical challenge that should be addressed in the context of CCDSM-based scheduling in future research. Third, the parameters required to implement the CCDSM method are hard to obtain for a specific project. To employ CCPM or max-plus algorithm for project scheduling, it is necessary to obtain the estimated activity durations under various completion rates and the logic tie between activities. Similarly, the rework relative parameters includingRP,RI, andLC are required for implementation of DSM-based method. As an integration method of CCPM, max-plus algorithm, and DSM, the implementation of CCDSM requires all the above parameters to be obtained. Lastly, methods for dynamic updating of buffer sizes during project execution are needed in order to better prepare project teams for changing project environment and dynamic project progress.



---

*Source: 1595628-2019-04-21.xml*