Skip to main content
Advertisement
Browse Subject Areas
?

Click through the PLOS taxonomy to find articles in your field.

For more information about PLOS Subject Areas, click here.

  • Loading metrics

Robust optimization for multi-project scheduling via the critical chain method

  • Min Tian ,

    Roles Conceptualization, Data curation, Formal analysis, Funding acquisition, Investigation, Methodology, Project administration, Resources, Software, Supervision, Validation, Visualization, Writing – original draft, Writing – review & editing

    mtian@xidian.edu.cn

    Affiliations School of economics and management, Xidian university, Xi’an, China, Guangzhou Institute of Technology, Xidian University, Guangzhou, China

  • Xiaomei Li

    Roles Data curation, Funding acquisition, Writing – review & editing

    Affiliation School of Management, Xi’an Polytechnic University, Xi’an, China

Abstract

The critical chain method is often used to improve robustness in single-project scheduling, but there are two challenges when applying it to multi-project scheduling. First, the existing robustness measure focuses on time elasticity within sub-projects but neglects elasticity across sub-projects, making it difficult to balance drum resource requirements. Second, the differential evolution (DE) algorithm is adopted to solve this problem, but continuous evolutionary operators have limited flexibility, leading to numerous transformations between the continuous solution space and the discrete problem space. Therefore, we adjust the critical chain multi-project scheduling model by incorporating the drum buffer and the capacity constraint buffer and propose a robustness measure that considers both time elasticity within and among sub-projects. Meanwhile, we design an enhanced discrete DE algorithm, which not only discretizes the encoding–decoding strategy and evolutionary operators but also uses a hill-climbing algorithm to enhance local search. Experiments are conducted to verify the effectiveness of the robustness measure and the algorithm. The results indicate that, averaged over the eight instances, the enhanced discrete DE algorithm achieves an improvement of more than 3.3% in robustness compared with the overall mean of the benchmark algorithms. Furthermore, our robustness measure strengthens the stability of the scheduling plan and reduces buffer consumption and overflow during multi-project scheduling.

1. Introduction

Project scheduling is inherently subject to pervasive uncertainties that frequently cause fluctuations in activity durations. Such variability can significantly undermine schedule stability. A large-scale study by Szwarcfiter et al. [1], involving 50,000 projects across 1,000 organizations, reported that over 60% of projects suffer delays due to uncertainty. Furthermore, nearly 90% of projects are executed in multi-project environments [2], where, compared with single-project settings, competition for the shared drum resource across sub-projects further exacerbates delay risk. Robust scheduling aims to address these challenges through either proactive planning or reactive adjustments, and empirical evidence indicates that proactive approaches generally outperform reactive ones [3]. Accordingly, this study adopts a proactive planning approach to optimize robust scheduling in multi-project environments.

Proactive planning anticipates uncertainty, thereby enabling the design of schedules with built-in resilience [4]. Because activity slack depends on sequencing, initial resequencing can improve robustness; however, limited slack constrains this approach’s effectiveness. To further enhance time elasticity, time buffers can be inserted in two ways. In decentralized buffer insertion, buffers are assigned to individual activities, increasing time elasticity but prolonging the overall project duration [5]. The centralized approach—the Critical Chain Method (CCM) [6]—reduces embedded safety time in activity estimates to mitigate Student Syndrome and Parkinson’s Law, and places buffers at chain termini in the scheduling network, thereby achieving a better balance between time elasticity and project duration. In this study, we employ CCM to further improve the schedule’s time elasticity, which, however, introduces challenges for the design of robustness measures and the development of solution algorithms.

When buffer insertion is not considered, activity slack is often used to measure a schedule’s time elasticity—for example, total activity slack [7] and weighted slack [8], among others. However, once buffers are introduced—which also affect the schedule’s time elasticity—the design of robustness measures becomes more complex. For instance, the CCM inserts a project buffer (PB) and feeding buffers (FBs) within a single project. Accordingly, some studies have developed robustness measures based on the time elasticity created by these buffers [9]. In multi-project environments, conflicts over the drum resource are a primary cause of schedule delays, and robustness measures that ignore time elasticity across sub-projects are not applicable. Following Newbold’s [10] theory, additional buffers—drum buffers (DBs) and capacity constraint buffers (CCBs)—are introduced to absorb delays in drum resource availability across sub-projects. Yet drum resource requirements vary across sub-projects, and designing robustness measures that account for time elasticity both within and across projects becomes more challenging.

Meanwhile, solving the multi-project scheduling problem is NP-hard. Both exact and heuristic algorithms have been applied to this problem [11,12]. Because exact methods scale poorly with problem size, heuristics are more widely used—such as Genetic Algorithm [13], Particle Swarm Optimization [14], and Differential Evolution (DE) [15]. Compared with other heuristics, DE is relatively simple and requires fewer parameters, so we adopt it in this study. However, existing DE algorithms operate in a continuous search space, whereas multi-project scheduling is inherently discrete. This necessitates frequent mappings between discrete problem and continuous solution spaces, which reduces computational efficiency and restricts search flexibility. Moreover, incorporating CCM introduces buffers into the chain structure, expanding variation in time elasticity within and across projects, thereby increasing the computational complexity of our problem.

In summary, a critical chain resource-constrained multi-project scheduling model is developed that incorporates the buffers and chain structures of CCM. Additionally, a robustness measure is designed as the optimization objective, capturing time elasticity both within and across sub-projects and accounting for different buffer types. An enhanced discrete DE algorithm is proposed to solve the model; it discretizes the encoding–decoding scheme and the evolutionary operators, and employs hierarchical neighborhood optimization to improve local search. Finally, computational experiments are conducted to validate the effectiveness of the robustness measure and algorithm.

The remainder of this paper is organized as follows: Section 2 reviews the relevant literature. Section 3 formulates the model and introduces a robustness measure. Section 4 develops an enhanced discrete DE algorithm to solve the model. Section 5 reports computational experiments to validate the effectiveness of the proposed robustness measure and algorithm. Section 6 concludes and discusses key findings.

