## 4 Results
### Comparative Analysis of Local Search Operators
#### 4.2.1 Performance Analysis on Small-Sized Instances (\(n=100\))  
The results for small-sized instances (\(n=100\)) are presented in this section, focusing on the performance of four local operator configurations within the Whale Optimization Algorithm. Table 2 shows the maximum and average values obtained for each configuration, along with the average computation times and standard deviations. Statistical significance among the configurations was evaluated using the Kruskal-Wallis test, confirming the significant differences (\(p<0.05\)) in both the average and maximum results. Notably, a higher max_value indicates that a configuration is capable of finding superior solutions under optimal conditions, while a lower standard deviation in computation time reflects a more consistent performance across multiple runs. These characteristics are particularly important for the knapsack problem, as they suggest that configurations with high max_value and low variability can deliver more reliable and predictable outcomes in practical applications. Pairwise comparisons between configurations are detailed in Table 3, where the post hoc [PERSON]'s test was applied. This analysis identifies statistically significant differences between specific operator pairs. For example, the significant \(p\)-values observed between the \"Add\" and \"All Operator\" configurations suggest that integrating multiple operators enhances the algorithm's capacity to both explore new regions of the solution space or exploit promising areas of the current solution. Similarly, the significant differences between the \"All Operator\" and \"Drop\" configurations indicate that relying solely on removal operations limits the search dynamics, whereas a combined approach fosters a more balanced and effective search strategy. These results highlight the superior performance of the \"All Operator\" configuration. In contrast, no significant differences were observed between the \"Add\" and \"Swap\" configurations, suggesting similar behavior in these instances. Figure 2 provides a visual summary of the %GAP results for different local operator configurations applied to the instances with \(n=100\). The violin plots in the top row illustrate the distribution and variability of %GAP values for averages and maximums across the \"Add\", \"Swap\", \"All Operator\", and \"Drop\" configurations. The violin plots reveal that the \"All Operator\" configuration not only achieves a higher median performance but also exhibits a narrower spread, indicating more consistent results across runs. This consistency is further corroborated by the scatter plots, which show lower variability in the %GAP values relative to the best-known solution for the \"All Operator\" configuration. These observations underscore the robustness and reliability of the \"All Operator\" strategy in achieving superior performance. The scatter plots in the bottom row compare the %GAP values for the averages (left panel) and maximums (right panel) relative to the best-known solution. These plots reveal trends in the operator performance across different problem instances, showing that the \"All Operator\" configuration has both superior performance and lower variability compared to the other configurations. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Comparison** & **Avg \(p\)-Value** & **Max \(p\)-Value** & **Avg Sig.** & **Max Sig.** \\ \hline Add vs. All Operator & \(1.56\times 10^{-9}\) & \(3.88\times 10^{-4}\) & Yes & Yes \\ Add vs. Drop & \(1.00\) & \(1.00\) & No & No \\ Add vs. Swap & \(1.78\times 10^{-9}\) & \(6.29\times 10^{-4}\) & Yes & Yes \\ All Operator vs. Drop & \(6.90\times 10^{-10}\) & \(1.40\times 10^{-3}\) & Yes & Yes \\ All Operator vs. Swap & \(1.43\times 10^{-6}\) & \(1.65\times 10^{-5}\) & Yes & Yes \\ Drop vs. Swap & \(7.89\times 10^{-10}\) & \(2.20\times 10^{-3}\) & Yes & Yes \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Post hoc Dunn’s test results for pairwise comparisons between the operators (\(n=100\)).