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.

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) [24] 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 [58] while others are named as hybrid algorithms [911].

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 Section 2, 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 of , where we do not have measurements or an analytical description of the gradient . Here, we use BFOA to solve this nongradient optimization problem. Let be the position of the bacterium and let represent the cost of the optimization problem, with , and . 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. Let denote the cost at the location of the th bacterium, and let represent th chemotactic, th reproduction, and th elimination-dispersal events. Let steps (during runs) be taken in the random direction specified by the tumble. Then the chemotactic movement can be represented as where   is a random vector with each elements lying in  .

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 where is the objective function value to be added to the actual objective function to present time varying objective function, is the total number of bacteria, is the number of variables involved in the search space,   is a point on the optimization domain, and is the th components of the th bacterium position . , , , and are different coefficients used for signalling.

2.3. Reproduction

The population is sorted in ascending order of accumulated cost, then least healthy bacteria die and the other 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 probability 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 function , which is not in the gradient . Here is an attractant-repellent profile and is the position of a bacterium. Let represent the position of each bacterium in the population of bacterium at the th chemotactic step, th crossover-reproduction step, and th elimination-dispersal events. Here, let denote the cost at the location of the th bacterium at position . Let the step size taken in the random direction represent a tumble. Note that the position of bacterium for the next chemotactic steps will be

If at the location the cost is better (lower) than the location at , then another step of size (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 . 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 th bacterium, , will hill climb on 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 the chemotactic steps, a crossover-reproduction step is taken. Let 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 to be a positive number (divisible by (4)). Let 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 least healthy bacteria die and the other healthiest bacteria have gone through the crossover with the probability to get child bacteria. Then the new set of bacteria can be formed by appending the number healthiest (parent) bacteria and 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.

Let 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 . 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 parameters , , , , , , , , and , where represent dimension of search space, represent the number of bacterium involved in the population, represent the number of chemotactic steps, represent the maximum swim length, represent the number of crossover-reproduction steps, represent the number of elimination-dispersal steps, represent the probability of crossover, represent the probability of elimination dispersal event, and 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 (depth of the attractant by the cell), (width of the attractant signals), (magnitude of the height repellent effect), and (magnitude of the width repellent effect). We have also initialized 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, ).

Step 1. Elimination-dispersal loop: .

Step 2. Crossover-reproduction loop: .

Step 3. Chemotaxis loop: .(a)For take a chemotactic step for bacterium as follows.(b)Compute cost function  . (c)Then compute (i.e., add on the cell-to-cell signalling effects).(d)Let to save this value since we may find a better cost via a run.(e)Tumble: generate a random vector with each element , a random number on .(f)Move: let . This results in step size taken in the direction of tumble of the th bacterium.(g)Then compute and let = , .(h)Swim:(i)Let (counter for swim length).(ii)While (it have not climbed down too long),(1)let ;(2)if (if doing better), let and let and use this to compute the new as we did in (g);(3)else, let , come out from the while loop;(iii)go to next bacterium () if , then go to (b) to process the next bacterium.

Step 4. If , 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 given and , and for each , let be the health of bacterium (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 in ascending order of cost (higher cost means lower health).(b)The bacteria with the highest values die and the other bacteria are treated as parent bacterium for the next generation.(c)Then we choose two sets of parent bacterium from the healthiest bacteria and crossover them with probability to get number of offspring bacterium.(d)Then append the number of parent (healthiest) bacterium and number of offspring bacterium to form complete set of bacterium.

Step 6. If , 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: for , with probability , 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. If , 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.

The 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 with and other with . 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.

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.