2. Related work

2.1. Robustness measures in critical chain project scheduling

In problem formulations, robustness measures are typically employed as optimization objectives to quantify a schedule’s time elasticity. Historically, activity slack under different processing sequences was used to assess plan robustness. For example, Khemakhem and Chtourou [16] designed robustness measures based on activity slack to describe schedule stability in the resource-constrained project scheduling problem, dividing them into weight-based, path-based, and dispersion-based categories. Then, Mahalleh et al. [7] used the sum of activity slack as the robust objective for the resource-constrained project scheduling problem, assuming equal weights for all activities.

In order to further improve the time elasticity of the schedule, buffers are inserted into it. For example, Ghoddousi et al. [8] and Zheng and He [17] applied the decentralized buffer insertion method in robust scheduling and adopted weighted slack as the robust objective for the resource-constrained project scheduling problem. Moreover, Wang et al. [18] applied the CCM to sub-projects in a multi-project scheduling problem. They proposed a critical chain resource-constrained multi-project scheduling model to improve the robustness of the multi-project schedule, in which the average slack and minimum slack are used as robustness measures. In this scheme, the activity with the minimum slack has the maximum weight, while the others have equal weights.

Moreover, Hazır et al. [9] examined CCM in a multi-mode resource-constrained project scheduling problem, and compared a PB-related measure with eight robustness measures, including average slack, weighted slack, slack utility function, slack dispersion, and the percentage of potentially critical activities, among others. The effectiveness of these robustness measures was verified through Monte Carlo simulation experiments, and the results indicated that the PB-related measure outperformed other measures in terms of its correlation with on-time project delivery.

Table 1 summarizes the authors, problem types, and robustness measures based on the above literature. Overall, most studies primarily focus on time elasticity within single project settings. However, in multi-project scheduling problems, time elasticity also arises across projects, making these studies unsuitable for our problem.

thumbnail
Table 1. Summary of robustness measures in project scheduling.

https://doi.org/10.1371/journal.pone.0336350.t001

2.2. DE algorithm for scheduling problems

The DE algorithm was first proposed by Storn and Price [19]. Because of its simple implementation and fast convergence, this algorithm has received extensive attention. Over the past decades, the DE algorithm has been widely used to solve scheduling problems. It was initially applied to job shop scheduling. For example, Han et al. [20] applied the DE algorithm to a hybrid flow shop scheduling problem and designed mutation, crossover, and selection operators in the continuous solution space to search for optimal solutions. Xu and Wang [21] proposed an improved DE algorithm for the hybrid flow-shop scheduling problem, in which special matrices were used for encoding–decoding in the continuous solution space. Li et al. [22] applied an effective hybrid self-adaptive DE algorithm to a flexible job shop scheduling problem with outsourcing operations and job priority constraints. In this algorithm, chromosomes are encoded in the continuous solution space, and a heuristic strategy is employed to enhance the initial population.

Then, the DE algorithm was gradually applied to project scheduling. Peng and Huang [23] proposed a DE algorithm with an improved mutation strategy to solve a critical chain resource-constrained project scheduling problem. Specifically, two strategies were combined with the mutation operator in the continuous solution space to improve global exploration and convergence. Yan et al. [24] adopted two parallel mutation operators to improve the performance of the DE algorithm for solving the resource-constrained project scheduling problem. In their algorithm, two parallel mutation operators were used to improve the search capability in the continuous solution space. Van der Beek et al. [15] employed a hybrid differential evolution algorithm to solve the resource-constrained project scheduling problem with a flexible project structure, in which evolutionary operators were iterated in the continuous solution space and a one-to-one competitive survival strategy was used to improve solution quality.

Table 2 summarizes the authors, problem types, and DE variants in the above literature. Notably, differential evolution operators typically act in the continuous solution space, but our research problem is a discrete optimization problem, which leads to a significant conversion overhead during the search process.

thumbnail
Table 2. Applications of DE algorithm in scheduling problems.

https://doi.org/10.1371/journal.pone.0336350.t002

3. Formulation of the robust scheduling problem

3.1 Critical chain multi-project scheduling model

Assume there are sub-projects in the multi-project, and each sub-project, denoted , has activities. The parameter represents a sub-project index, where ranges from 0 to . The parameter represents an activity index, where ranges from 0 to . A multi-project, denoted , is composed of sub-projects, i.e., . Each sub-project includes activities with precedence constraints and resource requirements. Consider sub-project as an example to illustrate the precedence constraints among activities. There are activities in sub-project . The first activity, , and the last activity, , are dummy activities. We consider only renewable resources. Activities are not interrupted once they begin, and they may start only after their predecessor activities are completed. There is only one execution mode for each activity. We ignore transfer time between activities when resources are sufficient. The project deadline, activity durations, and resource requirements are predetermined positive integers. Sub-projects may be performed in parallel when resources are sufficient.

We further describe the variables to clarify the problem. In sub-project , the durations and resource requirements of the dummy activities, and , are zero. The start time of the first activity, , is the start time of the sub-project. The finish time of the last activity, , is also the finish time of the sub-project. The deadline of the sub-project is . At time , the set of ongoing activities in sub-project is . The symbol denotes an activity in this sub-project. The -th resource requirement, total duration, most likely duration, and safety time of activity are , , , and , respectively. The process-precedence set and resource-precedence set of activity are and , respectively. There are at most types of local resources within sub-projects. For sub-project , the total supply of the -th local resource is . Local resource usage is independent across sub-projects; therefore, there is no competition for local resources among them. There is one global resource (the drum resource) shared across sub-projects. The total supply of the drum resource is , and its index is .

