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.
引用格式
praveen kumar (2025). Juhi Optimization Algorithm (JOA) (https://ww2.mathworks.cn/matlabcentral/fileexchange/182214-juhi-optimization-algorithm-joa), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
创建方式
R2025b
兼容任何版本
平台兼容性
Windows macOS Linux标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!JOA
| 版本 | 已发布 | 发行说明 | |
|---|---|---|---|
| 1.0.0 |
