## 3 Optimization Model
### MOGA Module
#### 3.3.3 Genetic Operations  
By performing GA operator, a next generation population is created based on fitness value calculations using GA, including a selection, crossover, and mutation. The selection technique depends on a uniform random mechanism. The crossover is performed using a one-point crossover routine. The mutation is performed by uniform randomization around old variable values. The number of mutations proportionally changes based on the setting of the mutation rate between the value of 0 and 1 [53]. The GA steps are listed below, with the pseudocode displayed in Figure A1 in the Appendix A.  
1. Population creation: in each solution, the shifting time set values (Set1) and predecessor option set values (Set2) are randomized. Set1 is uniformly randomized from 0 to a sigma parameter value, while Set2 is uniformly randomized from 0 to 1. From continuous adjustment, the sigma parameter value in this research was set at 10, which is within the upper and lower bounds.
2. Parent selection: the uniform random technique is used to select two parents with equal selection probability. After the parents are selected, they breed with the one-point crossover method.  
Figure 6: Solution structure for GA operation.  
3. Crossover: one crossover point is selected randomly with the one-point crossover method. The initial solution values are copied from the first parent, while the other solution values are copied from the second parent.
4. N-point mutation: this paper also proposed an n-point mutation technique to reduce computation complexity. The technique initially selects \(n\) number of decision variables in a solution by uniform randomization. Then, they are mutated by uniform randomization around old values with upper and lower bounds. The upper bound is the old value that adds the sigma value, while the lower bound is the old value that subtracts the sigma value. If the mutated values are out of bounds, then the value is uniformly randomized in possible value bounds. The parameters set, in this research, were \(n\) as 1 and possible values were between 0 and \(\mathit{TF}\) value. However, if the shifting time was out of bounds, the sigma value was used instead.
5. Fitness calculation: the NSGA-II algorithm is used to calculate fitness scores, which are used to find non-dominated solutions, called a Pareto front. A challenge of the fitness score calculation in this research was the requirement for the PDM network to re-create everytime after mutation, resulting in complexity of the computation.
6. Pareto front selection: the Pareto front selection uses the crowding distance technique to reduce the number of Pareto front which is over the upper bound. This is based on a tournament of crowding distances.
7. Predecessor option (\(X_{\mathit{high}}\)): In renovation projects, construction phases are normally considered based on work spaces. This is also defined as Set2 decision variables. Figure 7 illustrates the initial predecessor (\(X_{\mathit{h}}\)), where construction sequences start with the 4 th floor, followed by the 3 rd, 2 nd, and 1 st floors, and then the basement. A suggestion of renovation sequences is displayed as an alternative (\(X_{\mathit{high}}\)). The renovation starts from the 4 th floor, followed by the the 3 rd, 2 nd, and 1 st floors, while simultaeneously working on the basement.  
Figure 7: Initial and optional construction sequences.