We standardize both critical and non-critical paths within a sub-project as task chains to facilitate buffer calculations in a multi-project scheduling plan. An activity that uses the drum resource is referred to as a drum activity. In sub-project , if is a drum activity, its corresponding DB is denoted . Let denote a task chain in sub-project ; it consists of three activities, , , and , located on the chain. Activity is also a drum activity, positioned immediately before , whereas is a non-drum activity located between and .

Let denote the set of drum activities in sub-project . Let denote the special-activity set—i.e., all activities used in the computation of drum buffers (DBs)—in sub-project . Furthermore, denotes the critical chain of sub-project with a project buffer , and denotes a non-critical chain with a feeding buffer . Here, activity is a critical activity on , and is a non-critical activity that serves as a feeding node preceding .

Moreover, let denote the set of implemented sub-projects that have drum resource conflicts with the implementing sub-project . Each sub-project in is indexed by . The early drum activity set includes all drum activities that conflict with those in implemented sub-projects. The early drum activity set in sub-project is denoted (where ). The late drum activity set includes all drum activities that conflict with those in the implementing sub-project. The late drum activity set corresponding to the implementing sub-project is denoted (where ). Additionally, different sub-projects use the drum resource with different priorities, and the priority of sub-project is denoted . The capacity constraint buffer (CCB) of sub-project is denoted .

Based on the definitions above, we formulate the critical chain resource-constrained multi-project scheduling problem as follows:

(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)

Equation (1) represents the scheduling objective—to maximize robustness; its specific formulation is detailed in Section 3.2. Equation (2) defines the safety time of an activity as the difference between its total duration and its most likely duration. Equation (3) ensures that the start time of a successor activity is no earlier than the finish time of its predecessor. Equation (4) imposes the local resource constraints, ensuring that total usage at any time does not exceed the available supply within each sub-project. Equation (5) imposes the drum-resource constraint, requiring that total consumption across sub-projects does not exceed the available supply. Equation (6) calculates the DB on a task chain within a sub-project. Equation (7) computes the FB, excluding safety times already used in DB calculations. Equation (8) computes the PB, also excluding safety times used in DB calculations. Equation (9) calculates the CCB across sub-projects. The remaining three equations describe the influence of buffers on activity start times within and across sub-projects. Equation (10) captures the relationship between activity start times before and after the DB on a task chain. Equation (11) models the FB’s influence on activity start times before and after the FB on a non-critical chain. Equation (12) reflects the CCB’s influence on the start time of the drum activity between adjacent sub-projects.

3.2. Robustness measure

Robustness measures in scheduling models are essential for evaluating the stability and reliability of baseline schedules. In general, a robust baseline schedule should be developed prior to project implementation. It should be capable of absorbing unexpected disturbances during project execution. Research on robustness measures can be categorized into two types: direct and indirect measures.

Direct measures are derived from performance evaluations of schedule stability, such as the on-time completion rate, buffer consumption rate, and buffer overflow rate. These evaluations typically require prior knowledge of disturbance factors. However, assessing such factors in advance is challenging due to the uncertainties inherent in dynamic environments. This challenge is particularly pronounced in multi-project scheduling, where intense drum-resource competition and complex network structures exacerbate uncertainty.

Indirect measures are based on the quantitative evaluation of factors influencing schedule stability, such as time elasticity and resource elasticity. They do not require prior knowledge of how uncertain disturbance factors affect schedule performance. Accordingly, robustness can be evaluated more efficiently and with lower complexity using indirect measures. Therefore, an indirect measure is employed as the robustness measure in the proposed scheduling model.

Hazır et al. [9] employed the surplus time between a project’s deadline and its planned duration as an indirect robustness measure to estimate the probability of on-time completion. However, drum-resource interactions among sub-projects can significantly influence this probability. Specifically, conflicts over the drum resource may necessitate adjustments to sub-project schedules during conflict resolution, thereby altering the likelihood of on-time completion. Consequently, drum resource interactions must be incorporated into the robustness measure, as formulated in Equation (13).

(13)

As shown in Equation (13), the robustness measure is defined as the sum of each sub-project’s robustness. Each sub-project’s robustness consists of two components: the first is a weight that estimates the relative reliance on the drum resource, and the second is the surplus-time ratio for the sub-project’s duration. The rationale for including these two components is as follows:

In the first component, the ratio of each sub-project’s Drum Resource Requirement (DRR) to the total DRR serves as a weight that estimates the relative reliance on the drum resource. The DRR represents the sum of all drum-resource requirements within a sub-project and serves as an overall estimate of the corresponding CCB and DBs, which are derived from the safety times of drum activities. Therefore, a sub-project with a larger DRR is associated with larger values of the CCB and DBs, resulting in greater time elasticity among sub-projects and a higher robustness weight.

In the second component, each sub-project’s surplus time is divided by its planned duration. A sub-project with greater surplus time results in greater robustness, as reflected by the proportional relationship in this ratio. Moreover, the robustness of each sub-project is safeguarded by a non-negativity truncation strategy. Specifically, if the planned duration exceeds the deadline, the robustness of the sub-project is set to zero using the expression .

4. Design of the enhanced discrete DE algorithm

4.1. Encoding and decoding schemes

The traditional continuous DE algorithm represents individuals as priority vectors assigned to activities to encode and decode their processing sequences, where each priority is a real number that varies continuously within a defined interval. However, we use discrete encoding and decoding schemes in our study. Specifically, a set of chromosomes, composed of multiple distinct ordered chromosomes, corresponds to the encoding of a multi-project scheduling plan, with each chromosome representing a sub-project scheduling plan. Each gene in a chromosome represents an activity. The priority for the drum resource is determined by the sub-project unit tardiness cost. The sub-project with a greater unit tardiness cost has a higher priority. Fig 1 shows the encoding of the set of chromosomes corresponding to a multi-project scheduling plan. There are three sub-projects. The chromosomes corresponding to the three sub-projects are arranged in order of priority for the drum resource, from high to low. Different activities within a sub-project are arranged in a chromosome, subject to process precedence constraints. The feasible scheduling plan is then obtained through the decoding process.

