# Proactive Production Scheduling Approach for Off-Site Construction with Due Date Uncertainty
## 3 Proactive PC Production Scheduling Model with Contractor Schedule Uncertainty
### GA-Based PC Production Schedule Optimization Module  
The GA-based PC production schedule optimization module identifies an optimal schedule through iterative generation, following the principles of natural evolution and evaluation using the PC production simulation module. Here, an optimal schedule is a schedule with the lowest tardiness value for a given confidence level (\(n\)) among many schedules.  
This optimization module employs genetic algorithms (GAs), a search method inspired by [PERSON]'s theory of natural evolution. This algorithm mimics the natural selection process, where the most suitable individuals are chosen to reproduce, thereby  
Figure 2: Example of a robust schedule solution at the confidence level (\(n\)): (**a**) histogram of tardiness after 1000 simulations; (**b**) cumulative frequency of tardiness after 1000 simulations. The red dotted line and red arrow indicate the 80% confidence level and the corresponding tardiness, respectively.  
creating the next generation's offspring. The main factor affecting PC production's tardiness is the production sequence. For GA, production plans were encoded by job sequence, which is the permutation of given jobs, as shown in Figure 3. The string \"426135\" represents a job sequence where \"job 4\" is processed first, then \"job 2\" is processed, and so on.  
The procedure of this module is shown in Algorithm 2.  
Firstly, the optimization module takes population size, crossover rate, mutation rate, elite number, and stopping criteria. It randomly generates an initial population of candidate solutions to the problem based on the above encoding schema. The generated initial population is evaluated by its tardiness at confidence level (\(n\)), called fitness value, using the PC production simulation module.  
Next, the module iterates the process until the stopping criteria are met. Initially, selection is performed by choosing parents from the population based on their fitness values using the roulette-wheel method [10; 22; 23]. Second, a crossover is applied to create a new candidate solution (i.e., offspring) from the two selected parent candidate solutions using the two-point crossover method, as illustrated in Figure 4a. Third, mutation is performed using shift mutation, which randomly selects two points and shifts them, as shown in Figure 4b [17; 24]. Fourth, the PC production simulation module evaluates the offspring by their fitness value. Lastly, a new population is created by replacing the worst individual in offspring with an elite individual in the population.  
Finally, when the stopping criteria are met, which in this study is determined by the number of iterations, the module returns the best individual in the population. Here, the  
Figure 4: Operators for GA: (**a**) two-point crossover; (**b**) shift mutation. The red symbols indicate two selected points.  
Figure 3: Encoding schema.  
best individual means the schedule with the lowest tardiness value at a given confidence level among all evaluated schedules.