## 3 Proposed ATMALS-GSK Algorithm
### Atmals-Gsk
#### 3.2.1 Adaptive \(K\)
\begin{table}
\begin{tabular}{c c c c} \hline \hline \(\mathbf{K}\) & \(\mathbf{G}\) & \(\mathbf{D}\) (Junior) & \(\mathbf{D}\) (Senior) \\ \hline \multirow{6}{*}{0.5} & 0 & 100 & 0 \\  & 0.25 _MaxGen_ & 87 & 13 \\  & 0.5 _MaxGen_ & 71 & 29 \\  & 0.75 _MaxGen_ & 50 & 50 \\  & _MaxGen_ & 0 & 100 \\ \hline \multirow{6}{*}{1} & 0 & 100 & 0 \\  & 0.25 _MaxGen_ & 75 & 25 \\  & 0.5 _MaxGen_ & 50 & 50 \\  & 0.75 _MaxGen_ & 25 & 75 \\  & _MaxGen_ & 0 & 100 \\ \hline \multirow{6}{*}{2} & 0 & 100 & 0 \\  & 0.25 _MaxGen_ & 56 & 44 \\  & 0.5 _MaxGen_ & 25 & 75 \\  & 0.75 _MaxGen_ & 6 & 94 \\  & _MaxGen_ & 0 & 100 \\ \hline \multirow{6}{*}{5} & 0 & 100 & 0 \\  & 0.25 _MaxGen_ & 24 & 76 \\ \cline{1-1}  & 0.5 _MaxGen_ & 3 & 97 \\ \cline{1-1}  & 0.75 _MaxGen_ & 1 & 99 \\ \cline{1-1}  & _MaxGen_ & 0 & 100 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Comparison of the number of junior and senior dimensions for different values of \(K\) (problem size = 100). After fitness evaluation for all individuals at every generation \(G\), a Gaussian enhancement rate is applied to the different values of \(K\) as follows:  
\[ER(K_{VALUES},G)=\left\{ \begin{array}{ll}GF(K_{sel})\times\exp\left(-\frac{F_{ new}-F_{old}}{F_{old}}\right)&if\ F_{new}<F_{old}\\ 0&if\ F_{new}=F_{old}\\ (1-GF(K_{sel}))\times\exp\left(-\frac{F_{new}-F_{old}}{F_{old}}\right)&if\ F_{ new}>F_{old}\end{array} \right. \tag{3}\]  
where \(F_{new}\) and \(F_{old}\) are the average fitness (cost) values of the top 50% of the population in the current generation \(G\) and previous generation \(G-1\), respectively. Furthermore, \(G\) is the current generation (iteration), and \(GF(K_{sel})\) is a Gaussian function with a central point at the current selected value of \(K\) (i.e., \(K_{sel}\)) and standard deviation (STD) of \(\delta\), which can be calculated as follows:  
\[GF(K_{sel})=\exp\left(-\frac{(K_{VALUES}-K_{sel})^{2}}{2(\delta\times(max(K_{ VALUES})-min(K_{VALUES})))^{2}}\right) \tag{4}\]  
where \(K_{sel}\) is the current selected value of \(K\) (peak of the Gaussian function), and \(K_{VALUES}\) are the discretized values of \(K\) within [5; 30], i.e., \(K_{VALUES}\) = {5, 6, 7,..., 30}. In our experiments, we specified the STD of the Gaussian distribution as \(\delta\) = 0.05 \(\times\) (\(max(K_{VALUES})\) - \(min(K_{VALUES})\)). As an example for \(K_{sel}\) = 5, \(GF(K_{sel})\) with different STDs can be illustrated as Figure 5.  
Accordingly, the selection probability for each value \(v\) for \(K\) at generation \(G\) is calculated according to the weighted moving average of the Gaussian enhancement rates at the previous generations, which can be formulated as follows:  
Figure 5: Gaussian function multiplication factor on the current value of \(K\), with different STDs. \[ \begin{split} Prob(K_{VALUES},G)&=\frac{\sum\limits_{t=1}^{G} \alpha tER(K_{VALUES},G-t)}{\sum\limits_{t=1}^{G}\alpha^{t}}\\ &=\frac{\alpha ER(K_{VALUES},G-1)+\alpha^{2}ER(K_{VALUES},G-2)+ \ldots+\alpha^{G}ER(K_{VALUES},0)}{\alpha+\alpha^{2}+\ldots+\alpha^{G}}\end{split}  \tag{5}\]  
In Equation (5), \(\alpha\) is a constant (\(0<\alpha\leq 1\)), which tunes the exponential type in the moving average method. The maximum value of \(\alpha=1\) means simple averaging is applied to the previous enhancement rates. The higher the value of \(\alpha\), the more previous generations will be accounted for in the calculations. Typically, this parameter is set close to 1 [48]. An example considering \(\alpha=0.97\) is illustrated in Figure 6.  
At every generation during the optimization process, once the probability of the different values of \(K\) is computed according to their historical contributions to fitness improvement, a powered RWS mechanism is applied to guide the choice of \(K\) for the next update.