## 1 Introduction
### Literature Review
For these reasons, other strategies of buffer allocation are recommended, for instance, placing buffers only before the particularly important processes [29; 31; 32]. The critical chain concept by [PERSON] [33] is one of the first methods of designing disturbance-resilient schedules, where the completion date is protected by time buffers. [PERSON]'s critical chain does not allow the planner to define precise completion dates of individual processes--as with PERT, processes are modeled to start immediately on completion of their predecessors. Buffer sizing and location are still unsolved issues [34; 35]. [PERSON] and [PERSON] [32] constructed an optimization model to determine the size of time buffers in a schedule with discrete disturbances of a single process. However, as the level of complexity of real-life problems is much greater (many possible disruptions of numerous processes), it seems pointless to look for exact optimal solutions [29]. The heuristics of the adapted float factor, the resource-flow dependent float factor, the virtual activity duration extension, and the starting time criticality [32; 34; 36] belong to the best-known algorithms for buffer sizing. [PERSON] and [PERSON] [32], as well as [PERSON] et al. [34; 36], maintain that a robust schedule with a fixed due date must minimize the instability cost function. The function is defined as the weighted sum of the expected deviations between the processes' as-scheduled start dates and the random variables of their durations. The method of increasing the reliability of predictive schedules and minimizing the instability cost function was proposed by [PERSON] [37]. An effective way to reduce the instability cost is to look for time-optimal baseline schedules to increase the total float to be distributed among the processes in the form of time buffers. For this purpose, a variety of schedule compressing methods can be applied. With stochastic scheduling, no baseline schedule is needed. Consecutive activities are added to a previously built partial schedule according to a predefined scheduling policy (e.g., priority rule). At each decision point, the policy determines which activity is to be incorporated into the schedule concerning all precedence relations and constraints [38]. The framework of simulation-based scheduling is widely used to select the best scheduling policy [39; 40]. [PERSON] et al. [41] used this method to compare the efficiency of the 20 most common priority rules of resource allocation. They conducted a full factorial experiment on a sample of 1260 projects combined into 420 project portfolios. Their results provide guidelines for selecting the most suitable priority rule according to both the schedule quality and the measures of robustness. As for the reactive scheduling approach, it rests upon updating schedules whenever they expire due to disturbance. The scope of such updates is defined based on all available information on the project itself and its environment collected so far [42]. The rescheduling action can be planned at fixed intervals or in reaction to a substantial disturbance [39]. If the actual duration of some activity deviates from the baseline schedule, the common objective of rescheduling is to keep the discrepancies between the baseline and the updated schedule to a minimum. This typically consists of minimizing the weighted sum of the expected absolute deviations between the as-planned and actual activity start dates while maintaining the original objectives and constraints of the schedule. As in the case of proactive scheduling, the reactive methods also use scheduling policies. For instance, [PERSON] [43] proposed two new schemes of robust reactive schedule generation based on priority rules. [PERSON] [44] put forward a method to improve the performance of the reactive approach by increasing the flexibility of the initial schedules. He recommended preparing a set of acceptable variants of construction methods and organizational solutions for the processes. This was to facilitate schedule updating as disruptions occur.