# A Modified Artificial Bee Colony Algorithm Based on the Self-Learning Mechanism
## 3 SLABC Algorithm
### The Modified Solution Search Equations  
To solve the optimization problem, the intelligent optimization algorithm should combine global search methods with local search methods to balance exploration and exploitation. However, exploration strategies and exploitation strategies contradict each other and one SSE in ABC algorithm cannot balance two aspects. Therefore, this paper proposes an achievable ABC algorithm which uses five SSEs as the candidate operator pool.  
Following the classical ABC algorithm, SLABC employs the original SSE as the first search equations to improve exploration of SLABC algorithm.  
\[v_{i,j}=x_{i,j}+c_{1}(x_{i,j}-x_{r1,j}) \tag{9}\]  
where \(r1\in\{1,2,...,SN\}\) and \(j\in\{1,2,...,D\}\) are randomly chosen indexes; \(r1\) is different with \(i\); \(c_{1}\) is a random number in the range \([-1.0,1.0]\).  
Figure 1: An example of 1000 steps of a Lévy flight in two dimensions. The origin of the motion is at [0,0], the step-size is generated according to Equation (5) with \(\beta=1.5\) and the angular direction is uniformly distributed.  
To improve exploitation, the second SSE introduces the global best solution to guide the new candidate solutions towards the global best solution.  
\[v_{i,j}=x_{i,j}+c_{2}(x_{gbest}-x_{i,j}) \tag{10}\]  
where \(x_{gbest}\) is the global best solution. Generally speaking, there may be a better solution around the global best solution; therefore, we set random number \(c_{2}\) in the range \([0.75,1.25]\).  
The Equation (9) is good at exploration and Equation (10) is good at exploitation, therefore to well balance exploration and exploitation, the third SSE combine the two equations as follows.  
\[v_{i,j}=x_{i,j}+c_{3}(x_{i,j}-x_{r2,j})+c_{4}(x_{gbest}-x_{i,j}) \tag{11}\]  
where \(r2\in\{1,2,...,SN\}\) are randomly chosen indexes and \(r2\) is different with \(i\); \(c_{3}\in[-0.5,0.5]\) and \(c_{4}\in[0.5,1.5]\) are random numbers.  
It seems that the global optimal solution is most likely around the best solution of the previous iteration. Therefore, the fourth SSE is the same with the one proposed in MABC algorithm which is based on that the bee searches only around the best solution of the previous iteration to improve the exploitation.  
\[v_{i,j}=x_{gbest}+c_{5}(x_{7,3,j}-x_{7,4,j}) \tag{12}\]  
where \(r3\) and \(r4\) are mutually different random integer indices selected from \(\{1,2,...,SN\}\); \(c_{5}\) is a random number in the range \([-0.5,0.5]\).  
Because the above four SSEs are based on the current solutions, when the present solutions converge to the similar point or are trapped in local optimum, the above SSEs cannot escape from the local minimum effectively. Therefore, this paper introduces Levy flight step-size to the last SSE to solve this problem.  
\[v_{i,j}=x_{i,j}+s \tag{13}\]  
where \(s\) is the Levy flight step-size which can be calculated in Equation (5).  
Different from the GABC, MABC algorithm, the range of the weight \(c_{3}\), \(c_{4}\), \(c_{5}\) in Equations (11) and (12) with the \(g_{best}\) term are all reduced and the interval length are set to 1. Therefore, the new generated candidate solution can be in a smaller range and the accuracy of the solution will be improved. Moreover, to make the candidate solution nearer to the global best solution, the range of the weight \(c_{2}\) in Equation (10) is further reduced and interval length are set to 0.5.  
After all the employed (onlooker) bees produce the new candidate solutions using the improved SSEs, then, a greedy selection mechanism is used to select a better solution between \(x_{i}\) and \(v_{i}\).