## 6 Numerical Experiments
### Solving the TOP with Our Agile Optimization Algorithm  
The proposed heuristic has been implemented using Java SE 8.0 and tested on a workstation with a multi-core processor Intel Xeon E5-2650 v4 with 16 cores and 32 GB of RAM. Each instance is run during 1 s using a different number of threads (from 1 to 128) to \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Instances** & **Solution** & **Time (s)** & **BKS Found** & **Instances** & **Solution** & **Time (s)** & **BKS Found** \\ \hline p1.2.b & 15 & 0.06 & YES & p2.2.a & 90 & 0.39 & YES \\ p1.2.c & 20 & 0.47 & YES & p2.2.b & 120 & 7.13 & YES \\ p1.2.d & 30 & 17.46 & YES & p2.2.c & 140 & 74.96 & YES \\ p1.2.e & 45 & 1372.59 & YES & p2.2.d & 160 & 209.65 & YES \\ p1.2.f & 80 & 3600.01 & YES & p2.2.e & 190 & 541.92 & YES \\ p1.2.g & 80 & 3600.01 & NO (BKS 90) & p2.2.f & 200 & 17.58 & YES \\ p1.2.h & 100 & 3600.01 & NO (BKS 110) & p2.2.g & 200 & 136.81 & YES \\ p1.2.i & 105 & 3600.01 & NO (BKS 135) & p2.2.h & 230 & 1016.16 & YES \\ p1.2.j & 135 & 3600.01 & NO (BKS 155) & p2.2.i & 230 & 3600.01 & YES \\ p1.2.k & 150 & 3600.01 & NO (BKS 175) & p2.2.j & 230 & 3600.01 & NO (BKS 260) \\ p1.2.l & 180 & 3600.01 & NO (BKS 195) & p2.2.k & 270 & 3600.01 & NO (BKS 275) \\ p1.2.m & 175 & 3600.01 & NO (BKS 215) & p2.3.a & 70 & 0.03 & YES \\ p1.2.n & 160 & 3600.01 & NO (BKS 235) & p2.3.b & 70 & 0.22 & YES \\ p1.2.o & 215 & 3600.01 & NO (BKS 240) & p2.3.c & 105 & 0.34 & YES \\ p1.2.p & 215 & 3600.01 & NO (BKS 250) & p2.3.d & 105 & 0.47 & YES \\ p1.2.q & 230 & 3600.01 & NO (BKS 265) & p2.3.e & 120 & 2.06 & YES \\ p1.2.r & 205 & 3600.01 & NO (BKS 280) & p2.3.f & 120 & 6.36 & YES \\ p1.3.c & 15 & 0.26 & YES & p2.3.g & 145 & 12.2 & YES \\ p1.3.d & 15 & 4.85 & YES & p2.3.h & 165 & 84.39 & YES \\ p1.3.e & 30 & 7.75 & YES & p2.3.i & 200 & 11.71 & YES \\ p1.3.f & 40 & 46.75 & YES & p2.3.j & 200 & 8.01 & YES \\ p1.3.g & 50 & 2818.14 & YES & p2.3.k & 200 & 23.77 & YES \\ p1.3.h & 70 & 3600.01 & YES & p2.4.a & 10 & 0.02 & YES \\ p1.3.i & 105 & 3600.01 & YES & p2.4.b & 70 & 0.02 & YES \\ p1.3.j & 105 & 3600.01 & NO (BKS 115) & p2.4.c & 70 & 0.16 & YES \\ p1.3.k & 115 & 3600.01 & NO (BKS 135) & p2.4.d & 70 & 0.14 & YES \\ p1.3.l & 125 & 3600.01 & NO (BKS 155) & p2.4.e & 70 & 0.17 & YES \\ p1.3.m & 165 & 3600.01 & NO (BKS 175) & p2.4.f & 105 & 0.28 & YES \\ p1.3.n & 165 & 3600.01 & NO (BKS 190) & p2.4.g & 105 & 0.55 & YES \\ p1.3.o & 165 & 3600.01 & NO (BKS 205) & p2.4.h & 120 & 1.34 & YES \\ p1.3.p & 175 & 3600.01 & NO (BKS 220) & p2.4.i & 120 & 3.21 & YES \\ p1.3.q & 220 & 3600.01 & NO (BKS 230) & p2.4.j & 120 & 5.89 & YES \\ p1.3.r & 210 & 3600.01 & NO (BKS 250) & p2.4.k & 180 & 17.61 & YES \\ p1.4.d & 15 & 0.95 & YES & - & - & - & - \\ p1.4.e & 15 & 3.88 & YES & - & - & - & - \\ p1.4.f & 25 & 7.75 & YES & - & - & - & - \\ p1.4.g & 35 & 11.54 & YES & - & - & - & - \\ p1.4.h & 45 & 165.71 & YES & - & - & - & - \\ p1.4.i & 60 & 759.26 & YES & - & - & - & - \\ p1.4.j & 75 & 2914.08 & YES & - & - & - & - \\ p1.4.k & 100 & 3600.01 & YES & - & - & - & - \\ p1.4.l & 120 & 3600.01 & YES & - & - & - & - \\ p1.4.m & 125 & 3600.01 & NO (BKS 130) & - & - & - & - \\ p1.4.n & 130 & 3600.01 & NO (BKS 155) & - & - & - & - \\ p1.4.o & 155 & 3600.01 & NO (BKS 165) & - & - & - & - \\ p1.4.p & 155 & 3600.01 & NO (BKS 175) & - & - & - & - \\ p1.4.q & 165 & 3600.01 & NO (BKS 190) & - & - & - & - \\ p1.4.r & 165 & 3600.01 & NO (BKS 210) & - & - & - & - \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Computational results for the \(p1\) and \(p2\) instances in CPLEX. evaluate the quality of the solution as the number of threads increases. Each thread was a different algorithm run, and each run used a different seed for the pseudo-random number generator. In this way, each thread explores a different path in the solution space--but always keeping the logic behind the constructive heuristic.