Juhi Optimization Algorithm (JOA)
Versione 1.0.0 (4,06 KB) da
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.
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 LinuxTag
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Scopri Live Editor
Crea script con codice, output e testo formattato in un unico documento eseguibile.
JOA
| Versione | Pubblicato | Note della release | |
|---|---|---|---|
| 1.0.0 |
