## 6 Experiments
### Algorithms Configurations  
To collect statically significant results from the evaluation of the CI approaches, we decided to collect the log of 30 optimization runs. Each optimization run consisted of 50 iterations of the metaheuristic algorithm. This was to ensure the interpretability of the results and to verify if the use of different seeds can significantly change the outcome of the optimization process. At the end of the 30 optimization runs, we measured the average best value found by each approach to verify which one performed better in terms of the value of the objective function and sample efficiency. Delving into the configuration details of each metaheuristic, for the GA, we used a population of 128 randomly initialized individuals, an integer genotype space, a mutation operator implemented as an independent perturbation of all the individual's chromosomes sampled from a geometric distribution random variable with a probability of success of 50%, and an extended intermediate recombination operator controlled by a random variable with a uniform distribution in \([0.5,1.5]\)[74]. Moreover, we set a lower and an upper bound of 0 and 15, respectively. At each iteration, the GA generates the new population using a binary tournament selection mechanism, in which we applied the configured mutation and recombination. For PSO, we set a swarm size of 40 individuals randomly initialized in the float search space \([0,15]\) and the acceleration coefficients C1 and C2 to 2.05. Then, for QPSO, we configured a swarm of 40 individuals randomly initialized in \([0,15]\) and a contraction-expansion coefficient \(\alpha\) of 0.75. These particular parameter configurations have shown very promising results in different analyses made in the past [36; 75], so we decided to keep them also for this one. For GWO, we set the population size to 30 individuals and the same lower and upper bounds of 0 and 15. Then, a different configuration was used for MPSO, where we set the initial number of swarms to 4, each one with 50 individuals, and the maximum number of non-converging swarms to 3. Readers can find a summary table containing the configuration for each CI algorithm provided in Table 6. \begin{table}
\begin{tabular}{l l} \hline \hline
**Parameter/Setting** & **Description** \\ \hline General & \\ Optimization runs & 30 runs \\ Iterations per run & 50 iterations \\ Objective & Average best value and sample efficiency \\ Bounds & [0, 15] \\ \hline GA & \\ Population size & 128 individuals \\ Genotype & Integer \\ Mutation operator & Random perturbation \\ Mutation probability & Geometric random variable with a probability of success of 50\% \\ Recombination operator & Extended intermediate recombination \\ Recombination probability & Uniform random variable in \([0.5,1.5]\) \\ Recombination threshold & 40\% \\ Selection mechanism & Binary tournament \\ \hline PSO & \\ Swarm size & 40 individuals \\ Search space & Float \\ Acceleration coefficients C1 and C2 & 2.05 \\ \hline QPSO & \\ Swarm size & 40 individuals \\ Contraction–expansion coefficient (\(\alpha\)) & 0.75 \\ \hline GWO & \\ Population size & 30 individuals \\ Bounds & [0, 15] \\ \hline MPSO & \\ Initial swarms & 4 swarms \\ Individuals per swarm & 50 individuals \\ Maximum non-converging swarms & 3 \\ \hline \hline \end{tabular}
\end{table} 
Table 6: CI algorithms configuration for the experiments. Regarding the DRL algorithms, we implemented two different environments to address the different MDP formulations described above. Specifically, the DQN scans the entire allocation array sequentially twice for 156 time steps, while PPO uses a maximum of 200 time steps, which correspond to their respective episode length. Since the DQN implementation of Stable Baselines3 does not support the multi-discrete action space as PPO does, we chose this training model to ensure the training conditions were as similar as possible for both algorithms.