# A Crossover Bacterial Foraging Optimization Algorithm

Authors: Rutuparna Panda; Manoj Kumar Naik
Journal: Applied Computational Intelligence and Soft Computing
 (2012)

---

## Abstract

This paper presents a modified bacterial foraging optimization algorithm called crossover bacterial foraging optimization algorithm, which inherits the crossover technique of genetic algorithm. This can be used for improvising the evaluation of optimal objective function values. The idea of using crossover mechanism is to search nearby locations by offspring (50 percent of bacteria), because they are randomly produced at different locations. In the traditional bacterial foraging optimization algorithm, search starts from the same locations (50 percent of bacteria are replicated) which is not desirable. Seven different benchmark functions are considered for performance evaluation. Also, comparison with the results of previous methods is presented to reveal the effectiveness of the proposed algorithm.


---

## Body

## 1. Introduction

Nowadays several algorithms are developed that are inspired by the nature. The main principle behind the nature-inspired algorithm is interpreted as the capacity of an individual to obtain sufficient energy source in the least amount of time. In the process of foraging, the animals with poor foraging strategies are eliminated, and successful ones tend to propagate [1]. One of the most successful foragers is E. coli bacteria (those living in our intestines), which use chemical sensing organs to detect the concentration of nutritive and noxious substances in its environment. The bacteria then move within the environments via tumble and runs, avoiding the noxious substances and getting closer to food patch areas in a process called chemotaxis. Based on the E. coli foraging strategy, Passino proposed bacterial foraging optimization algorithm (BFOA) [2–4] which maximizes the energy intake per unit time. So as to improve BFOA performance, a large number of modifications have already been undertaken. Some of the modifications are directly based on analysis of the components [5–8] while others are named as hybrid algorithms [9–11].During the past two decades, the genetic algorithm (GA) has claimed its suitability for dealing with optimization problems by academic and industrial communities. A possible solution to a specific problem is encoded as a chromosome, which consists of a group of genes. Each chromosome refers to a search space and is decided by a fitness evaluation. The GA uses basic genetic operators such as crossover and mutation to produce the genetic composition of a population. The crossover operator produces two offspring by recombining the information of two parents. Randomly gene values are changed using the mutation operator. The crossover and mutation applicability is determined by the crossover probability and mutation probability [12].In this paper, we present some modifications for the BFOA by adapting the crossover operator used in GA. Here 50 percent of healthier bacteria are used for crossover with some crossover probability to produce 50 percent of bacteria as offspring. These offspring bacteria are produced at different locations and start searching. But in BFOA, 50 percent of bacteria are replicated at the same location and start searching from the same location. As a result they miss some useful parameters in the search space. This has motivated us to investigate crossover BFOA, which can find global optimal solution more effectively. The paper is organised as follow. In Section2, we describe the bacterial foraging optimization algorithm. Section 3 presents the proposed modification to the BFOA. Section 4 deals with the comparison of the proposed algorithm CBFOA with BFOA, Adaptive BFOA (ABFOA) [8], and genetic algorithm (GA) [12] using some common benchmark functions. Finally, conclusion and future scope of the work are presented in Section 5.


## 2. The Bacterial Foraging Optimization Algorithm

Suppose that we want to find the minimum ofJ(θ),θ∈ℜp, where we do not have measurements or an analytical description of the gradient ∇J(θ). Here, we use BFOA to solve this nongradient optimization problem. Let θ be the position of the bacterium and let J(θ) represent the cost of the optimization problem, with J(θ)<0,J(θ)=0, and J(θ)>0. These values guide us about the bacterium location (whether in nutrient-rich, neutral, or noxious environments). So basically the BFOA consists of four principal mechanisms known as chemotaxis, swarming, reproduction, and elimination-dispersal.


### 2.1. Chemotaxis

