It would be good to test these all optimisation algorithms on more real data, where the parameters are five or more, the number of combinations is large.
It would be good to test these all optimisation algorithms on more real data, where the parameters are five or more, the number of combinations is large.
three types of test functions are used in the tests (smooth, smooth with "needle" extremum, and discrete), each of these functions is tested with 10, 50 and 1000 parameters (9 tests in total). in addition, testing is done with 0! step.
step 0 means that the precision to the 16th digit is double, it means that the step is 0.0000000000000001 for 1000 parameters, so, count how many combinations you get.
ok, I'll do the math. very roughly, it's 10e10^1000, that's about 10e16000. that's more than there are molecules in the visible universe.
It's the number of parameters:
input int Test1FuncRuns_P = 5; //1) Number of functions in the test input int Test2FuncRuns_P = 25; //2) Number of functions in the test input int Test3FuncRuns_P = 500; //3) Number of functions in the test
This is the population size:
input int BatsNumber_P = 50; //Number of bats
The number of epochs is calculated:
int epochCount = NumbTestFuncRuns_P / BatsNumber_P;
Did I get everything right from the code?
1- This is the number of parameters:
2. It is the size of the population:
3. The number of epochs is estimated:
Did I get everything right from the code?
1. No. The test functions are two-dimensional. i.e., for example:
input int Test1FuncRuns_P = 5; //1) Number of functions in the testmeans in Russian 5 test functions, so multiply by 2 - 10 optimised parameters
25 - 50 optimised parameters
500 - 1000 optimised parameters
2. Yes.
3. Yes, that's right, the estimated number of epochs is done so that the total number of FF runs would be the same and would not depend on the choice of population size in the algorithms. i.e. so that testing of the algorithms would be fair at different population size parameters in different algorithms.
Okay, thanks.
All these algorithms, from the series of articles, are parralellable, haven't looked at the others? I think I could use it, it's useful, only the function to be optimised is more complex, it has a dynamic number of parameters, both real and integer, and with different ranges, you have to solve the problem afterwards
I see, thank you.
All these algorithms, from the series of articles, are parralellable, haven't looked at the others? I think I could use it, it's useful, only the function being optimised is more complex, it has a dynamic number of parameters, both real and integer, and with different ranges, you have to solve the problem afterwards.

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
New article Population optimization algorithms: Bacterial Foraging Optimization (BFO) has been published:
E. coli bacterium foraging strategy inspired scientists to create the BFO optimization algorithm. The algorithm contains original ideas and promising approaches to optimization and is worthy of further study.
The Bacterial Foraging Optimization (BFO) algorithm is a fascinating optimization technique that can be used to find approximate solutions to extremely complex or impossible numerical function maximization/minimization problems. The algorithm is widely recognized as a global optimization algorithm for distributed optimization and control. BFO is inspired by the social foraging behavior of Escherichia coli. BFO has already attracted the attention of researchers for its effectiveness in solving real-world optimization problems that arise in several application areas. The biology behind the foraging strategy of E. coli is emulated in an original way and used as a simple optimization algorithm.
Bacteria, such as E. coli or salmonella, are among the most successful organisms on the planet. These agile bacteria have semi-rigid appendages called flagella, with which they propel themselves with a twisting motion. When all the flagella rotate counterclockwise, a propeller effect is created and the bacterium will move in a more or less rectilinear direction. In this case, the bacterium performs a movement called swimming. All flagella rotate in the same direction.
Fig. 1. Replication: division into original (preservation of the motion vector) and cloned (change in the motion vector) bacteria.
Tumble - a change in the vector of bacterium motion
Author: Andrey Dik