thumbnail
Fig 1. The set of chromosomes corresponding to a multi-project scheduling plan.

https://doi.org/10.1371/journal.pone.0336350.g001

In the decoding process, calculating the start and finish times for all activities in sub-projects is a necessary step. Different resource requirements should also be considered. Here, the most frequently used and most contested resource is regarded as the drum resource in the multi-project scheduling plan. Then, it is critical to identify the critical chain and non-critical chains within a sub-project scheduling plan, and to add PB at the end of the critical chain and FBs at the ends of the non-critical chains, respectively.

Moreover, it is necessary to identify the activities using the drum resource in each sub-project and to insert DBs before them. Based on the priority for drum-resource usage, for each new sub-project it is necessary to search both the late drum activity sets of implemented sub-projects and the early drum activity sets of implementing sub-projects [25]. The CCB should be inserted before the earliest conflicting drum activity in the early drum activity set and after the latest conflicting drum activity in the late drum activity set. Furthermore, the schedules of sub-projects should be adjusted, and the timing of drum-resource usage should be staggered based on the priority for the drum resource. The critical chain is then defined as the longest activity sequence that prevents the multi-project scheduling plan from finishing earlier. Finally, the robustness are computed as the decoding results based on the ‌serial scheduling generation scheme.

4.2. Elite-strategy-based hierarchical update mechanism

The traditional DE algorithm adopts a consistent differential evolution operation for all individuals in the population during each iteration. Thus, excellent individuals are treated identically to ordinary individuals, being subject to the same evolutionary operation, which results in low search efficiency and may miss better solutions. Therefore, an elite-strategy-based hierarchical update mechanism is proposed within the population. Specifically, the individuals are divided into two layers of different quality levels: the elite layer and the ordinary layer. The elite layer preserves the best individuals with better fitness in the population during each iteration. There are two reasons to design the elite layer. First, it facilitates maintaining and updating the dominant individuals during iterations. Second, it facilitates the population’s ability to conduct local search by using the historical information of dominant individuals. Moreover, the ordinary layer preserves the remaining individuals, which undergo only standard evolutionary operations during iterations. The individuals in the two layers must be updated promptly after each iteration of the algorithm.

4.3. Discrete differential evolution operators

The traditional DE algorithm uses differential evolution operators to search for scheduling results in the continuous solution space. During search iterations, the excellent individuals with better fitness are preserved, while the inferior individuals with poorer fitness are gradually eliminated. This process leads to the population gradually approaching the optimal solution. However, the project scheduling problem is a discrete optimization problem. A significant amount of time is consumed when transforming between the discrete problem space and the continuous solution space with this algorithm. Therefore, the quality and efficiency of the scheduling solutions are relatively low. To address this challenge, discrete differential evolution operators are required. Specifically, there are three types of evolutionary operators: crossover, mutation, and selection.

The first one is the mutation operator. Three individuals are randomly selected from the population, and a differential individual is produced by arithmetic calculations on the three individuals, influenced by a weight factor. The second one is the crossover operator. The differential individual and the original individual are crossed to generate a new individual with a crossover probability. The third one is the selection operator. In this step, the new individual is compared with the original individual, and a greedy process is applied to select the individual with the better fitness as the final result. Obviously, the final individual is produced collectively by the mutation, crossover, and selection operators. After the differential evolution operators are discretized, the final individual is updated as follows:

(14)

Here, represents the final individual produced by individual in the -th iteration; represents the final individual produced by individual in the -th iteration. This is also the original individual used for the evolutionary operation at the beginning of the -th iteration; , , and are three distinct individuals randomly selected from the results of the -th iteration. These three are also different from ; and are weighting factors, and is the crossover probability. The variables , and are all preset parameters within the interval [0, 1]. The discrete mutation, crossover, and selection operators are discussed below.

  1. (1) Discrete mutation operator

The traditional continuous mutation operator of the DE algorithm is based on two types of arithmetic calculations involving three individuals, for example, . Here, is the differential individual, and is the weight factor, which lies in the range [0, 2]. The parameter is used to reflect the degree of mutation. However, the traditional discrete mutation operator, as in the genetic algorithm (GA), introduces limited changes at specific gene loci on a chromosome, while the traditional discrete crossover operator affects evolutionary results by recombining genes at different loci across chromosomes. To retain the characteristics of the continuous mutation operator in the DE algorithm, such as the two types of arithmetic calculations and varying degrees of evolutionary results, a single-point crossover and a two-point crossover are used in the discrete mutation operator of our algorithm. The specific formula is , and its implementation is shown in Algorithm 1.

Algorithm 1. The discrete mutation operator.

Input: Individuals ;

Output: Differential individual ;

1. Generate a random number, and store it in ;

2. if  then

3.    ; % two-point crossover

4. else

5.    ;

6. end if

7. Generate a random number, and save it in ;

8. if  then

9.    ; % single-point crossover

10. else

11.    ;

12.end if

13.;

14.return

Algorithm 1 shows that the two-point crossover is used to replace the subtraction in the continuous mutation operator. This is done because the two-point crossover can lead to a strong differential result, which is similar to the subtraction with the weighting factor in the continuous mutation operator. The result is saved as with a weighting factor , using the formula: . Specifically, a random number is generated and compared with the weighting factor . If is less than , a two-point crossover is performed; otherwise, remains unchanged. A single-point crossover is adopted to replace the addition in the continuous mutation operator. This is done because the single-point crossover can lead to a weak differential result, which is similar to the addition process. The result is saved as with a weighting factor , using the formula: . Specifically, a random number is generated and compared with the weighting factor . If is less than , a single-point crossover is performed; otherwise, remains unchanged. After these two steps, the differential individual is produced.

  1. (2) Discrete crossover operator.

