## 2 Literature Review
### Dynamic Scheduling in Production Systems
#### 2.1.3 Predictive-Reactive Rescheduling
[44] stated that existing jobs generally focus on random processing times, but the uncertainty in the release time when the job can start greatly affects the performance. The first study in the field of stochastic scheduling problems was conducted by [PERSON] [45] in a single-machine environment. He developed his article in 1991, and in this research a common deadline was defined for all works. In the study, each job has a stochastic processing time with a certain mean and variance. In predictive-reactive scheduling problems, entering the new job into the system [6; 23; 24; 46; 47] and machine failure [4; 30; 39; 48] are the most common uncertain situations. In addition to these two basic uncertainties, other uncertainties such as material shortage [37; 49; 50; 51], changes in production time or uncertainty [40; 41; 52; 53], job cancellations [28], and priority changes [38] have also been addressed in the literature. Three policies regarding the timing of rescheduling have been proposed in the literature [7; 54]: periodic, event-based, and hybrid. Periodic policy is to create a schedule at regular intervals after collecting all the available information in the workshop. The dynamic scheduling problem is decomposed into a set of static problems that can be solved using classical scheduling algorithms. Scheduling is then conducted and existing information is not collected and revised until the next period begins. Periodic policy provides greater schedule stability and less schedule tension. Following a set schedule in the face of significant changes in the shop can compromise performance as unwanted products or intermediate products may be produced. Determining the rescheduling period is also an important research topic. In an event-driven policy, rescheduling is triggered in response to an unexpected event that changes the current system state. Most approaches to dynamic scheduling use this policy. The hybrid policy reschedules the system periodically and also when an exception occurs. Events usually taken into account are machine failures, urgent jobs arriving, job cancellations, or job priority changes. Periodic policy [34; 35; 40; 41] and hybrid [37; 46] policies have not been preferred much in the problems in the literature; usually Event-Oriented Policies [24; 30; 39; 53] were applied when rescheduling. Rescheduling Solution Methods  
Regarding the question of which strategies to use for rescheduling, the literature offers two main rescheduling strategies [7; 8; 54]: schedule repair and complete rescheduling. Repairing the schedule refers to editing parts of the existing schedule and may be preferable because it potentially saves CPU time and preserves the stability of the system. Complete rescheduling creates a new schedule from scratch. Complete rescheduling may in principle be better at maintaining optimal solutions, but these solutions are rarely achievable in practice and require too much computation time. Moreover, complete rescheduling can cause instability and lack of continuity in detailed plant schedules, leading to additional production costs attributable to the so-called shop floor perturbation. Schedule repair has been implemented in two ways in the literature [4; 36; 48]: Right Shift Algorithm and Partial Repair. The method that finds more space in the literature is the complete rescheduling [16; 30; 53; 55] method. Evaluation of Rescheduling  
[PERSON] and [PERSON] defined a new objective function called \"MSR\" based on Makespan (Efficiency), Stability, and Robustness. These components are explained as follows [5]:  
**Scheduling efficiency:** This metric indicates the degree of optimization for a schedule. In [PERSON] and [PERSON]'s study, this criterion is measured by the classic target \"makespan\". It is stated that the actual completion times of the affected works may change due to disruptions in the system. In the studies examined, effectiveness was expressed in the same way as the objective function.