Вы находитесь на странице: 1из 31

Bacterial Foraging Optimization

Group 7
Anches, Harris Joe Gabrinez, Michael Tabudlong, Edd Niel Romero, Ian Lester

What do you mean by foraging?


Foraging is searching for and exploiting food resources. It affects an animal's fitness because it plays an important role in an animal's ability to survive and reproduce. Natural selection tends to eliminate those poor foraging strategies and favor the reproduction of those animals that have successful foraging strategies since they are more likely to enjoy reproductive success.

Bacterial Foraging Optimization


Proposed by Passino Widely accepted as the global optimization algorithm of current interest for optimization and control. Inspired by the social foraging behaviour of Escherichia Coli, popularly known as E.coli.
Efficient in solving real world optimization problem arising in several application demands

Escherichia Coli
E.coli Diameter: 1m Length: 2m Flagellum:
Counterclockwise:
Swim

Clockwise:
Tumble
4

E.Coli
Clockwise Rotation

Counter Clockwise Rotation

Bacterial Foraging Optimization Algorithm


Steps for BFOA
a) b) c) d) Chemotaxis Swarming Reproduction Elimination / dispersal

Bacterial Foraging Optimization Algorithm


a.) Chemotaxis
This process simulates the movement of an E.coli cell through swimming and tumbling via flagella. Depending upon the rotation of the flagella in each bacterium, it decides whether it should move in a predefined direction (swimming) or an altogether different direction (tumbling), in the entire lifetime of the bacterium.

Bacterial Foraging Optimization Algorithm


a.) Chemotaxis
Suppose ( j, k, l) i q represents i-th bacterium at jth chemotactic, k-th reproductive and l-th eliminationdispersal step. C(i) is the size of the step taken in the random direction specified by the tumble (run length unit).

Bacterial Foraging Optimization Algorithm


b.) Swarming
It is always desired that the bacterium that has searched the optimum path of food should try to attract other bacteria so that they reach the desired place more rapidly. Swarming makes the bacteria congregate into groups and hence move as concentric patterns of groups with high bacterial density. Mathematically, swarming can be represented by

where Jcc (, P(j, k, l)) is the cost function value to be added to the actual cost function to be minimized to present a time varying cost function. S is the total number of bacteria. p is the number of parameters to be optimized that are present in each bacterium. dattract, attract, hrepelent, and repelent are different coefficients that are to be chosen judiciously.

Visual demonstration of BFO

Bacterial Foraging Optimization Algorithm


c.) Reproduction The least healthy bacteria die, and the other healthiest bacteria each split into two bacteria, which are placed in the same location. This makes the population of bacteria constant.

Bacterial Foraging Optimization Algorithm


d.) Elimination Dispersal
It is possible that in the local environment, the life of a population of bacteria changes either gradually by consumption of nutrients or suddenly due to some other influence. Events can kill or disperse all the bacteria in a region. They have the effect of possibly destroying the chemotactic progress, but in contrast, they also assist it, since dispersal may place bacteria near good food sources. Elimination and dispersal helps in reducing the behaviour of stagnation (i.e., being trapped in a premature solution point or local optima).

START
Initialize Parameters Increase eliminationdispersion loop counter l = l+1
Yes

STOP

No

l < Ned

Increase reproduction loop counter k = k+1

k< Nre
Yes

Increase chemotactic loop counter j = j+1


Yes

j< Nc

W Increase bacterium index i=i+1

i<S
Yes

compute J(i,j+1,k,l) tumble

compute J(i,j,k,l) set Jlast = J(i,j,k,l)

C Set swim counter m=0

m < Ns
No Yes

m=m+1
Set m = Ns

J(i,j,k,l)<Jlast
No Yes

Set Jlast = J(I,j+1,k,l)

W B Increase bacterium index i=i+1


No

i<S
Yes

compute J(i,j+1,k,l) tumble

compute J(i,j,k,l) set Jlast = J(i,j,k,l)

l < Nre
Yes

Increase chemotactic loop counter j = j+1

Perform Reproduction
Y

No

l < Nc

Yes

START
Initialize Parameters Increase eliminationdispersion loop counter l = l+1
Yes

STOP

No

l < Ned

Increase reproduction loop counter k = k+1

k Perform elimination dispersal


No

l < Nre
Yes

Increase chemotactic loop counter j = j+1


No Yes

Perform Reproduction
Y

l < Nc

START
Initialize Parameters Increase eliminationdispersion loop counter l = l+1
Yes

STOP

No

l < Ned

Increase reproduction loop counter k = k+1

Bacterial Foraging Optimization Algorithm


Pseudocode
[Step 1] Initialize parameters p, S, Nc, Ns, Nre, Ned, Ped, C(i)(i=1,2S),i. p: Dimension of the search space, S: Total number of bacteria in the population, Nc : The number of chemotactic steps, Ns: The swimming length. Nre : The number of reproduction steps, Ned : The number of elimination-dispersal events, Ped : Elimination-dispersal probability, C (i): The size of the step taken in the random direction specified by the tumble.

Bacterial Foraging Optimization Algorithm


[b] Compute fitness function, J (i, j, k, l). Let, J (i, j, k, l)= J (i, j, k, l)+ J cc(i( j, k, l),P( j, k, l)) (i.e. add on the cell-to cell attractantrepellant profile to simulate the swarming behavior) where Jcc is the cost function value to be added to the actual cost function to be minimized to present a time varying cost function.

Bacterial Foraging Optimization Algorithm

Bacterial Foraging Optimization Algorithm

Bacterial Foraging Optimization Algorithm

Bacterial Foraging Optimization Algorithm

APPLICATION
Optimization over continuous surfaces Algorithmic extension: Hybrid appoach Comparative analysis with other methods Particle Swarm Optimization in particular. Adaptive control: Introduction of the idea and application to liquid level control. Proportional-Integral-Derivative (PID) controller tuning Harmonic estimation Active power filter for load optimization Transmission loss reduction: Application to Power System Optimizing power loss and voltage stability limits

Thank You!

Вам также может понравиться