A Modification Artificial Bee Colony Algorithm for Optimization Problems

This paper presents a modified artificial bee colony algorithm (MABC) for solving function optimization problems and control of mobile robot system. Several strategies are adopted to enhance the performance and reduce the computational effort of traditional artificial bee colony algorithm, such as elite, solution sharing, instant update, cooperative strategy, and populationmanager.The elite individuals are selected as onlooker bees for preserving good evolution, and, then, onlooker bees, employed bees, and scout bees are operated.The solution sharing strategy provides a proper direction for searching, and the instant update strategy provides the newest information for other individuals; the cooperative strategy improves the performance for high-dimensional problems. In addition, the population manager is proposed to adjust population size adaptively according to the evolution situation. Finally, simulation results for optimization of test functions and tracking control of mobile robot system are introduced to show the effectiveness and performance of the proposed approach.

Although the ABC algorithm benefits from the aforementioned advantages, it has some disadvantages of accuracy and slow convergent speed.Herein, we propose the modified artificial bee colony (MABC) algorithm to improve the performance of optimization.For the initialization, there is no way to select the population size for solving current problem.Having more individuals can extend the searching space and increase the probability of finding global optimization solution; however, it costs much time in each generation; oppositely, it may obtain a local minimum.In this paper, a population manager is introduced to adjust population size according to the evolution status.In addition, the ABC algorithm convergent speed is slow for highdimensional problem.Herein, we adopted a cooperative strategy to improve it [25][26][27].Besides, the elite individuals are assigned as the onlooker bees for preserving good evolution, solution sharing, and instant update strategies provide a proper searching direction.We utilize these strategies in MABC algorithm to improve the performance of optimization accuracy.Finally the illustrated examples for function optimization are introduced to show the effectiveness and performance of the proposed MABC algorithm.As a result, we use the MABC algorithm to find the proper parameters of PID neural networks which generate the control sequences for tracking control of a mobile robot system.
The rest of this paper is as follows.Section 2 introduces the proposed modified artificial bee colony (MABC) algorithm.The discussion and analysis of illustrated examples for 2 Mathematical Problems in Engineering test functions are shown in Section 3. Finally, the conclusion is given.

Modified Artificial Bee Colony (MABC) Algorithm
The artificial bee colony (ABC) algorithm was proposed for parameters optimization which simulates the foraging behavior of bee colony [14,15].It consists of three kinds of bees: employed bees, onlooker bees, and scout bees.This paper introduces the modifications of ABC to improve the performance of optimization, including elite, solution sharing, instant update, cooperative strategy, and population manager strategies.Figure 1 shows the flowchart of the proposed MABC algorithm; it contains initialization, evaluation, and ranking, onlooker bees with solution sharing, employed bees with solution sharing, instant update embedded selection, scout bees, cooperative strategy, and population manager phases.Detailed description is introduced as follows.
At first, the optimization problem is formulated as minimize  () where () is the objective function,  is the parameters,   and   are the corresponding upper and lower bound vectors, respectively, and  is the problem dimension.Herein, each individual (or bee)  represents a solution agent.Before starting the MABC algorithm, the following parameters of the MABC algorithm should be also set here.The population size is adjusted by the current evolution results for each generation;   denotes the current population size.Since the ABC algorithm consists of two groups of bees, we set minimum population size as two; in order to avoid unlimited increase, the maximum population size should be predefined.In addition, we must select the maximum generation  to be the stop criterion.As above, we define   as the number of onlooker bees,   as the number of employed bees,  as the update number in selection,  as false searching number, and  as generation (or iteration) index.

Initialization Phase.
Herein, each individual (or bee)  represents a solution agent and is initialized randomly from the search space .

Evaluation Phase. This phase calculates the objective function values of all individuals
; that is, it evaluates the corresponding performance.Our goal is to minimize the objective value; according to (  ), the fitness value is defined as which is adopted for onlooker bees operation.

