## 3 Methodology
### Optimization Using NSGA-II  
To efficiently solve the bi-objective optimization problem formulated in the previous section--where the total unit cost and CO\({}_{2}\) emissions are to be simultaneously minimized over a constrained decision space--the Non-Dominated Sorting Genetic Algorithm II (NSGA-II) was adopted as the core solution strategy. NSGA-II is a multi-objective evolutionary algorithm widely employed in engineering design problems due to its ability to approximate Pareto-optimal frontiers in highly nonlinear and nonconvex search spaces [49]. The algorithm operates through population-based stochastic search and is particularly well-suited for optimization problems where analytical gradients are unavailable and objective functions are defined via data-driven surrogate models. The implementation of NSGA-II in this study followed its standard elitist evolutionary procedure, which iteratively evolves a population of candidate solutions through selection, crossover, and mutation operations. At each generation, individuals in the combined parent and offspring population are sorted into non-dominated fronts based on Pareto dominance [50]. This non-dominated sorting mechanism enables the algorithm to prioritize solutions that are not outperformed in both objectives by any other solution in the population. To preserve diversity along the Pareto front and avoid premature convergence, a crowding distance metric is calculated for each individual, measuring the density of neighboring solutions in the objective space. This metric is then used to break ties among individuals of the same non-dominated rank during environmental selection. The reproduction phase employs a binary tournament selection mechanism, in which pairs of individuals are selected based on their dominance rank and crowding distance. Selected individuals undergo crossover using a simulated binary crossover (SBX) operator with a probability of 0.9, allowing for the controlled recombination of decision variable values [51]. Mutation is applied using a polynomial mutation operator with a mutation probability of 0.1, introducing variability into the population and enhancing global exploration capability. The bounds and constraint checks described in Section 3.3 were enforced after each variation step to ensure that all candidate solutions remained feasible with respect to the physical and operational constraints of the system. The algorithm was executed with a population size of 200 and allowed to evolve over 250 generations. These parameter values were selected based on empirical convergence tests and are consistent with configurations reported in previous engineering optimization literature. Additionally, an early stopping criterion was applied: if the hypervolume improvement dropped below 1% over 20 consecutive generations, evolution was halted. At each generation, the algorithm updated a dynamic archive of non-dominated solutions, constructing an increasingly accurate approximation of the Pareto front. This frontier, representing the set of trade-off-optimal solutions in the objective space, was visualized in two-dimensional cost-emission plots and analyzed further to identify critical inflection points, solution diversity, and convergence behavior. NSGA-II is based on the principle of Pareto dominance, where a solution x1 is said to dominate another solution x2 if all objective function values for x1 are equal to or better than those of x2, and at least one is strictly better. If neither dominates the other, they are considered non-dominated with respect to each other. The algorithm iteratively evolves populations of candidate solutions, applying crossover and mutation to generate diversity, and then uses non-dominated sorting and crowding distance-based selection to refine solution quality. The implementation of NSGA-II in this study followed a six-step procedure (illustrated in Figure 2[52]:  
1. Initialization: A random initial population P0P_0P0 of size 200 was generated within the feasible bounds of the five decision variables (X1-X5). 2.