Juhi Optimization Algorithm (JOA)

The main inspiration of this algorithm comes from the juhi (Jasminum auriculatum)plant.
14 download
Aggiornato 6 ott 2025

Visualizza la licenza

Mathematical Model
Let:
  • NNN = number of plants (population)
  • XiX_iXi = position of plant iii in the search space
  • f(Xi)f(X_i)f(Xi) = fitness (objective function)
  • XbestX_{best}Xbest = best position found so far
  • ttt = current iteration, TmaxT_{max}Tmax = maximum iterations
Mathematical Model
Let:
  • NNN = number of plants (population)
  • XiX_iXi = position of plant iii in the search space
  • f(Xi)f(X_i)f(Xi) = fitness (objective function)
  • XbestX_{best}Xbest = best position found so far
  • ttt = current iteration, TmaxT_{max}Tmax = maximum iterations
1. Root Expansion Phase (Exploration)
Plants spread roots randomly to explore nutrients:
Xinew=Xi+αrand(1,D)(XrandXi)X_i^{new} = X_i + \alpha \cdot rand(1, D) \cdot (X_{rand} - X_i)Xinew=Xi+αrand(1,D)(XrandXi)
where
  • α\alphaα = root expansion rate (0.5–1.0),
  • XrandX_{rand}Xrand = random plant position.
2. Stem Growth Phase (Transition)
Plants grow toward light and resources:
Xinew=Xi+βrand(1,D)(XbestXi)X_i^{new} = X_i + \beta \cdot rand(1, D) \cdot (X_{best} - |X_i|)Xinew=Xi+βrand(1,D)(XbestXi)
where
  • β\betaβ = growth factor (0.3–0.7).
3. Flower Blooming Phase (Exploitation)
Flowers bloom around the best nutrient/light zone:
Xinew=Xbest+γ(randn(1,D))X_i^{new} = X_{best} + \gamma \cdot (randn(1, D))Xinew=Xbest+γ(randn(1,D))
where
  • γ=γ0(1tTmax)\gamma = \gamma_0 (1 - \frac{t}{T_{max}})γ=γ0(1Tmaxt), decreasing over time to refine the search.
🌸 Algorithm Steps
  1. Initialize population XiX_iXi randomly within bounds [lb,ub][lb, ub][lb,ub].
  2. Evaluate fitness f(Xi)f(X_i)f(Xi).
  3. Identify XbestX_{best}Xbest.
  4. Repeat until maximum iterations:
  • Perform Root Expansion for a fraction of plants.
  • Perform Stem Growth for middle-range plants.
  • Perform Flower Blooming for top-performing plants.
  • Update XbestX_{best}Xbest.
  1. Return XbestX_{best}Xbest as optimal solution.
1. Root Expansion Phase (Exploration)
Plants spread roots randomly to explore nutrients:
Xinew=Xi+αrand(1,D)(XrandXi)X_i^{new} = X_i + \alpha \cdot rand(1, D) \cdot (X_{rand} - X_i)Xinew=Xi+αrand(1,D)(XrandXi)
where
  • α\alphaα = root expansion rate (0.5–1.0),
  • XrandX_{rand}Xrand = random plant position.
2. Stem Growth Phase (Transition)
Plants grow toward light and resources:
Xinew=Xi+βrand(1,D)(XbestXi)X_i^{new} = X_i + \beta \cdot rand(1, D) \cdot (X_{best} - |X_i|)Xinew=Xi+βrand(1,D)(XbestXi)
where
  • β\betaβ = growth factor (0.3–0.7).
3. Flower Blooming Phase (Exploitation)
Flowers bloom around the best nutrient/light zone:
Xinew=Xbest+γ(randn(1,D))X_i^{new} = X_{best} + \gamma \cdot (randn(1, D))Xinew=Xbest+γ(randn(1,D))
where
  • γ=γ0(1tTmax)\gamma = \gamma_0 (1 - \frac{t}{T_{max}})γ=γ0(1Tmaxt), decreasing over time to refine the search.

Cita come

praveen kumar (2025). Juhi Optimization Algorithm (JOA) (https://it.mathworks.com/matlabcentral/fileexchange/182214-juhi-optimization-algorithm-joa), MATLAB Central File Exchange. Recuperato .

Compatibilità della release di MATLAB
Creato con R2025b
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Versione Pubblicato Note della release
1.0.0