## 4 Computational Experiments
### Comparison between HGA and Multi-Objective Optimization Model  
We consider 15 test problem instances with variations in the number of nodes. These fall into three categories: 10, 15, and 20 nodes. Five problem sets are generated randomly for each category. Each test set includes the coordinates of the nodes along with the target and current inventories for each node. The coordinates range from 0 to 100 for both \(X\) and \(Y\), and the initial inventories are randomly selected between 0 and 20. The target inventories are set between \(-10\) and 20, and we do not require the sum of target inventories for all stations to equal one, which represents a case of demand overcapacity. For these sample problem sets, HGA terminates its search after 1000 generations of evolution. Figure 4: Mutation operation in the hybrid genetic algorithm. Figure 3: Crossover operation in the hybrid genetic algorithm. We observe that the MOOP provides only one solution to a multi-objective problem, whereas the HGA provides the Pareto frontier. Although a multi-objective approach is applied to the MOOP, it yields only one solution. Figure 5 illustrates the results of the comparison between the HGA and MOOP across three randomly selected problem sets with different numbers of nodes. In Figure 5, the HGA is represented by dots, and the MOOP is represented by crosses. As the figure shows, the MOOP produces only a single solution for each problem. The HGA consistently outperforms the MOOP across all sample problem sets. For instance, in Figure 5, analyses of the problem sets with 10, 15, and 20 nodes indicate that the MOOP solution falls short of the Pareto frontier achieved by the HGA. These comparisons are based on the HGA results, which may not fully converge because of the relatively short generation count of 1000. Our numerical experiments are performed on a Mac M1, and the experimental results, including the total computation times, are summarized in Table 2. In the HGA, five iterations are executed to obtain a unified frontier for each test problem. The final unified frontier is the selection of nondominated solutions from all iterations. Although the HGA finishes its search after exactly 1000 generations, the processing time fluctuates with each iteration. The processing times presented in Table 2 represent the average across five iterations. Meanwhile, in the 'Distance' and 'Net Dev.' columns corresponding to the HGA solutions in the table, one representative solution that effectively demonstrates the dominance is selected from the frontier and displayed. \begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline
**Problem** & \multicolumn{3}{c}{**HGA: Hybrid Genetic Algorithm**} & \multicolumn{3}{c}{**MOOP: Multi-Obj. Optimization Problem**} & **Dominant** \\ \cline{2-7}
**Set** & **Distance** & **Net Dev.** & **Comp. Time** & **Distance** & **Net Dev.** & **Comp. Time** & **Model** \\ \hline
10-1 & 162.74 & 5 & 2040.60 s & 192.66 & 36 & 0.99 s & HGA \\
10-2 & 156.83 & 28 & 2828.13 & 172.47 & 56 & 0.83 & HGA \\
10-3 & 159.15 & 24 & 2882.46 & 189.63 & 69 & 0.69 & HGA \\
10-4 & 161.29 & 24 & 2055.52 & 162.24 & 25 & 0.64 & HGA \\
10-5 & 154.21 & 20 & 2059.67 & 174.55 & 22 & 0.32 & HGA \\ \hline
15-1 & 203.01 & 53 & 2147.46 s & 226.80 & 108 & 23.22 s & HGA \\
15-2 & 194.84 & 45 & 2153.18 & 195.47 & 46 & 6.98 & HGA \\
15-3 & 181.90 & 22 & 2156.78 & 214.55 & 28 & 9.10 & HGA \\
15-4 & 176.17 & 30 & 2161.22 & 194.71 & 64 & 6.39 & HGA \\
15-5 & 167.30 & 34 & 2150.69 & 204.46 & 62 & 7.68 & HGA \\ \hline
20-1 & 196.67 & 57 & 2187.43 s & 204.88 & 76 & 28.79 s & HGA \\
20-2 & 198.11 & 32 & 2171.75 & 243.34 & 24 & 39.84 & HGA \\
20-3 & 206.02 & 40 & 2178.64 & 222.42 & 83 & 22.94 & HGA \\
20-4 & 257.13 & 71 & 2166.75 & 274.52 & 98 & 35.39 & HGA \\
20-5 & 192.24 & 20 & 2166.94 & 215.82 & 59 & 29.97 & HGA \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Comparison summary between HGA and MOOP on sample problem sets. Figure 5: Comparison of performance between the hybrid genetic algorithm and multi-objective optimization model.