Juhi Optimization Algorithm (JOA)
Versión 1.0.0 (4,06 KB) por
praveen kumar
The main inspiration of this algorithm comes from the juhi (Jasminum auriculatum)plant.
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)⋅(Xrand−Xi)X_i^{new} = X_i + \alpha \cdot rand(1, D) \cdot (X_{rand} - X_i)Xinew=Xi+α⋅rand(1,D)⋅(Xrand−Xi)
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)⋅(Xbest−∣Xi∣)X_i^{new} = X_i + \beta \cdot rand(1, D) \cdot (X_{best} - |X_i|)Xinew=Xi+β⋅rand(1,D)⋅(Xbest−∣Xi∣)
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(1−tTmax)\gamma = \gamma_0 (1 - \frac{t}{T_{max}})γ=γ0(1−Tmaxt), decreasing over time to refine the search.
🌸 Algorithm Steps
- Initialize population XiX_iXi randomly within bounds [lb,ub][lb, ub][lb,ub].
- Evaluate fitness f(Xi)f(X_i)f(Xi).
- Identify XbestX_{best}Xbest.
- 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.
- Return XbestX_{best}Xbest as optimal solution.
1. Root Expansion Phase (Exploration)
Plants spread roots randomly to explore nutrients:
Xinew=Xi+α⋅rand(1,D)⋅(Xrand−Xi)X_i^{new} = X_i + \alpha \cdot rand(1, D) \cdot (X_{rand} - X_i)Xinew=Xi+α⋅rand(1,D)⋅(Xrand−Xi)
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)⋅(Xbest−∣Xi∣)X_i^{new} = X_i + \beta \cdot rand(1, D) \cdot (X_{best} - |X_i|)Xinew=Xi+β⋅rand(1,D)⋅(Xbest−∣Xi∣)
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(1−tTmax)\gamma = \gamma_0 (1 - \frac{t}{T_{max}})γ=γ0(1−Tmaxt), 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 LinuxEtiquetas
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Descubra Live Editor
Cree scripts con código, salida y texto formateado en un documento ejecutable.
JOA
| Versión | Publicado | Notas de la versión | |
|---|---|---|---|
| 1.0.0 |
