# GASP: Genetic Algorithms for Service Placement in Fog Computing Systems
## 4 Experimental Results
### Comparison of Evolutionary Strategies and Operators  
We now discuss how the considered evolutionary strategies and operators affect the performance of the genetic algorithm. In these analyses, we will consider two main metrics: the best value of \(\epsilon\) over the generations introduced in Section 4.2 (we recall that we run the algorithm for 300 generations), and the number of generations required to reach convergence, introduced in Section 4.3. For each of the  
Figure 6: Convergence analysis. two metrics, we record the average value over the 100 repetitions of the experiments and a confidence interval that accounts for \(\sim\)95% of the results. Table 3 shows the value of the considered metrics as a function of different evolutionary strategies, selection operators, mutation operators, and crossover operators. Each of these options has been introduced and described in Section 3. A first result from the values in the table is the confirmation of the main difference between the considered scenarios. When \(\delta\mu=0.01\) and \(\delta\mu=0.1\), the convergence occurs after just a few generations (typically right in the initial population) because the balancing part of the solution is reached easily; whereas, the network part, which receives the most benefit from population evolution, plays a minor role in the objective function. As a consequence, the impact of most considered options (that drive the evolution of the population) is reduced. On the other hand, the scenario with \(\delta\mu=1\) provides a more significant comparison of the alternatives. Also note that the best solution may depend on the scenario, as the inner nature of the problem may change as the balance in the contributions to the objective function shifts. Starting from the evolutionary strategies, we observe that both the simple strategy and the \(\mu+\lambda\) alternative provide similar results, both in terms of objective function value and in terms of convergence. However, due to the additional complexity of the \(\mu+\lambda\) strategy (that adds additional parameters to the algorithm). we consider the more straightforward simple strategy as the best option. Switching to the selection operators, we observe a major difference in the performance of the two alternatives (roulette and tournament selection). In the considered problem, the roulette selection tends to keep over the generations also unfit individuals, rather than purging them from the genetic pool. This hinders the convergence, as shown by the results of our experiments where the roulette selection is outperformed by the alternative in every considered scenario both in terms of \(\epsilon\) and in terms of number of generations for convergence. Indeed, the roulette selection provides a good behavior when there is a difference that spans order of magnitude in the objective function, which is unlikely to occur in this type of problem. The tournament operator, instead, provides a good ability in filtering individuals from a generation to the next, guaranteeing lower values of \(\epsilon\) (we recall that the best value of \(\epsilon\) is computed over the span of 300 generations; so, even if convergence occurs in the initial population, we may experience a positive impact of the strategy on the final value of \(\epsilon\)). If we consider mutation operators, we observe another effect of the changes in the problem nature with the different scenarios. For \(\delta\mu=0.01\) and \(\delta\mu=0.1\), the Shuffle operator is better, because it