In the traditional continuous crossover operator, each dimension of the new individual is randomly selected from either the corresponding dimension of the differential individual or the original individual with the crossover probability . Meanwhile, at least one value in the new individual is required to be equal to that of the differential individual . Obviously, there are two sources for constructing the new individual, each corresponding to distinct options with limited degrees of change. Therefore, the traditional discrete single-point crossover and single-point mutation in GA are adopted to discretize the continuous crossover operator under different types of options with limited changes. The new individual is saved as , with the formula . The implementation process is presented in Algorithm 2.

Algorithm 2. The discrete crossover operator.

Input: Original individual , differential individual , crossover probability ;

Output: New individual ;

1. Generate a random number, and store it in ;

2. if  then

3.    ; % single-point crossover

4. else

5.    ; % single-point mutation

6. end if

7. return

According to Algorithm 2, the discrete crossover operation proceeds as follows: First, a random number is generated and compared with the crossover probability . Second, if is less than , the single-point crossover is performed; otherwise, the single-point mutation is performed. Finally, the new individual is obtained.

  1. (3) Discrete selection operator.

As in the traditional continuous DE algorithm, a greedy selection is also performed by the discrete selection operator in our algorithm, based on the fitness of the original individual and the new individual . The individual with better fitness is selected as the final result of the -th iteration, and saved as with the formula .

4.4. Hill-climbing local search

In the traditional DE algorithm, differential evolution operators are applied in parallel to all individuals in the population. When convergence to the optimum is slow after numerous iterations, global searches across all individuals yield little improvement. Meanwhile, if the information from previously identified high-quality individuals cannot be effectively utilized, the search process becomes inefficient. Thus, it is necessary to leverage the information from previously identified high-quality individuals and to adopt a local search strategy.

However, two challenges arise. First, unlike global parallel search, local search typically employs different operators to enhance population diversity and help the algorithm escape from local optima. Second, local search is computationally intensive. If too many individuals are involved, the algorithm’s overall efficiency may be significantly reduced; conversely, if too few are involved, the effectiveness of the search will be limited. The Hill-Climbing (HC) algorithm serves as a local search method. It quickly and effectively converges to a local optimum from a given point in the solution space [26]. Moreover, a hierarchical initialization mechanism is adopted. The elite layer preserves the key information of high-quality individuals. These individuals also exhibit superior fitness and high sensitivity, thereby enhancing population diversity and improving search efficiency. Therefore, we propose a hierarchical local search strategy based on the HC algorithm, targeting individuals in the elite layer. See Algorithm 3 for further details.

Algorithm 3. The hierarchical local search process based on the HC algorithm.

Input: Elite layer individual array , elite layer individual number ;

Output: Updated elite layer individual array ;

1. for do % local search on all the individuals in elite layer

2.  Compute the fitness corresponding to the activity series of ;

3.  Select a drum activity (with its index of ) randomly from ;

4.  Find the maximum direct predecessor index () of activity ;

5.  Find the minimum direct successor index () of activity ;

6.  for do % neighborhood search between and

7.   Change the activities at positions and , save the new job series as

8.   Compute the new fitness corresponding to ;

9.   if is better than then

10.   Update the job series of to ; % obtain a better individual

11.   end if

12. end for

13. end for

14. return % the updated

As shown in Algorithm 3, the local search process for all individuals in the elite layer proceeds as follows. Specifically, the search is performed for each individual. First, a drum activity (with index ) is randomly selected from the activity sequence array of the elite layer individual . Second, the maximum direct predecessor (with index ) of the drum activity is identified. Third, the minimum direct successor (with index ) of the drum activity is identified. Fourth, all activities between indices and in the activity sequence array are traversed. Each traversed activity is then exchanged with the drum activity , ensuring that the resulting sequence adheres to the original activity precedence constraints. A new activity sequence array is generated, and its corresponding fitness is calculated. If the new fitness is better than the original, the original array is replaced with . Then, the activity sequence array of is updated accordingly. Finally, the updated are returned after the local search for all individuals is completed.

4.5 Overall framework

In summary, the framework of the enhanced discrete DE algorithm is presented as follows:

Step 1: Population initialization. Assign initial values to the algorithm parameters, including population size , maximum number of iterations , number of elite individuals , and other relevant factors. According to the encoding/decoding schemes described in Section 4.1 and the hierarchical initialization method in Section 4.2, generate encoded groups representing chromosome combinations of multi-project scheduling solutions. Decode and evaluate the fitness of these groups; select individuals with the best fitness for the elite layer, and assign the remaining individuals to the ordinary layer. The variable denotes the global best individual, initialized as the chromosome combination with the highest fitness in the population.

Step 2: Check whether the termination condition is satisfied. If satisfied, terminate the iterations and proceed to Step 5; otherwise, apply the differential evolution operators (mutation, crossover, and selection) to all individuals in the population, as described in Section 4.3.

Step 3: Perform hierarchical local search based on the HC algorithm for individuals in the elite layer, as described in Section 4.4.

Step 4: Update the individuals in both the elite and ordinary layers; set to the global best individual; and return to Step 2.

Step 5: Output the global best individual, , as the final robust scheduling solution.

Based on the algorithmic framework above, the time complexity can be computed. Because the ‌serial scheduling generation scheme is used in the encoding/decoding scheme, the per-individual cost is [27]. Accordingly, the overall time complexity is without local search. When local search is employed, the overall time complexity is in the worst case. Here, is the total number of activities (); is the number of resource types (); and and are the population size and the maximum number of iterations, respectively.

5. Experimental setup and validation

5.1. Test case generation and parameter settings

Two sets of experiments were conducted to validate the proposed methodology. The first set aimed to assess the effectiveness of the enhanced discrete DE algorithm (see Section 5.3). Several theoretical multi-project scheduling instances of varying scales were tested, and the results obtained by our enhanced discrete DE algorithm were compared with those from other heuristic algorithms. The second set aimed to validate the effectiveness of the robustness measure (see Section 5.4). An industrial case was used for testing. The results obtained under the maximum robustness objective were compared with those under other objectives across various uncertainty levels. Details of the two test sets are provided below.

