# A Modification Artificial Bee Colony Algorithm for Optimization Problems

Authors: Jun-Hao Liang; Ching-Hung Lee
Journal: Mathematical Problems in Engineering
 (2015)

---

## Abstract

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 population manager. 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.


---

## Body

## 1. Introduction

In the past decades, many effective approaches have been proposed to solve the optimization problem, such as genetic algorithm (GA), particle swarm optimization (PSO), electromagnetism-like algorithm (EM), and immune algorithm (IA) [1–13]. Recently, a stochastic global optimization algorithm, artificial bee colony (ABC) algorithm, motivated by the foraging behavior of bee colony was proposed [14–16]. The ABC algorithm is a population-based algorithm with the advantages of finding global optimization solution, being simple and flexible, and using very few control parameters. The ABC algorithm has been applied to many real-world applications, for example, function optimization, real-parameter optimization, digital filter design, clustering, and neural network training [14, 16–24].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 high-dimensional problem. Herein, we adopted a cooperative strategy to improve it [25–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. Section2 introduces the proposed modified artificial bee colony (MABC) algorithm. The discussion and analysis of illustrated examples for test functions are shown in Section 3. Finally, the conclusion is given.


## 2. 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.Figure 1
Flowchart of the proposed MABC algorithm.At first, the optimization problem is formulated as(1)minimizef(X)subjecttoX∈S,dddddddidS=X∈RD∣LB≤X≤UB,LB,UB∈RD,where f(X) is the objective function, X is the parameters, UB and LB are the corresponding upper and lower bound vectors, respectively, and D is the problem dimension. Herein, each individual (or bee) X 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;PS 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 G to be the stop criterion. As above, we define PO as the number of onlooker bees, PE as the number of employed bees, cd as the update number in selection, ci as false searching number, and g as generation (or iteration) index.


### 2.1. Initialization Phase

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


### 2.2. 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 tof(Xi), the fitness value is defined as(2)fit(Xi)=11+f(Xi),i=1,2,…,PS.The individual having smallest objective value is defined as the current best individual Xbest; that is, Xbest={Xi∣min⁡⁡f(Xi),Xi∈S}. Subsequently, all individuals are ranked and indexed according to the objective value (or fitness values). In addition, the corresponding probability value is defined as (3)PVXi=fitXi∑i=1PSfitXi,i=1,2,…,PSwhich is adopted for onlooker bees operation.


### 2.3. 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 bestXbest is used to find the searching direction; that is,(4)Vi=Xi+ϕ1Xk-Xi+ϕ2Xbest-Xi,where ϕ1 and ϕ2 are random vectors between [-1,1] and [0,1], respectively, and k is selected by roulette wheel approach according to PV(Xi), k≠i. Note that Vi 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 (5)Xi=Viiff(Vi)≤f(Xi)Xiotherwise.The current best individual Xbest is also updated in each selection operation; that is,(6)Xbest=Xiiff(Xi)≤f(Xbest)Xbestotherwise.Herein, we update each individual and best individual instantaneously, but not until all individuals have operated in a generation. After a new individual is produced, the current best individual Xbest is evaluated instantly. Each individual Xi and the current best individuals Xbest would be updated instantly. Therefore, we can provide the newest information for the next individual in searching process. Figures 2(a) and 2(b) show the flowchart of general used selection and instant update method, respectively. This modification will enhance the performance of convergence.Figure 2
Flowchart of selection operation: (a) the general used selection; (b) instant update embedded selection for MABC algorithm.
(a)
(b)


### 2.4. Employed Bees Phase

In nature behavior, employed bees find new food sources in their neighborhood. Based on this characteristic, the randomly searching direction is adopted. Herein, the remaining individuals with lower fitness value are set to be employed bees; that is, the population size of onlooker beesPE is PS/2 if PS is even or (PS-1)/2 if PS is odd, i=(PO+1),  (PO+2),…,PS. The difference between employed bees and onlooker bees is the differential vector composed of randomly selected individual Xk and each individual Xi. Herein, we also adopt solution sharing strategy to enhance the convergence. The corresponding update law is(7)Vi=Xi+ϕ1Xk-Xi+ϕ2Xbest-Xi,where ϕ1 and ϕ2 are random vectors between [-1,1] and [0,1], respectively, and k∈{1,2,…,PS} and k≠i. Note that the selection of Xk 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.


### 2.5. 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:(8)Xnew=LB+ϕ3×UB-LB,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–27]. It is hard to find the global optimum for high-dimensional 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 (x1,x2,…,xD). We copy the best individual and use the individuals selected by roulette wheel approach (Xr1,Xr2,Xr3,andXr4). The cooperative vector is generated by replacing the current best individual Xbest parameter using one of the individuals Xi, where i=r1, r2, r3, r4,  r1≠r2≠r3≠r4≠1. Herein, we also used the instant update to enhance the performance. Thus, the evaluation in cooperative process will be 4×D times. Figure 3 summarizes the cooperative strategy for MABC algorithm.Figure 3
Flowchart of cooperative strategy.


### 2.7. Population Management Phase

The first thing for the population-based algorithm applications is to decide the initial population, that is, population sizePS. 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.Figure 4
Flowchart of population manager.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:(9)f(Xi)-f(Xk)f(Xk)<δm,Xi-Xk<rm,where δm and rm are the thresholds and · is the distance between individuals Xi and Xk. A one-dimensional illustration is shown in Figure 5. We can observe that the individuals Q1 and Q2 have similar objective values, but the distance dis(Q1,Q2) is greater than rm. Although the individuals Q3 and Q4 have similar location, they do not satisfy the other condition. In the case of the particles Q5 and Q6, they have similar objective values and locations which satisfy conditions (9). In other words, the particle Q5 should be removed.Figure 5
Example of how to remove the redundant individuals by similarity examination [11].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 cd=∑i=1POcdi denotes the update numbers (find the better solutions) for each generation and ci=∑i=1POcii denotes the number of false searching (cannot find the better solutions). Therefore, the proposed population management criterion can be introduced as follows.(i)
Ifcd is greater than ci(cd≥ci), 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,ci≥cd, then an additional individual should be generated randomly.As described above, the maximum and minimum population sizes are set to preserve the evolution computational efficiency. Figure4 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 S, 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 (g) is equal to the maximum generation (G).


## 2.1. Initialization Phase

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


## 2.2. 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 tof(Xi), the fitness value is defined as(2)fit(Xi)=11+f(Xi),i=1,2,…,PS.The individual having smallest objective value is defined as the current best individual Xbest; that is, Xbest={Xi∣min⁡⁡f(Xi),Xi∈S}. Subsequently, all individuals are ranked and indexed according to the objective value (or fitness values). In addition, the corresponding probability value is defined as (3)PVXi=fitXi∑i=1PSfitXi,i=1,2,…,PSwhich is adopted for onlooker bees operation.


## 2.3. 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 bestXbest is used to find the searching direction; that is,(4)Vi=Xi+ϕ1Xk-Xi+ϕ2Xbest-Xi,where ϕ1 and ϕ2 are random vectors between [-1,1] and [0,1], respectively, and k is selected by roulette wheel approach according to PV(Xi), k≠i. Note that Vi 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 (5)Xi=Viiff(Vi)≤f(Xi)Xiotherwise.The current best individual Xbest is also updated in each selection operation; that is,(6)Xbest=Xiiff(Xi)≤f(Xbest)Xbestotherwise.Herein, we update each individual and best individual instantaneously, but not until all individuals have operated in a generation. After a new individual is produced, the current best individual Xbest is evaluated instantly. Each individual Xi and the current best individuals Xbest would be updated instantly. Therefore, we can provide the newest information for the next individual in searching process. Figures 2(a) and 2(b) show the flowchart of general used selection and instant update method, respectively. This modification will enhance the performance of convergence.Figure 2
Flowchart of selection operation: (a) the general used selection; (b) instant update embedded selection for MABC algorithm.
(a)
(b)


## 2.4. Employed Bees Phase

In nature behavior, employed bees find new food sources in their neighborhood. Based on this characteristic, the randomly searching direction is adopted. Herein, the remaining individuals with lower fitness value are set to be employed bees; that is, the population size of onlooker beesPE is PS/2 if PS is even or (PS-1)/2 if PS is odd, i=(PO+1),  (PO+2),…,PS. The difference between employed bees and onlooker bees is the differential vector composed of randomly selected individual Xk and each individual Xi. Herein, we also adopt solution sharing strategy to enhance the convergence. The corresponding update law is(7)Vi=Xi+ϕ1Xk-Xi+ϕ2Xbest-Xi,where ϕ1 and ϕ2 are random vectors between [-1,1] and [0,1], respectively, and k∈{1,2,…,PS} and k≠i. Note that the selection of Xk 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.


## 2.5. 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:(8)Xnew=LB+ϕ3×UB-LB,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–27]. It is hard to find the global optimum for high-dimensional 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 (x1,x2,…,xD). We copy the best individual and use the individuals selected by roulette wheel approach (Xr1,Xr2,Xr3,andXr4). The cooperative vector is generated by replacing the current best individual Xbest parameter using one of the individuals Xi, where i=r1, r2, r3, r4,  r1≠r2≠r3≠r4≠1. Herein, we also used the instant update to enhance the performance. Thus, the evaluation in cooperative process will be 4×D times. Figure 3 summarizes the cooperative strategy for MABC algorithm.Figure 3
Flowchart of cooperative strategy.


## 2.7. Population Management Phase

The first thing for the population-based algorithm applications is to decide the initial population, that is, population sizePS. 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.Figure 4
Flowchart of population manager.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:(9)f(Xi)-f(Xk)f(Xk)<δm,Xi-Xk<rm,where δm and rm are the thresholds and · is the distance between individuals Xi and Xk. A one-dimensional illustration is shown in Figure 5. We can observe that the individuals Q1 and Q2 have similar objective values, but the distance dis(Q1,Q2) is greater than rm. Although the individuals Q3 and Q4 have similar location, they do not satisfy the other condition. In the case of the particles Q5 and Q6, they have similar objective values and locations which satisfy conditions (9). In other words, the particle Q5 should be removed.Figure 5
Example of how to remove the redundant individuals by similarity examination [11].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 cd=∑i=1POcdi denotes the update numbers (find the better solutions) for each generation and ci=∑i=1POcii denotes the number of false searching (cannot find the better solutions). Therefore, the proposed population management criterion can be introduced as follows.(i)
Ifcd is greater than ci(cd≥ci), 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,ci≥cd, then an additional individual should be generated randomly.As described above, the maximum and minimum population sizes are set to preserve the evolution computational efficiency. Figure4 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 S, 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 (g) is equal to the maximum generation (G).


## 3. Computer Simulation Results: Optimization of Test Functions

In this section, the test functions(f1(x),…,f10(x)) 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 PS(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.Table 1
Test functions [29].
Function
Decision space
Optimal solution
Sphere
f
1
(
x
)
=
∑
i
=
1
D
x
i
2
[−100, 100]D
0
Schwefel 2.22
f
2
(
x
)
=
∑
i
=
1
D
x
i
-
∏
i
=
1
D
x
i
[−10, 10]D
0
Schwefel 1.2
f
3
(
x
)
=
∑
i
=
1
D
∑
j
=
1
i
x
j
2
[−100, 100]D
0
Schwefel 2.21
f
4
(
x
)
=
max
⁡
x
i
,
1
≤
i
≤
D
[−100, 100]D
0
Rosenbrock
f
5
(
x
)
=
∑
i
=
1
D
-
1
100
x
i
+
1
-
x
i
2
+
x
i
-
1
2
[−30, 30]D
0
Step
f
6
(
x
)
=
∑
i
=
1
D
x
i
+
0.5
2
[−100, 100]D
0
Quartic
f
7
(
x
)
=
∑
i
=
1
D
i
x
i
4
+
random
[
0,1
)
[−1.28, 1.28]D
0
Rastrigin
f
8
(
x
)
=
∑
i
=
1
D
[
x
i
2
-
cos
⁡
2
π
x
i
+
10
]
[−5.12, 5.12]D
0
Ackley
f
9
(
x
)
=
-
20
exp
⁡
-
0.2
1
D
∑
i
=
1
D
x
i
2
-
exp
⁡
1
D
∑
i
=
1
D
cos
⁡
2
π
x
i
+
20
+
exp
⁡
(
1
)
[−32, 32]D
0
Griewank
f
10
(
x
)
=
1
4000
∑
i
=
1
D
x
i
2
-
∏
i
=
1
D
cos
⁡
x
i
i
+
1
[−600, 600]D
0
Generalized penalized
f
11
(
x
)
=
0.1
si
n
2
3
π
x
1
+
∑
i
=
1
D
-
1
x
i
-
1
2
1
+
si
n
2
3
π
x
i
+
1
+
x
D
-
1
2
1
+
si
n
2
2
π
x
D

∑
i
=
1
D
-
1
x
i
-
1
2
+
∑
i
=
1
D
u
x
i
,
5,100,4

,  where u(xi,a,k,m)=k(xi-a)m,xi>a0,-a≤xi≤ak(-xi-a)m,xi<-a
[−5, 5]D
0
Schwefel
f
12
(
x
)
=
1
(
1
/
500
)
+
∑
j
=
1
25
(
1
/
(
j
+
∑
i
=
1
2
(
x
i
-
a
i
j
)
6
)
)
[−65.536, 65.536]D
0.998004Discussion (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.Table 2
Comparison results in 10 independent runs for different individuals to implement cooperative strategy.
Individuals
Objective value
Best
Worst
Mean
Time (sec)
None
1.16 × 10−4
4.32 × 10−3
9.63 × 10−4
0.39
2
5.53 × 10−15
4.04 × 10−13
1.55 × 10−14
0.73
4
1.48 × 10−17
1.70 × 10−15
7.33 × 10−16
0.94
6
2.79 × 10−17
2.26 × 10−15
2.16 × 10−16
1.19Figure 6
Comparison results for different individuals to implement cooperative strategy in 100 generations.Discussion (b): Threshold Value
δ
m
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.Figure7 and Table 3 show the comparison results of MABC using different values of δm in similarity examination. The objective value comparisons using different δm are shown in Figure 7. Figure 7(a) shows the convergent trajectories of MABC using different δm, and Figure 7(b) shows the variation of population size by population manager in this case. The average populations for 1000 generations are introduced in Table 3, PS=5.8,6.9,  and  8.5 for δm=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 δm=0.1 and δm=0.01 have better results than the strategy with δm=0.5. In Table 3, we consider the computation time of each case; the computation time of the strategy with δm=0.01 spends more time than the strategies with δm=0.1 and δm=0.5. Therefore, we suggest the value δm=0.1.Table 3
The comparison results in 10 independent runs for different values ofδm.
δ
m
Objective value
Best
Worst
Mean
Average population
Time (sec)
0.5
1.73 × 10−14
3.15 × 10−13
3.37 × 10−13
5.8
0.88
0.1
4.27 × 10−17
9.72 × 10−15
2.16 × 10−16
6.9
0.94
0.01
2.45 × 10−18
8.94 × 10−16
8.84 × 10−17
8.5
1.09Figure 7
Comparison results for different values ofδm: (a) convergence trajectories in 100 generations; (b) variation of population size for different δm in 1000 generations.
(a)
(b)Discussion (c): Threshold Value of Distance
r
m
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 rm (0.1, 0.05, and 0.01 of searching space). The objective value comparisons using different values of rm 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 rm = 0.1 × searching range has smaller average population and computation time. Therefore, we choose rm = 0.1 × searching range to be the suggested value.Table 4
The comparison results in 10 independent runs for differentrm.
Objective valuerm
Best
Worst
Mean
Average population
Time (sec)
0.1 × searching range
1.69 × 10−18
1.11 × 10−14
3.43 × 10−16
6.4
0.90
0.05 × searching range
2.03 × 10−18
9.87 × 10−15
2.16 × 10−16
7.1
1.06
0.01 × searching range
2.45 × 10−19
8.92 × 10−15
1.47 × 10−16
9.2.
1.10Figure 8
Comparison results of objective value for different values ofrm: (a) convergent tralectories; (b) variation of population size for different rm.
(a)
(b)Discussion (d): Decreasing Number of Individuals per Generation for Population Management. As shown in Figure 4, the decreasing individuals number is set to be the difference between evolution update number and false searching number, that is, cd-ci. Herein, we discuss the effect of the number of decreasing individuals per generation for population manager. The comparisons using different number for decreasing individuals per generation is shown in Figure 9. Figures 9(a) and 9(b) show the objective values and the variations of population size, respectively. Table 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 cd-ci 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 cd-ci decreasing individuals can obtain good performance and less computational effort.Table 5
Comparison result in 10 independent runs for different number of decreasing individuals per generation.
Decreasing individuals
Mean objective value
Average population
Time (sec)
1
8.38 × 10−16
8.5
0.90
c
d
-
c
i
5.29 × 10−16
7.2
0.84
3
1.54 × 10−11
4.6
0.73Figure 9
Comparison results for different number of decreasing individuals per generation: (a) convergent trajectories; (b) variation of population size.
(a)
(b)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.Table 6
The comparison result in 10 independent runs for different number of increasing individuals per generation.
Increasing individuals
Mean objective value
Average population
Time (sec)
1
6.98 × 10−17
6.9
0.84
2
8.22 × 10−17
13.3
1.16
3
1.12 × 10−17
16.7
1.38Figure 10
Comparison results for different number of increasing individuals per generation: (a) convergent trajectories; (b) variation of population size.
(a)
(b)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.(2)
Merge threshold value:δm=0.1.(3)
Distance between individuals:rm = 0.1 × searching range.(4)
The number of decreasing individuals per generation:cd-ci.(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 forD=10 and D=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.Table 7
The comparison result of different algorithms forD = 10 in 1000 generations.
Test functions
MABC
ABC
f
1
Mean
6.94 × 10−16
5.62 × 10−6
Run time (sec)
0.85
0.94
f
2
Mean
1.49 × 10−9
2.26 × 10−5
Run time (sec)
0.95
0.94
f
3
Mean
3.01 × 10−15
7.65 × 10−5
Run time (sec)
0.81
0.92
f
4
Mean
5.73 × 10−6
1.14
Run time (sec)
0.93
0.97
f
5
Mean
4.22 × 10−3
5.21
Run time (sec)
0.69
0.90
f
6
Mean
1.17 × 10−17
3.28 × 10−11
Run time (sec)
0.9
0.90
f
7
Results
0.33
0.62
Run time (sec)
1.0
1.9
f
8
Mean
1.84 × 10−6
0.59
Run time (sec)
0.80
0.92
f
9
Mean
1.25 × 10−8
1.60 × 10−3
Run time (sec)
0.89
0.94
f
10
Mean
3.96 × 10−2
0.13
Run time (sec)
1.48
0.96
f
11
Mean
4.18 × 10−15
5.34 × 10−10
Run time (sec)
1.64
1.41
f
1
2
Mean
0.998
0.998
Run time (sec)
4.04
2.78Table 8
The comparison result of different algorithms forD = 30 in 5000 generations.
Test functions
MABC
ABC
f
1
Mean
7.93 × 10−26
4.56 × 10−2
Run time (sec)
8.95
7.34
f
2
Mean
1.14 × 10−17
0.18
Run time (sec)
8.72
7.86
f
3
Mean
2.35 × 10−20
38.75
Run time (sec)
8.35
7.43
f
4
Mean
3.37 × 10−8
6.44
Run time (sec)
8.84
7.71
f
5
Mean
1.90
2.64 × 102
Run time (sec)
8.22
7.42
f
6
Mean
1.55 × 10−29
6.63 × 10−8
Run time (sec)
10.92
12.63
f
7
Results
0.35
0.90
Run time (sec)
11.39
14.5
f
8
Mean
1.02 × 10−10
20.38
Run time (sec)
9.24
7.69
f
9
Mean
3.28 × 10−14
1.32
Run time (sec)
12.15
7.86
f
10
Mean
1.72 × 10−2
0.85
Run time (sec)
13.67
7.98
f
11
Mean
4.86 × 10−30
2.30 × 10−3
Run time (sec)
28.42
12.67
f
1
2
Mean
0.998
0.998
Run time (sec)
42.81
16.70


## 4. 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(xc,yc,θc), shown in Figure 11; the discrete-time model can be expressed as (10)xc(k+1)yc(k+1)θc(k+1)=xc(k)yc(k)θc(k)+δdk×cos⁡θck+δθk2δdk×sin⁡θck+δθk2δθk,where δd=(dR+dL)/2 and δθ=(dR-dL)/b are used as control inputs. Here, dR and dL denote the distances traveled by the right and the left wheel, respectively. Also, b is the distance between the wheels. The adopted controller architecture based on direct adaptive control scheme is shown in Figure 12(a). In this architecture, PIDNNs play the roles of controller to generate the proper control inputs δd and δθ, respectively. The PIDNN1’s inputs are e1(k), e1(k-1), and e1(k-2), where e1(k)=(xr(k)-xc(k))2+(yr(k)-yc(k))2. The PIDNN2’s inputs are e2(k), e2(k-1), and e2(k-2), where e2(k)=θr(k)-θc(k). The network diagram of PIDNN system is shown in Figure 12(b). The PIDNN’s output is (11)uk=uk-1+kDkek-2ek-1+ek-2+kIkek+kPkek-ek-1,where kP(k),  kI(k), and  kD(k) are parameters of PIDNNs. They are selected by MABC to minimize the tracking error.Figure 11
Model description of mobile robot.Figure 12
Control architecture: (a) MABC-based control structure for the mobile robots system; (b) network diagram of PID neural network.
(a)
(b)To evaluate the performance, we define the objective function for PIDNN1 and PIDNN2 as (12)g1(Xi)=xrk+1-xck+12+yrk+1-yck+12,g2Xi=θrk+1-θck+1.The MABC algorithm for tuning the PIDNN controllers is formulated in the form of (13)Minimizeg1(Xi)+g2(Xi)subjecttoXi∈S,dddddddddS=Xi=kPi,kIi,kDi-30≤Xi≤30.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 δd 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.Figure 13
Trajectory(x,y) of mobile robot by the proposed approach.Figure 14
Control efforts of PIDNN controllers: (a)δd and δθ; (b) enlarged scale of the control efforts of PIDNN2 controller in 50–4000 time steps.
(a)
(b)Figure 15
Variation of PIDNN’s parameters: (a) PIDNN1; (b) PIDNN2.
(a)
(b)


## 5. 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.



---

*Source: 581391-2015-03-17.xml*