User:Steve WikiP001/sandbox

Beetle Antennae Search

Basic Introduction:

Beetle Antennae Search (BAS) is a bio-inspired meta-heuristic algorithm for model-free optimization. Like Genetic Algorithm (GA), Particle Swarm Optimiztion (PSO), Beetle Antennae Search does not require mathematical models of the problem. While different from GA, PSO, a unique feature of Beetle Antennae Search lies in the fact that it does not require a swarm of particles but a single particle (beetle) to demonstrate powerful optimization. This unique feature distinguishes Beetle Antennae Search from its rival algorithms. As Beetle Antennae Search only involves a single particle in the algorithm, its computational burden is extremely low and thus can be simply run on embedded controllers for online optimization.

Basic Idea:

Imagine a foraging beetle in a space, how does it find the food starting from a location where it can smell the food but cannot see the food?



Biological facts reveal that: [Smell function] The smell of food forms a "smell function" distributed in space with its maximum at the location of the food. The procedure a beetle finds food is analogous to the procedure to search for the maximum of the smell function starting from an initial location. [Differential driven] The beetle compares the food smell received by its two antennas. If the left side antennae receive a higher value, it means the location of food (the position of maximum) is to its left, and therefore the beetle at that moment moves towards the left. If the right side antennae receive a higher value, it means the location of food (the position of maximum) is to its right, and therefore the beetle at that moment moves towards the right. Using this simple logic, beetles can find food effectively.

Beetle Antennae Search is based on the above biological facts and generalize it to n-dimensional space.

Code online Available:

1. Matlab code: https://github.com/ahkhan03/Beetle-Antennae-Search

2. Python code: https://github.com/Fritingo/Beetle_Antennae_Search

3. R code: https://github.com/jywang2016/BAS

https://github.com/jywang2016/rBAS

https://github.com/jywang2016/rBAS_documents

4. Matlab code for BAS variant: https://github.com/syn326/Beetle-Swarm-Optimization-Algorithm

Online Tutorials on Beetle Antennae Search:

1 Foundamental Principles of Beetle Antennae Search https://www.youtube.com/watch?v=d3ZO7HUeivs&t=2s

2. Application of Beetle Antennae Search to Robotics https://www.youtube.com/watch?v=rpbNJlRoPMY&t=586s

References: [1] BAS: Beetle antennae search algorithm for optimization problems X Jiang, S Li International Journal of Robotics and Control, 2018 1(1) [2] Convergence analysis of beetle antennae search algorithm and its applications Y Zhang, S Li, B Xu Soft Computing 25 (16), 10595-10608 [3] BAS-ADAM: an ADAM based approach to improve the performance of beetle antennae search optimizer AH Khan, X Cao, S Li, VN Katsikis, L Liao IEEE/CAA Journal of Automatica Sinica 7 (2), 461-471