The process simulates the movement of the bacteria via swimming and tumbling. LetJ(i,j,k,l) denote the cost at the location of the ith bacterium, and let θi(j,k,l) represent jth chemotactic, kth reproduction, and lth elimination-dispersal events. Let C steps (during runs) be taken in the random direction specified by the tumble. Then the chemotactic movement can be represented as
(1)θi(j+1,k,l)=θi(j,k,l)+C(i)Δ(i)ΔT(i)Δ(i),
where  Δ(i) is a random vector with each elements lying in  [-1,1].


### 2.2. Swarming

During the movements, cells release attractants and repellents to signal other cells so that they should swarm together, provided that they get nutrient-rich environment or avoided the noxious environment. The cell-to-cell attraction and repelling effects are denoted as(2)Jcc(θ,P(j,k,l))=∑i=1SJcci(θ,θi(j,k,l))=∑i=1S[-dattractexp(-wattract∑m=1p(θm-θmi)2)]+∑i=1S[-hrepellantexp(-wrepellant∑m=1p(θm-θmi)2)],
where Jcc(θ,P(j,k,l)) is the objective function value to be added to the actual objective function to present time varying objective function, S is the total number of bacteria, p is the number of variables involved in the search space,  θ=[θ1,θ2,…,θp]T is a point on the optimization domain, and θmi is the mth components of the ith bacterium position θi. dattract, wattract, hrepellant, and wrepellant are different coefficients used for signalling.


### 2.3. Reproduction

The population is sorted in ascending order of accumulated cost, thenSr(=S/2) least healthy bacteria die and the other Sr(=S/2) healthiest bacteria are considered for reproduction, each split into two bacteria, which are placed at the same location. This allows us to keep a constant population size, which is convenient in coding the algorithm.


### 2.4. Elimination Dispersal

Due to gradual or sudden change in the local environment, the life of the bacteria may be affected. So in order to incorporate this phenomenon, we eliminate each bacterium in the population with the probabilityped and a new replacement is randomly initialized over the search space.


## 2.1. Chemotaxis

The process simulates the movement of the bacteria via swimming and tumbling. LetJ(i,j,k,l) denote the cost at the location of the ith bacterium, and let θi(j,k,l) represent jth chemotactic, kth reproduction, and lth elimination-dispersal events. Let C steps (during runs) be taken in the random direction specified by the tumble. Then the chemotactic movement can be represented as
(1)θi(j+1,k,l)=θi(j,k,l)+C(i)Δ(i)ΔT(i)Δ(i),
where  Δ(i) is a random vector with each elements lying in  [-1,1].


## 2.2. Swarming

During the movements, cells release attractants and repellents to signal other cells so that they should swarm together, provided that they get nutrient-rich environment or avoided the noxious environment. The cell-to-cell attraction and repelling effects are denoted as(2)Jcc(θ,P(j,k,l))=∑i=1SJcci(θ,θi(j,k,l))=∑i=1S[-dattractexp(-wattract∑m=1p(θm-θmi)2)]+∑i=1S[-hrepellantexp(-wrepellant∑m=1p(θm-θmi)2)],
where Jcc(θ,P(j,k,l)) is the objective function value to be added to the actual objective function to present time varying objective function, S is the total number of bacteria, p is the number of variables involved in the search space,  θ=[θ1,θ2,…,θp]T is a point on the optimization domain, and θmi is the mth components of the ith bacterium position θi. dattract, wattract, hrepellant, and wrepellant are different coefficients used for signalling.


## 2.3. Reproduction

The population is sorted in ascending order of accumulated cost, thenSr(=S/2) least healthy bacteria die and the other Sr(=S/2) healthiest bacteria are considered for reproduction, each split into two bacteria, which are placed at the same location. This allows us to keep a constant population size, which is convenient in coding the algorithm.


## 2.4. Elimination Dispersal

Due to gradual or sudden change in the local environment, the life of the bacteria may be affected. So in order to incorporate this phenomenon, we eliminate each bacterium in the population with the probabilityped and a new replacement is randomly initialized over the search space.


