## 2 Materials and Methods
### Proposed Algorithm  
In this study, the modification of the mQSO algorithm is proposed, in which the search operators from the differential evolution are applied. One of the most common DE search operators is the rand/1, in which the position of the individual is updated based on the position of three randomly chosen individuals with indexes r\({}_{1}\), r\({}_{2}\), and r\({}_{3}\), and the scaling factor \(F\). In this study this operator is applied as follows:  
\[\vec{v_{ni}}=\vec{x_{nr_{1}}}+F\Big{(}\vec{x_{nr_{2}}}-\vec{x_{nr_{3}}}\Big{)}, \tag{6}\]  
where \(F\) is the scaling factor parameter, usually within the \([0,\,1]\) interval, and \(\vec{v_{ni}}\) is the mutant solution for individual \(i\) in swarm \(n\).  
As some of the previous studies have shown, the DE is not very efficient compared to PSO in optimizing dynamically changing environments. This is mainly due to the much faster convergence of PSO-like algorithms. However, they often suffer from premature convergence, which is usually not the case for DE-based algorithms. Thus, in this study, the rand/1 operator is applied to the particles' positions with a small probability of \(P_{DE}\). There are two possible options for applying the rand/1 strategy within PSO, namely applying it to the current positions of particles, as in Equation (6), or to the personal best positions. In other words, the following equation can be applied instead:  
\[\vec{v_{ni}}=\vec{p_{nr_{1}}}+F\Big{(}\vec{p_{nr_{2}}}-\vec{p_{nr_{3}}}\Big{)}. \tag{7}\]  
Setting the proper value for the scaling factor \(F\) is one of the key problems in parameter adaptation methods for DE, as the method is highly sensitive to this value. In this study, the scaling factor parameter \(F\) was sampled using the Cauchy distribution with location parameter \(mF\) and scale parameter 0.1 (denoted as \(randc(mF,0.1)\)). The \(F\) value was generated until it fell within the \([0,\,1]\) interval. The usage of Cauchy distribution was originally proposed in the JADE [39] algorithm, where F values were tuned based on their successful application. Although the success-based adaptation of scaling factors is not considered in this study, sampling \(F\) values should allow for improving the search by increasing the diversity of generated trial solutions. The mF parameter, used as a location for Cauchy distribution, could be set to any value within \([0,\,1]\) to get different search properties.  
In differential evolution the mutation step is followed by crossover, in particular, the binomial crossover is usually applied with probability \(Cr\). The binomial crossover is described as follows:  
\[u_{nij}=\left\{\begin{array}{l}v_{nij}\;if\;rand(0,1)<Cr\;or\;j=rand\\ x_{nij}\;otherwise\end{array}\right., \tag{8}\]  
where \(jrand\) is a randomly chosen index from \([1,D]\).  
After crossover, in classical DE the selection operation is performed, where new solutions are remembered only if their fitness is better than the fitness of the corresponding parent. Unlike DE, in the proposed mQSDE algorithm the newly generated positions are always remembered independent of the fitness values.  
The pseudocode of the proposed mQSDE algorithm is shown in Figure 1.  
Figure 1: Pseudocode of the proposed mQSODE algorithm.