## 3 Proposed Hybrid JADE-DO Algorithm
### Mathematical Formulation of the Hybrid JADE-DO Method
#### 3.2.4 Termination and Output  
At the end of each iteration, the best fitness value is updated and recorded in the curve. The exploitation metric, defined as the difference between consecutive best fitness values, is also updated and stored in exploitation_curve. The algorithm terminates when Max_iter is reached or if another stopping criterion is satisfied. Upon termination, the Hybrid JADE-DO algorithm returns:  
\[\text{Best\_pos};\quad\text{Best\_score}.\]  
Here, Best_pos is the best solution found, Best_score is the corresponding objective value.  
JADEDO flowchart (See Figure 1) begins with the initialization of parameters and the random population generation. The population is then evaluated to find the current best solution. If the iteration counter \(l\) has not reached Max_iter, the algorithm executes two main stages in parallel: the JADE steps (_yellow box_) and the DO steps (_red box_). The JADE steps carry out mutation, crossover, selection, and adaptive parameter updates, while the DO steps implement the rising, decline, and landing phases. After these stages, the best solution is updated, the exploitation metric is calculated, and the iteration counter \(l\) is incremented. This process continues until the maximum number of iterations is reached, at which point the algorithm terminates and outputs the final best solution.  
```
1:Input: Objective function \(f(\cdot)\), bounds \([lb,ub]\), population size pop, maximum iterations Max_iter, ratio \(p_{0}\), learning rate \(c\), DO scaling factor \(\alpha\), initial means \(uCR\), \(uF\), DO velocity components \(v_{x}\), \(v_{y}\), and any other DO-specific parameters.
2:Output: Best solution Best_pos, best fitness Best_score
3:Initialization: Set iteration counter \(l=0\). Initialize \(uCR=0.5\), \(uF=0.5\). Define top \(=\lceil p_{0}\times\text{pop}\rceil\). Initialize archive \(A=\varnothing\); set archive size counter \(t=1\). Initialize array curve \(=[\,]\) and exploitation_curve \(=[\,]\). Randomly initialize population \(P\) in \([lb,ub]\). Evaluate each \(P(i,:)\) by \(f(P(i,:))\) (see Equation (12)). Identify Best_pos and Best_score from the initial population.
4:Main Loop (_while \(l<\text{Max\_iter}\)_): JADE Steps:
5:for\(i=1\) to pop do
6: Draw \(CR(i)\) from a normal distribution with mean \(uCR\) (refer to Equation (13)) and clip to \([0,1]\).
7: Draw \(F(i)\) from a Cauchy distribution with location \(uF\) (refer to Equation (14)) and clip to a valid range.
8: Generate mutant vector \(V(i,:)\) (see Equation (15)) using \(X_{\text{pbest}}\), \(P1\), and \(P2\) (which can come from \(P\cup A\)).
9: Perform crossover to create trial vector \(U(i,:)\) (see Equation (16)).
10: Apply boundary handling (refer to Equations (17) and (18)).
11: Evaluate \(f(U(i,:))\).
12: Compare \(U(i,:)\) with \(P(i,:)\); if \(U(i,:)\) is better, replace \(P(i,:)\) and update archive \(A\) as needed.
13:endfor
14: Adapt \(uCR\) and \(uF\) using successful \(CR\) and \(F\) (Equations (19) and (20)). Dandelion optimizer (DO) integration:
15:Rising stage: Update \(P(i,:)\) via a random dispersal process (Equation (21)), then re-evaluate fitness.
16:Decline stage: Move solutions toward the mean (Equation (22)), then re-evaluate fitness.
17:Landing stage: Refine solutions using Levy flights around the elite (Equation (23)), then re-evaluate fitness. Update best solutions:
18:Identify any improvement in Best_score and update if found.
19:Compute exploitation metric as the difference in consecutive best fitness values.
20:Append Best_score to curve and the exploitation metric to exploitation_curve.
21:Increment \(l\gets l+1\).
22:End While
23:Return Best_pos, Best_score
```  
**Algorithm 1** Hybrid JADEDO algorithm.