## 2 Literature Review
### Dynamic Scheduling in Production Systems
#### 2.1.3 Predictive-Reactive Rescheduling  
Predictive-reactive scheduling, the most common dynamic scheduling approach in manufacturing systems, involves revising schedules in response to real-time events. Predictive-reactive scheduling approaches often emphasize simple adjustments to enhance workshop efficiency. While these methods are beneficial, more robust schedules can reduce the impact of disruptions and improve overall performance. The literature on predictive-reactive scheduling has extensively considered various real-time events and their effects, covering different manufacturing systems such as single-machine systems, parallel-machine systems, flow shops, job shops, and flexible manufacturing systems. Studies often evaluate predictive-reactive scheduling based on metrics like makespan, stability, and robustness, aiming to optimize system efficiency while maintaining stability and resilience in the face of disruptions [20; 21; 22]. Production System Types  
[PERSON] [1] defines system types as follows:  
Single Machine: The simplest machine environment and a special case of more complex systems [13; 18; 22; 23]. Identical Machines in Parallel: m identical machines process jobs, either on any machine or a specific subset [24; 25; 26]. Machines in Parallel with Different Speeds: m machines operate at different speeds, affecting processing times [1]. Unrelated Machines in Parallel: Each machine has a different speed for each job, leading to varying processing times [27]. Flow Shop: m machines in series, where all jobs follow the same sequence, typically under FIFO discipline [5; 28]. Flexible Flow Shop: A generalized flow shop with multiple parallel machines at each stage [29]. Job Shop: Jobs follow distinct routes, possibly visiting the same machine multiple times [14; 20; 30; 31]. Flexible Job Shop: A hybrid of job-shop and parallel machines, with multiple machines at each work center [15; 29; 32; 33]. Open Shop: Jobs must be processed on all machines, but their processing sequence is flexible [1]. Mathematical Approaches  
According to [PERSON] et al. [31], workshop scheduling algorithms can be examined under two main headings: Exact optimization methods include effective rule approaches, mathematical programming approaches, branch-and-bound methods, etc. Approximate methods include constructive methods, artificial intelligence, local search, and meta-heuristic algorithms. Mathematical programming and operation research are applied to reach the global optimal solution or the deterministic optimal solution. The mathematical programming approach is an exact optimization approach that is frequently used to solve predictive-reactive scheduling problems [32; 34; 35]. In addition to approximate methods such as the Simulated Annealing Algorithm [2], Hybrid Parallel Genetic Algorithm [27; 29], Biased Randomized Iterated Greedy Algorithm [6], Tabu Search Algorithm [36; 37], Directed Backjumping Algorithm, and Hybrid Multi-Objective Immune Algorithm [30], the most commonly used approximate method is the use of dispatching rules [24; 38]. Constructive methods are preferred methods because they shorten the solution time. Examples of dispatching rules that provide quick solutions include: Least Flexible Job First [24; 39], longest processing time [38; 40; 41], Earliest Due Date [20; 38; 41], shortest processing time [38; 40; 41; 42], First in First Out [40; 41], random [40; 41], and Last in First Out [41]. Uncertain and Stochastic Scenarios  
Real-world manufacturing environments involve numerous states of uncertainty and stochasticity of events. Some situations are machine failure, change in delivery date, and uncertainty of the processing time of a job on a machine. An appropriate scheduling model should take into account all uncertainty conditions to approximate real-world problems [43]. Stating that stochastic scheduling has attracted great attention from both industry and academia, [PERSON] et al.