Discussing the article: "Population optimization algorithms: Bacterial Foraging Optimization - Genetic Algorithm (BFO-GA)"

 

Check out the new article: Population optimization algorithms: Bacterial Foraging Optimization - Genetic Algorithm (BFO-GA).

The article presents a new approach to solving optimization problems by combining ideas from bacterial foraging optimization (BFO) algorithms and techniques used in the genetic algorithm (GA) into a hybrid BFO-GA algorithm. It uses bacterial swarming to globally search for an optimal solution and genetic operators to refine local optima. Unlike the original BFO, bacteria can now mutate and inherit genes.

BFO (Bacterial Foraging Optimization) is an optimization algorithm inspired by the foraging behavior of bacteria. It was proposed in 2002 by Rahul K. Kujur. BFO models bacterial movement using three main mechanisms: transitions, diffusion, and position update. Each bacterium in the algorithm represents a solution to the optimization problem, and food corresponds to the optimal solution. Bacteria move through search space to find the best food.

Genetic algorithm (GA) is an optimization algorithm inspired by the principles of natural selection and genetics. It was developed by John Holland in the 1970s. GA works with a population of individuals representing solutions to an optimization problem. Individuals undergo the operations of crossing (combining genetic information) and mutation (random changes in genetic information) to create new generations. After several generations, GA strives to find the optimal solution.

The hybrid BFO-GA algorithm combines the advantages of both algorithms. BFO has good local search and fast convergence capabilities, but may struggle with global search. On the other hand, GA has good global search ability, but can be slow in convergence and prone to getting stuck in local optima. The hybrid BFO-GA algorithm attempts to overcome these limitations by using BFO for global search and GA for refining local optima.

Author: Andrey Dik

 
Плюсы:
  1. The speed of the algorithm is high.

I suggest adding a comparative diagram of speed estimation.

 
fxsaber #:

I suggest adding a comparison chart of speed estimation.

This could be done if not for a few "But's":

1. The diagram can be misleading, as this is the algorithm's own speed, not the whole problem solution.

2. The speed of algorithm code execution can be easily measured by inserting the corresponding counters into the test bench code. Some algorithms really take a long time to execute and it is difficult to create ideal conditions for such tests, the results will not be really objective.

Reason: