Self-Adaptive Brain-Eating Amoeba Optimization(SABEO)

this program ilutrates working of Self-Adaptive Brain-Eating Amoeba Optimization
11 Downloads
Aktualisiert 21. Sep 2025

Lizenz anzeigen

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=1Tmaxt = 1 \to T_{\max}t=1Tmax)
2.1. Update adaptive parameters
  • Reduce exploration factor α=α0(1t/Tmax)0.5\alpha = \alpha_0 (1 - t/T_{\max})^{0.5}α=α0(1t/Tmax)0.5.
  • Adjust local search radius rloc=0.1+0.9(1t/Tmax)r_{loc} = 0.1 + 0.9(1 - t/T_{\max})rloc=0.1+0.9(1t/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 xixnewx_i \leftarrow x_{new}xixnew.
  • 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(sjk=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 = 1jpj=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).

Zitieren als

praveen kumar (2026). Self-Adaptive Brain-Eating Amoeba Optimization(SABEO) (https://de.mathworks.com/matlabcentral/fileexchange/182078-self-adaptive-brain-eating-amoeba-optimization-sabeo), MATLAB Central File Exchange. Abgerufen.

Kompatibilität der MATLAB-Version
Erstellt mit R2025b
Kompatibel mit allen Versionen
Plattform-Kompatibilität
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Veröffentlicht Versionshinweise
1.0.0