Onlooker Bees Phase.
In nature behavior, onlooker bees receive the information about the nectar amount of the foods from the employed bees according to the waggle dance.
Based on this character, their searching direction is according to high quality nectar amounts (fitness value).Herein, we choose the half better population as onlooker bees.To enhance the convergence, the solution sharing strategy is adopted in this phase; that is, the information of the current best  best is used to find the searching direction; that is, where  1 and  2 are random vectors between [−1, 1] and [0, 1], respectively, and  is selected by roulette wheel approach according to PV(  ),  ̸ = .Note that   is the trial solution; it will be updated after selection operation.Selection is a general used technique for presenting the better offspring; the operation is The current best individual  best is also updated in each selection operation; that is, where  1 and  2 are random vectors between [−1, 1] and [0, 1], respectively, and  ∈ {1, 2, . . .,   } and  ̸ = .Note that the selection of   has the random property and the trial solution may have better evolution when the onlooker bee is selected.Herein, the instant update selection is also adopted in this phase.

Scout Bees Phase.
The scout bees are used to find undiscovered food sources in nature behavior.While onlookers and employed bees carry out the exploitation process in the search space, the scouts control the exploration process.The scout bees carry out a random search to discover new food source.Herein, a new individual is generated as a scout bee randomly: where  3 is random value between [0, 1].Besides, this new individual replaces the worst individual.
2.6.Cooperative Strategy Phase.As described above, an additional improvement can be obtained through cooperation [25][26][27].It is hard to find the global optimum for highdimensional problems.The concept of cooperation is to partition the searching space into low-dimensional ones.The cooperative strategy in MABC algorithm is to exchange information and generate extra individuals.At first, we decide the number of individuals to implement cooperative strategy which is selected by roulette wheel approach.In our experiment, four individuals are selected for cooperative strategy; a detailed discussion of the illustrated example is given below.Then, the solution vector denotes ( 1 ,  2 , . . .,   ).We copy the best individual and use the individuals selected by roulette wheel approach ( 1 ,  2 ,  3 , and  4 ).The cooperative vector is generated by replacing the current best individual  best parameter using one of the individuals   , where Herein, we also used the instant update to enhance the performance.Thus, the evaluation in cooperative process will be 4× times.Figure 3 summarizes the cooperative strategy for MABC algorithm.

Population Management Phase.
The first thing for the population-based algorithm applications is to decide the initial population, that is, population size   .The population size is often chosen according to users' experience [28].In this paper, a population management is introduced to update the population size adaptively according to the current evolution status.Two criterions are introduced to decide the increasing or decreasing of the population size.The first one is similarity examination and evaluation of evolution performance.Figure 4 shows the flowchart of the population manager.Since the population of MABC consists of two groups of bees, we set minimum population size to be two.In order to avoid unlimited increase of population, a maximum population size is also predefined.Details are introduced as follows.
Similarity Examination.We observe that similar individuals with similar objective values and locations may converge to similar locations; thus the worse individual of similar individuals is removed.It can improve the efficiency and reduce computation effort.The similarity examination is introduced: where   and   are the thresholds and ‖ ⋅ ‖ is the distance between individuals   and   .A one-dimensional illustration is shown in Figure 5.We can observe that the individuals  1 and  2 have similar objective values, but the distance dis( 1 ,  2 ) is greater than   .Although the individuals  3 and  4 have similar location, they do not satisfy the other condition.In the case of the particles  5 and  6 , they have similar objective values and locations which satisfy conditions (9).In other words, the particle  5 should be removed.
Evaluation of Evolution Status.In this step, we evaluate the evolution status of current generation to decide to increase or decrease the population size.As above introduced, the maximum and minimum population sizes should be set.Herein, we choose selection of onlooker bees for the basis of population management.Note that  = ∑   =1   denotes the update numbers (find the better solutions) for each generation and  = ∑ ,j by X ri,j ) false searching (cannot find the better solutions).Therefore, the proposed population management criterion can be introduced as follows.
(i) If  is greater than  ( ≥ ), then the population size can be decreased and the worse individuals with poor performance in current generation are removed.(ii) On the other hand, that is,  ≥ , then an additional individual should be generated randomly.
As described above, the maximum and minimum population sizes are set to preserve the evolution computational

