Juhi Optimization Algorithm (JOA)

The main inspiration of this algorithm comes from the juhi (Jasminum auriculatum)plant.
14 Descargas
Actualizado 6 oct 2025

Ver licencia

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.

Citar como

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

Compatibilidad con la versión de MATLAB
Se creó con R2025b
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Etiquetas Añadir etiquetas

Community Treasure Hunt

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

Start Hunting!
Versión Publicado Notas de la versión
1.0.0