Self-Adaptive Brain-Eating Amoeba Optimization(SABEO)
Version 1.0.0 (4.63 KB) by
praveen kumar
this program ilutrates working of Self-Adaptive Brain-Eating Amoeba Optimization
Algorithm: SA-BEAO
Step 1. Initialization
1.1. Define the objective function f(x)f(x)f(x), decision variables dimension DDD, population size NNN, and maximum iterations TmaxT_{\max}Tmax.
1.2. Initialize amoeba population X={x1,x2,…,xN}X = \{x_1, x_2, …, x_N\}X={x1,x2,…,xN} randomly within bounds [lb,ub][lb, ub][lb,ub].
1.3. Evaluate fitness f(xi)f(x_i)f(xi) for each amoeba.
1.4. Set the best solution xbestx_{best}xbest and record the best fitness.
1.5. Initialize operator probabilities pj=1/Mp_j = 1/Mpj=1/M, where MMM is the number of operators. Initialize operator success counters sj=1s_j = 1sj=1.
Step 2. Adaptive Evolution (for each iteration t=1→Tmaxt = 1 \to T_{\max}t=1→Tmax)
2.1. Update adaptive parameters
- Reduce exploration factor α=α0(1−t/Tmax)0.5\alpha = \alpha_0 (1 - t/T_{\max})^{0.5}α=α0(1−t/Tmax)0.5.
- Adjust local search radius rloc=0.1+0.9(1−t/Tmax)r_{loc} = 0.1 + 0.9(1 - t/T_{\max})rloc=0.1+0.9(1−t/Tmax).
2.2. For each amoeba xix_ixi:
- Select an operator OjO_jOj using roulette wheel selection based on probabilities pjp_jpj.
- Apply the chosen operator to generate a candidate solution xnewx_{new}xnew.
Operators:
- Flagellate Motion: Directed movement toward the global best.
- Phagocytosis: Local Gaussian perturbation (exploit).
- Encystment: Random reinitialization (diversify).
- Swarm Interaction: Attraction toward neighbor mean.
- Shapeshifting: Scaling mutation of current vector.
- Binary Splitting: Create child solution via Gaussian offspring.
- Lévy Flight: Large jump with heavy-tailed step.
2.3. Boundary control
- Ensure xnewx_{new}xnew lies within [lb,ub][lb, ub][lb,ub].
2.4. Selection
- If f(xnew)<f(xi)f(x_{new}) < f(x_i)f(xnew)<f(xi), replace xi←xnewx_i \leftarrow x_{new}xi←xnew.
- Update operator success counter sj=sj+1s_j = s_j + 1sj=sj+1 if improvement occurred.
2.5. Update global best
- If f(xnew)<f(xbest)f(x_{new}) < f(x_{best})f(xnew)<f(xbest), update xbest=xnewx_{best} = x_{new}xbest=xnew.
Step 3. Adaptive Operator Probability Update
- Every Δt\Delta tΔt iterations (e.g., 20):
pj=max(sj∑k=1Msk, pmin)p_j = \max\left(\frac{s_j}{\sum_{k=1}^M s_k}, \; p_{\min}\right)pj=max(∑k=1Msksj,pmin)
- Normalize probabilities so that ∑jpj=1\sum_j p_j = 1∑jpj=1.
- This favors operators with higher success while ensuring exploration.
Step 4. Stopping Condition
- Repeat Steps 2–3 until TmaxT_{\max}Tmax is reached or convergence is satisfied.
Step 5. Output
- Return best solution xbestx_{best}xbest and its fitness f(xbest)f(x_{best})f(xbest).
Cite As
praveen kumar (2025). Self-Adaptive Brain-Eating Amoeba Optimization(SABEO) (https://au.mathworks.com/matlabcentral/fileexchange/182078-self-adaptive-brain-eating-amoeba-optimization-sabeo), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Created with
R2025b
Compatible with any release
Platform Compatibility
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
SA-BEAO
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.0 |
