## 7 Analysis of Results  
The BKS is obtained in sets \(p1\) and \(p2\) at least in 75% of the instances (Figure 4). It is obtained even when using a reduced number of threads (between 1 and 8 in many cases). Set \(p3\) achieved this outstanding performance in at least 50% of the instances, and sets \(p5\), \(p6\), and \(p7\) in 25% of them. Figure 4 shows gaps for experiments with 128 threads.  
Set \(p4\) deserves special attention due to its topology and size (number of nodes, node locations, and rewards). Indeed, it was the most challenging benchmark proposed by [PERSON] et al. [39]. No matter the number of vehicles and the maximum driving range, the resulting gap percentage is higher than the rest of the sets, with a mean value close to 8%. It can also be observed that the larger the size of the instance, the larger the mean gap can be; instances in sets \(p4\) and \(p7\) have a larger percentage gap (8% and 5%, respectively). Nevertheless, it is also noticeable that the overall percentage gap across the 354 tested instances is just 3%, which is an outstanding result if one considers that it is obtained in less than one second (see Tables 3 and 4). In 54% of the instances, the BKS is achieved by using a reduced number of threads.  
\begin{table}
\begin{tabular}{c c c c c c c c c c c c} \hline \hline \multirow{2}{*}{**Instance**} & \multicolumn{3}{c}{**BKS ([51])**} & \multicolumn{8}{c}{**Our Best Solution (OBS)**} & \multirow{2}{*}{**Gap (\%)**} \\ \cline{2-2} \cline{4-11}  & **Reward** & **Time** & & & & & & & & & & **[a] \(-\) [b]** \\ \cline{2-2} \cline{4-11}  & **[a]** & **[b]** & **[c]** & **Thr\({}_{1}\)** & **Thr\({}_{2}\)** & **Thr\({}_{4}\)** & **Thr\({}_{8}\)** & **Thr\({}_{16}\)** & **Thr\({}_{32}\)** & **Thr\({}_{64}\)** & **Thr\({}_{128}\)** & **Time** & **[a] \(-\) [b]** \\ \hline p2.4.b & 70 & 1.00 & 70 & 70 & 70 & 70 & 70 & 70 & 70 & 0.13 & 0 \\ p2.4.c & 70 & 2.00 & 70 & 70 & 70 & 70 & 70 & 70 & 70 & 0.94 & 0 \\ p2.4.d & 70 & 2.00 & 70 & 70 & 70 & 70 & 70 & 70 & 70 & 0.41 & 0 \\ p2.4.e & 70 & 2.00 & 70 & 70 & 70 & 70 & 70 & 70 & 70 & 0.29 & 0 \\ p2.4.f & 105 & 1.00 & 105 & 105 & 105 & 105 & 105 & 105 & 105 & 105 & 0.62 & 0 \\ p2.4.g & 105 & 1.00 & 105 & 105 & 105 & 105 & 105 & 105 & 105 & 0.74 & 0 \\ p2.4.h & 120 & 1.00 & 120 & 120 & 120 & 120 & 120 & 120 & 120 & 0.73 & 0 \\ p2.4.i & 120 & 1.00 & 120 & 120 & 120 & 120 & 120 & 120 & 120 & 120 & 0.66 & 0 \\ p2.4.j & 120 & 1.00 & 120 & 120 & 120 & 120 & 120 & 120 & 120 & 0.31 & 0 \\ p2.4.k & 180 & 1.00 & 180 & 180 & 180 & 180 & 180 & 180 & 180 & 0.81 & 0 \\ \hline Average: & 140.45 & 1.43 & 139.55 & 139.55 & 139.70 & 139.70 & 140.30 & 140.30 & 140.30 & 140.30 & 0.49 & 0.11 \\ \hline \hline \end{tabular}
\end{table}
Table 4: \(Cont.\)  
Figure 4: Gaps with respect to the BKS using agile optimization algorithms with 128 threads.  
Regarding the computational times to reach our best solutions (\(OBS\)), Figure 5 depicts a boxplot comparing the average computational time--in seconds--invest by our approach in each set, with respect to the computational times used in [51] to reach the BKS. These times are very competitive compared to the average times required to obtain the BKS, approximately 36 s. Notice that by investing an average time of 0.53 s, we obtain an average gap of less than 2.60%, proving that our approach is highly competitive to be used under real-time scenarios. Notice that if we execute our approach serially, we would need, in the worst case, 128 s to reach the same results. Therefore, the benefits of using parallel techniques when dealing with real-time scenarios with a highly dynamic scenario are necessary.  
Finally, Figure 6 illustrates how our agile optimization approach can reduce the gap with respect to the BKS; increasing the number of parallel threads reduces the gap between found solutions and the BKS without increasing the wall-clock time, which is always limited to 1 s.  
Figure 5: Computational times of our approach with respect to the computational times to reach the BKS.