Similar objective value
Redundant individual efficiency.Figure 4 summaries the flowchart of the proposed population manager.
Summary of MABC Algorithm.The complete MABC algorithm has been shown in Figure 1.After initializing all the parameters from search space , all individuals are evaluated and ranked by the corresponding objective values.The half better individuals of the population are operated by onlooker bee phase with solution sharing strategy and the instant update embedded selection is adopted to enhance the searching performance.Subsequently, the cooperative strategy is done.Similar to the onlooker bee phase, the employed bee phase with solution sharing strategy and the instant update embedded selection are operated.Finally, the scout bee phase is adopted to create new individuals randomly and the proposed population management will update the individual number according to the evaluation of the evolution status in current generation.Similar individuals are also examined and the redundant individuals are removed in this step.The MABC algorithm is stopped when the generation number () is equal to the maximum generation ().

Computer Simulation Results: Optimization of Test Functions
In this section, the test functions ( 1 (), . . .,  10 ()) given in Table 1 are presented to show the performance and efficiency of the MABC algorithm [29].The corresponding presetting parameters of the MABC algorithm is discussed for the sphere test function with ten variables.For the MABC algorithm, the initial population size is   (0) = 10; the boundary of population size is two in population manager and the maximum generation for stop criterion is 1000.In the following discussion, the presetting parameters of used strategies for MABC algorithm will be suggested according the statistical analysis of ten independent runs.These suggested parameters are adopted for the application of tracking control of mobile robot.

