## 2 Materials and Methods
### HFO-1 Algorithm  
HFO-1 is a swarm based optimization algorithm, which is an extended variant of the HFO algorithm [46; 47]. Originally HFO was introduced as a framework for design problems where the objective function is known in advance and the component must be designed for the particular problem. HFO-1 finds near-optimal solutions to any numerical function optimization problems. The main skeleton of the HFO-1 algorithm basically consists of five main steps, which are shown in Algorithm 1 below.  
The main steps of the HFO-1 algorithm are as follows:  
Initialization Step: This step is generally performed similarly in all metaheuristic algorithms. HFO-1 starts with a set of randomly generated candidate solutions, which are the members of the population. The solutions are initialized according to the lower and upper bound values of the dimensions and the number of solutions, given as the parameters of the algorithm.  
Formation Step: At this step, the honeybees mix the nectar collected from various nectar sources with their own enzymes in their stomach. This process is carried out at the step called mixing-0 in the algorithm.  
```
1-Sources\(\leftarrow\) initialize_honey_sources
2-Gbest\(\leftarrow\)\(\mathit{Pbest}\)\(\leftarrow\)\(\mathit{Sources}[1]\)
3 repeat
4-for each\(\mathit{source}\) of workers
5-\(\mathit{component}\)\(\leftarrow\)\(\mathit{source}\)
6-\(\mathit{Sources}\)\(\leftarrow\)\(\mathrm{exploit}(\mathit{source},\mathit{component})\)
7-for each\(\mathit{onlooker}\)
8-\(\mathit{source}\)\(\leftarrow\)\(\mathrm{select\_a\_source}(\mathit{Sources})\)
9-\(\mathit{Sources}\)\(\leftarrow\)\(\mathrm{exploit}(\mathit{source})\)
10-if mixing phase
11-\(\mathit{Sources}\)\(\leftarrow\)mix honey-forms with \(\mathit{PBest}\) and others randomly
12- ensure the \(\mathit{Pbest}\) form is not corrupted
13-if maturation phase
14-\(\mathit{Sources}\)\(\leftarrow\) initialize_honey_sources and set \(\mathit{newSite}=\mathit{true}\)
15-elseif saturation phase
16-\(\mathit{Sources}[mx]\)\(\leftarrow\)\(\mathit{Pbest}\)\(\leftarrow\)\(\mathit{Gbest}\) with random \(mx\) and set \(\mathit{newSite}=\mathit{false}\)
17-if\(\mathit{Gbest}\) is not improved for one maturation period
18-change mixing sizes randomly
19 until maximum iteration
```  
**Algorithm 1** HFO-1 Skeleton  
Mixing Step: At this step, the honeybees that have produced sufficient honey return to the hive and then go through a process that involves mixing cycles of chewing and spitting. In these steps, which are called mixing-1 and mixing-2 in the algorithm, semi-mature and mature honey forms are created, respectively. However, mixing cycles are organized in sessions that only occur when the honey forms need to be mixed.  
Maturation Step: In this step, the honey mixture, which consists of honey forms, is homogenous enough to be used as the global catalyzer for the successive mixtures. HFO-1 checks the maturation status of the honey at regular intervals. This stage is observed when all honey forms are equivalent, with \"Pbest\" and \"Gbest\" remaining stable for a time. When the honey mixture is mature, it is time for the bees to change site to acquire a new mixture, so that the new mixture is mixed with the global catalyzer, \"Gbest\". The maturation phase continues as long as the global catalyzer, \"Gbest\", remains the same before the saturation period starts.  
Saturation Step: It is the phase in which the maturation overdose is realized. The maturation phase lasted a long period, after which the saturation step began. In this phase, the global catalyzer progressively replaces the honey forms so that any heterogeneity in the honey mixture is removed over time. You can find detailed information about the HFO-1 method in the study conducted by [PERSON] and [PERSON] (2018).