Reactive Strategies in the Multiproject Scheduling with Multifactor Disruptions

Multiproject scheduling aims at the generation of the baseline schedules, which has been studied for several years with the goal of minimizing the total cost of the project. In this paper, we analyzed the impact of network structure disruption, activity disruption, and resource disruption on scheduling scheme, respectively; this problem is related to the disruptions in scheduling process, which leads to a deviation between actual scheduling and baseline scheduling.*emode of the related activities is changed and the start time is reset. Because it is a NP-hard problem and involves a large number of activities, the dual population genetic algorithm is designed to solve this problem. From the results of case analysis, we find that single disruption on scheduling was local, when there was no resource conflict. While multifactor disruptions have greater effect on duration and total cost, multifactor disruptions would affect each other, so it was more complicated.


Introduction
During the execution of a project, disruptions can occur, which cause the delay of activities or change of resource extent. Examples of such disruptions are bad weather, equipment failure, etc. In view of these problems, scholars analyzed influences of interference factors on project scheduling problem. Zhao et al. [1] studied the flow-shop scheduling problem with random machine breakdowns by using the proactive scheduling theory. Chu et al. [2] studied the proactive scheduling problem of emergency response in mass casualty incident, and the objective is fatality minimization. Flexible job shop scheduling problems were transformed into the proactive scheduling problem and a genetic algorithm (GA) was designed to solve the problem. Ferrucci and Bock [3] studied the proactive real-time routing problem that applies multiple profiles, and request profiles were automatically identified. Lamas and Demeulemeester [4] developed a new procedure for proactive project scheduling problem under resource-constrained condition, and the reactive policy was designed which considers stochastic activity duration. Davari and Demeulemeester [5] studied proactive and reactive project scheduling problem that considers selection-based reactions and buffer-based reactions and indicated that the contribution of other reactions is limited. Ning et al. [6] analyzed the effects of key parameters such as the activity duration variability, the deadline, and so on. A comprehensive optimization model is proposed in order to analyze cash flow gap of contractors. In the stage of proactive scheduling, the time buffers are added to the baseline scheme, and when the disruption occurred, the reactive scheduling is constructed. Shen et al. [7] analyzed dynamic software project scheduling problem by using the proactive rescheduling method, a dynamic scheduling model was established, which considers cost, duration, and robustness, and a multiobjective evolutionary algorithm was designed. Li et al. [8] proposed robust proactive project scheduling with uncertain activity time and cost and then proposed to minimize the expected total construction time by control activity's starting time and mode. ey studied the stochastic discrete time-cost tradeoff project scheduling problem, and a proactive scheduling model was proposed for the SDTCTP-B based on robust optimization theory. Ivanov and Sokolov [9] proposed a new approach to supply chain scheduling in order to answer the uncertainty, and the adaptive scheduling was designed in order to feed dynamic changes back into the scheduling process. Liu et al. [10] analyzed a hybrid rescheduling technique in the supply chain environment, and a new strategy with event and periodic driven methods was proposed in order to improve the stability and robustness in the supply chain. Xia et al. [11] studied the project scheduling problem of speed optimization and cargo allocation, which considered maximizing total profits. Wang et al. [12] analyzed multiproject scheduling problem with disruptions and proposed proactive and reactive scheduling strategies. Servranckx and Vanhoucke [13] introduced a new method for the reactive project scheduling, and several revision plans indicate that a series of decisions are created for coping with unexpected changes; we can choose an optimal revision plan at the decision point so that it minimizes the cost. Davari and Demeulemeester [14] proposed the proactive and reactive resource-constrained project scheduling problem with stochastic durations, the baseline schedule cost and a series of reactions costs are considered, and proactive and reactive policies are introduced to solve the integrated problems. Proactive and reactive project scheduling to minimize cash flow gap was proposed by Ning et al. [6], and two hybrid metaheuristic algorithms were developed to solve this problem. Two reactive scheduling models with different objectives were designed by Zheng et al. [15], and three heuristic algorithms were developed. Lamas and Demeulemeester [4] introduced a new procedure for generating a baseline schedule for the proactive resource-constrained project scheduling problem, a new robustness measure was defined, and a branch-and-cut method was proposed to solve this problem. e main principles of proactive and reactive scheduling were analyzed by Vonder et al. [16], in order to revise the baseline scheduling. Lambrechts et al. [17] considered the uncertainty of resource availability, targeting the minimization of the absolute difference of the sum of the start times of each activity in actual scheduling and baseline scheduling, and the RCPSP proactive and reactive scheduling strategy was proposed. Above research on scheduling methods indicates that scheduling stability is enhanced by a setting time buffer or resource buffer because of the constraints concerning resource availability and the time window during the scheduling process. But it will lead to a longer duration or excessive occupancy of resources. When an interruption occurs, the baseline scheme will be infeasible or lead to resource conflicts between activities, and then a reactive scheduling strategy is designed to solve this problem.
Some previous research showed that the project activity is interrupted, and the reactive strategies are put into service, in order to recover the project operation as soon as possible. erefore, the efficiency and the cost of the scheduling process had been affected by the optimal and worst reactive scheduling. In the actual project execution, reactive scheduling strategy performs better than proactive scheduling strategy, so the reactive scheduling strategy is more practical [18]. Various types of disruptions are the main factors, which affect the project progress [19]. Domestic and foreign scholars have studied the interference management problems in different scenarios. Sawik [20] proposed a novel two-period modeling approach for supply chain disruption mitigation and a multiperiod approach is compared. Philip [21] and Hong-Minh et al. [22] analyzed the dynamical supply chain scheduling problem, and coping strategy was proposed to recover normal operation. Li et al. [23] and Hishamuddin et al. [24] analyzed real-time recovery in vehicle scheduling problem; the final goal is to recover the negative effects of uncertain events. Hur et al. [25] analyzed project scheduling problem under uncertain environment, which can be solved through real-time adjustment in the start time of interrelated activities. Al-Fawzan and Haouari [26] analyzed the influence of schedule robustness on resource-constrained project scheduling, and a biobjective optimization model was established, which considers robustness maximization and makespan minimization. Zhu et al. [27] analyzed the types of disruptions, and the classification scheme was proposed; the aim is to minimize the deviation between actual scheduling and baseline scheduling at minimum cost. Jian et al. [28] and Su and Sun [29] investigated the uncertainty of demand in a closed-loop supply chain, and the proposed mathematical model helps maximize total profit. Although there has been great progress in the research of interference-facing RCPSPs (resource-constrained project scheduling problems), there are still many practical problems needed to be further studied by experts and scholars. Most of them considered single goal such as minimal cost or robustness [12,[30][31][32]; this paper comprehensively considered the above problems and found that identifying and quantifying the disruptions of multiproject scheduling is important to the problems. e interruption of multiproject scheduling comes from the internal and external of the scheduling system, which may be caused by many factors. Interruption of the disturbing incident led to the implementation of multiproject scheduling which deviated from the baseline scheduling scheme; in order to reduce the impact of disruptions on multiproject scheduling, we analyze the impact of network structure disruption, activity disruption, and resource disruption on scheduling system, respectively. Multiple execution modes of activities are set. When a disruption occurred, related activities are disturbed and the baseline scheduling scheme becomes unavailable, so the project cannot be finished on time, and the reactive strategy is a way to solve this problem. In reactive strategies, the optimization model is established in order to minimize the deviation between actual scheduling and baseline scheduling. When the interference occurs, the disturbed activities set is constructed by the unexecuted and ongoing activities, the execution modes are changed, and the start times are reset for these activities. e structure of this article is as follows. In Section 2, we introduce multiproject scheduling with multifactor disruptions, and the optimization model for the scheduling with disruptions is established. Section 3 designs dual population genetic algorithm to solve this problem. In Section 4, case analysis of the model and algorithm was carried out, and dual genetic algorithm was tested from different aspects. In Section 5, the conclusions of this paper are presented.

Problem Description
We may be encounter different disruptions in the execution, such as project network disruption, resource disruption, and activity disruption. For project network disruption, the predecessor and successor relationship of network activity determines the order of activities, and the original project network structure will be changed by new activity added or original activity reduced [12,33]. Resource disruption implies that the shortage of resources will affect the duration of all subsequent activities. Activity disruption occurs mainly due to the shortage of resources and excess resources. e multiproject scheduling with multifactor disruptions is complicated, and according to the impact of disruptions, the baseline scheduling scheme is adjusted. At normal state, the objective of the reactive scheduling scheme is to minimize the negative impact of the disruptions. Because this paper analyzes the influence of disruptions, project duration deviation and the cost of changed execution mode are considered. When the disruption occurs, our research object is unexecuted activities or ongoing activities. An activity set is composed of unexecuted activities and ongoing activities. e baseline scheme is not feasible or there is an obvious deviation between the baseline scheme and the actual scheme, which had been affected by disruptions. We not only need to make a new scheduling scheme as soon as possible but also need to consider the optimization goal. In this paper, we used a research method based on activity, and the multiproject is expressed as an AoN (activity-on-node) network. A project contains N subprojects, and the duration and resource requirements of each activity and precedence relation are known.
e symbols used in this article are defined as follows.
Because each objective function value has different units and dimensions, these targets need to make indexes dimensionless. e value in the formula is obtained by the dimensionless method for each objective function; the specific formula is as follows: (1) In order to simplify this problem, so that it is easier to build the model, we proposed the following assumptions.

Hypothesis 1.
e optimization goal is the shortest duration limit in the benchmark multiproject scheduling.

Hypothesis 2.
e precedence relationship between the activities is "end start."

Disruption Recovery Model.
When a certain activity of the project is delayed, the benchmark schedule and resource are all changed, which initiate additional cost or loss. e goal of this paper is to minimize the deviation between new scheduling plan and baseline scheduling plan, so the reactive strategies in the multiproject scheduling are proposed. In order to minimize the loss by multifactor disruptions, the disruption recovery model is established. Min Equation (2) represents the objective function, that is, the sum of the duration deviation and cost deviation was minimized, equation (3) indicates the sum of weights, equation (4) indicates the sum of the cost of increased resource and the cost of changed mode, equation (5) indicates the duration deviation between new schedule planning and baseline schedule planning after the disruption, equation (6) indicates that each activity has only one completion time, equation (7) represents the predecessor and successor relationship constraint of activities in the model, equation (8) represents the constraint of renewable resources, and equation (9) shows the constraint of nonrenewable resources.

Designing Double Population
Genetic Algorithm e basic idea of a genetic algorithm (GA) comes from the fact that evolutionary biology was pioneered by Professor Holland and used to solve complex optimization problems.

Mathematical Problems in Engineering
We design the appropriate selection mechanism, such as replication, crossover, and mutation, to get the optimal or near-optimal solution. However, the genetic algorithm has some shortcomings such as slow convergence rate or falling into local convergence, which affects the effect of solution of the algorithm [34]. In order to maintain the diversity of the population, a two-population genetic algorithm is proposed, and the two populations have the same population size POP. Population POP L and population POP R adopt the parallel operation mechanism. e two populations carry out operations such as duplication, crossover, and mutation, respectively. When the operation is completed, the individuals in both populations are randomly exchanged. In order to improve the search ability of the two-population genetic algorithm, the population POP L is made responsible for the local search, setting a smaller crossover probability to avoid the elite individuals being destroyed. e population POP R is mainly responsible for the global search, setting a large crossover probability to avoid the early convergence. Two populations evolved according to the unused evolutionary rules and strategies, and the parallel evolution of population POP L and population POP R increased the rate of evolution.
e random exchanging process of the individuals of two populations improves the search performance of the algorithm. Figure 1 shows the two-population genetic algorithm flowchart.

Coding Design.
e expression of individual performance in genetic algorithms is crucial. Among several representations, activity list notation (AL) and random key notation (RK) are widely used. ese two methods embed the priority structure into the activity. In the AL method, the location of an activity determines the relative priority of the activity to others, while in the RK method, the sequence of activity scheduling is determined by the priority value of each activity. is article uses the RK notation. Vector λ represents the individual priority value, and μ represents the mode list. e same encoding and decoding methods are used both in population POP L and population POP R . Execution mode list μ represents individual populations of vector λ, and the activity's schedule is assigned in sequence. In this execution list, every activity i(i ∈ 1, . . . , N { }) is assigned one mode m i and decides whether the scheduling scheme is viable relative to nonrenewable resources. e coding structure is represented as I � λ u � j 1 , j 2 , . . . , j J m 1 , m 2 , . . . , m i . ERR(μ) is used to express additional resource requirement; in this algorithm, the influence of disruptions on the scheduling scheme is represented by additional resource requirement change. ERR(μ) � 0 indicates that the scheduling scheme is feasible. If ERR(μ) is greater than 0, the scheduling scheme is not feasible.

Initial
Population. e first step of dual population genetic algorithm is to design a left-justified scheduling scheme POP L . Random key λ is generated randomly, and execution mode m i for each activity i is generated by using random selection. In order to minimize the number of unenforceable solutions in the initial population, the nonexecutable solutions are converted to executable solutions in the process of local search. If the values of ERR(μ) are still the same or similar, then we change the execution mode of this activity.
is step is repeatedly executed until the assigned mode is feasible, that is, ERR(μ) � 0, or reaches the maximum number of tests.

Fitness Function.
Fitness function is the basis to evaluate the merits of chromosome. It is important to the convergence speed and the quality of solution of the two-population genetic algorithm. e original intention of the algorithm design is to minimize the deviation between the newly generated scheduling scheme and the benchmark scheme, that is, minimize the influence of disruptions on the project scheduling. Because the population contains unenforceable programs, the unenforceable programs must be penalized or they will be replaced in the population as feasible implementation program. erefore, the fitness function which has the penalty function is better. In the dual population genetic algorithm, excellent fitness function can improve the performance of the algorithm. If the scheduling scheme is feasible, the fitness function is equal to the objective function, that is, fit(t) � Z(t), and then the list of vector λ and mode μ will be obtained. If the mode is infeasible, the fitness function is equal to the objective function plus the ERR(μ) value of the mode list μ. e bigger the fitness is, the better the quality of the scheduling scheme is. e fitness function of dual population genetic algorithm is as follows:

Selection
Operator. e population POP L is mainly responsible for the local search, while the population POP R is mainly responsible for the global search; therefore, the two populations use different selection methods to perform the selection operation, respectively. e league selection mechanism is adopted by the high individuals that have been selected, which enter the next generation. is operation is repeatedly executed until the number of individuals entering the next generation meets the required number. e population POP L is generated by using the roulette wheel selection mechanism; the roulette wheel selection mechanism is closely related to the value of the individual fitness, and high individuals are selected with high probability, while low individuals are selected with low probability.

Crossover Operator.
e sequence cross-operation mode is adopted by the population POP R , two gene points are selected from its parents randomly, the gene string between these two gene points is copied to progeny chromosome 1, and the corresponding gene is removed from parent 2 at the same time. e retained genes are filled in the corresponding positions of chromosome 1. e cross-operation mode is adopted by the population POP L . Several genes are selected from parent 1 randomly, which is treated as the corresponding gene of the progeny chromosome, while the selected gene coding of parent 2 is deleted at the same time.
e retained genes are filled in the corresponding positions, and then a new chromosome is generated.

Mutation
Operator. Mutation method of the population POP L is different from the mutation method of population POP R . Mutation operations are performed separately. Inversion mutation is adopted by the population POP R . is gene fragment of the chromosome is selected randomly, and the gene string is inverted. e mutation operation of population POP R is shown in Figure 2.
Two gene sites are selected randomly from the population POP L by using exchange mutation mode, and the value of gene coding is exchanged, in order to generate a new chromosome.

Termination Conditions.
In dual population genetic algorithm, parent population is replaced by the progeny population. e size of population will remain unchanged. e principle of the survival of the fittest is followed in replacement stage. For each individual i, who is already replaced from population, the parent is selected and a new individual is generated. Even if there is a deteriorating outcome, offspring with the highest fitness value is selected in the population, who will replace individual i. However, for the high-quality scheduling scheme to be selected, an individual corresponds to the best completion time of a scheduling scheme, that means it does not execute the replacement operation. When dual population genetic algorithm has been executed until a specified evolutional generation, we need to stop operating and output the corresponding result.

Case Analysis and Results
is paper analyzed the impact of dynamic changes in customer needs (such as temporary increase orders) on multiproject scheduling, established an optimized model, and used two-population genetic algorithm for simulation test. In this case, each activity represents the corresponding process, and there are total twenty-eight activities including virtual start activities and virtual end activities, and three kinds of resources are needed. e predecessor and successor relationship is shown in Figure 3. Indirect cost of unit duration c � 4, and the unit prices of the three kinds of resources are, respectively, 3, 3, and 5. Table 1 shows the relevant information for each activity in the baseline scenario, including the execution pattern of the 28 activities Mathematical Problems in Engineering (three execution modes per activity), the duration of the project, and the type and amount of resources used. According to the project activity relation in Figure 3, the network structure diagram of the project can be determined. e resources in multiproject baseline scheduling scheme are, respectively, R 1 �63, R 2 �58, and R 3 �52. e baseline scheduling

Single Disruption of Project Network.
During the execution of the project, due to the changing requirements of the customer, we need to adjust the baseline schedule. e activity A is added between the activity 4 and activity 6 in subproject1, the duration of the activity A is 9, and the resource demand amount of the three kinds of resources is, respectively, 8, 6, and 7. e new project network after disruption is shown in Figure 4.
According to the logical constraint relationship of activity A, it cannot be started before activity 4 is completed. A new network structure is formed by unexecuted activities and ongoing activities. e start time of activity A is 41. By assigning constraints (3)-(9) to objective function (2), the multiproject scheduling model is established, and then MATLAB is invoked by Java to solve the problem. Assume the population size Popsize � 50 and let evolution algebra Maxgen � 50; according to the optimal result obtained after 50 times of operation, the comparative results are obtained as shown in Table 2.
e new inserted activity A has no influence on other subprojects, but it affects subsequent activities. We compare the new schedule with the baseline schedule in Table 3. In new schedule, three activities of scheduling mode are adjusted. e total duration is extended by 5, while the total cost increased by 162.

Single Disruption of Activity.
In the process of project scheduling, the delay of one or more activities leads to the delay of the entire project. Activity 6 in subproject3 needs rework. When the delayed interference occurs in activity 6, all subsequent activities are affected. So after activity disruption, activity 6 # is added behind activity 6.
is is similar to the disruption caused by adding an activity in network structure in the previous section, while the difference is that the priority of activity 6 # is higher than all unexecuted activities. e new network structure is shown in Figure 5. e completion time of activity 6 is used as the starting point, and a new network structure is formed by unexecuted activities and ongoing activity 2 # . Activity 0 is a virtual start activity, its duration and resource amount are 0, and its start time is 25. e parameter setting of the dual population algorithm is the same as that in Section 4.2.1. Table 1: e symbols used in this article. i indicates that there are i subprojects in multiple projects j indicates the number of activities in each subproject f 1 indicates the cost of changed mode f 2 indicates the duration deviation ω 1 represents the weight of project change cost ω 2 represents the weight of the duration deviation r ijm represents the demand amount of renewable resources of the activity j in the subproject i y k � 1 represents resource k is selected; y k � 0 represents others m represents the execution mode mc ijm indicates the cost of changed execution model of the activity j in the subproject i x ijmt � 1 represents the activity is completed at time t of the activity j in the subproject i x ijmt � 0 represents others r ijmn indicates the demand amount of renewable resources n of the activity j in the subproject i r ijmk indicates the total amount of nonrenewable resources k of the activity j in the subproject i  According to the optimal result obtained after 50 times of operation, the relevant data are summarized, and the information of the new schedule scheme is shown in Table 4. Activity 6 # has no influence on other subprojects, but it affects subsequent activities. We compare the new schedule with the baseline schedule in Table 4. In new schedule, four activities of scheduling mode are adjusted. e total duration is unchanged, while the total cost increased by 197.

Single Disruption of Resource.
In this section, we analyze the influence of resource reduction on the scheduling process. Suppose that at t � 30, the total amount of resource R 1 in the project has been reduced by 20. e reduction resource amount may affect activities 7,8,9,10,11, and 12 in subproject2 and other subprojects. A new network structure is formed by unexecuted activities and ongoing activities 5 and 6. e priority of activities 5 and 6 are higher than all unexecuted activities. e parameter setting of the dual population algorithm is the same as that in Section 4.2.1. According to the optimal result obtained after 50 times of operation, the relevant data are summarized, the information of the new schedule scheme is shown in Table 5.
In new schedule, due to the shortage of resource R 1 , the duration of activities 5 and 6 is delayed, and four activities of scheduling mode are adjusted. And there are resource conflicts between subprojects; activities 4 and 7 are delayed because of the shortage of resource R 1 . e total duration is extended by 2, while the total cost increased by 17. For most of the unexecuted activities, the scheduling time and mode have to be adjusted. When the interference occurs, it will be more complicated to formulate a new scheduling scheme based on the baseline scheduling scheme.

Case Analysis of Multifactor Disruptions.
During project execution, resource disruption occurs at t � 30, the total amount of resource R 2 in the project is reduced by 15, and activities 4 and 5 in subproject1 are interrupted and postponed. Because of the resource contest caused by the previous disruptions, later activities will be affected and the completion time will be postponed. An activity disruption occurs at t � 33, and activity 5 in subproject3 has to be reworked. en, activity 7 in subproject3 is postponed. A new network structure is formed by unexecuted activities and ongoing activities in multiproject. e parameter setting of the dual population algorithm is the same as that in Section 4.2.1. According to the optimal result obtained after 50 times of operation, the new project network after disruption is shown in Figure 2, and the relevant data are summarized; the information of the new schedule scheme is shown in Table 6.
In new schedule, due to the shortage of resource R 2 , the duration of activities 4-8 and 6 are all delayed, there are resource conflicts between subprojects, and activity 10 has to change the scheduling mode because of the shortage of resource R 2 . e duration of subproject1 is extended by 6. Because activity 5 in subproject3 is reworked, activity 7 has to change the scheduling mode. e duration of subproject3 is extended by 3, while the total cost increased by 168. From the above analysis, it can be concluded that the multifactor disruptions have a greater impact on scheduling and resource disruption causes later activities to change the scheduling strategy.

Comparative Analysis of Algorithms.
In this paper, we download the standard study from the website of project scheduling problem, http://129.187.106.231/psplib/, and take PSPLIB data, J10, J20, J30, J40, J60, and J90, as examples; dual population genetic algorithm, Tabu search algorithm, and genetic algorithm are tested to analyze the performance of the three algorithms. e convergence of the calculation results is shown in Table 7.
From the satisfactory solution quality (quality for short), dual population genetic algorithm was the best, genetic algorithm was better, and Tabu search algorithm was the worst. When the number of activities was small, dual population genetic algorithm and genetic algorithm were not much different, but the quality of Tabu search algorithm was worse. With the number of activities increased, the advantage of dual population genetic algorithm became obvious. So, dual population genetic algorithm is more suitable for solving multiproject reactive scheduling problems.
From the calculation time (time for short), the calculation time of genetic algorithm was the least. For Tabu search algorithm, with the number of activities increased, the number of the neighborhood solutions increased, so the calculation time was longer than the time of genetic algorithm.
e dual population genetic algorithm had the longest calculation time; however, it was in acceptable limit. Above all, from the satisfactory solution quality and the calculation time, we know that dual population genetic algorithm was a better algorithm.

Conclusions
In this paper, the multiproject scheduling problem with disruptions was proposed. First, we analyzed the impact of network structure disruption, activity disruption, and resource disruption, respectively. e optimization model was established, and a dual population genetic algorithm was designed to solve this problem, and the following conclusions were drawn: (i) Based on the characteristics of multiproject scheduling problem with disruptions, we analyzed the impact of network structure disruption, activity disruption, and resource disruption on scheduling system. Dual population algorithm was designed to solve this problem, and the scheduling scheme with minimum interference was formulated. When the scheduling scheme deviated from the baseline scheduling scheme, the modes of the related activities were changed and the start time was reset, and then the best adjustment cost and project completion time were obtained. (ii) e impact of single disruption on scheduling was local, which often caused the duration to be extended and the total cost to be increased. If there was no resource conflict, the effect was local to subproject. While resource disruption would caused resource conflicts between subprojects, so later activities have to change scheduling mode. Multifactor disruptions have greater effect on duration and total cost, and multifactor disruptions would affect each other, so it was more complicated. (iii) e dual population genetic algorithm was designed to solve the problem. e performance of dual population genetic algorithm was superior when there were a large number of activities in the project. Dual population genetic algorithm improved the evolution speed and improved the search performance of the algorithm. e global optimization ability was enhanced, and the performance of the algorithm was improved.

Data Availability
e data used to support the findings of this study are included within the article.

Conflicts of Interest
e authors declare that they have no conflicts of interest.