## 5 Dynamic Optimization of the Crowdsourcing Platform
### Dynamic Optimization Engine Based on Metric Indices
Then, as expected, a larger value of \(\Delta_{t}\) increases the processing time (Figure 16) and decreases the consensus percentage not only because the parameter control takes more time to correctly adjust the values but also because a higher ISP utilization creates a bottleneck between the peers and the server and therefore the tasks take more time to be processed. Therefore, a large value of \(\Delta_{t}\) delays the parameter adjustment and can affect the performance of the platform. On the other hand, a small value of \(\Delta_{t}\) changes the parameters of the platform more frequently, making the platform unstable (some tasks are solved with more peers than others, the routing algorithm can change every time interval, etc.). The results show that with a \(\Delta_{t}=\{2,4,8\}\) all approaches achieve high consensus, low ISP utilization, and small processing times. Additionally, using a small \(\Delta_{t}\) time interval increases the CPU time of the metric index-based dynamic optimization approach by 66%. In the case of the \(DQL\), the CPU time increases four times with the smallest \(\Delta_{t}=2\). In other words, using small intervals allows one to obtain good estimates for the metrics evaluated at the cost of a longer simulation execution time. However, as shown in previous sections (in Figure 11), the execution time of the simulations is close to 100 s.

Figure 16: Processing time obtained with different control interval values. Figure 15: Consensus percentage obtained with different control interval values. #### 7.4.1 Constants \(R_{1}\), \(R_{2}\), and \(R_{3}\)

In this section, we evaluate the impact of the constants \(R_{1}\), \(R_{2}\), and \(R_{3}\) that multiply the groups of variables in the vectors of the metric index. To this end, we use a ratio, \(RangeMult\). If \(RangeMult=10\), then, in stressful situations, \(R_{1}=100\), \(R_{2}=1\), and \(R_{3}=10\). If the situation is not stressed, \(R1=100\), \(R_{2}=10\), and \(R_{3}=1\). To assess the influence of \(RangeMult\), we search for 1000 vectors in the index using different values of \(RangeMult=\{0.5,1,2,5,10\}\), for situations with and without stress. Figure 17 shows the distance between the subset of elements of the configuration vectors. That is, given a search vector \(V_{s}\), the index searches the top-\(k\) closest configuration vector to \(V_{s}\). Then, we report the distance between the subset formed of the non-controllable parameters of \(V_{s}\) and the non-controllable parameters of the top-\(k\) vectors (blue bars). We also report the distance between the subset formed of the controllable parameters of \(V_{s}\) and the controllable parameters of the top-\(k\) vectors (dark green bars). Finally, we report the distance between the subset formed of the metrics of \(V_{s}\) and the metrics of the top-\(k\) vectors (light green bars). The \(x\)-axis indicates that the evaluated scenario is under stress, 1, or without stress, 0. To retrieve configuration vectors that match the non-controllable parameters, it is expected to obtain the smallest distances between the values of this subset of elements of search vector \(V_{s}\) and the top-\(k\) vectors. That is, we want to retrieve configurations with similar arrival rates and numbers of volunteers as in the current situation. In Figure 17, we show this is true when \(RangeMult\geq 1\), since the blue bars report the lowest average distance. In non-stress situations, it is expected that the distance reported by the subset of controllable parameters is less than the distances of the subset of metrics. On the other hand, under stress situations, it is expected that the distances of the subset of metrics is less than the distances reported by the subset of controllable parameters. This is fulfilled when \(RangeMult\geq 2\). With larger values of \(RangeMult\) this tendency is amplified. Therefore, to grant the appropriate priority to each subset of variables in stress and non-stress situations, we have to set \(RangeMult\geq 1\).