## 4 Discussion

Table 15: Change statistics, selection criteria, autocorrelation, and collinearity screening for fitting the average permeate flux (\(\mathrm{J_{P}}\)) (IBM SPSS v.29). To synchronously find an optimal solution for the three quality responses, two MATLAB (R2024a) procedures were employed: (1) the genetic algorithm module for multi-objective optimization (\"gamultiobj\") and (2) the \"paretosearch\" solver. Both modules require that the objective functions be in the form of functions that collectively must be setup to be minimized. To conveniently proceed with this phase, Equations (1)-(3) from the \"Results\" section will be utilized. Since the responses of the average permeate flux and the COD rejection rate are intended to be maximized, the initialized objectives that enter the minimization MATLAB procedures of the \"gamultiobj\" and \"paretosearch\" solvers should be simply transformed to their inverse responses, \(1/\mathrm{J_{p}}\) and \(1/\mathrm{COD}\), respectively, in order to fit in the host (platform) minimization scheme. The generated 3D Pareto fronts, after running the two procedures, are shown in Figure 11. On the labeled axis of the two graphs, \"Objective(1)\" and \"Objective (2)\" are the modified responses, \(1/\mathrm{J_{p}}\) and \(1/\mathrm{COD}\), respectively, which are computed from Equations (1) and (2). \"Objective(3)\" is simply the SFD response, which is taken unchanged from Equation (3). The spread of the three-way objective scores does not show exactly the same pattern for the two solvers. However, there is an area in both 3D solution spaces that both solvers agree on. To refine the solution space, the three 2D Pareto fronts are drawn in Figure 12 for the \"gamultiobj\" solver version. It is discerned that for the relationships of Objective(1) vs. Objective(2), Objective(2) vs. Objective(3), and Objective(2) vs. Objective(1), a reasonable front outcome could, respectively, be (1) (3.5, 0.02), (2) (2, 0.019), and (3) (0.02, 0.019). It appears that favorable output values would be translated to \(\mathrm{J_{p}}\sim\) 50 L/(m\({}^{2}\)h), COD \(\sim\) 50%, and SDF \(\sim\) (2, 3.5). The solution that more closely compromises all three responses, given the fact that \(\mathrm{J_{p}}\) and SFD are positively correlated but also are constrained by opposite optimization goals, is described by run #6: TMP = 2.0 bar, CFV = 1.041 m/s, T = 15 \({}^{\circ}\)C, and MWCO = 50 kDA. Likewise, the three 2D Pareto front profiles, using the \"paretosearch(0)\" solution, are shown in Figure 13. Basically, the outcome solution this time is (1) (3.5, 2), (2) (2.5, 0.0185), and (3) (0.02, 0.0175). By inverting the Objective(1) and Objective(2) scores for \(\mathrm{J_{p}}\) and COD, respectively, the solution again matches the one dictated by run #6. Figure 11: Three-objective Pareto front generated by: (**A**) the “gamultiobj(0)” module and (**B**) the “pare-tosearch0” solver (MATLAB R2024a). On the axis, the labels stand for the minimized Objective(1)—\(1/\mathrm{J_{p}}\), Objective(2)—\(1/\mathrm{COD}\), and Objective(3)—\(\mathrm{SFD}\). Figure 12: _Cont._  
Figure 12: Three 2D Pareto front profiles generated by the “gamultiobj(0)” module (MATLAB R2024a): (A) Objective(1) vs. Objective(3), (B) Objective(2) vs. Objective(3), and (C) Objective(2) vs. Objective(1). Figure 13: _Cont._