## 3. The Crossover Bacterial Foraging Optimization Algorithm

The main aim of the CBFOA is to find the minimum of a functionJ(θ),θ∈ℜp, which is not in the gradient ∇J(θ). Here J(θ) is an attractant-repellent profile and θ is the position of a bacterium. Let P(j,k,l)={θi(j,k,l)∣i=1,2,…,S} represent the position of each bacterium in the population of S bacterium at the jth chemotactic step, kth crossover-reproduction step, and lth elimination-dispersal events. Here, let J(i,j,k,l) denote the cost at the location of the ith bacterium at position θi(j,k,l)∈ℜp. Let C(i)>0 the step size taken in the random direction represent a tumble. Note that the position of bacterium for the next chemotactic steps will be
(3)θi(j+1,k,l)=θi(j,k,l)+C(i)∅(i).If at the locationθi(j+1,k,l) the cost J(i,j+1,k,l) is better (lower) than the location at θi(j,k,l), then another step of size C(i) (in the same direction) will be taken. This swim is continued as long as it reduces the cost, but it is allowed only up to a maximum number of steps Ns. We have to implement in such a manner that the bacterium can swarm together via an attractant and repellent, cell-to-cell signalling effect as modelled in (2). We consider the swarming effects, the ith bacterium, i=1,2,…,S, will hill climb on
(4)J(i,j,k,l)+Jcc(θ,P),
so that the cells will try to find nutrients, avoid noxious substances, and at the same time try to move towards other cells, but not too close to them.After theNc chemotactic steps, a crossover-reproduction step is taken. Let Ncr be the number of crossover-reproduction steps to be taken. After the chemotactic steps, the population is going to reproduce for the next generation which consists of sufficient nutrients. For the convenience, we consider S to be a positive number (divisible by (4)). Let
(5)Sc=S2
be the number (population) having sufficient nutrients, which can go for next generation. For the crossover-reproduction steps, the population is sorted in order of ascending accumulated cost (higher cost means the nutrient value is less); then the Sc least healthy bacteria die and the other Sc healthiest bacteria have gone through the crossover with the probability pc to get Sc child bacteria. Then the new set of bacteria can be formed by appending the Sc number healthiest (parent) bacteria and Sc number of child bacteria. This helps that search domain is more dynamic in nature as parent bacteria start search in the next generation where nutrient concentration is more and child bacterium searches its nearby place that may be untouched due to using the BFOA search strategy.LetNed be the number of elimination-dispersal events, and for each elimination-dispersal event each bacterium in the population is subjected to eliminate dispersal with probability ped. This helps to keep track of sudden change in the environmental condition, which may affect life of the bacterium, so new set of bacterium can be introduced in the search domain.


### 3.1. Crossover Bacterial Foraging Optimization Algorithm