Discussion (a): Individuals Number to Implement Cooperative
Strategy.As described above, the computational effort of cooperative strategy is proportional to the number of selected individuals.However, less individuals selected for cooperative strategy could not enhance the performance.Herein, none, two, four, and six individuals are adopted to examine. Figure 6 and Table 2 show the comparison results for different number of individuals to implement the cooperative strategy.From Figure 6, We can observe that using cooperative strategy has better result than not using cooperative strategy and four individual cases have the better performance.In Table 2, we can also find that the results of using four individuals and using six individuals have almost the same accuracy, but the computation time of using six individuals is larger than the result of using four individuals.Therefore, we suggest that using four individuals to implement cooperative strategy may have better performance and efficiency.
Discussion (b): Threshold Value   of Individuals Combination for Similarity Examination.Herein, we discuss the effect of threshold value of individuals combination for similarity examination.Since similar individuals may converge to similar objective values and locations, we remain the best individual among similar individuals.A larger threshold value will cause that the different individuals are merged easily and loss the population diversity in the current generation.By the way, the population size will be decreased rapidly.On the other hand, a small threshold value consumes too much time in the search for redundant individuals.The corresponding computational effort may be huge.
Figure 7 and Table 3 show the comparison results of MABC using different values of   in similarity examination.The objective value comparisons using different   are shown in Figure 7.
where  in Table 3,   = 5.8, 6.9, and 8.5 for   = 0.5, 0.1, and 0.01, respectively.Table 3 introduces the comparison results of objective value in ten independent runs.From Figure 7 and Table 3, we can observe that the convergence speed and accuracy (in Table 3) of individuals combination strategies with   = 0.1 and   = 0.01 have better results than the strategy with   = 0.5.In Table 3, we consider the computation time of each case; the computation time of the strategy with   = 0.01 spends more time than the strategies with   = 0.1 and   = 0.5.Therefore, we suggest the value   = 0.1.
Discussion (c): Threshold Value of Distance   for Similarity Examination.Herein, we discuss the effect of distance between individuals for individual combination by similarity examination.Figure 8 and Table 4 show the comparison result of different values of   (0.1, 0.05, and 0.01 of searching space).The objective value comparisons using different values of   are shown in Figure 8(a) and the variations of the population size in evolutionary process are shown in Figure 8(b).From Figure 8, we can observe that the performance is almost the same after 35 generations.Compared with the average population and computation effort (computer time in second), the result of   = 0.1 × searching  4, the decreasing individuals number is set to be the difference between evolution update number and false searching number, that is, −.Herein, we discuss the effect of the number   5 also introduces the comparison results of objective values, average population size, and computation time.From Figure 9, we can observe that using one decreasing individual and  −  decreasing individuals have better results than the result of using three decreasing individuals.Also shown in Table 5, the result of one decreasing individual spends more time than the others.Therefore, we suggest that using − decreasing individuals can obtain good performance and less computational effort.
Discussion (e): Increasing Number of Individuals per Generation for Population Management.Similar to the discussion above, we have a discussion about the number of increasing individuals per generation.As shown in Figure 4, when the false searching dominates the evolution, that is, the number of false searching is greater than the update number, an additional new individual is generated randomly.The objective value comparisons using different number of increasing individuals per generation are shown in Figure 10 and Table 6.Figures 10(a) and 10(b) show the convergent trajectories and variations of population size using different increasing number of individuals.Table 6 introduces the comparison results of objective values, average population size, and computation time.From Figure 10, we can observe that the results are almost the same.In Table 6, using one increasing individual spends less time than the others.Therefore, we suggest that using one increasing individual can obtain good performance.
According to the previous comparison and analysis, the following presetting parameters are suggested to reach the better results.
(1) The number of individuals to implement cooperative strategy: 4.
(4) The number of decreasing individuals per generation:  − .
(5) The number of increasing individuals per generation: 1.
By using the above presetting parameters, the simulation result is shown below.In order to verify the performance of MABC algorithm, the comparison results with traditional ABC algorithm are obtained.The population size of the traditional ABC algorithm is set as 20.The comparison results for  = 10 and  = 30 are shown in Tables 7 and 8, respectively.Table 7 shows the comparison results between MABC and ABC.We can observe that the MABC algorithm has better performance of accuracy than traditional ABC for all test functions.On the other hand, the computer time (computational effort) is greater than the ABC algorithm since several strategies are adopted.However, due to the population manager the computer time is not proportional to the uses of additional strategies.According to the simulation results of testing functions, the MABC algorithm has the ability to find the global optimum.It is also valid for training the fuzzy systems or neural networks for control application.

Application on Tracking Control of Mobile Robot Systems
To illustrate the effectiveness of the proposed MABC algorithm, here we consider the tracking control of mobile robot system.The robot is controlled by two PID neural networks which are trained by the proposed MABC algorithm.
In recent years, the path tracking control of mobile robot has been discussed in many applications.Herein, we apply the PIDNN controllers for path tracking of mobile robot.The states of the mobile robot are represented by (  ,   ,   ), shown in Figure 11; the discrete-time model can be expressed as where  = (  +   )/2 and  = (  −   )/ are used as control inputs.Here,   and   denote the distances traveled by the right and the left wheel, respectively.Also,  is the distance between the wheels.The adopted controller architecture based on direct adaptive control scheme is shown in Figure 12 where   (),   (), and   () are parameters of PIDNNs.They are selected by MABC to minimize the tracking error.
To evaluate the performance, we define the objective function for PIDNN 1 and PIDNN 2 as The MABC algorithm for tuning the PIDNN controllers is formulated in the form of As above, the MABC algorithm has the ability to select optimal PIDNN controller parameters to minimize the tracking error.To illustrate the effectiveness of PIDNN controller, we consider the path tracking control of 8-shaped reference trajectory.Herein, we adopt the proposed MABC algorithm for tuning the PIDNNs' parameters and generate suitable control action/signals.The 8-shaped reference trajectory is shown in Figure 13. Figure 13 shows the reference 8-shaped trajectory and the trajectory of mobile robot (blue: reference; red: PIDNN with MABC's result).From Figure 13, we can observe that the PIDNN via MABC algorithm at initialization (0, 1) can track the reference trajectory accurately.Figure 14 shows the control efforts of PIDNN controllers  and ; the enlarged scale for  between 50 and 4000 time instants is shown in Figure 14(b).Figure 15 shows the variation of parameters of PIDNNs; there are six parameters to tune by the proposed MABC algorithm.Obviously, it is feasible by using PIDNN controllers in tracking control of mobile robot.In addition, the adjustable parameters for controllers are few and validated.In consideration of computational effort, the average time for calculating new parameters is 0.015 seconds.This also shows the effectiveness of the proposed approach.