In the absence of standardized multi-project scheduling benchmarks for algorithm evaluation, this study employed a project instance generator (ProGen) to generate sub-project scheduling instances. Subsequently, multi-project scheduling instances were constructed by combining distinct sub-project instances. Four types of instances were considered: 3-sub-project portfolios (PJS3−1 and PJS3−2), 5-sub-project portfolios (PJS5−1 and PJS5−2), 10-sub-project portfolios (PJS10−1 and PJS10−2), and 20-sub-project portfolios (PJS20−1 and PJS20−2). These instances considered only renewable resources, including local resources within sub-projects and a single global resource shared among the sub-projects. Since the global resource was derived from the most contested local resource type, its capacity was set to the maximum of that resource’s available capacities across the sub-projects.

A practical multi-project scheduling example from Qing’an Corporation was used to validate the proposed robustness measure. The corporation is one of the largest manufacturers of aviation-related mechanical equipment in China. The corporation manages thousands of projects annually. Most projects within the corporation involve intense resource contention, and some must be scheduled in parallel. Investigations indicated that multi-project management at Qing’an Corporation was characterized by high uncertainty; consequently, scheduling plans were difficult to implement effectively, which resulted in significant project delays. Therefore, a representative multi-project scheduling example comprising three sub-projects was selected (see Table 3).

thumbnail
Table 3. Multi-project scheduling example from Qing’an Corporation.

https://doi.org/10.1371/journal.pone.0336350.t003

Additionally, the parameters used in our experiment were not only based on existing studies [15,24], but were also validated and adjusted to the specific characteristics of the problem addressed in this study. Specifically, the DE algorithm used a population of 20 individuals, including 5 elite individuals, and was executed for up to 50 iterations. The weighting factors and were set to 0.9 and 0.45, respectively, and the crossover probability () to 0.9. Other relevant parameters are listed in Table 4. To apply CCM to the scheduling models, the activities’ most likely durations and safety times were computed as described in Section 5.2.

5.2. Calculation of the most likely duration and safety time

In this study, multi-project scheduling project is modeled under uncertainty, where sub-project activity durations are subject to external disturbances. To accurately capture the stochastic nature of activity durations, a probability distribution is specified. Typically, activity durations are strictly positive, bounded below by a theoretical minimum, and characterized by asymmetry: a minority are shorter than the most likely value, whereas most are longer, with some experiencing significant delays. The lognormal distribution, which embodies these characteristics, is therefore adopted to model uncertain activity durations.

Specifically, the uncertain duration of activity in sub-project is modeled as , where denotes the random variable representing the activity duration. Here, and represent the mean and standard deviation of the natural logarithm of the duration, respectively, while the most likely duration equals the mode of the distribution. The coefficient of variation (CV), defined as , quantifies the relative variability of activity durations. A higher CV reflects greater uncertainty in scheduling estimates.

In general, project scheduling uncertainty is moderate, and activity duration estimates tend to be conservative. Accordingly, Section 5.3 uses a CV of 0.3 and assumes that activity durations correspond to a 95% completion probability. Based on these settings, the most likely durations and safety times were determined by inverting the lognormal cumulative distribution function. Moreover, to assess the proposed robustness measure under different uncertainty conditions, nine risk levels were examined in Section 5.4, with CV values ranging from 0.1 to 0.9. Considering that frequent project delays at Qing’an Corporation stem partly from underestimated durations, activity durations in this case are assumed to correspond to an 80% completion probability.

5.3. Validation of the enhanced discrete DE algorithm

To evaluate the effectiveness of the enhanced discrete DE algorithm, eight instances were examined. Two sets of experiments were conducted here: the first set compared the enhanced discrete DE with other algorithms, such as the genetic algorithm (GA) and particle swarm optimization (PSO); the second set focused on an ablation analysis of each new component proposed in our algorithm, where the enhanced discrete DE (with the enhanced local search) was compared with the discrete DE algorithm and the traditional continuous DE algorithm, both without the enhanced local search. Each instance was solved ten times, and the scheduling results were collected. The average robustness (AR) and average computation time (ACT) for the two experiments are reported in Tables 5 and 6, respectively.

thumbnail
Table 5. Comparison of results obtained by different heuristic algorithms.

https://doi.org/10.1371/journal.pone.0336350.t005

thumbnail
Table 6. Comparison of results obtained by different DE variants.

https://doi.org/10.1371/journal.pone.0336350.t006

As shown in Table 5, the enhanced discrete DE algorithm achieves the highest average robustness in most cases, but it also requires the longest average computation time. Compared with GA, PSO yields similar average robustness but generally requires more computation time. Based on the average robustness of different algorithms, two sets of statistical tests were conducted to verify the significance of the differences.

We applied the Friedman test to the eight instances. It revealed a significant overall difference among the algorithms (, Kendall’s ). Additionally, we used the Wilcoxon signed-rank test with Holm correction to compare the enhanced discrete DE with GA and PSO. The results also indicated significant pairwise differences. Specifically, for enhanced discrete DE vs. GA, and for enhanced discrete DE vs. PSO. Furthermore, the median paired differences were 0.15 and 0.20, respectively, with the rank-biserial correlation for both. These results demonstrate that our enhanced discrete DE outperforms GA and PSO on most instances.

As shown in Table 6, the enhanced discrete DE (with local search) still perform best in terms of average robustness but requires the longest average computation time. Compared with the traditional continuous DE, the discrete DE algorithm achieves higher average robustness, although its average computation time has no clear advantage over that of the traditional continuous DE algorithm. To further assess the convergence, a line chart for instance PJS3−2 showing the iteration-wise performance of these DE variants is provided in Fig 2.