First initialize the parametersp, S, Nc, Ns, Ncr, Ned, pc, ped, and C(i), where p represent dimension of search space, S represent the number of bacterium involved in the population, Nc represent the number of chemotactic steps, Ns represent the maximum swim length, Ncr represent the number of crossover-reproduction steps, Ned represent the number of elimination-dispersal steps, pc represent the probability of crossover, ped represent the probability of elimination dispersal event, and C(i) is size of the step taken in the random direction specified by a tumble. If we use the swarming, we have to pick the parameters of the cell-to-cell attractant as dattract (depth of the attractant by the cell), wattract (width of the attractant signals), hrepellant (magnitude of the height repellent effect), and wrepellant (magnitude of the width repellent effect). We have also initialized θi,i=1,2,…,S randomly within the search space. This algorithm also modelled bacterial population chemotaxis, elimination, and dispersal steps as reported by Passino [2] and explained in Section 2. In this paper, what is new is the reproduction step. Instead of using the procedure for reproduction explained in Section 2, here a new idea of crossover-reproduction is introduced:(initially,j=k=l=0).Step 1.
Elimination-dispersal loop:l=l+1.Step 2.
Crossover-reproduction loop:k=k+1.Step 3.
Chemotaxis loop:j=j+1.(a)
Fori=1,2,…,S take a chemotactic step for bacterium i as follows.(b)
Compute cost functionJ(i,j,k,l).(c)
Then computeJ(i,j,k,l)=J(i,j,k,l)+J(θ,P) (i.e., add on the cell-to-cell signalling effects).(d)
LetJlast=J(i,j,k,l) to save this value since we may find a better cost via a run.(e)
Tumble: generate a random vectorΔ(i)∈ℜp with each element Δm(i),m=1,2,…,p, a random number on [-1,1].(f)
Move: letθi(j+1,k,l)=θi(j,k,l)+C(i)(Δ(i)/ΔT(i)Δ(i)). This results in step size taken in the direction of tumble of the ith bacterium.(g)
Then computeJ(i,j+1,k,l) and let J(i,j+1,k,l) = J(i,j+1,k,l)+Jcc(θi(j+1,k,l), P(j+1,k,l)).(h)
Swim:
(i)
Letm=0 (counter for swim length).(ii)
Whilem<Ns (it have not climbed down too long),
(1)
letm=m+1;(2)
ifJ(i,j+1,k,l)<Jlast (if doing better), let Jlast=J(i,j+1,k,l) and let θi(j+1,k,l)=θi(j+1,k,l)+C(i)(Δ(i)/ΔT(i)Δ(i)) and use this θi(j+1,k,l) to compute the new J(i,j+1,k,l) as we did in (g);(3)
else, letm=Ns, come out from the while loop;(iii)
go to next bacterium (i+1) if i≠S, then go to (b) to process the next bacterium.Step 4.
Ifj<Nc, go to Step 3. In this case, continue chemotaxis, since the life of the bacteria is not over.Step 5.
Crossover reproduction.(a)
For the givenk and l, and for each i=1,2,…,S, let Jhealthi=∑j=1Nc+1J(i,j,k,l) be the health of bacterium i (a measure of how many nutrients it got over its lifetime and how successful it was at avoiding noxious substances). Sort bacteria and chemotactic parameter C(i) in ascending order of cost Jhealth (higher cost means lower health).(b)
TheSc bacteria with the highest Jhealth values die and the other Sc bacteria are treated as parent bacterium for the next generation.(c)
Then we choose two sets of parent bacterium from theSc healthiest bacteria and crossover them with probability pc to get Sc number of offspring bacterium.(d)
Then append theSc number of parent (healthiest) bacterium and Sc number of offspring bacterium to form complete set of S bacterium.Step 6.
Ifk<Ncr, go to Step 2. In this case we have not reached the number of specified reproduction steps, so we start the next generation of the chemotactic loop.Step 7.
Elimination dispersal: fori=1,2,…,S, with probability ped, eliminate and disperse each bacterium, which results in keeping the number of bacteria in the population constant. To do this, if we eliminate a bacterium, simply disperse one to a random location on the optimization domain.Step 8.
Ifl<Nre, then go to Step 1; otherwise end.


## 3.1. Crossover Bacterial Foraging Optimization Algorithm

