# A Modified Artificial Bee Colony Algorithm Based on the Self-Learning Mechanism
## 5 Discussion  
In the previous sections, comparative results of ABC, GABC, MABC and distABC were presented. In this section, we offer a thorough analysis on the proposed SLABC algorithm and all the algorithms were tested using the same parameters with Section 4. When constructing the SSE, the value range of the coefficients were adjusted to improve the performance of the SLABC algorithm. This section constructed two SLABC algorithm variants (SLABC1, SLABC2) and experiments on a set of 6 benchmark functions were carried out to clearly show how these coefficients influence the performance in various optimization problems. In SLABC1, the value range of the coefficient \(c_{1},c_{2},c_{3},c_{4},c_{5}\) are reduced to half of the corresponding value range in SLABC. In SLABC2, the value range of the coefficient \(c_{1},c_{2},c_{3},c_{4},c_{5}\) are increased to double of the corresponding value range in SLABC. The new generated candidate solutions can appear in a large range using the SLABC2 algorithm and can appear in a small range using the SLABC1 algorithm. From Table 6, the SLABC2 is worse than SLABC and SLABC1, which shows that the increased value range reduced the performance of the SLABC algorithm. Moreover, SLABC is better than SLABC1 except function \(f_{4}\), which means that too small value range can reduce solution accuracy. Through the analysis of experimental data, the changes of the value range can influence the performance of SLABC algorithm and only the appropriate value range can generate the better solutions. Five SSEs are used to solve the optimization problem and each SSE has different effect. For example, the fifth SSE with Levy flight step-size can help the artificial bees escape from the local optimum effectively. However, when solving the optimization problem of unimodal function, the fifth SSE is ineffective. This section constructed another SLABC algorithm variants (SLABC3 without the fifth SSEs) to illustrate the effect of such combination. As can be seen from Table 6, SLABC3 obtained the better solution than SLABC on the unimodal functions \(f_{1},f_{2},f_{3}\). Therefore, we can choose combination of different SSEs to solve different optimization problems in the future applications. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Functions** & **Dim.** & **F-Value** & \(\mathbf{p}\)**-Value** & **Significance** & **Two-Tailed P** \\ \hline \multirow{4}{*}{\(f_{3}\)} & D = 30 & 22.624 & \(1.85\times 10^{-11}\) & YES & 0.05 \\  & D = 60 & 30.264 & \(4.25\times 10^{-12}\) & YES & 0.05 \\  & D = 100 & 16.090 & \(1.85\times 10^{-9}\) & YES & 0.05 \\ \hline \multirow{4}{*}{\(f_{4}\)} & D = 30 & 11.457 & 0.065 & NO & 0.05 \\  & D = 60 & 11.308 & 0.086 & NO & 0.05 \\  & D = 100 & 11.565 & 0.700 & NO & 0.05 \\ \hline \multirow{4}{*}{\(f_{5}\)} & D = 30 & - & - & SAME & 0.05 \\  & D = 60 & 23.119 & 0.013 & YES & 0.05 \\  & D = 100 & 70.236 & \(2.52\times 10^{-11}\) & YES & 0.05 \\ \hline \multirow{4}{*}{\(f_{6}\)} & D = 30 & - & - & SAME & 0.05 \\  & D = 60 & 10.391 & 0.039 & YES & 0.05 \\  & D = 100 & 5.069 & 0.251 & NO & 0.05 \\ \hline \multirow{4}{*}{\(f_{7}\)} & D = 30 & 44.281 & \(2.27\times 10^{-9}\) & YES & 0.05 \\  & D = 60 & 34.994 & \(1.13\times 10^{-15}\) & YES & 0.05 \\  & D = 100 & 26.974 & \(8.50\times 10^{-16}\) & YES & 0.05 \\ \hline \multirow{4}{*}{\(f_{8}\)} & D = 30 & - & - & SAME & 0.05 \\  & D = 60 & 4.813 & 0.288 & NO & 0.05 \\  & D = 100 & 14.296 & 0.028 & YES & 0.05 \\ \hline \multirow{4}{*}{\(f_{9}\)} & D = 30 & - & - & SAME & 0.05 \\  & D = 60 & 23.131 & \(8.40\times 10^{-5}\) & YES & 0.05 \\ \cline{1-1}  & D = 100 & 27.521 & \(4.32\times 10^{-7}\) & YES & 0.05 \\ \hline \hline \end{tabular}
\end{table} 
Table 5: _Cont._In order to avoid the interference between the early stage and the latter stage, SLABC algorithm divides the whole optimization process into two stages. We can divide the optimization process into much more stages to further reduce interference between each stage.