thumbnail
Fig 2. Comparison of robustness during iterations based on different DE variants.

https://doi.org/10.1371/journal.pone.0336350.g002

From Fig 2, we can see that the enhanced discrete DE converges to its global best value by the 30th iteration. Although the other algorithms appear to converge much fast in the early stages, they are prone to falling into the local optima due to extended plateau. Moreover, the discrete DE behaves much better in terms of average robustness than the traditional continuous DE, with a slightly faster convergence speed than that of the traditional continuous DE. The reasons for these results are threefold.

First, the discrete DE algorithm offers limited savings in computation time. Although it avoids transformations between the discrete problem space and the continuous solution space, its evolutionary operators are more complex than those in the continuous version. Specifically, discrete operators involve exchanging or recombining activity sequences according to predefined rules, whereas continuous operators rely primarily on simple arithmetic operations, such as vector addition and subtraction. This added complexity offsets the time saved by avoiding these transformations and may further increase computational effort.

Second, discrete evolutionary operators provide greater flexibility in the search process than their continuous counterparts. They enable the direct generation of new feasible individuals by exchanging or reordering activity sequences while preserving predefined precedence constraints. In contrast, continuous evolutionary operators modify the priority parameters for individual activities. However, a single priority value per activity is insufficient to uniquely determine the resulting processing sequence. This often results in inefficient search outcomes, with many solutions violating the predefined precedence constraints.

Third, the enhanced local search substantially improves solution quality. The discrete DE algorithm without local search generates new individuals via parallel evolutionary operations, but it exhibits limited local search capability and may miss superior solutions. In contrast, the enhanced local search proposed in this study detects stagnation and intensifies a neighborhood search around the current best individual using a hill-climbing procedure, thereby improving solution quality in the vicinity of local optima. On average across the eight instances, the enhanced discrete DE algorithm improves robustness by more than 3.3% relative to the overall mean of the benchmark algorithms.

5.4. Validation of the robustness measure

To validate the robustness measure proposed in this study, we compare the stability of scheduling plans derived from different strategies using a practical multi-project scheduling example. First, we solve the example by maximizing the robustness objective with CCM. The resulting robustness value is 14.08. We also solve the example by minimizing the multi-project duration objective, both with and without CCM. The multi-project durations are 312 and 330 days, respectively. To assess the stability of these plans in a dynamic environment, we use different CVs to represent uncertainty levels. For each plan at a given CV level, ten Monte Carlo simulation runs are conducted, each comprising 1000 replications. The averages of the on-time completion rate (AOTCR), buffer consumption rate (ABCR), buffer overflow rate (ABOR), and multi-project duration (AMPD) are recorded in Tables 7. Since the plan without CCM contains no buffers, ABCR and ABOR are not reported in Table 9.

thumbnail
Table 7. Simulation results for maximizing the robustness objective with CCM.

https://doi.org/10.1371/journal.pone.0336350.t007

thumbnail
Table 8. Simulation results for minimizing the multi-project duration objective with CCM.

https://doi.org/10.1371/journal.pone.0336350.t008

thumbnail
Table 9. Simulation results for minimizing the multi-project duration objective without CCM.

https://doi.org/10.1371/journal.pone.0336350.t009

As shown in Tables 7–9, increasing risk levels lead to a gradual decrease in the average on-time completion rate, along with gradual increases in the average buffer consumption rate, average buffer overflow rate, and average multi-project duration. This is because the variability of activity durations increases as the CV increases, thereby increasing the likelihood of activity delays and resulting in greater buffer consumption and overflow, as well as longer multi-project durations and reduced on-time completion rates. To further analyze the differences in the simulation results among these scheduling plans, line charts are plotted for the different optimization strategies, as shown in Fig 3ad).

thumbnail
Fig 3. (a-d). Comparison of simulation results under different strategies.

From Fig 3ad, we observe that the simulation results of maximizing the robustness objective with CCM achieve the best performance in terms of average multi-project duration, average on-time completion rate, average buffer overflow rate, and average buffer consumption rate. Meanwhile, the simulation results of minimizing the multi-project duration objective with CCM are worse than those from maximizing the robustness objective with CCM, but better than those from minimizing the multi-project duration objective without CCM. There are two main reasons for this. On the one hand, CCM not only provides necessary buffers to increase schedule flexibility, but also reduces the safety times embedded in activity durations. Thus, the simulation results of minimizing the multi-project duration objective with CCM are better than those of minimizing the multi-project duration objective without CCM. On the other hand, the robustness measure proposed in this study not only considers the time surplus within each sub-project but also balances the drum resource requirements across sub-projects. This measure gives sub-projects with greater drum resource requirements or later due dates higher priority in accessing contested resources, leading to more stable execution.

https://doi.org/10.1371/journal.pone.0336350.g003

6. Conclusions

To address uncertainties in dynamic environments, the CCM is adopted in multi-project scheduling to improve robustness. Specifically, different types of buffers are incorporated into the multi-project scheduling model, with a newly designed robustness measure as the optimization objective. Meanwhile, an enhanced discrete DE algorithm is proposed to solve this problem. Two sets of experiments were conducted to validate the effectiveness of the algorithm and the robustness measure. The results show that: (1) Although the discrete DE algorithm requires more computation time, it achieves better robustness, with the average across the eight instances being 3.3% higher than the overall mean of the benchmark algorithms. (2) Applying the CCM improves the stability of the scheduling plan and shortens the multi-project duration, while the proposed robustness measure further strengthens stability and reduces buffer consumption and overflow.

The contributions are twofold. First, a robustness measure is proposed to evaluate the stability of the multi-project scheduling plan, taking into account both time elasticity within and among sub-projects. Second, the enhanced discrete DE algorithm not only discretizes the evolutionary operators and the encoding-decoding strategy to reduce transformations between the continuous solution space and the discrete problem space, but also uses a hill-climbing algorithm to enhance local search.