First initialize the parametersp, S, Nc, Ns, Ncr, Ned, pc, ped, and C(i), where p represent dimension of search space, S represent the number of bacterium involved in the population, Nc represent the number of chemotactic steps, Ns represent the maximum swim length, Ncr represent the number of crossover-reproduction steps, Ned represent the number of elimination-dispersal steps, pc represent the probability of crossover, ped represent the probability of elimination dispersal event, and C(i) is size of the step taken in the random direction specified by a tumble. If we use the swarming, we have to pick the parameters of the cell-to-cell attractant as dattract (depth of the attractant by the cell), wattract (width of the attractant signals), hrepellant (magnitude of the height repellent effect), and wrepellant (magnitude of the width repellent effect). We have also initialized θi,i=1,2,…,S randomly within the search space. This algorithm also modelled bacterial population chemotaxis, elimination, and dispersal steps as reported by Passino [2] and explained in Section 2. In this paper, what is new is the reproduction step. Instead of using the procedure for reproduction explained in Section 2, here a new idea of crossover-reproduction is introduced:(initially,j=k=l=0).Step 1.
Elimination-dispersal loop:l=l+1.Step 2.
Crossover-reproduction loop:k=k+1.Step 3.
Chemotaxis loop:j=j+1.(a)
Fori=1,2,…,S take a chemotactic step for bacterium i as follows.(b)
Compute cost functionJ(i,j,k,l).(c)
Then computeJ(i,j,k,l)=J(i,j,k,l)+J(θ,P) (i.e., add on the cell-to-cell signalling effects).(d)
LetJlast=J(i,j,k,l) to save this value since we may find a better cost via a run.(e)
Tumble: generate a random vectorΔ(i)∈ℜp with each element Δm(i),m=1,2,…,p, a random number on [-1,1].(f)
Move: letθi(j+1,k,l)=θi(j,k,l)+C(i)(Δ(i)/ΔT(i)Δ(i)). This results in step size taken in the direction of tumble of the ith bacterium.(g)
Then computeJ(i,j+1,k,l) and let J(i,j+1,k,l) = J(i,j+1,k,l)+Jcc(θi(j+1,k,l), P(j+1,k,l)).(h)
Swim:
(i)
Letm=0 (counter for swim length).(ii)
Whilem<Ns (it have not climbed down too long),
(1)
letm=m+1;(2)
ifJ(i,j+1,k,l)<Jlast (if doing better), let Jlast=J(i,j+1,k,l) and let θi(j+1,k,l)=θi(j+1,k,l)+C(i)(Δ(i)/ΔT(i)Δ(i)) and use this θi(j+1,k,l) to compute the new J(i,j+1,k,l) as we did in (g);(3)
else, letm=Ns, come out from the while loop;(iii)
go to next bacterium (i+1) if i≠S, then go to (b) to process the next bacterium.Step 4.
Ifj<Nc, go to Step 3. In this case, continue chemotaxis, since the life of the bacteria is not over.Step 5.
Crossover reproduction.(a)
For the givenk and l, and for each i=1,2,…,S, let Jhealthi=∑j=1Nc+1J(i,j,k,l) be the health of bacterium i (a measure of how many nutrients it got over its lifetime and how successful it was at avoiding noxious substances). Sort bacteria and chemotactic parameter C(i) in ascending order of cost Jhealth (higher cost means lower health).(b)
TheSc bacteria with the highest Jhealth values die and the other Sc bacteria are treated as parent bacterium for the next generation.(c)
Then we choose two sets of parent bacterium from theSc healthiest bacteria and crossover them with probability pc to get Sc number of offspring bacterium.(d)
Then append theSc number of parent (healthiest) bacterium and Sc number of offspring bacterium to form complete set of S bacterium.Step 6.
Ifk<Ncr, go to Step 2. In this case we have not reached the number of specified reproduction steps, so we start the next generation of the chemotactic loop.Step 7.
Elimination dispersal: fori=1,2,…,S, with probability ped, eliminate and disperse each bacterium, which results in keeping the number of bacteria in the population constant. To do this, if we eliminate a bacterium, simply disperse one to a random location on the optimization domain.Step 8.
Ifl<Nre, then go to Step 1; otherwise end.


## 4. Experimental Results