Conclusion
In this paper, we have proposed the modified artificial bee colony (MABC) algorithm for solving function optimization problems and tracking control of mobile robot system.Several strategies are developed to enhance the performance and to reduce the computational effort of artificial bee colony algorithm, such as elite, solution sharing, instant update, cooperative strategy, and population management.The elite individuals are selected as onlooker bees for preserving good evolution, and, then, onlooker bees with solution sharing, employed bees with solution sharing, and scout bees are operated.The instant update strategy provides the newest information of solution for other individuals, and the cooperative strategy improves the performance for high-dimensional problems.In addition, the population management is proposed to adjust population size per generation.Illustrated examples of optimization of test functions are introduced to show that the proposed MABC method has better result than traditional ABC.Finally, to illustrate the effectiveness of the proposed MABC algorithm, the MABC algorithm is applied on the tracking control of mobile robot system.Simulation results are introduced to show the effectiveness and performance of the proposed approach.

Figure 2 :
Figure 2: Flowchart of selection operation: (a) the general used selection; (b) instant update embedded selection for MABC algorithm.

Figure 5 :
Figure 5: Example of how to remove the redundant individuals by similarity examination [11].

Figure 6 :
Figure 6: Comparison results for different individuals to implement cooperative strategy in 100 generations.
Figure 7(a) shows the convergent trajectories of MABC using different   , and Figure 7(b) shows the variation of population size by population manager in this case.The average populations for 1000 generations are introduced

Figure 7 :
Figure 7: Comparison results for different values of   : (a) convergence trajectories in 100 generations; (b) variation of population size for different   in 1000 generations.

Figure 8 :Figure 9 :
Figure 8: Comparison results of objective value for different values of   : (a) convergent tralectories; (b) variation of population size for different   .

Figure 10 :
Figure 10: Comparison results for different number of increasing individuals per generation: (a) convergent trajectories; (b) variation of population size.

Figure 11 :
Figure 11: Model description of mobile robot.
of decreasing individuals per generation for population manager.The comparisons using different number for decreasing individuals per generation is shown in Figure9.Figures9(a) and 9(b) show the objective values and the variations of population size, respectively.Table

Figure 12 :Figure 13 :
Figure 12: Control architecture: (a) MABC-based control structure for the mobile robots system; (b) network diagram of PID neural network.

Figure 14 :Figure 15 :
Figure 14: Control efforts of PIDNN controllers: (a)  and ; (b) enlarged scale of the control efforts of PIDNN 2 controller in 50-4000 time steps.
is   /2 if   is even or (  − 1)/2 if   is odd,  = (  +1), (  +2), . . .,   .The difference between employed bees and onlooker bees is the differential vector composed of randomly selected individual   and each individual   .Herein, we also adopt solution sharing strategy to enhance the convergence.The corresponding update law is

Table 2 :
Comparison results in 10 independent runs for different individuals to implement cooperative strategy.

Table 3 :
The comparison results in 10 independent runs for different values of   .

Table 4 :
The comparison results in 10 independent runs for different   .

Table 5 :
Comparison result in 10 independent runs for different number of decreasing individuals per generation.

Table 6 :
The comparison result in 10 independent runs for different number of increasing individuals per generation.

Table 7 :
The comparison result of different algorithms for  = 10 in 1000 generations.
Discussion (d): Decreasing Number of Individuals per Generation for Population Management.As shown in Figure

Table 8 :
The comparison result of different algorithms for  = 30 in 5000 generations.