This paper addresses the impact of uncertainty on project duration in multi-project scheduling, thereby enhancing the stability of project implementation. However, this paper focuses on a single robustness objective. In management practice, project managers always consider multiple objectives simultaneously, such as robustness, duration, and cost. These objectives often conflict, further increasing the complexity of the optimization process. For example, enhancing robustness or reducing cost may extend the project duration. Therefore, future work will focus on multi-objective optimization in multi-project scheduling, investigating trade-offs between robustness and other objectives.

Supporting information

Acknowledgments

The author would like to express her sincere appreciation to the reviewers and the editor for their constructive comments and valuable suggestions. Their insightful feedback has greatly improved the quality, clarity, and rigor of this manuscript.

References

  1. 1. Szwarcfiter C, Herer YT, Shtub A. Balancing Project Schedule, Cost, and Value under Uncertainty: A Reinforcement Learning Approach. Algorithms. 2023;16(8):395.
  2. 2. Payne JH. Management of multiple simultaneous projects: a state-of-the-art review. International Journal of Project Management. 1995;13(3):163–8.
  3. 3. Davari M, Demeulemeester E. The proactive and reactive resource-constrained project scheduling problem. Journal of Scheduling. 2019;22:211-37.
  4. 4. Van de Vonder S, Demeulemeester E, Herroelen W. A classification of predictive-reactive project scheduling procedures. J Sched. 2007;10(3):195–207.
  5. 5. Van De Vonder S, Demeulemeester E, Herroelen * W, Leus R. The trade-off between stability and makespan in resource-constrained project scheduling. International Journal of Production Research. 2006;44(2):215–36.
  6. 6. Goldratt EM. Critical Chain. Great Barrington, MA: The Northern River Press. 1997.
  7. 7. Mahalleh MKK, Ashjari B, Yousefi F, Saberi M. A Robust Solution to Resource-Constraint Project Scheduling Problem. IJFIS. 2017;17(3):221–7.
  8. 8. Ghoddousi P, Ansari R, Makui A. An improved robust buffer allocation method for the project scheduling problem. Engineering Optimization. 2016;49(4):718–31.
  9. 9. Hazır Ö, Haouari M, Erel E. Robust scheduling and robustness measures for the discrete time/cost trade-off problem. European Journal of Operational Research. 2010;207(2):633–43.
  10. 10. Newbold RC. Project management in the fast lane: applying the theory of constraints. CRC Press. 1998.
  11. 11. Song W, Kang D, Zhang J, Xi H. A multi-unit combinatorial auction based approach for decentralized multi-project scheduling. Autonomous Agents and Multi-Agent Systems. 2017;31(8):1–30.
  12. 12. Browning TR, Yassine AA. Resource-constrained multi-project scheduling: Priority rule performance revisited. International Journal of Production Economics. 2010;126(2):212–28.
  13. 13. Gonçalves JF, Mendes JJM, Resende MGC. A genetic algorithm for the resource constrained multi-project scheduling problem. European Journal of Operational Research. 2008;189(3):1171–90.
  14. 14. Linyi D, Yan L, editors. A particle swarm optimization for resource-constrained multi-project scheduling problem. 2007 International conference on computational intelligence and security; 2007: IEEE. https://doi.org/10.1109/cis.2007.157
  15. 15. van der Beek T, Souravlias D, van Essen JT, Pruyn J, Aardal K. Hybrid differential evolution algorithm for the resource constrained project scheduling problem with a flexible project structure and consumption and production of resources. European Journal of Operational Research. 2024;313(1):92–111.
  16. 16. Khemakhem MA, Chtourou H. Efficient robustness measures for the resource-constrained project scheduling problem. IJISE. 2013;14(2):245.
  17. 17. Zheng WB, He YK. Resource constrained project scheduling optimization with robust objective under stochastic duration of activities. In: Proceedings of the 23rd International Conference on Industrial Engineering and Engineering Management, Paris, 2017.
  18. 18. Wang W, Wang X, Ge X, Deng L. Multi-objective optimization model for multi-project scheduling on critical chain. Advances in Engineering Software. 2014;68:33–9.
  19. 19. Storn R, Price K. Differential Evolution – A Simple and Efficient Heuristic for global Optimization over Continuous Spaces. Journal of Global Optimization. 1997;11(4):341–59.
  20. 20. Han ZH, Shi HB, Liu C. Differential evolution algorithm for earliness/tardiness hybrid flow-shop scheduling problem. Computer Engineering and Application. 2009;45(32):9–13.
  21. 21. Xu Y, Wang L. Differential evolution algorithm for hybrid flow-shop scheduling problems. Journal of Systems Engineering Electronics. 2011;22(5):794–8.
  22. 22. Li H, Wang X, Peng J. A hybrid differential evolution algorithm for flexible job shop scheduling with outsourcing operations and job priority constraints. Expert Systems with Applications. 2022;201:117182.
  23. 23. Peng W, Huang M. A critical chain project scheduling method based on a differential evolution algorithm. International Journal of Production Research. 2013;52(13):3940–9.
  24. 24. Yan R, Li W, Jiang P, Zhou Y, Wu G. A Modified Differential Evolution Algorithm for Resource Constrained Multi-project Scheduling Problem. JCP. 2014;9(8).
  25. 25. Tian M, Liu RJ, Zhang GJ. Solving the resource-constrained multi-project scheduling problem with an improved critical chain method. Journal of the Operational Research Society. 2019;71(8):1243–58.
  26. 26. Gopal G, Kumar R, Kumar N, Jawa I. Effect of hill climbing in ga after reproduction for solving optimization problems. International Journal of Extensive Research. 2015;3(1):79–86.
  27. 27. Briand C, Bezanger J. An any-order SGS for project scheduling with scarce resources and precedence constraints. In: Proceedings of the 10th International Workshop on Project Management and Scheduling, Poland, 2006.