This section illustrates some comparisons between the proposed CBFOA, BFOA [2], adaptive BFOA [8], and GA [12] using some numerical benchmark test functions described in Table 1.Table 1
Description of benchmark functions used.
Function
Mathematical representation
Range of search
Theoretical optima
f
1
(
x
→
)
=
-
20
exp
(
-
0.2
1
n
∑
i
=
1
n
x
i
2
)
Ackley
-exp(1n∑i=1ncos2πxi)
(
-
5,5
)
n
f
1
(
0
→
)
=
0
+20+e
Griewank
f
2
(
x
→
)
=
1
4000
∑
i
=
1
n
x
i
2
-
∏
i
=
1
n
cos
(
x
i
i
)
+
1
(
-
10,10
)
n
f
2
(
0
→
)
=
0
Rastrigin
f
3
(
x
→
)
=
∑
i
=
1
n
[
x
i
2
-
10
cos
2
π
x
i
+
10
]
(
-
5,5
)
n
f
3
(
0
→
)
=
0
Rosenbrock
f
4
(
x
→
)
=
∑
i
=
1
n
-
1
[
100
(
x
i
+
1
-
x
i
2
)
2
+
(
1
-
x
i
)
2
]
(
-
2,2
)
n
f
4
(
0
→
)
=
0
Rotated hyperellipsoid
f
5
(
x
→
)
=
∑
i
=
1
n
∑
j
=
1
i
x
j
2
(
-
5,5
)
n
f
5
(
0
→
)
=
0
De Jong’s
f
6
(
x
→
)
=
∑
i
=
1
n
x
i
2
(
-
5,5
)
n
f
6
(
0
→
)
=
0
Weighted sphere model
f
7
(
x
→
)
=
∑
i
=
1
n
(
i
·
x
i
2
)
(
-
5,5
)
n
f
6
(
0
→
)
=
0The search dimensions for all test problems we consider here are 50 and 500 for comparing algorithm performance. We also choose two variants in the bacterial or gene population, one withS=4 and other with S=20. Here we take the crossover rate fixed and implement uniform crossover. For the simplicity of the algorithm, we neglect the elimination and dispersal event. Note that the parameters considered for the algorithms are given in Table 2. We take results for 100 independent runs and report the minimum, the mean, and the standard deviation of the final objective function values for all four algorithms. These results are shown in Table 3. Finally, the performances of all four different algorithms are illustrated in Figure 1.Table 2
Parameters used for the benchmark.
Algorithm
Parameters
CBFOA
N
c
=
50
,
N
cr
=
20
,
N
s
=
3
,
p
c
=
0.7
,
C
(
i
)
=
0.01
×
Range
,
d
attract
=
0.001
,
w
attract
=
0.02
,
h
repellant
=
0.001
,
w
repellant
=
10
BFOA
N
c
=
50
,
N
cr
=
20
,
N
s
=
3
,
C
(
i
)
=
0.01
×
Range
,
d
attract
=
0.001
,
w
attract
=
0.02
,
h
repellant
=
0.001
,
w
repellant
=
10
ABFOA
N
c
=
50
,
N
cr
=
20
,
N
s
=
3, dattract=0.001,wattract=0.02,hrepellant=0.001,wrepellant=10,λ=4000
GA
p
c
=
0.7, pm=0.3Table 3
Minimum, mean values, and standard deviation for the benchmark function forf1–f7 (represent up to three fractional points).
Function
Statistical measurement
CBFOA
BFOA
p
=
50
,
S
=
4
p
=
50
,
S
=
20
p
=
500
,
S
=
4
p
=
50
,
S
=
4
p
=
50
,
S
=
20
p
=
500
,
S
=
4
f
1
Minimum
1.525
1.319
3.262
1.715
1.456
3.305
Mean
2.160
1.613
3.392
2.267
1.741
3.437
Std. Dev.
0.225
0.113
0.048
0.270
0.146
0.052
f
2
Minimum
0.136
0.134
0.421
0.151
0.136
0.449
Mean
0.201
0.166
0.485
0.208
0.172
0.498
Std. Dev.
0.028
0.013
0.021
0.023
0.016
0.019
f
3
Minimum
164.455
152.077
2712.102
172.454
154.242
2895.302
Mean
197.770
175.040
2908.327
202.866
183.931
2980.910
Std. Dev.
15.348
11.728
86.705
15.732
11.577
85.742
f
4
Minimum
73.536
68.936
5233.215
74.104
70.381
5312.160
Mean
172.978
112.322
5641.901
163.977
104.736
5806.152
Std. Dev.
44.929
35.153
218.398
41.819
26.631
219.462
f
5
Minimum
0.932
0.811
75.667
0.935
0.850
78.766
Mean
1.302
1.054
88.812
1.363
1.106
91.327
Std. Dev.
0.193
0.095
4.865
0.195
0.113
4.838
f
6
Minimum
0.838
0.829
75.353
0.998
0.892
81.900
Mean
1.319
1.053
88.355
1.366
1.096
91.500
Std. Dev.
0.193
0.091
5.161
0.203
0.111
4.493
f
7
Minimum
23.091
19.592
15919.004
23.241
20.682
18340.260
Mean
33.173
25.865
19284.121
33.991
26.904
20135.431
Std. Dev.
4.810
2.804
1232.30
6.039
3.076
1050.504
Function
Statistical measurement
ABFOA
GA
p
=
50
,
S
=
4
p
=
50
,
S
=
20
p
=
500
,
S
=
4
p
=
50
,
S
=
4
p
=
50
,
S
=
20
p
=
500
,
S
=
4
f
1
Minimum
3.274
3.182
3.756
3.253
3.334
3.734
Mean
3.620
3.450
3.837
3.529
3.521
3.797
Std. Dev.
0.120
0.089
0.030
0.063
0.054
0.015
f
2
Minimum
0.299
0.256
0.542
0.248
0.225
0.512
Mean
0.428
0.363
0.648
0.299
0.273
0.560
Std. Dev.
0.059
0.039
0.040
0.020
0.019
0.014
f
3
Minimum
16.401
16.526
4265.352
337.504
354.976
4616.801
Mean
27.678
24.500
4559.012
405.755
401.736
4820.149
Std. Dev.
5.028
3.219
74.756
18.318
15.624
53.202
f
4
Minimum
52.703
49.708
8809.955
542.544
486.038
8413.197
Mean
669.706
233.259
9583.201
615.075
571.955
8814.362
Std. Dev.
217.473
237.100
318.864
35.159
31.871
139.747
f
5
Minimum
7.596
6.305
109.191
10.536
9.701
143.726
Mean
10.175
8.998
118.319
11.954
11.874
151.972
Std. Dev.
0.949
0.665
4.176
0.593
0.777
2.242
f
6
Minimum
8.270
7.543
104.974
10.350
9.736
142.649
Mean
10.181
9.086
118.443
12.179
11.957
152.154
Std. Dev.
0.792
0.576
3.774
0.635
0.684
2.076
f
7
Minimum
12.845
11.466
37978.059
230.363
233.034
35713.922
Mean
18.035
14.753
39957.690
288.583
282.761
37448.482
Std. Dev.
2.381
1.197
1189.191
20.812
20.009
641.561Performance of the CBFOA, ABFOA, BFOA and GA for the various functions for dimension = 50.
(a)
Ackley function figure
(b)
Griewank function
(c)
Rastrigin function figure
(d)
Rosenbrock function
(e)
Rotated hyperellipsoid function
(f)
De Jong’s function
(g)
Weighted sphere model function


## 5. Conclusion

Recently, many modified bacterial foraging optimization algorithms have been investigated for improving the learning and speed for convergence. Research is more or less concentrated to get local optimal or suboptimal solutions. However, this paper proposes a modified bacteria foraging optimization algorithm for finding global optimal solutions with adapted crossover properties of genetic algorithm. The performance of the proposed algorithm is illustrated by taking various benchmark test functions. From the numerical results, it is evident that the proposed CBFOA outperforms ABFOA, BFOA, and GA reported earlier. The proposed algorithm has potential and can be used in various optimization problems, where social foraging model works.



---

*Source: 907853-2012-10-09.xml*