Bacterial Foraging Optimization (BFO)

Bacterial Foraging
Optimization (BFO)
MOMČILO VASILIJEVIĆ
[email protected]
Optimization problems

Selection of a best element (with
regard to some criteria) from some
set of available alternatives

Maximizing or minimizing a real
function

Many methods for solving

Gradient descent

RMSPROP

Hessian-free optimization

Evolutionary algorithms
2/11
Biological inspiration
3/11

Foraging behavior of E. coli

Swimming up a nutrient gradient

Swimming in groups

Concentric patterns of swarms
with high bacterial density
Bacterial foraging optimization
algorithm


Chemotaxis

Simulates the movement of an E.coli cell

Swimming and tumbling via flagella
Swarming

Group of E.coli cells arrange themselves in a traveling ring

Reproduction

Elimination and dispersal
4/11
Chemotaxis

Motion patterns in the presence of chemical attractants and
repellents

Modeling movement of single bacteria

Choose random direction Δ t

Move from current position 𝜃 𝑡 to next position 𝜃 𝑡 + 1 if next
position is better, w.r.t cost function 𝐽𝑐𝑜𝑠𝑡 (Θ, 𝑡)

𝜃 𝑡 + 1 = 𝜃 𝑡 + 𝐶Δ(𝑡)
5/11
Swarming
6/11

Simulating spatio-temporal
patterns (swarms)

Arranging bacteria in rings

Cell-to-cell cost

𝐽𝑐𝑐 =
𝑆
−𝑑𝑎𝑡𝑡
𝑖=1
𝑒 −𝑤𝑎𝑡𝑡 𝜃−𝜃𝑗
𝑆
+
−𝑑𝑟𝑒𝑝
𝑖=1

2
𝐽𝑐𝑜𝑠𝑡 = 𝐽 + 𝐽𝑐𝑐
𝑒 −𝑤𝑟𝑒𝑝 𝜃−𝜃𝑗
2
Pseudo code
7/11
For each elimination-dispersal
For each reproduction
For each chemotaxis
For each bacteria
Calculate cost function 𝐉𝐥𝐚𝐬𝐭 = 𝐉𝐜𝐨𝐬𝐭 𝜽 𝒕
Tumble: generate 𝚫
For I = 1 to M
Swim: 𝜽 𝒕 + 𝟏 = 𝜽 𝒕 + 𝑪 ∙ 𝚫
If 𝐉𝐜𝐨𝐬𝐭 𝜽 𝒕 + 𝟏
Update 𝑱𝒍𝒂𝒔𝒕
Update 𝜽
Else break
Reproduce
Eliminate and disperse
< 𝑱𝒍𝒂𝒔𝒕
Demo
8/11
Applications

Training neural network for short term electric load forecast

Image enhancement


Tuning adaptive median filter

Improve peak signal to noise ratio of a highly corrupted image
Tuning of PID (proportional derivative integral) controller parameters
9/11
Pros and cons

Pros
10/11

Cons

Simple implementation

Complexity 𝑂 𝐶𝑜𝑙𝑜𝑛𝑦𝑆𝑖𝑧𝑒 2

Easy to distribute

Too many parameters to tune

No local minima problem

Fixed search step

No need for gradient

Fitness function can change over
time
11/11
Q/A
Thank you for your attention!
Momčilo Vasilijević, 15/3390
[email protected]