# Modified Harris Hawks Optimization Algorithm with Exploration Factor and Random Walk Strategy

Authors: Meijia Song; Heming Jia; Laith Abualigah; Qingxin Liu; Zhixing Lin; Di Wu; Maryam Altalhi
Journal: Computational Intelligence and Neuroscience
 (2022)

---

## Abstract

One of the most popular population-based metaheuristic algorithms is Harris hawks optimization (HHO), which imitates the hunting mechanisms of Harris hawks in nature. Although HHO can obtain optimal solutions for specific problems, it stagnates in local optima solutions. In this paper, an improved Harris hawks optimization named ERHHO is proposed for solving global optimization problems. Firstly, we introduce tent chaotic map in the initialization stage to improve the diversity of the initialization population. Secondly, an exploration factor is proposed to optimize parameters for improving the ability of exploration. Finally, a random walk strategy is proposed to enhance the exploitation capability of HHO further and help search agent jump out the local optimal. Results from systematic experiments conducted on 23 benchmark functions and the CEC2017 test functions demonstrated that the proposed method can provide a more reliable solution than other well-known algorithms.


---

## Body

## 1. Introduction

In recent years, because of the low computing cost, simplicity, flexibility, and gradient-free mechanisms [1] and metaheuristic algorithms (MAs) [2–5] have attracted a rising amount of interest. In most cases, MAs are motivated by the ideas of evolution [6–8], human [9–12], animal behavior [13–16], or physics [17–21]. Kennedy et al. [22] inspired by the regularity of flock foraging behavior and proposed particle swarm optimization (PSO) with the characteristics of fast convergence speed and fewer parameters. Mirjalili et al. [23] proposed an algorithm called grey wolf optimization (GWO) based on the grey wolves’ hierarchy system and hunting strategies. The whale optimization algorithm (WOA) [24] simulates a whale’s random search and predation, bubble attack, and contraction surround behavior. The salp swarm algorithm (SSA) [25] is inspired by the leader guiding followers’ behavior of salp swarm chains to food. The sine cosine algorithm (SCA) [26] is proposed to optimize the aircraft wing design problem by searching the image inward or outward with the sine and cosine function, which can deep mine the best position and finally achieves the global optimum. Slime mould algorithm (SMA) [27] is motivated mainly by changes in slime mould morphology during foraging.In the field of MAs, the no free lunch (NFL) theorem [28] illustrates that there is no one-size-fits-all solution to all optimization challenges. Therefore, many researchers show great interest not only in proposing a new algorithm but also in optimizing classical algorithms.Zheng et al. [29] propose an algorithm called improved remora optimization algorithm (IROA) that improves the remora optimization algorithm (ROA) by introducing an autonomous foraging mechanism. This mechanism is based on the way the remora finds food on its own. Abualigah et al. [30] combine the arithmetic optimization algorithm (AOA) with SCA’s operators for enhancing the local search ability of AOA and verify the effectiveness by some experiments. Jia et al. [31] come up with an algorithm called CMSRSSMA with an improvement of SMA by embedding the composite mutation strategy (CMS) and restart strategy (RS). The CMS aims to enhance the population diversity, and the RS is utilized to avoid the local optima. Liu et al. [32] present a modified remora optimization algorithm (MROA) with Brownian motion and lens opposition-based learning, and it can be suitable for the multilevel thresholding image segmentation application. Meanwhile, the new algorithm introduces the nonlinear escaping energy parameters and random-opposition-based learning strategies to make itself more competitive. Almotairi and Abualigah [33] proposed a method called HRSA, which hybrid the original reptile search algorithm (RSA) and ROA by a novel transition method, and applied it to solving data clustering problems. Zamfirache et al. [34] apply a new algorithm hybrid policy iteration (PI) and GWO algorithm to neural networks and get good results in NN training and solving complex optimization problems. Pozna et al. [35] proposed a new algorithm called PF-PSO that hybrid particle filter (PF) and PSO algorithm and applied the new hybrid method to optimize the position control of the integral-type serve systems.In 2019, Heidari et al. [36] proposed the HHO algorithm, which is inspired by the Harris hawks’ predation behavior in nature, including three stages of exploration, the transformation from exploration to exploitation, and exploitation. HHO has the characteristics of simple principles, fewer parameters, and strong local optimization ability. HHO has been used in the aspect of image segmentation [37], neural network [38], electric machine control [39], and other fields. However, HHO has the weakness of limited optimization accuracy, low convergence speed, and easily jumping into local optimum like other MAs. Therefore, many scholars have improved the HHO algorithm from different perspectives. Ma et al. [40] used the Chan algorithm to calculate the initial solution and replace an individual position to reduce unnecessary exploration and improve the algorithm’s convergence speed. Houssein et al. [41] introduced cross and mutation cooperative gene operators and proposed the HHOCM optimization algorithm based on opposition-based learning, which enhanced the ability of exploration and applied it to generate the initial population effectively. Tang et al. [42] introduced the tent chaotic map, an elite hierarchy system, nonlinear escape energy strategy, and Gaussian random walk strategy to improve the convergence speed and accuracy of the algorithm. Jia et al. [43] introduced a mutation strategy and dynamic control parameter for calculating escape energy in the exploration stage and achieved good results by regulating different parameters. The above improvement strategy has improved the performance of the HHO algorithm, but it still has significant room for improvement for the shortcomings of the HHO algorithm.We proposed the ERHHO algorithm to surmount some weaknesses of the HHO algorithm. Based on different experiments, the proposed algorithm was evaluated with some classic algorithms such as SMA and SSA and some HHO optimizer algorithms such as DHHO and CEHHO. And the results show that the proposed algorithm can perform better than the competitive algorithms and enhance the ability to jump out of the local optimum with minor changes. In particular, this paper made the following main contributions:(i)
Introduced tent chaotic map to improve the quality of initialized population location(ii)
Proposed the strategy called exploration factor in improving the ability of exploration(iii)
Proposed the random walk strategy to promote the convergence speed and accuracy(iv)
The simulation experiments are tested on 23 standard test functions(v)
The real-world problems tests are based on CEC2017 test functions and five classical engineering problemsThe remainder of this document is structured as follows. A quick summary of HHO is given in Section2. Section 3 describes the tent chaotic map, exploration factor, random walk strategy, and ERHHO algorithm. The results and discussion of the proposed algorithm are given in Section 4, which mainly applies to benchmark functions, and real problems include CEC2017 and engineering design problems. Section 5 contains the conclusions and prospects.


## 2. Harris Hawks Algorithm

The HHO algorithm is motivated by different attack strategies of hawks exploring and attacking their prey. HHO is a population-based optimization technology that consists of three stages: exploration, the transformation of exploration, and exploitation. The different phases of HHO are shown in Figure1.Figure 1
Different phases of HHO [36].


### 2.1. Exploration Stage

At this stage, hawks perch in random places based on other members or rabbit locations, which are modeled as follows:(1)Xt+1=Xrandt−r1Xrandt−2r2Xt,q≥0.5,Xrabbitt−Xmt−r3LB+r4UB−LB,q<0.5,(2)Xmt=1N∑i=1NXit,where Xt+1 represents the new position of hawks in the next iteration, Xrabbitt is the position of prey, and Xt is the position of hawks. The modulus means the absolute value of the elements. r1, r2, r3, r4, and q are random numbers in the interval (0, 1). UB and LB are the upper and lower bounds of variables. Xrandt is the position of a random hawk population. Xmt is the average location of the current population of hawks.


### 2.2. Transformation of Exploration and Exploitation

The escape energy of the prey is a major factor in the transition stage, which is evaluated with the following equations:(3)E1=21−tT,(4)E=E0E1,where t is the current iteration; E0 is the initial energy of a prey, varying randomly between −1 and 1; and T is the maximum number of iterations.


### 2.3. Exploitation Stage

At this point, the hawks assault the prey using four chasing strategies and the prey’s escape behavior. Escaping energy (E) and the potential of escape (r) are required for a successful capture.Whenr≥0.5 and E≥0.5, a soft besiege was conducted by hawks in the following equations, which means the prey has enough energy but gets a failed try for escaping:(5)Xt+1=ΔXt−EJXrabbitt−Xt,(6)ΔXt=Xrabbitt−Xt,where ΔXt is the contrast between the position of hawks at iteration t and the current position of prey and Xrabbitt represents the leap strength that changes randomly at each iteration. r5 is a random number between 0 and 1.Hawks applies a hard besiege to prey with low escaping energy and fails to escape, which is indicated byr≥0.5 and E<0.5, modeled as follows:(7)Xt+1=Xrabbitt−EΔXt.Whenr<0.5 and E≥0.5, hawks hunt through a smarter soft encirclement called soft besiege with progressive rapid dives, modeled as follows:(8)Y=Xrabbit0v−EJXrabbitt−Xt,(9)Z=Y+S×LFD,where D is the problem’s dimension, S denotes a random vector of size 1×D, and LF means the Levy flight function as defined in equations.(10)LFd=0.01×u×σv1/β,(11)σ=Γ1+β×sinπβ/2Γ1+β/2×β×2β−1/21/β,where u,v are random normal distribution vector with the size of 1 × d, β is a constant and bound to a value of 1.5, and Γ is a standard Gamma function. Updating the hawk’s positions can be modeled by(12)Xt+1=YifFZ<FXt,ZifFZ<FXt.When the prey’s energy is depleted, a hard besiege is established (r<0.5 and E<0.5). The calculation of Y and Z is modeled as equations (13) and (14). The updating method is as follows:(13)Y=Xrabbitt−EJXrabbitt−Xmt,(14)Z=Y+S×LFD,(15)Xt+1=YifFY<FXt,ZifFZ<FXt.


## 2.1. Exploration Stage

At this stage, hawks perch in random places based on other members or rabbit locations, which are modeled as follows:(1)Xt+1=Xrandt−r1Xrandt−2r2Xt,q≥0.5,Xrabbitt−Xmt−r3LB+r4UB−LB,q<0.5,(2)Xmt=1N∑i=1NXit,where Xt+1 represents the new position of hawks in the next iteration, Xrabbitt is the position of prey, and Xt is the position of hawks. The modulus means the absolute value of the elements. r1, r2, r3, r4, and q are random numbers in the interval (0, 1). UB and LB are the upper and lower bounds of variables. Xrandt is the position of a random hawk population. Xmt is the average location of the current population of hawks.


## 2.2. Transformation of Exploration and Exploitation

The escape energy of the prey is a major factor in the transition stage, which is evaluated with the following equations:(3)E1=21−tT,(4)E=E0E1,where t is the current iteration; E0 is the initial energy of a prey, varying randomly between −1 and 1; and T is the maximum number of iterations.


## 2.3. Exploitation Stage

At this point, the hawks assault the prey using four chasing strategies and the prey’s escape behavior. Escaping energy (E) and the potential of escape (r) are required for a successful capture.Whenr≥0.5 and E≥0.5, a soft besiege was conducted by hawks in the following equations, which means the prey has enough energy but gets a failed try for escaping:(5)Xt+1=ΔXt−EJXrabbitt−Xt,(6)ΔXt=Xrabbitt−Xt,where ΔXt is the contrast between the position of hawks at iteration t and the current position of prey and Xrabbitt represents the leap strength that changes randomly at each iteration. r5 is a random number between 0 and 1.Hawks applies a hard besiege to prey with low escaping energy and fails to escape, which is indicated byr≥0.5 and E<0.5, modeled as follows:(7)Xt+1=Xrabbitt−EΔXt.Whenr<0.5 and E≥0.5, hawks hunt through a smarter soft encirclement called soft besiege with progressive rapid dives, modeled as follows:(8)Y=Xrabbit0v−EJXrabbitt−Xt,(9)Z=Y+S×LFD,where D is the problem’s dimension, S denotes a random vector of size 1×D, and LF means the Levy flight function as defined in equations.(10)LFd=0.01×u×σv1/β,(11)σ=Γ1+β×sinπβ/2Γ1+β/2×β×2β−1/21/β,where u,v are random normal distribution vector with the size of 1 × d, β is a constant and bound to a value of 1.5, and Γ is a standard Gamma function. Updating the hawk’s positions can be modeled by(12)Xt+1=YifFZ<FXt,ZifFZ<FXt.When the prey’s energy is depleted, a hard besiege is established (r<0.5 and E<0.5). The calculation of Y and Z is modeled as equations (13) and (14). The updating method is as follows:(13)Y=Xrabbitt−EJXrabbitt−Xmt,(14)Z=Y+S×LFD,(15)Xt+1=YifFY<FXt,ZifFZ<FXt.


## 3. Proposed Algorithm

### 3.1. Tent Chaotic Map

For the past few years, many scholars have proved that chaotic maps [44, 45] are capable of improving the search process of a population-based metaheuristic algorithm. In general, chaotic maps are usually introduced into one or several processes such as initial population, exploration, or exploitation stage. The images of the 10 most commonly used chaotic maps are shown in Figure 2.Figure 2
Ten commonly used chaotic maps.One of the main purposes of this paper is to enhance the diversity of the initialization population. The initialization of location has a certain influence on the diversity of the population and the stability of the algorithm. HHO algorithm can only guarantee the randomness of the population position at the initialization stage, but randomness does not mean uniformity. The chaotic sequence has certain ergodicity and high randomness. Chaotic mapping can generate random numbers with a uniform distribution between 0 and 1. We tested the listed 10 chaotic maps and verified that tent chaotic map is appropriate to our modified algorithm. The characteristics and randomness of this map can effectively improve the performance by transforming the initial position of hawks. The mathematical description is shown in the following equation:(16)Xi+1=Xia,ifXi<a,1−Xi1−a,ifXi≥a.We enhance the diversity of the initialization population by modifying the initial positions through equation (16), where Xi+1 represents the new position of hawks after chaotic mapping, Xi is the current position of hawks, and a is set to 0.7.


### 3.2. Exploration Factor

In the exploration stage, the HHO algorithm updating positions is mainly calculated by equations (1) and (2), where r1 and r3 are random values in the range of (0, 1). Although the settings could lead to the randomness of each step in the global search, the variability is lacking.In this phase, the original HHO algorithm simulates the situation that the hawks can track and detect the prey with their powerful eyes, but occasionally, the prey cannot be seen easily, and the hawks detect a prey maybe after several hours. According to these, we think we should adjust the parameters to be more flexible.We can consider the parameters ofr1 and r3 as the step length; when the values are bigger, the hawks move faster and vice versa. There are two possibilities for a hawk finding a prey, one is an immediate detection, and another is a long-time search. For the first situation, we should consider the randomness of the step length. And, for the second situation, the whole variant trend of the step length should decrease. Because the possibility for a hawk finding a prey increases as time goes by, the hawks should explore a wider range with a bigger step at first, and a meticulous search should be applied in the late iterations. Thus, we update r1 and r3 by exploration factor modeled as follows: (17)ef=b×rand−b2×cosπ2×tT2.Then equation (1) is updated as follows:(18)Xt+1=Xrandt−efXrandt−2r2Xt,q≥0.5,Xrabbitt−Xmt−efLB+r4UB−LB,q<0.5,where b is set to 2 that can achieve a pleasing effect through experimental tests. b∗rand−b/2 is introduced to gain the randomness of step length by generating random numbers in the interval of −b/2,b/2. The cos function is introduced to form a nonlinear convergence from 1 to 0 with iterations (see Figure 3).Figure 3
Cos function convergence curve.In a word, the exploration factor expands the range of step length from (0, 1) to−b/2,b/2 at first and helps the exploration process gradually change from an extensive range to a small range as the number of iterations increases (see Figure 4). Finally, the exploration factor preserved the randomness of step length.Figure 4
Curve of exploration factor.


### 3.3. Random Walk Strategy

In the exploitation stage of the HHO algorithm, Harris hawks update its position through four pursuit strategies. Although it increases the possibility of exploration, entering the next iteration without interference can easily lead to the algorithm falling into the local optimum. To ameliorate this problem, some common strategies are applied to the methods, such as the Gaussian random walk strategy [42], Levy flight function, and Brownian motion [16, 46]. These strategies possess the traits of stabilizing in a range of values with high probability and drastic changing values with low probability. And all these strategies improve the methods by generating a deviation.In this paper, we think that in the early iterations, the deviation should be bigger so that we can get more chances to jump out of local optima. In the late iterations, a smaller deviation can help find the optimal result better. So we designed the step of random walk gradually taper with iterations. According to these, the random walk strategy was proposed, which is activated by identical fitness values in iterations. In other words, when the value of fitness is equal to its last iteration, we activate the random walk strategy. This strategy can deviate the position of a hawk according to a varying parameter. The value of the parameter depends onc×rand−c/2×cosπ/2×t/T and decreases with iterations. The strategy is modeled as follows:(19)Xmi=Xi+c×rand−c2×cosπ2×tT2×Xi−Xrabbit.Whenc = 6, we can obtain a better performance through the experimental test. Xmi is the new position after applying the random walk strategy. We retain the better result to enter the next iteration by greedy strategy modeled as follows:(20)Xt+1=Xmt+1,fXmt+1<fXt+1,Xt+1,fXmt+1≥fXt+1.


### 3.4. The Details of ERHHO

HHO possesses strong local exploitation ability but insufficient global exploration. The switch from exploration to exploitation is based on the prey’s escaping energy. The population diversity is insufficient in the early iterations, reflecting the exploration period and the slow convergence speed. The energy of prey drops as the number of iterations grows, and the algorithm enters the period of local exploitation. Four different hunting techniques are applied based on the prey’s energy and the likelihood of escaping.Therefore, the tent chaotic map was introduced to enhance the population diversity; then, we optimized critical parameters in the exploration phase with the exploration factor. As a component of the exploitation phase, a random walk strategy was introduced to enhance the ability to jump out of local optima. The convergence speed and accuracy are improved through all of these approaches, and the program’s overall optimization performance is effectively enhanced. This new Harris hawks optimization algorithm is called ERHHO. Figure5 depicts the summary flowchart, and Algorithm 1 represents the pseudocode for ERHHO.Figure 5
Flowchart of ERHHO.Algorithm 1: Pseudocode of ERHHO.
(1)
Set the initial values of the population sizeN and the maximum number of iterations T(2)
Initialize positions of the populationX(3)
For each hawkXi, update the position by equation (16) %tent chaotic map(4)
Whilet ≤ T(5)
Check if the position goes out of the search space boundary and return it(6)
Calculate the fitness of each search agentXi(7)
UpdateXbest(8)
fori = 1 to N(9)
Calculate the escaping energy (E) by equations (3) and (4)(10)
ifE≥1then %phase of exploration(11)
Update the position ofXit by equations (2), (17), and (18) %exploration factor(12)
ifE<1then %phase of exploitation(13)
ifr≥0.5andE≥0.5then %soft besiege(14)
Update the position ofXit by equations (5) and (6)(15)
else ifr≥0.5andE<0.5then %hard besiege(16)
Update the position ofXit by equation (7)(17)
else ifr<0.5andE≥0.5then %soft besiege with progressive rapid dives(18)
Update the position ofXit by equations (8)–(12)(19)
else ifr<0.5andE<0.5then %hard besiege with progressive rapid dives(20)
Update the position ofXit by equations (13)–(15)(21)
iffXit==fXit−1) then %random walk strategy(22)
Update the position ofXwalk_it by equation (19)(23)
iff(Xwalk_it) < f(Xit) then %greedy strategy(24)
Update the position ofXit by equation (20)(25)
End for(26)
t = t + 1(27)
End while(28)
ReturnXbest


### 3.5. Computational Complexity Analysis

Initialization, position updating, and fitness evaluation are the three essential components of ERHHO. Positions are generated with a computational complexity ofO(N ∗ D), where N denotes the number of populations and D represents the dimensions of the problem. It takes O(N) to evaluate the fitness solution. We employ a random walk strategy to prevent the algorithm from entering local optima, and the computational complexity is O(2 × N × D × T). Hence, the proposed ERHHO algorithm has a total computational complexity of O(2 × N × D × T).


## 3.1. Tent Chaotic Map

For the past few years, many scholars have proved that chaotic maps [44, 45] are capable of improving the search process of a population-based metaheuristic algorithm. In general, chaotic maps are usually introduced into one or several processes such as initial population, exploration, or exploitation stage. The images of the 10 most commonly used chaotic maps are shown in Figure 2.Figure 2
Ten commonly used chaotic maps.One of the main purposes of this paper is to enhance the diversity of the initialization population. The initialization of location has a certain influence on the diversity of the population and the stability of the algorithm. HHO algorithm can only guarantee the randomness of the population position at the initialization stage, but randomness does not mean uniformity. The chaotic sequence has certain ergodicity and high randomness. Chaotic mapping can generate random numbers with a uniform distribution between 0 and 1. We tested the listed 10 chaotic maps and verified that tent chaotic map is appropriate to our modified algorithm. The characteristics and randomness of this map can effectively improve the performance by transforming the initial position of hawks. The mathematical description is shown in the following equation:(16)Xi+1=Xia,ifXi<a,1−Xi1−a,ifXi≥a.We enhance the diversity of the initialization population by modifying the initial positions through equation (16), where Xi+1 represents the new position of hawks after chaotic mapping, Xi is the current position of hawks, and a is set to 0.7.


## 3.2. Exploration Factor

In the exploration stage, the HHO algorithm updating positions is mainly calculated by equations (1) and (2), where r1 and r3 are random values in the range of (0, 1). Although the settings could lead to the randomness of each step in the global search, the variability is lacking.In this phase, the original HHO algorithm simulates the situation that the hawks can track and detect the prey with their powerful eyes, but occasionally, the prey cannot be seen easily, and the hawks detect a prey maybe after several hours. According to these, we think we should adjust the parameters to be more flexible.We can consider the parameters ofr1 and r3 as the step length; when the values are bigger, the hawks move faster and vice versa. There are two possibilities for a hawk finding a prey, one is an immediate detection, and another is a long-time search. For the first situation, we should consider the randomness of the step length. And, for the second situation, the whole variant trend of the step length should decrease. Because the possibility for a hawk finding a prey increases as time goes by, the hawks should explore a wider range with a bigger step at first, and a meticulous search should be applied in the late iterations. Thus, we update r1 and r3 by exploration factor modeled as follows: (17)ef=b×rand−b2×cosπ2×tT2.Then equation (1) is updated as follows:(18)Xt+1=Xrandt−efXrandt−2r2Xt,q≥0.5,Xrabbitt−Xmt−efLB+r4UB−LB,q<0.5,where b is set to 2 that can achieve a pleasing effect through experimental tests. b∗rand−b/2 is introduced to gain the randomness of step length by generating random numbers in the interval of −b/2,b/2. The cos function is introduced to form a nonlinear convergence from 1 to 0 with iterations (see Figure 3).Figure 3
Cos function convergence curve.In a word, the exploration factor expands the range of step length from (0, 1) to−b/2,b/2 at first and helps the exploration process gradually change from an extensive range to a small range as the number of iterations increases (see Figure 4). Finally, the exploration factor preserved the randomness of step length.Figure 4
Curve of exploration factor.


## 3.3. Random Walk Strategy

In the exploitation stage of the HHO algorithm, Harris hawks update its position through four pursuit strategies. Although it increases the possibility of exploration, entering the next iteration without interference can easily lead to the algorithm falling into the local optimum. To ameliorate this problem, some common strategies are applied to the methods, such as the Gaussian random walk strategy [42], Levy flight function, and Brownian motion [16, 46]. These strategies possess the traits of stabilizing in a range of values with high probability and drastic changing values with low probability. And all these strategies improve the methods by generating a deviation.In this paper, we think that in the early iterations, the deviation should be bigger so that we can get more chances to jump out of local optima. In the late iterations, a smaller deviation can help find the optimal result better. So we designed the step of random walk gradually taper with iterations. According to these, the random walk strategy was proposed, which is activated by identical fitness values in iterations. In other words, when the value of fitness is equal to its last iteration, we activate the random walk strategy. This strategy can deviate the position of a hawk according to a varying parameter. The value of the parameter depends onc×rand−c/2×cosπ/2×t/T and decreases with iterations. The strategy is modeled as follows:(19)Xmi=Xi+c×rand−c2×cosπ2×tT2×Xi−Xrabbit.Whenc = 6, we can obtain a better performance through the experimental test. Xmi is the new position after applying the random walk strategy. We retain the better result to enter the next iteration by greedy strategy modeled as follows:(20)Xt+1=Xmt+1,fXmt+1<fXt+1,Xt+1,fXmt+1≥fXt+1.


## 3.4. The Details of ERHHO

HHO possesses strong local exploitation ability but insufficient global exploration. The switch from exploration to exploitation is based on the prey’s escaping energy. The population diversity is insufficient in the early iterations, reflecting the exploration period and the slow convergence speed. The energy of prey drops as the number of iterations grows, and the algorithm enters the period of local exploitation. Four different hunting techniques are applied based on the prey’s energy and the likelihood of escaping.Therefore, the tent chaotic map was introduced to enhance the population diversity; then, we optimized critical parameters in the exploration phase with the exploration factor. As a component of the exploitation phase, a random walk strategy was introduced to enhance the ability to jump out of local optima. The convergence speed and accuracy are improved through all of these approaches, and the program’s overall optimization performance is effectively enhanced. This new Harris hawks optimization algorithm is called ERHHO. Figure5 depicts the summary flowchart, and Algorithm 1 represents the pseudocode for ERHHO.Figure 5
Flowchart of ERHHO.Algorithm 1: Pseudocode of ERHHO.
(1)
Set the initial values of the population sizeN and the maximum number of iterations T(2)
Initialize positions of the populationX(3)
For each hawkXi, update the position by equation (16) %tent chaotic map(4)
Whilet ≤ T(5)
Check if the position goes out of the search space boundary and return it(6)
Calculate the fitness of each search agentXi(7)
UpdateXbest(8)
fori = 1 to N(9)
Calculate the escaping energy (E) by equations (3) and (4)(10)
ifE≥1then %phase of exploration(11)
Update the position ofXit by equations (2), (17), and (18) %exploration factor(12)
ifE<1then %phase of exploitation(13)
ifr≥0.5andE≥0.5then %soft besiege(14)
Update the position ofXit by equations (5) and (6)(15)
else ifr≥0.5andE<0.5then %hard besiege(16)
Update the position ofXit by equation (7)(17)
else ifr<0.5andE≥0.5then %soft besiege with progressive rapid dives(18)
Update the position ofXit by equations (8)–(12)(19)
else ifr<0.5andE<0.5then %hard besiege with progressive rapid dives(20)
Update the position ofXit by equations (13)–(15)(21)
iffXit==fXit−1) then %random walk strategy(22)
Update the position ofXwalk_it by equation (19)(23)
iff(Xwalk_it) < f(Xit) then %greedy strategy(24)
Update the position ofXit by equation (20)(25)
End for(26)
t = t + 1(27)
End while(28)
ReturnXbest


## 3.5. Computational Complexity Analysis

Initialization, position updating, and fitness evaluation are the three essential components of ERHHO. Positions are generated with a computational complexity ofO(N ∗ D), where N denotes the number of populations and D represents the dimensions of the problem. It takes O(N) to evaluate the fitness solution. We employ a random walk strategy to prevent the algorithm from entering local optima, and the computational complexity is O(2 × N × D × T). Hence, the proposed ERHHO algorithm has a total computational complexity of O(2 × N × D × T).


## 4. Experimental Results and Discussion

In this part, we validate the performance of ERHHO on 23 benchmark functions [47] by comparing it with some state-of-art metaheuristics algorithms: SMA, WOA, SSA, SCA, and HHO, and HHO-based optimization algorithm: DHHO/M and HHOCM. Meanwhile, we use the Wilcoxon signed-rank test to acknowledge the differences between ERHHO and the comparative algorithms. Furthermore, we test ERHHO with HHO-related algorithms: HHO, DHHO/M, HHOCM, and CEHHO on CEC2017 test functions to testify the real-world applications. And also the five engineering design issues are applied with the same algorithms as in benchmark functions’ tests.


### 4.1. Benchmark Functions and Parameter Settings

Many scholars employ benchmark functions. Details of the unimodal, multimodal, and fixed-dimension multimodal benchmark functions are shown in Table1. The unimodal benchmark functions (F1–F7) have only one extreme point; it can be effectively testified to the exploitation ability of ERHHO. And the global search capacity of ERHHO can be tested by the multimodal benchmark functions (F8–F23) with many local optima.Table 1
Benchmark function properties (Dim indicates dimension).
FunctionDimRangeFminUnimodal benchmark functionsF130[−100, 100]0F230[−10, 10]0F330[−100, 100]0F430[−100, 100]0F530[−30, 30]0F630[−100, 100]0F730[−1.28, 1.28]0Multimodal benchmark functionsF830[−500, 500]418.9829 × dimF930[−5.12, 5.12]F1030[−32, 32]0F1130[−600, 600]0F1230[−50, 50]0F1330[−50, 50]0Fixed-dimension multimodal benchmark functionsF142[−65, 65]0.998F154[−5, 5]0.00030F162[−5, 5]−1.0316F172[−5, 5]0.398F182[−2, 2]3F193[−1, 2]−3.86F206[0, 1]−3.32F214[0, 10]−10.1532F224[0, 10]−10.4028F234[0, 10]−10.5363To make the experimental findings more representative, the ERHHO is compared with algorithms of SMA [27], WOA [24], SSA [25], SCA [26], and HHO [36], DHHO/M [43], and HHOCM [41]. Table 2 shows the parameter settings for each algorithm. All the parameters are set according to the original articles except b and c (the analysis of b and c are listed in Section 4.2). The maximum iteration (T) was set to 500; the population size (N) was set to 30; and the dimension size (D) was set to 30 in all tests. We calculate average results and standard deviations with 30 independent runs and bold the best values.Table 2
Parameter settings for the comparative algorithms.
AlgorithmParametersERHHOβ = 1.5, a = 0.7, b = 2, c = 6SMA [27]z = 0.03WOA [24]a1 = [2, 0], a2 = [−2, 1], b = 1SSA [25]c1 ∈ [0, 1], c2 ∈ [0, 1]SCA [26]a = 2HHO [36]β = 1.5DHHO/M [43]a = 2.5, F = 0.5HHOCM [41]β = 1.5


### 4.2. Sensitivity Analysis ofb and c on ERHHO

The parameter settings of comparative algorithms are in accordance with the original articles, as well as the values ofβ and a of ERHHO are according to the original HHO algorithm. The new parameters are b and c, which can significantly impact the performance of ERHHO. Thus, setting the appropriate parameters for better results is necessary. The aims of b and c are to find a suitable search range. According to equation (17), the original range is between 0 and 1; for expanding the scope, b is considered as 2, 4, and 6; and c is considered as 2, 4, and 6. To find the fit b-c value pair, we tested 9 situations by using 23 benchmark functions. We calculate the mean results of each function with 30 independent runs, and the results are listed in Table 3. The lowest values are highlighted in bold. We count the number of bold fonts in each function, and the ERHHO algorithm can get the best performance with b = 2 and c = 6. The parameter values will be used for further experimental tests.Table 3
Parameters sensitivity analysis.
Functionb = 2b = 2b = 2b = 4b = 4b = 4b = 6b = 6b = 6c = 2c = 4c = 6c = 2c = 4c = 6c = 2c = 4c = 6F10.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 00F20.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 00F30.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 00F40.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 00F54.1086E − 042.3293E − 049.9757E − 054.4925E − 042.4795E − 041.6512E − 041.5639E − 033.3876E − 044.1522E − 04F69.1737E − 053.8910E − 051.4826E − 058.5754E − 055.2338E − 054.6220E − 051.7327E − 041.1701E − 043.8893E − 05F75.7338E − 058.4463E − 057.1416E − 056.3548E − 057.9739E − 057.3938E − 057.3475E − 056.7715E − 056.3104E − 05F8−1.2569E + 04−1.2569E + 04−1.2569E + 04−1.2569E + 04−1.2569E + 04−1.2569E + 04−1.2569E + 04−1.2569E + 04−1.2569E + 04F90.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 00F108.8818E − 168.8818E − 168.8818E − 168.8818E − 168.8818E − 168.8818E − 168.8818E − 168.8818E − 168.8818E − 16F110.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 00F121.9085E − 066.3102E − 072.9078E − 074.8068E − 061.8862E − 061.8322E − 066.5051E − 062.0196E − 062.2776E − 06F132.6364E − 058.3301E − 064.8525E − 065.0282E − 051.7997E − 051.8399E − 054.8097E − 054.7190E − 052.8779E − 05F149.9800E − 019.9800E − 019.9800E − 019.9800E − 011.1303E + 001.0311E + 009.9800E − 011.3599E + 009.9800E − 01F153.2234E − 043.4356E − 043.3924E − 043.6062E − 043.4211E − 043.0770E − 043.2145E − 043.1080E − 043.6977E − 04F16−1.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00F173.9789E − 013.9789E − 013.9789E − 013.9789E − 013.9789E − 013.9789E − 013.9789E − 013.9789E − 013.9789E − 01F183.0000E + 003.0000E + 003.0000E + 003.0000E + 003.0000E + 003.0000E + 003.0000E + 003.0000E + 003.0000E + 00F19−3.8628E + 00−3.8628E + 00−3.8628E + 00−3.8628E + 00−3.8628E + 00−3.8628E + 00−3.8628E + 00−3.8628E + 00−3.8628E + 00F20−3.2268E + 00−3.2558E + 00−3.2689E + 00−3.1938E + 00−3.2562E + 00−3.2735E + 00−3.2015E + 00−3.2816E + 00−3.2741E + 00F21−1.0152E + 01−1.0153E + 01−1.0153E + 01−1.0152E + 01−1.0153E + 01−1.0153E + 01−1.0153E + 01−1.0153E + 01−1.0153E + 01F22−1.0402E + 01−1.0403E + 01−1.0403E + 01−1.0402E + 01−1.0403E + 01−1.0403E + 01−1.0402E + 01−1.0403E + 01−1.0403E + 01F23−1.0536E + 01−1.0536E + 01−1.0536E + 01−1.0536E + 01−1.0536E + 01−1.0536E + 01−1.0535E + 01−1.0536E + 01−1.0536E + 01Sum141620131416141616The best results are marked in bold.


### 4.3. Analysis of Benchmark Functions

#### 4.3.1. Numerical Analysis

For the unimodal benchmark functions (F1–F7), ERHHO can obtain the best result except for F6 as shown in Table4. Especially, for F1–F4, ERHHO can obtain the theoretical optimum. And the result of ERHHO ranks only second to SSA for F6. The aim of unimodal benchmark functions is to measure the exploitation ability. From the experimental tests of F1–F7, we can prove that the proposed algorithm possesses a strong local search ability.Table 4
Results of algorithms on 23 benchmark functions.
FunctionERHHOSMAWOASSASCAHHODHHO/MHHOCMF1Mean0.0000E + 005.4841e − 3227.8586E − 744.5572E − 071.5650E + 012.4246E − 961.9672E − 950.0000E + 00Std0.0000E + 000.0000E + 002.1680E − 738.0901E − 072.1910E + 011.3093E − 956.7432E − 950.0000E + 00F2Mean0.0000E + 001.9735E − 1504.7683E − 512.4203E + 002.4894E − 022.9318E − 511.3176E − 481.2225E − 203Std0.0000E + 001.0809E − 1492.0969E − 501.7085E + 003.5592E − 021.1152E − 506.0671E − 480.0000E + 00F3Mean0.0000E + 002.0792E − 2814.4988E + 041.4407E + 039.3775E + 038.4362E − 737.6735E − 700.0000E + 00Std0.0000E + 000.0000E + 001.2599E + 049.7094E + 025.8048E + 034.6060E − 724.2027E − 690.0000E + 00F4Mean0.0000E + 002.1129E − 1373.8143E + 011.1509E + 013.2926E + 015.4154E − 493.9550E − 434.5525E − 197Std0.0000E + 001.1573E − 1362.7276E + 013.7852E + 001.3070E + 011.4703E − 482.1642E − 420.0000E + 00F5Mean8.9883E − 058.3666E + 002.7925E + 012.7609E + 024.3940E + 041.0142E − 026.7040E − 033.1438E − 02Std1.9452E − 041.1685E + 014.5946E−013.6619E + 026.4024E + 041.2554E − 029.5798E − 035.0191E − 02F6Mean1.6455E − 055.2944E − 034.4446E − 012.0747E − 071.9795E + 011.5127E − 047.3876E − 053.1254E − 04Std2.5216E − 054.1571E − 032.8101E − 014.6645E − 071.8292E + 011.7402E − 041.0886E − 043.8262E − 04F7Mean7.6595E − 052.1094E − 042.0569E − 031.6531E − 019.7607E − 021.3707E − 041.5754E − 041.6184E − 04Std5.8914E − 051.7724E − 042.0834E − 037.4193E − 027.9845E − 021.0626E − 041.4448E − 041.7591E − 04F8Mean−1.2569E + 04−1.2569E + 04−1.0181E + 04−7.4877E + 03−3.8109E + 03−1.2569E + 04−1.2469E + 04−1.2554E + 04Std5.0470E − 023.5003E − 011.6535E + 036.3231E + 023.4249E + 028.9555E − 015.4333E + 025.4994E + 01F9Mean0.0000E + 000.0000E + 003.7896E−154.9483E + 014.6372E + 010.0000E + 000.0000E + 000.0000E + 00Std0.0000E + 000.0000E + 002.0756E−141.3277E + 013.4053E + 010.0000E + 000.0000E + 000.0000E + 00F10Mean8.8818E − 168.8818E − 165.3883E − 152.7147E + 001.2192E + 018.8818E − 168.8818E − 168.8818E − 16Std0.0000E + 000.0000E + 002.0723E − 159.8679E − 019.4808E + 000.0000E + 000.0000E + 000.0000E + 00F11Mean0.0000E + 000.0000E + 001.6696E − 021.7711E − 029.7236E − 010.0000E + 000.0000E + 000.0000E + 00Std0.0000E + 000.0000E + 005.4084E − 021.4171E − 023.5476E − 010.0000E + 000.0000E + 000.0000E + 00F12Mean3.1435E − 074.9064E − 032.1150E − 026.6186E + 002.4854E + 041.3945E − 058.5284E − 061.5684E − 05Std5.0819E − 075.8190E − 031.3549E − 022.8000E + 008.6251E + 042.0991E − 051.0043E − 052.2746E − 05F13Mean7.2242E − 067.2277E − 035.0105E − 011.1788E + 011.1416E + 057.4801E − 059.5150E − 052.7612E − 04Std9.7389E − 066.6267E − 031.8495E − 011.2856E + 012.8677E + 058.4403E − 051.0966E − 043.9597E − 04F14Mean9.9800E − 019.9800E − 012.7353E + 001.1637E + 001.7223E + 001.7549E + 001.2949E + 001.1634E + 00Std7.4084E − 115.6156E − 132.8639E + 003.7678E−011.8868E + 001.6921E + 009.3994E − 015.2656E − 01F15Mean3.1210E − 045.6703E − 046.9856E − 042.1817E − 031.0610E − 033.8687E − 044.5821E − 045.6125E − 04Std2.1452E − 053.0981E − 044.7771E − 044.9506E − 034.1995E − 042.8444E − 043.0067E − 044.2913E − 04F16Mean−1.0316E + 00−1.0316E + 00−1.0316E + 001.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00Std4.8085E − 162.4615E − 091.2442E − 093.3423E − 145.2063E − 054.2516E − 095.7528E − 113.8734E − 09F17Mean3.9789E − 013.9789E − 013.9789E − 013.9789E − 013.9998E−013.9789E − 013.9789E − 013.9789E − 01Std1.1571E − 152.0433E−078.4094E−061.8281E−142.1427E−037.6834E−063.9921E−061.6521E−06F18Mean3.0000E + 003.0000E + 003.0000E + 003.0000E + 003.0001E + 003.0000E + 003.0000E + 003.0000E + 00Std1.1106E − 141.8331E−103.8495E−053.0811E−131.3607E−043.3143E−077.5272E−081.5483E−08F19Mean−3.8628E + 00−3.8628E + 00−3.8532E + 00−3.8628E + 00−3.8543E + 00−3.8599E + 00−3.8608E + 00−3.8626E + 00Std8.0972E − 153.3188E−071.1608E−027.2861E−112.5528E−034.2515E−033.0862E−035.1550E−04F20Mean−3.2692E + 00−3.2621E + 00−3.2474E + 00−3.2178E + 00−2.9363E + 00−3.0985E + 00−3.1112E + 00−3.2615E + 00Std6.1618E−026.0867E−029.7561E−024.7860E−022.6267E−011.1844E−018.3931E−026.7841E−02F21Mean−1.0153E + 01−1.0153E + 01−8.7154E + 00−7.0613E + 00−2.1979E + 00−5.0516E + 00−1.0032E + 01−5.0550E + 00Std3.0528E − 053.2280E−042.2751E + 003.4592E + 001.7374E + 003.1444E−031.2614E−012.6879E−04F22Mean−1.0403E + 01−1.0403E + 01−8.8619E + 00−8.4885E + 00−2.7876E + 00−5.0047E + 00−1.0212E + 01−5.0876E + 00Std1.1586E − 072.0872E−042.6262E + 003.0306E + 001.7662E + 004.2878E−011.8693E−011.0644E−04F23Mean−1.0536E + 01−1.0536E + 01−7.8012E + 00−8.6030E + 00−4.2432E + 00−5.4760E + 00−1.0404E + 01−5.1283E + 00Std4.5569E−073.6654E−043.0292E + 003.0771E + 001.7263E + 001.3367E + 001.5417E−011.7786E−04The best results are marked as bold fonts. For the unimodal benchmark functions (F1–F7), ERHHO can obtain the best result except for F6.For the multimodal functions (F8–F23), ERHHO gets the best mean values except for F9 and the best stand deviations except for F14 and F20. The goal of multimodal functions is to evaluate the exploration capability. From the test of F8–F23, we can verify that the global ability of ERHHO is excellent.In conclusion, the ERHHO algorithm outperforms the other compared algorithms in unimodal functions, which due to the random walk strategy, the algorithm’s capacity to jump out of the local optimum can be effectively boosted. For the multimodal benchmark functions, the performance of proposed ERHHO is competitive as well. The reason for the excellent performance of ERHHO in the exploration phase is mainly due to the exploration factor. The exploration factor can expand the scope of exploration that is why ERHHO can find the result faster and more accurately. We tried the experiment of adding the exploration factor only to the original HHO, and the results of some multimodel test functions were better than before. Especially, for F21–F23, the result was improved remarkably and close to the theoretical values (see Table5).Table 5
Results of HHO (hybrid exploration factor) on F21–F23.
FunctionHHOHHO + exploration factorF21Mean−5.3410E + 00−1.0147E + 01Std1.1097E + 007.5648E − 03F22Mean−5.2560E + 00−1.0394E + 01Std9.5700E − 011.4686E − 02F23Mean−5.3039E + 00−1.0530E + 01Std9.8154E − 016.1909E − 03The best results are marked in bold.


#### 4.3.2. Convergence Analysis

Figure6 depicts the results of analyzing the proposed algorithm’s convergence in various functions (F3, F5, F7–F10, F12–F15, and F19–F23). For unimodal functions (F3, F5, and F7), the differences in convergence curves between ERHHO and HHO can be observed visually from F5, which represents higher accuracy values after several step-like descents. That is, because when the hawks get trapped, ERHHO activates the random walk strategy, which can help the hawks fly deviate from the trap and lead to a new position with more possibilities. These three functions can reflect that ERHHO possesses a faster convergence speed and a higher accuracy than HHO and the other competitive algorithms in unimodal functions.Figure 6
Convergence curves of 23 benchmark functions: (a) F3, (b) F5, (c) F7, (d) F8, (e) F9, (f) F10, (g) F12, (h) F13, (i) F14, (j) F15, (k) F19, (l) F20, (m) F21, (n) F22, and (o) F23.
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)The conclusion also holds in multimodal functions. Many of the figures show the ERRHO can get the optimal values directly after several iterations such as F8–F10, F14–F15, and F19–F23 that is because of the strong exploration ability of ERHHO whose global search scope is twice as wide as before in the early period, so the ERHHO algorithm can converge very fast. For F12, the ERHHO and HHO get a similar trend before iteration 100, but after that, ERHHO dive suddenly and get the best accuracy from all competitors. The reason is the coordination of local strategy and global search ability. The local strategy has the characteristic of a large deviation in the early stage and a small deviation in the later period. The cooperation helps the ERHHO jump out of the local optima and find better fitness values by a wide search scope. The situation is reflected in F13 as well because the functions of F12 and F13 have similar graphical features (many close local optimal points).It can be seen that no matter for unimodal functions or multimodal functions, the proposed algorithm provides a better convergence pattern in almost all functions.


### 4.4. Wilcoxon Signed-Rank Test

The Wilcoxon signed-rank (WSR) test is used to show that the results are statistically significant. By WSR, we can determine whether two sets of values are significantly different. Ap value is lower than 0.05 suggests that the method is considerably better than the compared algorithms. The Wilcoxon signed-rank test results for each benchmark function are shown in Table 6. As can be observed, ERHHO outperforms almost all of the other algorithms to varying degrees.Table 6
The results of the Wilcoxon signed test.
FunctionERHHO vs.SMAWOASSASCAHHODHHO/MHHOCMF1NaN6.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 07NaNF26.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 07F37.9725E − 026.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 07NaNF46.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 07F54.1432E − 063.3918E − 063.3918E − 063.3918E − 063.6093E − 043.3568E − 057.4772E − 06F63.3918E − 063.3918E − 063.3918E − 063.3918E − 065.3383E − 011.5846E − 017.9403E − 03F74.2111E − 023.3918E − 063.3918E − 063.3918E − 061.0574E − 011.4397E − 026.1898E − 03F81.9352E − 053.3918E − 063.3918E − 063.3918E − 069.6615E − 051.1457E − 045.4521E − 03F9NaN3.5065E − 016.8662E − 076.8662E − 07NaNNaNNaNF10NaN2.1523E − 056.8662E − 076.8662E − 07NaNNaNNaNF11NaN3.5065E − 016.8662E − 076.8662E − 07NaNNaNNaNF123.3918E − 063.3918E − 063.3918E − 063.3918E − 067.0162E − 034.2111E − 022.8226E − 03F133.3918E − 063.3918E − 063.3918E − 063.3918E − 061.0992E − 051.0500E − 032.2289E − 04F145.2468E − 033.0947E − 052.7876E − 013.0659E − 066.3415E − 055.3134E − 053.5402E − 03F153.3918E − 064.1432E − 065.0527E − 063.3918E − 061.0992E − 051.1457E − 044.0200E − 05F161.2604E − 061.2604E − 061.2604E − 061.2604E − 061.2604E − 061.5660E − 061.2604E − 06F172.2038E − 062.2038E − 063.4080E − 042.2038E − 064.9642E − 061.9074E − 052.4387E − 06F185.0162E − 063.3664E − 061.0918E − 053.3664E − 063.3664E − 063.9725E − 053.3664E − 06F193.2092E − 063.2092E − 065.5823E − 043.2092E − 063.2092E − 063.2092E − 063.2092E − 06F202.4549E − 015.6145E − 011.0122E − 023.3918E − 064.7948E − 032.4626E − 038.6823E − 01F211.6053E − 053.3918E − 067.7155E − 013.3918E − 063.3918E − 063.3918E − 063.3918E − 06F227.4772E − 063.3918E − 061.2486E − 013.3918E − 063.3918E − 063.3918E − 063.3918E − 06F234.8063E − 053.3918E − 065.7371E − 053.3918E − 063.3918E − 064.1432E − 063.3918E − 06(W|L|T)(17|2|4)(20|3|0)(20|3|0)(23|0|0)(18|2|3)(19|1|3)(17|1|5)The best results are marked in bold.


### 4.5. The Performance of ERHHO on the CEC2017

To further evaluate, one of the most challenging test functions is called CEC2017 [48], which includes 30 test functions with unimodal, multimodal, hybrid, and composition types (see Table 7). In this experiment, we set dim = 10 for all functions.Table 7
Properties and summary of the CEC2017.
TypeNo.FunctionsGlobal minDomainUnimodal functionF1Shifted and rotated bent cigar function100[−100, 100]F2Shifted and rotated sum of different power function200[−100, 100]F3Shifted and rotated Zakharov’s function300[−100, 100]Multimodal functionsF4Shifted and rotated Rosenbrock’s function400[−100, 100]F5Shifted and rotated Rastrigin’s function500[−100, 100]F6Shifted and rotated expanded Schaffer’s function600[−100, 100]F7Shifted and rotated Lunacek Bi_Rastrigin function700[−100, 100]F8Shifted and rotated noncontinuous Rastrigin’s function800[−100, 100]F9Shifted and rotated Levy function900[−100, 100]F10Shifted and rotated Schwefel’s function1,000[−100, 100]Hybrid functionsF11Hybrid function of Zakharov, Rosenbrock, and Rastrigin1,100[−100, 100]F12Hybrid function of high conditioned elliptic, modified Schwefel, and bent cigar1,200[−100, 100]F13Hybrid function of bent cigar, Rosenbrock, and Lunacek bi-Rastrigin1,300[−100, 100]F14Hybrid function of elliptic, Ackley, Schaffer and Rastrigin1,400[−100, 100]F15Hybrid function of bent cigar, HGBat, Rastrigin, and Rosenbrock1,500[−100, 100]F16Hybrid function of expanded Schaffer, HGBat, Rosenbrock, and modified Schwefel1,600[−100, 100]F17Hybrid function of Katsuura, Ackley, expanded Griewank plus Rosenbrock, modified Schwefel, and Rastrigin1,700[−100, 100]F18Hybrid function of high conditioned elliptic, Ackley, Rastrigin, HGBat, and Discus1,800[−100, 100]F19Hybrid function of bent cigar, Rastrigin, expanded Griewank plus Rosenbrock, Weierstrass, and expanded Schaffer1,900[−100, 100]F20Hybrid function of HappyCat, Katsuura, Ackley, Rastrigin, modified Schwefel, and Schaffer2,000[−100, 100]Composition functionsF21Composition function of Rosenbrock, high conditioned elliptic, and Rastrigin2,100[−100, 100]F22Composition function of Rastrigin’s, Griewank, and modified Schwefel2,200[−100, 100]F23Composition function of Rosenbrock, Ackley, modified Schwefel, and Rastrigin2,300[−100, 100]F24Composition function of Ackley, high conditioned elliptic, Griewank, and Rastrigin2,400[−100, 100]F25Composition function of Rastrigin, HappyCat, Ackley, Discus, and Rosenbrock2,500[−100, 100]F26Composition function of expanded Schaffer, modified Schwefel, Griewank, Rosenbrock, and Rastrigin2,600[−100, 100]F27Composition function of HGBat, Rastrigin, modified Schwefel, bent cigar, high conditioned elliptic, and expanded Schaffer2,700[−100, 100]F28Composition function of Ackley, Griewank, Discus, Rosenbrock, HappyCat, and expanded Schaffer2,800[−100, 100]F29Composition function of shifted and rotated Rastrigin, expanded Schaffer, and Lunacek Bi_Rastrigin2,900[−100, 100]F30F30 composition function of shifted and rotated Rastrigin, noncontinuous Rastrigin, and Levy function3,000[−100, 100]HHO algorithm performs poorly on complicated problems such as CEC2017 but focuses on tackling simple, traditional, high-dimensional issues. We compared the proposed algorithm with HHO or optimizer based on HHO is more rational. We tested ERHHO on CEC2017 test functions (excluding F2, which is unstable) and compared it with HHO, DHHO/M, HHOCM, and CEHHO [42]. Each function was put to the test 30 times with 1,000 iterations, and the dimensions of all functions were set to 10.The results of CEC2017 test functions are listed in Table8, which utilize Friedman’s mean rank, and the best values are provided in bold. According to Table 8, the proposed algorithm performed well in F1 and got the second rank in F3. We can say, the performance of ERHHO is similar to HHOCM and better than other algorithms for unimodal functions. For multimodal functions, ERHHO has a slight advantage over HHOCM and CEHHO but outperforms others. But, for hybrid and composition functions, ERHHO shows a huge lead over the other algorithms. We evaluate the algorithms group by different types of unimodal, multimodal, hybrid, and composition (see Figure 7). From Figure 7, ERHHO got the same Friedman rank value as HHOCM on the type of unimodal and multimodal but obviously outperformed other algorithms. For the type of hybrid and composition, ERHHO got the optimal ranking in all competitive algorithms.Table 8
The results of CEC2017 test functions.
TypeNo.ERHHOHHODHHO/MHHOCMCEHHOUnimodal functionF1Mean1.2052E + 043.6019E + 054.2939E + 052.0170E + 041.0067E + 06Std2.2216E + 041.7863E + 053.0607E + 052.4823E + 041.0026E + 06Rank13425F3Mean3.0063E + 023.0180E + 023.0231E + 023.0019E + 023.1873E + 02Std4.6904E − 011.0312E + 002.0173E + 009.7727E − 021.6569E + 01Rank23415Multimodal functionsF4Mean4.1270E + 024.1578E + 024.1392E + 024.0689E + 024.1280E + 02Std2.1283E + 012.5703E + 012.1889E + 011.1731E + 011.9551E + 01Rank25413F5Mean5.4272E + 025.4457E + 025.4797E + 025.4413E + 025.4567E + 02Std1.7715E + 011.2083E + 011.3398E + 011.5229E + 011.8236E + 01Rank13524F6Mean6.2997E + 026.3151E + 026.3265E + 026.3046E + 026.3753E + 02Std9.6724E + 001.2635E + 011.1154E + 011.0670E + 011.2120E + 01Rank13425F7Mean7.8617E + 027.8076E + 027.7761E + 027.7481E + 027.8152E + 02Std1.8646E + 011.6252E + 011.7448E + 012.0940E + 012.2054E + 01Rank53214F8Mean8.3287E + 028.2779E + 028.2843E + 028.2989E + 028.2428E + 02Std6.4227E + 008.0354E + 007.6805E + 008.9310E + 007.6576E + 00Rank52341F9Mean1.3612E + 031.4738E + 031.3986E + 031.4321E + 031.3168E + 03Std3.0596E + 022.0219E + 022.0034E + 022.5386E + 021.9220E + 02Rank25341F10Mean1.9272E + 031.9801E + 032.0096E + 032.0094E + 032.0899E + 03Std2.6782E + 023.0179E + 022.8965E + 022.9359E + 023.1406E + 02Rank12435Hybrid functionsF11Mean1.1567E + 031.1797E + 031.1939E + 031.1647E + 031.1809E + 03Std4.3639E + 018.0529E + 019.0864E + 015.1621E + 016.2806E + 01Rank13524F12Mean2.5268E + 042.3910E + 062.6341E + 062.5694E + 062.8299E + 06Std3.7776E + 042.0613E + 062.9949E + 062.8868E + 063.1678E + 06Rank12435F13Mean2.6880E + 031.7767E + 042.0431E + 041.2350E + 041.4179E + 04Std2.2783E + 031.1560E + 041.1932E + 049.9645E + 038.7188E + 03Rank14523F14Mean1.4865E + 031.5791E + 031.5321E + 031.5857E + 031.5634E + 03Std2.4693E + 012.0948E + 023.4605E + 011.9928E + 028.5603E + 01Rank14253F15Mean1.5942E + 034.0799E + 034.2891E + 034.6614E + 036.3234E + 03Std5.7397E + 011.7066E + 032.0041E + 031.7606E + 032.8184E + 03Rank12345F16Mean1.9278E + 031.8955E + 031.8830E + 031.9312E + 031.8949E + 03Std1.2443E + 021.5078E + 021.3381E + 021.5608E + 021.4804E + 02Rank43152F17Mean1.7674E + 031.7769E + 031.7841E + 031.7664E + 031.7967E + 03Std2.4383E + 012.8229E + 016.0168E + 012.1723E + 013.8642E + 01Rank23415F18Mean3.8251E + 031.3844E + 041.6139E + 041.7430E + 041.5003E + 04Std3.7128E + 031.1177E + 041.1613E + 041.0382E + 041.2422E + 04Rank12453F19Mean4.7207E + 031.1593E + 041.2784E + 041.2917E + 041.5813E + 04Std5.0189E + 031.1274E + 041.1131E + 041.1182E + 041.3094E + 04Rank12345F20Mean2.1509E + 032.1761E + 032.1553E + 032.1520E + 032.1662E + 03Std6.1600E + 016.3993E + 016.5874E + 017.4938E + 016.8566E + 01Rank15324Composition functionsF21Mean2.3271E + 032.3298E + 032.3117E + 032.3291E + 032.3016E + 03Std5.1674E + 015.1905E + 016.1347E + 016.0511E + 016.3126E + 01Rank35241F22Mean2.3123E + 032.3776E + 032.3159E + 032.3580E + 032.3759E + 03Std6.4041E + 003.4445E + 026.1462E + 002.7117E + 022.4397E + 02Rank15234F23Mean2.6610E + 032.6651E + 032.6565E + 032.6833E + 032.6664E + 03Std2.3793E + 012.7693E + 012.6149E + 012.5521E + 013.0349E + 01Rank23154F24Mean2.7871E + 032.7876E + 032.7977E + 032.8124E + 032.7837E + 03Std9.6226E + 011.0482E + 027.3836E + 019.2546E + 018.1668E + 01Rank23451F25Mean2.9141E + 032.9389E + 032.9331E + 032.9168E + 032.9448E + 03Std6.4027E + 013.7666E + 012.4771E + 018.8852E + 013.4255E + 01Rank14325F26Mean3.4378E + 033.3932E + 033.4342E + 033.4730E + 033.7968E + 03Std6.6555E + 025.4030E + 025.9523E + 024.9775E + 025.8494E + 02Rank31245F27Mean3.1341E + 033.1412E + 033.1451E + 033.1499E + 033.1616E + 03Std3.8294E + 014.5307E + 014.3369E + 013.2091E + 014.6269E + 01Rank12345F28Mean3.3287E + 033.4277E + 033.3626E + 033.3302E + 033.3703E + 03Std1.7005E + 021.7236E + 021.6371E + 021.0408E + 021.6007E + 02Rank15324F29Mean3.3221E + 033.3466E + 033.3369E + 033.3284E + 033.3642E + 03Std7.8055E + 011.0081E + 029.4273E + 018.6562E + 011.0507E + 02Rank14325F30Mean6.4195E + 058.8875E + 051.2359E + 067.2195E + 052.2614E + 06Std7.2364E + 051.0667E + 061.3062E + 061.1924E + 065.0252E + 06Rank13425Friedman mean rank1.72413.24143.24142.96553.8276Rank13325The best results are marked in bold.Figure 7
Friedman mean ranking for each type of CEC2017 test functions.


### 4.6. Experiments on Engineering Design Problems

We analyze the performance of ERHHO on five classic engineering design issues in this section. We perform all the experiments by setting the population (N) to 30 and the maximum iteration (T) to 500. The proposed algorithms are compared to algorithms: SMA, WOA, SSA, SCA, HHO, DHHO/M, and HHOCM. The parameter settings are identical to those listed in Table 2.


#### 4.6.1. Tension/Compression Spring Design Problem

This challenge [49] aims to find the optimum variables of wire diameter (d), average coil diameter (D), and the number of active coils (N) by the optimization algorithms for obtaining the minimum weight of the tension or compress spring under four constraints. The tension/compression spring structure is shown in Figure 8. The conditions and formulations are as follows:Figure 8
Tension spring design problem [50].Consider(21)x⟶=x1x2x3x4=dDN.Minimize(22)fx⟶=x3+2x2x12.Subject to(23)g1x⟶=1−x23x371785x14≤0,g2x⟶=4x22−x1x212566x2x13−x14+15108x12≤0,g3x⟶=1−140.45x1x22x3≤0,g4x⟶=x1+x21.5−1≤0.Variable range(24)0.05≤x1≤2.00,0.25≤x2≤1.30,2.00≤x3≤15.00.Table9 shows the results of ERHHO and compared algorithms for solving this problem, and we can see that the ERHHO algorithm obtained the best performance among all competitors.Table 9
Results for tension/compression spring design problem.
AlgorithmOptimum variablesOptimum weightdDNERHHO0.0549190.500315.21440.010886SMA0.0560260.5324.69740.011184WOA0.0561720.536284.63380.011225SSA0.050.34047411.36740.011378SCA0.0513490.392998.77620.011166HHO0.0574820.575674.10790.011618DHHO/M0.056240.538284.60450.011244HHOCM0.0553030.511185.02750.010987The best results are marked in bold.


#### 4.6.2. Pressure Vessel Design Problem

The problem’s primary goal is to obtain set values of the shell (Ts), the thickness of the head (Th), the inner radius (R), and the length of the cylindrical section (L) by the optimization algorithms for reducing the cost of cylindrical pressure vessels [51] while meeting the pressure requirements. The structure of the pressure vessel is shown in Figure 9. The mathematical formula is represented as follows:Figure 9
Pressure vessel design problem [50].Consider(25)x⟶=x1x2x3x4=TsThRL.Minimize(26)fx⟶=0.6224x1x3x4+1.7781x2x32+3.1661x12x4+19.84x12x3.Subject to(27)g1x⟶=−x1+0.0193x3≤0,g2x⟶=−x3+0.00954x3≤0,g3x⟶=−πx32x4−43πx33+1296000≤0,g4x⟶=x4−240≤0.Variable range(28)0≤x1≤99,0≤x2≤99,10≤x3≤200,10≤x4≤200.We can see from Table10 that ERHHO was able to find the optimal solution at the lowest cost compared to other competitor algorithms.Table 10
Results for pressure vessel design problem.
AlgorithmOptimum variablesOptimum costTsThRLERHHO0.81283370.41416444.19005152.33735,907.41SMA0.84987430.416885745.62804137.31145,953.6101WOA0.73797610.503212940.319622006,100.539SSA0.87246560.426643746.7582126.34166,004.6857SCA0.68693960.379050640.364432006,078.1605HHO0.89711880.437793747.79634116.84996,055.0952DHHO0.85160570.395169544.15988152.66375,997.743HHOCM0.8509370.414751145.41652139.44345,947.2608The best results are marked in bold.


#### 4.6.3. The Three-Bar Truss Design Problem

The three-bar truss design problem arises from civil engineering [52, 53]. This problem aims to minimize the weight in truss design with stress, deflection, and buckling constraints. There are two parameters, A1 and A2, involved in this design problem, and we should find the best value of A1 and A2 by the optimization algorithm for achieving the goal above. The design is shown in Figure 10. The model of the problem is depicted as follows:Figure 10
Three-bar truss design problem [50].Consider(29)x⟶=x1x2=A1A2.Minimize(30)fx⟶=22x1+x2×l.Subject to(31)g1x⟶=2x1+x22x12+2x1x2P−σ≤0,g2x⟶=x22x12+2x1x2P−σ≤0,g3x⟶=12x2+x1P−σ≤0.Variable range(32)0≤x1,x2≤1.The results for the three-bar truss design problem are listed in Table11. As we can see, the ERHHO algorithm can achieve the best performance as well as the SSA algorithm in solving this problem.Table 11
Results for the three-bar truss design problem.
AlgorithmOptimum variablesOptimum costx1x2ERHHO0.788420.40811263.8523SMA0.798930.37727264.1663WOA0.806970.35801264.0902SSA0.78840.40816263.8523SCA0.801670.37081264.052HHO0.795950.38721263.893DHHO0.780730.43031263.897HHOCM0.795990.38709263.8935The best results are marked in bold.


#### 4.6.4. Cantilever Beam Design

Cantilever beam design is one problem in which hollow square cross-section parameters (x1–x5) are optimized [54] by optimization algorithms to obtain the cantilever beam’s minimum weight. This problems’ architecture is depicted in Figure 11. The mathematical equations are described as follows:Figure 11
Cantilever beam design [55].Consider(33)x⟶=x1x2x3x4x5.Minimize(34)fx⟶=0.6224x1+x2+x3+x4+x5.Subject to(35)gx⟶=60x13+27x23+19x33+7x43+1x53−1≤0.Variable range(36)0.01≤x1,x2,x3,x4,x5≤100.Table12 summarized the findings, from which we can see that ERHHO was capable of finding the optimal solution and obtained total weight is minimized.Table 12
Results for the cantilever beam design problem.
AlgorithmOptimum variablesOptimum weightx1x2x3x4x5ERHHO6.05095.26394.5143.46052.18781.3402SMA5.9845.30744.51363.43212.2481.3407WOA6.50836.16534.6793.13351.68821.3837SSA5.97725.39664.46193.46752.17531.3403SCA5.64455.96075.08943.05442.29171.3753HHO6.05785.62314.23253.43022.20351.3445DHHO/M5.69085.6474.70093.35782.18591.3467HHOCM6.09325.24654.6333.37482.14761.3413The best results are marked in bold.


#### 4.6.5. Speed Reducer Problem

The speed reducer problem [55] aims to minimize the reducer’s weight by optimizing seven variables x1–x7 through the optimization algorithms. The structure of this problem is depicted in Figure 12. The formulas and constraints are written as follows:Figure 12
Speed reducer problem [55].Minimize(37)fx⟶=0.7854x1x223.3333x32+14.9334x3−43.0934,−1.508x1x62+x72+7.4777x63+x73.Subject to(38)g1x⟶=27x1x22x3−1≤0,g2x⟶=397.5x1x22x32−1≤0,g3x⟶=1.93x43x2x3x64−1≤0,g4x⟶=1.93x53x2x3x74−1≤0,g5x⟶=745x4/x2x32+16.9×106110.0x63−1≤0,g6x⟶=745x4/x2x32+157.5×10685.0x63−1≤0,g7x⟶=x2x340−1≤0,g8x⟶=5x2x1−1≤0,g9x⟶=x112x2−1≤0,g10x⟶=1.5x6+1.9x4−1≤0,g11x⟶=1.1x7+1.9x5−1≤0.Variable range(39)2.6≤x1≤3.6,0.7≤x2≤0.8,17≤x3≤28,7.3≤x4≤8.3,7.8≤x5≤8.3,2.9≤x6≤3.9,5.0≤x7≤5.5.Table13 shows the test results that demonstrate the proposed algorithm’s effectiveness in obtaining the optimal values for solving this problem.Table 13
Results for the speed reducer design problem.
AlgorithmOptimum variablesOptimum weightx1x2x3x4x5x6x7ERHHO3.49760.7177.37.83.350065.285532,995.4374SMA3.497670.7177.37.83.350075.285542,995.4379WOA3.494410.7178.100017.979573.351285.325673,033.2286SSA3.497620.7177.373538.141543.350195.285553,003.6298SCA3.60.7177.60797.980833.391275.300033,061.4356HHO3.526990.7177.37.800553.35045.284163,007.2009DHHO3.497370.7178.045417.83.351945.285543,002.6565HHOCM3.497770.7177.487887.990863.351565.285243,001.7286The best results are marked in bold.


## 4.1. Benchmark Functions and Parameter Settings

Many scholars employ benchmark functions. Details of the unimodal, multimodal, and fixed-dimension multimodal benchmark functions are shown in Table1. The unimodal benchmark functions (F1–F7) have only one extreme point; it can be effectively testified to the exploitation ability of ERHHO. And the global search capacity of ERHHO can be tested by the multimodal benchmark functions (F8–F23) with many local optima.Table 1
Benchmark function properties (Dim indicates dimension).
FunctionDimRangeFminUnimodal benchmark functionsF130[−100, 100]0F230[−10, 10]0F330[−100, 100]0F430[−100, 100]0F530[−30, 30]0F630[−100, 100]0F730[−1.28, 1.28]0Multimodal benchmark functionsF830[−500, 500]418.9829 × dimF930[−5.12, 5.12]F1030[−32, 32]0F1130[−600, 600]0F1230[−50, 50]0F1330[−50, 50]0Fixed-dimension multimodal benchmark functionsF142[−65, 65]0.998F154[−5, 5]0.00030F162[−5, 5]−1.0316F172[−5, 5]0.398F182[−2, 2]3F193[−1, 2]−3.86F206[0, 1]−3.32F214[0, 10]−10.1532F224[0, 10]−10.4028F234[0, 10]−10.5363To make the experimental findings more representative, the ERHHO is compared with algorithms of SMA [27], WOA [24], SSA [25], SCA [26], and HHO [36], DHHO/M [43], and HHOCM [41]. Table 2 shows the parameter settings for each algorithm. All the parameters are set according to the original articles except b and c (the analysis of b and c are listed in Section 4.2). The maximum iteration (T) was set to 500; the population size (N) was set to 30; and the dimension size (D) was set to 30 in all tests. We calculate average results and standard deviations with 30 independent runs and bold the best values.Table 2
Parameter settings for the comparative algorithms.
AlgorithmParametersERHHOβ = 1.5, a = 0.7, b = 2, c = 6SMA [27]z = 0.03WOA [24]a1 = [2, 0], a2 = [−2, 1], b = 1SSA [25]c1 ∈ [0, 1], c2 ∈ [0, 1]SCA [26]a = 2HHO [36]β = 1.5DHHO/M [43]a = 2.5, F = 0.5HHOCM [41]β = 1.5


## 4.2. Sensitivity Analysis ofb and c on ERHHO

The parameter settings of comparative algorithms are in accordance with the original articles, as well as the values ofβ and a of ERHHO are according to the original HHO algorithm. The new parameters are b and c, which can significantly impact the performance of ERHHO. Thus, setting the appropriate parameters for better results is necessary. The aims of b and c are to find a suitable search range. According to equation (17), the original range is between 0 and 1; for expanding the scope, b is considered as 2, 4, and 6; and c is considered as 2, 4, and 6. To find the fit b-c value pair, we tested 9 situations by using 23 benchmark functions. We calculate the mean results of each function with 30 independent runs, and the results are listed in Table 3. The lowest values are highlighted in bold. We count the number of bold fonts in each function, and the ERHHO algorithm can get the best performance with b = 2 and c = 6. The parameter values will be used for further experimental tests.Table 3
Parameters sensitivity analysis.
Functionb = 2b = 2b = 2b = 4b = 4b = 4b = 6b = 6b = 6c = 2c = 4c = 6c = 2c = 4c = 6c = 2c = 4c = 6F10.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 00F20.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 00F30.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 00F40.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 00F54.1086E − 042.3293E − 049.9757E − 054.4925E − 042.4795E − 041.6512E − 041.5639E − 033.3876E − 044.1522E − 04F69.1737E − 053.8910E − 051.4826E − 058.5754E − 055.2338E − 054.6220E − 051.7327E − 041.1701E − 043.8893E − 05F75.7338E − 058.4463E − 057.1416E − 056.3548E − 057.9739E − 057.3938E − 057.3475E − 056.7715E − 056.3104E − 05F8−1.2569E + 04−1.2569E + 04−1.2569E + 04−1.2569E + 04−1.2569E + 04−1.2569E + 04−1.2569E + 04−1.2569E + 04−1.2569E + 04F90.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 00F108.8818E − 168.8818E − 168.8818E − 168.8818E − 168.8818E − 168.8818E − 168.8818E − 168.8818E − 168.8818E − 16F110.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 00F121.9085E − 066.3102E − 072.9078E − 074.8068E − 061.8862E − 061.8322E − 066.5051E − 062.0196E − 062.2776E − 06F132.6364E − 058.3301E − 064.8525E − 065.0282E − 051.7997E − 051.8399E − 054.8097E − 054.7190E − 052.8779E − 05F149.9800E − 019.9800E − 019.9800E − 019.9800E − 011.1303E + 001.0311E + 009.9800E − 011.3599E + 009.9800E − 01F153.2234E − 043.4356E − 043.3924E − 043.6062E − 043.4211E − 043.0770E − 043.2145E − 043.1080E − 043.6977E − 04F16−1.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00F173.9789E − 013.9789E − 013.9789E − 013.9789E − 013.9789E − 013.9789E − 013.9789E − 013.9789E − 013.9789E − 01F183.0000E + 003.0000E + 003.0000E + 003.0000E + 003.0000E + 003.0000E + 003.0000E + 003.0000E + 003.0000E + 00F19−3.8628E + 00−3.8628E + 00−3.8628E + 00−3.8628E + 00−3.8628E + 00−3.8628E + 00−3.8628E + 00−3.8628E + 00−3.8628E + 00F20−3.2268E + 00−3.2558E + 00−3.2689E + 00−3.1938E + 00−3.2562E + 00−3.2735E + 00−3.2015E + 00−3.2816E + 00−3.2741E + 00F21−1.0152E + 01−1.0153E + 01−1.0153E + 01−1.0152E + 01−1.0153E + 01−1.0153E + 01−1.0153E + 01−1.0153E + 01−1.0153E + 01F22−1.0402E + 01−1.0403E + 01−1.0403E + 01−1.0402E + 01−1.0403E + 01−1.0403E + 01−1.0402E + 01−1.0403E + 01−1.0403E + 01F23−1.0536E + 01−1.0536E + 01−1.0536E + 01−1.0536E + 01−1.0536E + 01−1.0536E + 01−1.0535E + 01−1.0536E + 01−1.0536E + 01Sum141620131416141616The best results are marked in bold.


## 4.3. Analysis of Benchmark Functions

### 4.3.1. Numerical Analysis

For the unimodal benchmark functions (F1–F7), ERHHO can obtain the best result except for F6 as shown in Table4. Especially, for F1–F4, ERHHO can obtain the theoretical optimum. And the result of ERHHO ranks only second to SSA for F6. The aim of unimodal benchmark functions is to measure the exploitation ability. From the experimental tests of F1–F7, we can prove that the proposed algorithm possesses a strong local search ability.Table 4
Results of algorithms on 23 benchmark functions.
FunctionERHHOSMAWOASSASCAHHODHHO/MHHOCMF1Mean0.0000E + 005.4841e − 3227.8586E − 744.5572E − 071.5650E + 012.4246E − 961.9672E − 950.0000E + 00Std0.0000E + 000.0000E + 002.1680E − 738.0901E − 072.1910E + 011.3093E − 956.7432E − 950.0000E + 00F2Mean0.0000E + 001.9735E − 1504.7683E − 512.4203E + 002.4894E − 022.9318E − 511.3176E − 481.2225E − 203Std0.0000E + 001.0809E − 1492.0969E − 501.7085E + 003.5592E − 021.1152E − 506.0671E − 480.0000E + 00F3Mean0.0000E + 002.0792E − 2814.4988E + 041.4407E + 039.3775E + 038.4362E − 737.6735E − 700.0000E + 00Std0.0000E + 000.0000E + 001.2599E + 049.7094E + 025.8048E + 034.6060E − 724.2027E − 690.0000E + 00F4Mean0.0000E + 002.1129E − 1373.8143E + 011.1509E + 013.2926E + 015.4154E − 493.9550E − 434.5525E − 197Std0.0000E + 001.1573E − 1362.7276E + 013.7852E + 001.3070E + 011.4703E − 482.1642E − 420.0000E + 00F5Mean8.9883E − 058.3666E + 002.7925E + 012.7609E + 024.3940E + 041.0142E − 026.7040E − 033.1438E − 02Std1.9452E − 041.1685E + 014.5946E−013.6619E + 026.4024E + 041.2554E − 029.5798E − 035.0191E − 02F6Mean1.6455E − 055.2944E − 034.4446E − 012.0747E − 071.9795E + 011.5127E − 047.3876E − 053.1254E − 04Std2.5216E − 054.1571E − 032.8101E − 014.6645E − 071.8292E + 011.7402E − 041.0886E − 043.8262E − 04F7Mean7.6595E − 052.1094E − 042.0569E − 031.6531E − 019.7607E − 021.3707E − 041.5754E − 041.6184E − 04Std5.8914E − 051.7724E − 042.0834E − 037.4193E − 027.9845E − 021.0626E − 041.4448E − 041.7591E − 04F8Mean−1.2569E + 04−1.2569E + 04−1.0181E + 04−7.4877E + 03−3.8109E + 03−1.2569E + 04−1.2469E + 04−1.2554E + 04Std5.0470E − 023.5003E − 011.6535E + 036.3231E + 023.4249E + 028.9555E − 015.4333E + 025.4994E + 01F9Mean0.0000E + 000.0000E + 003.7896E−154.9483E + 014.6372E + 010.0000E + 000.0000E + 000.0000E + 00Std0.0000E + 000.0000E + 002.0756E−141.3277E + 013.4053E + 010.0000E + 000.0000E + 000.0000E + 00F10Mean8.8818E − 168.8818E − 165.3883E − 152.7147E + 001.2192E + 018.8818E − 168.8818E − 168.8818E − 16Std0.0000E + 000.0000E + 002.0723E − 159.8679E − 019.4808E + 000.0000E + 000.0000E + 000.0000E + 00F11Mean0.0000E + 000.0000E + 001.6696E − 021.7711E − 029.7236E − 010.0000E + 000.0000E + 000.0000E + 00Std0.0000E + 000.0000E + 005.4084E − 021.4171E − 023.5476E − 010.0000E + 000.0000E + 000.0000E + 00F12Mean3.1435E − 074.9064E − 032.1150E − 026.6186E + 002.4854E + 041.3945E − 058.5284E − 061.5684E − 05Std5.0819E − 075.8190E − 031.3549E − 022.8000E + 008.6251E + 042.0991E − 051.0043E − 052.2746E − 05F13Mean7.2242E − 067.2277E − 035.0105E − 011.1788E + 011.1416E + 057.4801E − 059.5150E − 052.7612E − 04Std9.7389E − 066.6267E − 031.8495E − 011.2856E + 012.8677E + 058.4403E − 051.0966E − 043.9597E − 04F14Mean9.9800E − 019.9800E − 012.7353E + 001.1637E + 001.7223E + 001.7549E + 001.2949E + 001.1634E + 00Std7.4084E − 115.6156E − 132.8639E + 003.7678E−011.8868E + 001.6921E + 009.3994E − 015.2656E − 01F15Mean3.1210E − 045.6703E − 046.9856E − 042.1817E − 031.0610E − 033.8687E − 044.5821E − 045.6125E − 04Std2.1452E − 053.0981E − 044.7771E − 044.9506E − 034.1995E − 042.8444E − 043.0067E − 044.2913E − 04F16Mean−1.0316E + 00−1.0316E + 00−1.0316E + 001.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00Std4.8085E − 162.4615E − 091.2442E − 093.3423E − 145.2063E − 054.2516E − 095.7528E − 113.8734E − 09F17Mean3.9789E − 013.9789E − 013.9789E − 013.9789E − 013.9998E−013.9789E − 013.9789E − 013.9789E − 01Std1.1571E − 152.0433E−078.4094E−061.8281E−142.1427E−037.6834E−063.9921E−061.6521E−06F18Mean3.0000E + 003.0000E + 003.0000E + 003.0000E + 003.0001E + 003.0000E + 003.0000E + 003.0000E + 00Std1.1106E − 141.8331E−103.8495E−053.0811E−131.3607E−043.3143E−077.5272E−081.5483E−08F19Mean−3.8628E + 00−3.8628E + 00−3.8532E + 00−3.8628E + 00−3.8543E + 00−3.8599E + 00−3.8608E + 00−3.8626E + 00Std8.0972E − 153.3188E−071.1608E−027.2861E−112.5528E−034.2515E−033.0862E−035.1550E−04F20Mean−3.2692E + 00−3.2621E + 00−3.2474E + 00−3.2178E + 00−2.9363E + 00−3.0985E + 00−3.1112E + 00−3.2615E + 00Std6.1618E−026.0867E−029.7561E−024.7860E−022.6267E−011.1844E−018.3931E−026.7841E−02F21Mean−1.0153E + 01−1.0153E + 01−8.7154E + 00−7.0613E + 00−2.1979E + 00−5.0516E + 00−1.0032E + 01−5.0550E + 00Std3.0528E − 053.2280E−042.2751E + 003.4592E + 001.7374E + 003.1444E−031.2614E−012.6879E−04F22Mean−1.0403E + 01−1.0403E + 01−8.8619E + 00−8.4885E + 00−2.7876E + 00−5.0047E + 00−1.0212E + 01−5.0876E + 00Std1.1586E − 072.0872E−042.6262E + 003.0306E + 001.7662E + 004.2878E−011.8693E−011.0644E−04F23Mean−1.0536E + 01−1.0536E + 01−7.8012E + 00−8.6030E + 00−4.2432E + 00−5.4760E + 00−1.0404E + 01−5.1283E + 00Std4.5569E−073.6654E−043.0292E + 003.0771E + 001.7263E + 001.3367E + 001.5417E−011.7786E−04The best results are marked as bold fonts. For the unimodal benchmark functions (F1–F7), ERHHO can obtain the best result except for F6.For the multimodal functions (F8–F23), ERHHO gets the best mean values except for F9 and the best stand deviations except for F14 and F20. The goal of multimodal functions is to evaluate the exploration capability. From the test of F8–F23, we can verify that the global ability of ERHHO is excellent.In conclusion, the ERHHO algorithm outperforms the other compared algorithms in unimodal functions, which due to the random walk strategy, the algorithm’s capacity to jump out of the local optimum can be effectively boosted. For the multimodal benchmark functions, the performance of proposed ERHHO is competitive as well. The reason for the excellent performance of ERHHO in the exploration phase is mainly due to the exploration factor. The exploration factor can expand the scope of exploration that is why ERHHO can find the result faster and more accurately. We tried the experiment of adding the exploration factor only to the original HHO, and the results of some multimodel test functions were better than before. Especially, for F21–F23, the result was improved remarkably and close to the theoretical values (see Table5).Table 5
Results of HHO (hybrid exploration factor) on F21–F23.
FunctionHHOHHO + exploration factorF21Mean−5.3410E + 00−1.0147E + 01Std1.1097E + 007.5648E − 03F22Mean−5.2560E + 00−1.0394E + 01Std9.5700E − 011.4686E − 02F23Mean−5.3039E + 00−1.0530E + 01Std9.8154E − 016.1909E − 03The best results are marked in bold.


### 4.3.2. Convergence Analysis

Figure6 depicts the results of analyzing the proposed algorithm’s convergence in various functions (F3, F5, F7–F10, F12–F15, and F19–F23). For unimodal functions (F3, F5, and F7), the differences in convergence curves between ERHHO and HHO can be observed visually from F5, which represents higher accuracy values after several step-like descents. That is, because when the hawks get trapped, ERHHO activates the random walk strategy, which can help the hawks fly deviate from the trap and lead to a new position with more possibilities. These three functions can reflect that ERHHO possesses a faster convergence speed and a higher accuracy than HHO and the other competitive algorithms in unimodal functions.Figure 6
Convergence curves of 23 benchmark functions: (a) F3, (b) F5, (c) F7, (d) F8, (e) F9, (f) F10, (g) F12, (h) F13, (i) F14, (j) F15, (k) F19, (l) F20, (m) F21, (n) F22, and (o) F23.
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)The conclusion also holds in multimodal functions. Many of the figures show the ERRHO can get the optimal values directly after several iterations such as F8–F10, F14–F15, and F19–F23 that is because of the strong exploration ability of ERHHO whose global search scope is twice as wide as before in the early period, so the ERHHO algorithm can converge very fast. For F12, the ERHHO and HHO get a similar trend before iteration 100, but after that, ERHHO dive suddenly and get the best accuracy from all competitors. The reason is the coordination of local strategy and global search ability. The local strategy has the characteristic of a large deviation in the early stage and a small deviation in the later period. The cooperation helps the ERHHO jump out of the local optima and find better fitness values by a wide search scope. The situation is reflected in F13 as well because the functions of F12 and F13 have similar graphical features (many close local optimal points).It can be seen that no matter for unimodal functions or multimodal functions, the proposed algorithm provides a better convergence pattern in almost all functions.


## 4.3.1. Numerical Analysis

For the unimodal benchmark functions (F1–F7), ERHHO can obtain the best result except for F6 as shown in Table4. Especially, for F1–F4, ERHHO can obtain the theoretical optimum. And the result of ERHHO ranks only second to SSA for F6. The aim of unimodal benchmark functions is to measure the exploitation ability. From the experimental tests of F1–F7, we can prove that the proposed algorithm possesses a strong local search ability.Table 4
Results of algorithms on 23 benchmark functions.
FunctionERHHOSMAWOASSASCAHHODHHO/MHHOCMF1Mean0.0000E + 005.4841e − 3227.8586E − 744.5572E − 071.5650E + 012.4246E − 961.9672E − 950.0000E + 00Std0.0000E + 000.0000E + 002.1680E − 738.0901E − 072.1910E + 011.3093E − 956.7432E − 950.0000E + 00F2Mean0.0000E + 001.9735E − 1504.7683E − 512.4203E + 002.4894E − 022.9318E − 511.3176E − 481.2225E − 203Std0.0000E + 001.0809E − 1492.0969E − 501.7085E + 003.5592E − 021.1152E − 506.0671E − 480.0000E + 00F3Mean0.0000E + 002.0792E − 2814.4988E + 041.4407E + 039.3775E + 038.4362E − 737.6735E − 700.0000E + 00Std0.0000E + 000.0000E + 001.2599E + 049.7094E + 025.8048E + 034.6060E − 724.2027E − 690.0000E + 00F4Mean0.0000E + 002.1129E − 1373.8143E + 011.1509E + 013.2926E + 015.4154E − 493.9550E − 434.5525E − 197Std0.0000E + 001.1573E − 1362.7276E + 013.7852E + 001.3070E + 011.4703E − 482.1642E − 420.0000E + 00F5Mean8.9883E − 058.3666E + 002.7925E + 012.7609E + 024.3940E + 041.0142E − 026.7040E − 033.1438E − 02Std1.9452E − 041.1685E + 014.5946E−013.6619E + 026.4024E + 041.2554E − 029.5798E − 035.0191E − 02F6Mean1.6455E − 055.2944E − 034.4446E − 012.0747E − 071.9795E + 011.5127E − 047.3876E − 053.1254E − 04Std2.5216E − 054.1571E − 032.8101E − 014.6645E − 071.8292E + 011.7402E − 041.0886E − 043.8262E − 04F7Mean7.6595E − 052.1094E − 042.0569E − 031.6531E − 019.7607E − 021.3707E − 041.5754E − 041.6184E − 04Std5.8914E − 051.7724E − 042.0834E − 037.4193E − 027.9845E − 021.0626E − 041.4448E − 041.7591E − 04F8Mean−1.2569E + 04−1.2569E + 04−1.0181E + 04−7.4877E + 03−3.8109E + 03−1.2569E + 04−1.2469E + 04−1.2554E + 04Std5.0470E − 023.5003E − 011.6535E + 036.3231E + 023.4249E + 028.9555E − 015.4333E + 025.4994E + 01F9Mean0.0000E + 000.0000E + 003.7896E−154.9483E + 014.6372E + 010.0000E + 000.0000E + 000.0000E + 00Std0.0000E + 000.0000E + 002.0756E−141.3277E + 013.4053E + 010.0000E + 000.0000E + 000.0000E + 00F10Mean8.8818E − 168.8818E − 165.3883E − 152.7147E + 001.2192E + 018.8818E − 168.8818E − 168.8818E − 16Std0.0000E + 000.0000E + 002.0723E − 159.8679E − 019.4808E + 000.0000E + 000.0000E + 000.0000E + 00F11Mean0.0000E + 000.0000E + 001.6696E − 021.7711E − 029.7236E − 010.0000E + 000.0000E + 000.0000E + 00Std0.0000E + 000.0000E + 005.4084E − 021.4171E − 023.5476E − 010.0000E + 000.0000E + 000.0000E + 00F12Mean3.1435E − 074.9064E − 032.1150E − 026.6186E + 002.4854E + 041.3945E − 058.5284E − 061.5684E − 05Std5.0819E − 075.8190E − 031.3549E − 022.8000E + 008.6251E + 042.0991E − 051.0043E − 052.2746E − 05F13Mean7.2242E − 067.2277E − 035.0105E − 011.1788E + 011.1416E + 057.4801E − 059.5150E − 052.7612E − 04Std9.7389E − 066.6267E − 031.8495E − 011.2856E + 012.8677E + 058.4403E − 051.0966E − 043.9597E − 04F14Mean9.9800E − 019.9800E − 012.7353E + 001.1637E + 001.7223E + 001.7549E + 001.2949E + 001.1634E + 00Std7.4084E − 115.6156E − 132.8639E + 003.7678E−011.8868E + 001.6921E + 009.3994E − 015.2656E − 01F15Mean3.1210E − 045.6703E − 046.9856E − 042.1817E − 031.0610E − 033.8687E − 044.5821E − 045.6125E − 04Std2.1452E − 053.0981E − 044.7771E − 044.9506E − 034.1995E − 042.8444E − 043.0067E − 044.2913E − 04F16Mean−1.0316E + 00−1.0316E + 00−1.0316E + 001.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00−1.0316E + 00Std4.8085E − 162.4615E − 091.2442E − 093.3423E − 145.2063E − 054.2516E − 095.7528E − 113.8734E − 09F17Mean3.9789E − 013.9789E − 013.9789E − 013.9789E − 013.9998E−013.9789E − 013.9789E − 013.9789E − 01Std1.1571E − 152.0433E−078.4094E−061.8281E−142.1427E−037.6834E−063.9921E−061.6521E−06F18Mean3.0000E + 003.0000E + 003.0000E + 003.0000E + 003.0001E + 003.0000E + 003.0000E + 003.0000E + 00Std1.1106E − 141.8331E−103.8495E−053.0811E−131.3607E−043.3143E−077.5272E−081.5483E−08F19Mean−3.8628E + 00−3.8628E + 00−3.8532E + 00−3.8628E + 00−3.8543E + 00−3.8599E + 00−3.8608E + 00−3.8626E + 00Std8.0972E − 153.3188E−071.1608E−027.2861E−112.5528E−034.2515E−033.0862E−035.1550E−04F20Mean−3.2692E + 00−3.2621E + 00−3.2474E + 00−3.2178E + 00−2.9363E + 00−3.0985E + 00−3.1112E + 00−3.2615E + 00Std6.1618E−026.0867E−029.7561E−024.7860E−022.6267E−011.1844E−018.3931E−026.7841E−02F21Mean−1.0153E + 01−1.0153E + 01−8.7154E + 00−7.0613E + 00−2.1979E + 00−5.0516E + 00−1.0032E + 01−5.0550E + 00Std3.0528E − 053.2280E−042.2751E + 003.4592E + 001.7374E + 003.1444E−031.2614E−012.6879E−04F22Mean−1.0403E + 01−1.0403E + 01−8.8619E + 00−8.4885E + 00−2.7876E + 00−5.0047E + 00−1.0212E + 01−5.0876E + 00Std1.1586E − 072.0872E−042.6262E + 003.0306E + 001.7662E + 004.2878E−011.8693E−011.0644E−04F23Mean−1.0536E + 01−1.0536E + 01−7.8012E + 00−8.6030E + 00−4.2432E + 00−5.4760E + 00−1.0404E + 01−5.1283E + 00Std4.5569E−073.6654E−043.0292E + 003.0771E + 001.7263E + 001.3367E + 001.5417E−011.7786E−04The best results are marked as bold fonts. For the unimodal benchmark functions (F1–F7), ERHHO can obtain the best result except for F6.For the multimodal functions (F8–F23), ERHHO gets the best mean values except for F9 and the best stand deviations except for F14 and F20. The goal of multimodal functions is to evaluate the exploration capability. From the test of F8–F23, we can verify that the global ability of ERHHO is excellent.In conclusion, the ERHHO algorithm outperforms the other compared algorithms in unimodal functions, which due to the random walk strategy, the algorithm’s capacity to jump out of the local optimum can be effectively boosted. For the multimodal benchmark functions, the performance of proposed ERHHO is competitive as well. The reason for the excellent performance of ERHHO in the exploration phase is mainly due to the exploration factor. The exploration factor can expand the scope of exploration that is why ERHHO can find the result faster and more accurately. We tried the experiment of adding the exploration factor only to the original HHO, and the results of some multimodel test functions were better than before. Especially, for F21–F23, the result was improved remarkably and close to the theoretical values (see Table5).Table 5
Results of HHO (hybrid exploration factor) on F21–F23.
FunctionHHOHHO + exploration factorF21Mean−5.3410E + 00−1.0147E + 01Std1.1097E + 007.5648E − 03F22Mean−5.2560E + 00−1.0394E + 01Std9.5700E − 011.4686E − 02F23Mean−5.3039E + 00−1.0530E + 01Std9.8154E − 016.1909E − 03The best results are marked in bold.


## 4.3.2. Convergence Analysis

Figure6 depicts the results of analyzing the proposed algorithm’s convergence in various functions (F3, F5, F7–F10, F12–F15, and F19–F23). For unimodal functions (F3, F5, and F7), the differences in convergence curves between ERHHO and HHO can be observed visually from F5, which represents higher accuracy values after several step-like descents. That is, because when the hawks get trapped, ERHHO activates the random walk strategy, which can help the hawks fly deviate from the trap and lead to a new position with more possibilities. These three functions can reflect that ERHHO possesses a faster convergence speed and a higher accuracy than HHO and the other competitive algorithms in unimodal functions.Figure 6
Convergence curves of 23 benchmark functions: (a) F3, (b) F5, (c) F7, (d) F8, (e) F9, (f) F10, (g) F12, (h) F13, (i) F14, (j) F15, (k) F19, (l) F20, (m) F21, (n) F22, and (o) F23.
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)The conclusion also holds in multimodal functions. Many of the figures show the ERRHO can get the optimal values directly after several iterations such as F8–F10, F14–F15, and F19–F23 that is because of the strong exploration ability of ERHHO whose global search scope is twice as wide as before in the early period, so the ERHHO algorithm can converge very fast. For F12, the ERHHO and HHO get a similar trend before iteration 100, but after that, ERHHO dive suddenly and get the best accuracy from all competitors. The reason is the coordination of local strategy and global search ability. The local strategy has the characteristic of a large deviation in the early stage and a small deviation in the later period. The cooperation helps the ERHHO jump out of the local optima and find better fitness values by a wide search scope. The situation is reflected in F13 as well because the functions of F12 and F13 have similar graphical features (many close local optimal points).It can be seen that no matter for unimodal functions or multimodal functions, the proposed algorithm provides a better convergence pattern in almost all functions.


## 4.4. Wilcoxon Signed-Rank Test

The Wilcoxon signed-rank (WSR) test is used to show that the results are statistically significant. By WSR, we can determine whether two sets of values are significantly different. Ap value is lower than 0.05 suggests that the method is considerably better than the compared algorithms. The Wilcoxon signed-rank test results for each benchmark function are shown in Table 6. As can be observed, ERHHO outperforms almost all of the other algorithms to varying degrees.Table 6
The results of the Wilcoxon signed test.
FunctionERHHO vs.SMAWOASSASCAHHODHHO/MHHOCMF1NaN6.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 07NaNF26.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 07F37.9725E − 026.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 07NaNF46.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 076.8662E − 07F54.1432E − 063.3918E − 063.3918E − 063.3918E − 063.6093E − 043.3568E − 057.4772E − 06F63.3918E − 063.3918E − 063.3918E − 063.3918E − 065.3383E − 011.5846E − 017.9403E − 03F74.2111E − 023.3918E − 063.3918E − 063.3918E − 061.0574E − 011.4397E − 026.1898E − 03F81.9352E − 053.3918E − 063.3918E − 063.3918E − 069.6615E − 051.1457E − 045.4521E − 03F9NaN3.5065E − 016.8662E − 076.8662E − 07NaNNaNNaNF10NaN2.1523E − 056.8662E − 076.8662E − 07NaNNaNNaNF11NaN3.5065E − 016.8662E − 076.8662E − 07NaNNaNNaNF123.3918E − 063.3918E − 063.3918E − 063.3918E − 067.0162E − 034.2111E − 022.8226E − 03F133.3918E − 063.3918E − 063.3918E − 063.3918E − 061.0992E − 051.0500E − 032.2289E − 04F145.2468E − 033.0947E − 052.7876E − 013.0659E − 066.3415E − 055.3134E − 053.5402E − 03F153.3918E − 064.1432E − 065.0527E − 063.3918E − 061.0992E − 051.1457E − 044.0200E − 05F161.2604E − 061.2604E − 061.2604E − 061.2604E − 061.2604E − 061.5660E − 061.2604E − 06F172.2038E − 062.2038E − 063.4080E − 042.2038E − 064.9642E − 061.9074E − 052.4387E − 06F185.0162E − 063.3664E − 061.0918E − 053.3664E − 063.3664E − 063.9725E − 053.3664E − 06F193.2092E − 063.2092E − 065.5823E − 043.2092E − 063.2092E − 063.2092E − 063.2092E − 06F202.4549E − 015.6145E − 011.0122E − 023.3918E − 064.7948E − 032.4626E − 038.6823E − 01F211.6053E − 053.3918E − 067.7155E − 013.3918E − 063.3918E − 063.3918E − 063.3918E − 06F227.4772E − 063.3918E − 061.2486E − 013.3918E − 063.3918E − 063.3918E − 063.3918E − 06F234.8063E − 053.3918E − 065.7371E − 053.3918E − 063.3918E − 064.1432E − 063.3918E − 06(W|L|T)(17|2|4)(20|3|0)(20|3|0)(23|0|0)(18|2|3)(19|1|3)(17|1|5)The best results are marked in bold.


## 4.5. The Performance of ERHHO on the CEC2017

To further evaluate, one of the most challenging test functions is called CEC2017 [48], which includes 30 test functions with unimodal, multimodal, hybrid, and composition types (see Table 7). In this experiment, we set dim = 10 for all functions.Table 7
Properties and summary of the CEC2017.
TypeNo.FunctionsGlobal minDomainUnimodal functionF1Shifted and rotated bent cigar function100[−100, 100]F2Shifted and rotated sum of different power function200[−100, 100]F3Shifted and rotated Zakharov’s function300[−100, 100]Multimodal functionsF4Shifted and rotated Rosenbrock’s function400[−100, 100]F5Shifted and rotated Rastrigin’s function500[−100, 100]F6Shifted and rotated expanded Schaffer’s function600[−100, 100]F7Shifted and rotated Lunacek Bi_Rastrigin function700[−100, 100]F8Shifted and rotated noncontinuous Rastrigin’s function800[−100, 100]F9Shifted and rotated Levy function900[−100, 100]F10Shifted and rotated Schwefel’s function1,000[−100, 100]Hybrid functionsF11Hybrid function of Zakharov, Rosenbrock, and Rastrigin1,100[−100, 100]F12Hybrid function of high conditioned elliptic, modified Schwefel, and bent cigar1,200[−100, 100]F13Hybrid function of bent cigar, Rosenbrock, and Lunacek bi-Rastrigin1,300[−100, 100]F14Hybrid function of elliptic, Ackley, Schaffer and Rastrigin1,400[−100, 100]F15Hybrid function of bent cigar, HGBat, Rastrigin, and Rosenbrock1,500[−100, 100]F16Hybrid function of expanded Schaffer, HGBat, Rosenbrock, and modified Schwefel1,600[−100, 100]F17Hybrid function of Katsuura, Ackley, expanded Griewank plus Rosenbrock, modified Schwefel, and Rastrigin1,700[−100, 100]F18Hybrid function of high conditioned elliptic, Ackley, Rastrigin, HGBat, and Discus1,800[−100, 100]F19Hybrid function of bent cigar, Rastrigin, expanded Griewank plus Rosenbrock, Weierstrass, and expanded Schaffer1,900[−100, 100]F20Hybrid function of HappyCat, Katsuura, Ackley, Rastrigin, modified Schwefel, and Schaffer2,000[−100, 100]Composition functionsF21Composition function of Rosenbrock, high conditioned elliptic, and Rastrigin2,100[−100, 100]F22Composition function of Rastrigin’s, Griewank, and modified Schwefel2,200[−100, 100]F23Composition function of Rosenbrock, Ackley, modified Schwefel, and Rastrigin2,300[−100, 100]F24Composition function of Ackley, high conditioned elliptic, Griewank, and Rastrigin2,400[−100, 100]F25Composition function of Rastrigin, HappyCat, Ackley, Discus, and Rosenbrock2,500[−100, 100]F26Composition function of expanded Schaffer, modified Schwefel, Griewank, Rosenbrock, and Rastrigin2,600[−100, 100]F27Composition function of HGBat, Rastrigin, modified Schwefel, bent cigar, high conditioned elliptic, and expanded Schaffer2,700[−100, 100]F28Composition function of Ackley, Griewank, Discus, Rosenbrock, HappyCat, and expanded Schaffer2,800[−100, 100]F29Composition function of shifted and rotated Rastrigin, expanded Schaffer, and Lunacek Bi_Rastrigin2,900[−100, 100]F30F30 composition function of shifted and rotated Rastrigin, noncontinuous Rastrigin, and Levy function3,000[−100, 100]HHO algorithm performs poorly on complicated problems such as CEC2017 but focuses on tackling simple, traditional, high-dimensional issues. We compared the proposed algorithm with HHO or optimizer based on HHO is more rational. We tested ERHHO on CEC2017 test functions (excluding F2, which is unstable) and compared it with HHO, DHHO/M, HHOCM, and CEHHO [42]. Each function was put to the test 30 times with 1,000 iterations, and the dimensions of all functions were set to 10.The results of CEC2017 test functions are listed in Table8, which utilize Friedman’s mean rank, and the best values are provided in bold. According to Table 8, the proposed algorithm performed well in F1 and got the second rank in F3. We can say, the performance of ERHHO is similar to HHOCM and better than other algorithms for unimodal functions. For multimodal functions, ERHHO has a slight advantage over HHOCM and CEHHO but outperforms others. But, for hybrid and composition functions, ERHHO shows a huge lead over the other algorithms. We evaluate the algorithms group by different types of unimodal, multimodal, hybrid, and composition (see Figure 7). From Figure 7, ERHHO got the same Friedman rank value as HHOCM on the type of unimodal and multimodal but obviously outperformed other algorithms. For the type of hybrid and composition, ERHHO got the optimal ranking in all competitive algorithms.Table 8
The results of CEC2017 test functions.
TypeNo.ERHHOHHODHHO/MHHOCMCEHHOUnimodal functionF1Mean1.2052E + 043.6019E + 054.2939E + 052.0170E + 041.0067E + 06Std2.2216E + 041.7863E + 053.0607E + 052.4823E + 041.0026E + 06Rank13425F3Mean3.0063E + 023.0180E + 023.0231E + 023.0019E + 023.1873E + 02Std4.6904E − 011.0312E + 002.0173E + 009.7727E − 021.6569E + 01Rank23415Multimodal functionsF4Mean4.1270E + 024.1578E + 024.1392E + 024.0689E + 024.1280E + 02Std2.1283E + 012.5703E + 012.1889E + 011.1731E + 011.9551E + 01Rank25413F5Mean5.4272E + 025.4457E + 025.4797E + 025.4413E + 025.4567E + 02Std1.7715E + 011.2083E + 011.3398E + 011.5229E + 011.8236E + 01Rank13524F6Mean6.2997E + 026.3151E + 026.3265E + 026.3046E + 026.3753E + 02Std9.6724E + 001.2635E + 011.1154E + 011.0670E + 011.2120E + 01Rank13425F7Mean7.8617E + 027.8076E + 027.7761E + 027.7481E + 027.8152E + 02Std1.8646E + 011.6252E + 011.7448E + 012.0940E + 012.2054E + 01Rank53214F8Mean8.3287E + 028.2779E + 028.2843E + 028.2989E + 028.2428E + 02Std6.4227E + 008.0354E + 007.6805E + 008.9310E + 007.6576E + 00Rank52341F9Mean1.3612E + 031.4738E + 031.3986E + 031.4321E + 031.3168E + 03Std3.0596E + 022.0219E + 022.0034E + 022.5386E + 021.9220E + 02Rank25341F10Mean1.9272E + 031.9801E + 032.0096E + 032.0094E + 032.0899E + 03Std2.6782E + 023.0179E + 022.8965E + 022.9359E + 023.1406E + 02Rank12435Hybrid functionsF11Mean1.1567E + 031.1797E + 031.1939E + 031.1647E + 031.1809E + 03Std4.3639E + 018.0529E + 019.0864E + 015.1621E + 016.2806E + 01Rank13524F12Mean2.5268E + 042.3910E + 062.6341E + 062.5694E + 062.8299E + 06Std3.7776E + 042.0613E + 062.9949E + 062.8868E + 063.1678E + 06Rank12435F13Mean2.6880E + 031.7767E + 042.0431E + 041.2350E + 041.4179E + 04Std2.2783E + 031.1560E + 041.1932E + 049.9645E + 038.7188E + 03Rank14523F14Mean1.4865E + 031.5791E + 031.5321E + 031.5857E + 031.5634E + 03Std2.4693E + 012.0948E + 023.4605E + 011.9928E + 028.5603E + 01Rank14253F15Mean1.5942E + 034.0799E + 034.2891E + 034.6614E + 036.3234E + 03Std5.7397E + 011.7066E + 032.0041E + 031.7606E + 032.8184E + 03Rank12345F16Mean1.9278E + 031.8955E + 031.8830E + 031.9312E + 031.8949E + 03Std1.2443E + 021.5078E + 021.3381E + 021.5608E + 021.4804E + 02Rank43152F17Mean1.7674E + 031.7769E + 031.7841E + 031.7664E + 031.7967E + 03Std2.4383E + 012.8229E + 016.0168E + 012.1723E + 013.8642E + 01Rank23415F18Mean3.8251E + 031.3844E + 041.6139E + 041.7430E + 041.5003E + 04Std3.7128E + 031.1177E + 041.1613E + 041.0382E + 041.2422E + 04Rank12453F19Mean4.7207E + 031.1593E + 041.2784E + 041.2917E + 041.5813E + 04Std5.0189E + 031.1274E + 041.1131E + 041.1182E + 041.3094E + 04Rank12345F20Mean2.1509E + 032.1761E + 032.1553E + 032.1520E + 032.1662E + 03Std6.1600E + 016.3993E + 016.5874E + 017.4938E + 016.8566E + 01Rank15324Composition functionsF21Mean2.3271E + 032.3298E + 032.3117E + 032.3291E + 032.3016E + 03Std5.1674E + 015.1905E + 016.1347E + 016.0511E + 016.3126E + 01Rank35241F22Mean2.3123E + 032.3776E + 032.3159E + 032.3580E + 032.3759E + 03Std6.4041E + 003.4445E + 026.1462E + 002.7117E + 022.4397E + 02Rank15234F23Mean2.6610E + 032.6651E + 032.6565E + 032.6833E + 032.6664E + 03Std2.3793E + 012.7693E + 012.6149E + 012.5521E + 013.0349E + 01Rank23154F24Mean2.7871E + 032.7876E + 032.7977E + 032.8124E + 032.7837E + 03Std9.6226E + 011.0482E + 027.3836E + 019.2546E + 018.1668E + 01Rank23451F25Mean2.9141E + 032.9389E + 032.9331E + 032.9168E + 032.9448E + 03Std6.4027E + 013.7666E + 012.4771E + 018.8852E + 013.4255E + 01Rank14325F26Mean3.4378E + 033.3932E + 033.4342E + 033.4730E + 033.7968E + 03Std6.6555E + 025.4030E + 025.9523E + 024.9775E + 025.8494E + 02Rank31245F27Mean3.1341E + 033.1412E + 033.1451E + 033.1499E + 033.1616E + 03Std3.8294E + 014.5307E + 014.3369E + 013.2091E + 014.6269E + 01Rank12345F28Mean3.3287E + 033.4277E + 033.3626E + 033.3302E + 033.3703E + 03Std1.7005E + 021.7236E + 021.6371E + 021.0408E + 021.6007E + 02Rank15324F29Mean3.3221E + 033.3466E + 033.3369E + 033.3284E + 033.3642E + 03Std7.8055E + 011.0081E + 029.4273E + 018.6562E + 011.0507E + 02Rank14325F30Mean6.4195E + 058.8875E + 051.2359E + 067.2195E + 052.2614E + 06Std7.2364E + 051.0667E + 061.3062E + 061.1924E + 065.0252E + 06Rank13425Friedman mean rank1.72413.24143.24142.96553.8276Rank13325The best results are marked in bold.Figure 7
Friedman mean ranking for each type of CEC2017 test functions.


## 4.6. Experiments on Engineering Design Problems

We analyze the performance of ERHHO on five classic engineering design issues in this section. We perform all the experiments by setting the population (N) to 30 and the maximum iteration (T) to 500. The proposed algorithms are compared to algorithms: SMA, WOA, SSA, SCA, HHO, DHHO/M, and HHOCM. The parameter settings are identical to those listed in Table 2.


### 4.6.1. Tension/Compression Spring Design Problem

This challenge [49] aims to find the optimum variables of wire diameter (d), average coil diameter (D), and the number of active coils (N) by the optimization algorithms for obtaining the minimum weight of the tension or compress spring under four constraints. The tension/compression spring structure is shown in Figure 8. The conditions and formulations are as follows:Figure 8
Tension spring design problem [50].Consider(21)x⟶=x1x2x3x4=dDN.Minimize(22)fx⟶=x3+2x2x12.Subject to(23)g1x⟶=1−x23x371785x14≤0,g2x⟶=4x22−x1x212566x2x13−x14+15108x12≤0,g3x⟶=1−140.45x1x22x3≤0,g4x⟶=x1+x21.5−1≤0.Variable range(24)0.05≤x1≤2.00,0.25≤x2≤1.30,2.00≤x3≤15.00.Table9 shows the results of ERHHO and compared algorithms for solving this problem, and we can see that the ERHHO algorithm obtained the best performance among all competitors.Table 9
Results for tension/compression spring design problem.
AlgorithmOptimum variablesOptimum weightdDNERHHO0.0549190.500315.21440.010886SMA0.0560260.5324.69740.011184WOA0.0561720.536284.63380.011225SSA0.050.34047411.36740.011378SCA0.0513490.392998.77620.011166HHO0.0574820.575674.10790.011618DHHO/M0.056240.538284.60450.011244HHOCM0.0553030.511185.02750.010987The best results are marked in bold.


### 4.6.2. Pressure Vessel Design Problem

The problem’s primary goal is to obtain set values of the shell (Ts), the thickness of the head (Th), the inner radius (R), and the length of the cylindrical section (L) by the optimization algorithms for reducing the cost of cylindrical pressure vessels [51] while meeting the pressure requirements. The structure of the pressure vessel is shown in Figure 9. The mathematical formula is represented as follows:Figure 9
Pressure vessel design problem [50].Consider(25)x⟶=x1x2x3x4=TsThRL.Minimize(26)fx⟶=0.6224x1x3x4+1.7781x2x32+3.1661x12x4+19.84x12x3.Subject to(27)g1x⟶=−x1+0.0193x3≤0,g2x⟶=−x3+0.00954x3≤0,g3x⟶=−πx32x4−43πx33+1296000≤0,g4x⟶=x4−240≤0.Variable range(28)0≤x1≤99,0≤x2≤99,10≤x3≤200,10≤x4≤200.We can see from Table10 that ERHHO was able to find the optimal solution at the lowest cost compared to other competitor algorithms.Table 10
Results for pressure vessel design problem.
AlgorithmOptimum variablesOptimum costTsThRLERHHO0.81283370.41416444.19005152.33735,907.41SMA0.84987430.416885745.62804137.31145,953.6101WOA0.73797610.503212940.319622006,100.539SSA0.87246560.426643746.7582126.34166,004.6857SCA0.68693960.379050640.364432006,078.1605HHO0.89711880.437793747.79634116.84996,055.0952DHHO0.85160570.395169544.15988152.66375,997.743HHOCM0.8509370.414751145.41652139.44345,947.2608The best results are marked in bold.


### 4.6.3. The Three-Bar Truss Design Problem

The three-bar truss design problem arises from civil engineering [52, 53]. This problem aims to minimize the weight in truss design with stress, deflection, and buckling constraints. There are two parameters, A1 and A2, involved in this design problem, and we should find the best value of A1 and A2 by the optimization algorithm for achieving the goal above. The design is shown in Figure 10. The model of the problem is depicted as follows:Figure 10
Three-bar truss design problem [50].Consider(29)x⟶=x1x2=A1A2.Minimize(30)fx⟶=22x1+x2×l.Subject to(31)g1x⟶=2x1+x22x12+2x1x2P−σ≤0,g2x⟶=x22x12+2x1x2P−σ≤0,g3x⟶=12x2+x1P−σ≤0.Variable range(32)0≤x1,x2≤1.The results for the three-bar truss design problem are listed in Table11. As we can see, the ERHHO algorithm can achieve the best performance as well as the SSA algorithm in solving this problem.Table 11
Results for the three-bar truss design problem.
AlgorithmOptimum variablesOptimum costx1x2ERHHO0.788420.40811263.8523SMA0.798930.37727264.1663WOA0.806970.35801264.0902SSA0.78840.40816263.8523SCA0.801670.37081264.052HHO0.795950.38721263.893DHHO0.780730.43031263.897HHOCM0.795990.38709263.8935The best results are marked in bold.


### 4.6.4. Cantilever Beam Design

Cantilever beam design is one problem in which hollow square cross-section parameters (x1–x5) are optimized [54] by optimization algorithms to obtain the cantilever beam’s minimum weight. This problems’ architecture is depicted in Figure 11. The mathematical equations are described as follows:Figure 11
Cantilever beam design [55].Consider(33)x⟶=x1x2x3x4x5.Minimize(34)fx⟶=0.6224x1+x2+x3+x4+x5.Subject to(35)gx⟶=60x13+27x23+19x33+7x43+1x53−1≤0.Variable range(36)0.01≤x1,x2,x3,x4,x5≤100.Table12 summarized the findings, from which we can see that ERHHO was capable of finding the optimal solution and obtained total weight is minimized.Table 12
Results for the cantilever beam design problem.
AlgorithmOptimum variablesOptimum weightx1x2x3x4x5ERHHO6.05095.26394.5143.46052.18781.3402SMA5.9845.30744.51363.43212.2481.3407WOA6.50836.16534.6793.13351.68821.3837SSA5.97725.39664.46193.46752.17531.3403SCA5.64455.96075.08943.05442.29171.3753HHO6.05785.62314.23253.43022.20351.3445DHHO/M5.69085.6474.70093.35782.18591.3467HHOCM6.09325.24654.6333.37482.14761.3413The best results are marked in bold.


### 4.6.5. Speed Reducer Problem

The speed reducer problem [55] aims to minimize the reducer’s weight by optimizing seven variables x1–x7 through the optimization algorithms. The structure of this problem is depicted in Figure 12. The formulas and constraints are written as follows:Figure 12
Speed reducer problem [55].Minimize(37)fx⟶=0.7854x1x223.3333x32+14.9334x3−43.0934,−1.508x1x62+x72+7.4777x63+x73.Subject to(38)g1x⟶=27x1x22x3−1≤0,g2x⟶=397.5x1x22x32−1≤0,g3x⟶=1.93x43x2x3x64−1≤0,g4x⟶=1.93x53x2x3x74−1≤0,g5x⟶=745x4/x2x32+16.9×106110.0x63−1≤0,g6x⟶=745x4/x2x32+157.5×10685.0x63−1≤0,g7x⟶=x2x340−1≤0,g8x⟶=5x2x1−1≤0,g9x⟶=x112x2−1≤0,g10x⟶=1.5x6+1.9x4−1≤0,g11x⟶=1.1x7+1.9x5−1≤0.Variable range(39)2.6≤x1≤3.6,0.7≤x2≤0.8,17≤x3≤28,7.3≤x4≤8.3,7.8≤x5≤8.3,2.9≤x6≤3.9,5.0≤x7≤5.5.Table13 shows the test results that demonstrate the proposed algorithm’s effectiveness in obtaining the optimal values for solving this problem.Table 13
Results for the speed reducer design problem.
AlgorithmOptimum variablesOptimum weightx1x2x3x4x5x6x7ERHHO3.49760.7177.37.83.350065.285532,995.4374SMA3.497670.7177.37.83.350075.285542,995.4379WOA3.494410.7178.100017.979573.351285.325673,033.2286SSA3.497620.7177.373538.141543.350195.285553,003.6298SCA3.60.7177.60797.980833.391275.300033,061.4356HHO3.526990.7177.37.800553.35045.284163,007.2009DHHO3.497370.7178.045417.83.351945.285543,002.6565HHOCM3.497770.7177.487887.990863.351565.285243,001.7286The best results are marked in bold.


## 4.6.1. Tension/Compression Spring Design Problem

This challenge [49] aims to find the optimum variables of wire diameter (d), average coil diameter (D), and the number of active coils (N) by the optimization algorithms for obtaining the minimum weight of the tension or compress spring under four constraints. The tension/compression spring structure is shown in Figure 8. The conditions and formulations are as follows:Figure 8
Tension spring design problem [50].Consider(21)x⟶=x1x2x3x4=dDN.Minimize(22)fx⟶=x3+2x2x12.Subject to(23)g1x⟶=1−x23x371785x14≤0,g2x⟶=4x22−x1x212566x2x13−x14+15108x12≤0,g3x⟶=1−140.45x1x22x3≤0,g4x⟶=x1+x21.5−1≤0.Variable range(24)0.05≤x1≤2.00,0.25≤x2≤1.30,2.00≤x3≤15.00.Table9 shows the results of ERHHO and compared algorithms for solving this problem, and we can see that the ERHHO algorithm obtained the best performance among all competitors.Table 9
Results for tension/compression spring design problem.
AlgorithmOptimum variablesOptimum weightdDNERHHO0.0549190.500315.21440.010886SMA0.0560260.5324.69740.011184WOA0.0561720.536284.63380.011225SSA0.050.34047411.36740.011378SCA0.0513490.392998.77620.011166HHO0.0574820.575674.10790.011618DHHO/M0.056240.538284.60450.011244HHOCM0.0553030.511185.02750.010987The best results are marked in bold.


## 4.6.2. Pressure Vessel Design Problem

The problem’s primary goal is to obtain set values of the shell (Ts), the thickness of the head (Th), the inner radius (R), and the length of the cylindrical section (L) by the optimization algorithms for reducing the cost of cylindrical pressure vessels [51] while meeting the pressure requirements. The structure of the pressure vessel is shown in Figure 9. The mathematical formula is represented as follows:Figure 9
Pressure vessel design problem [50].Consider(25)x⟶=x1x2x3x4=TsThRL.Minimize(26)fx⟶=0.6224x1x3x4+1.7781x2x32+3.1661x12x4+19.84x12x3.Subject to(27)g1x⟶=−x1+0.0193x3≤0,g2x⟶=−x3+0.00954x3≤0,g3x⟶=−πx32x4−43πx33+1296000≤0,g4x⟶=x4−240≤0.Variable range(28)0≤x1≤99,0≤x2≤99,10≤x3≤200,10≤x4≤200.We can see from Table10 that ERHHO was able to find the optimal solution at the lowest cost compared to other competitor algorithms.Table 10
Results for pressure vessel design problem.
AlgorithmOptimum variablesOptimum costTsThRLERHHO0.81283370.41416444.19005152.33735,907.41SMA0.84987430.416885745.62804137.31145,953.6101WOA0.73797610.503212940.319622006,100.539SSA0.87246560.426643746.7582126.34166,004.6857SCA0.68693960.379050640.364432006,078.1605HHO0.89711880.437793747.79634116.84996,055.0952DHHO0.85160570.395169544.15988152.66375,997.743HHOCM0.8509370.414751145.41652139.44345,947.2608The best results are marked in bold.


## 4.6.3. The Three-Bar Truss Design Problem

The three-bar truss design problem arises from civil engineering [52, 53]. This problem aims to minimize the weight in truss design with stress, deflection, and buckling constraints. There are two parameters, A1 and A2, involved in this design problem, and we should find the best value of A1 and A2 by the optimization algorithm for achieving the goal above. The design is shown in Figure 10. The model of the problem is depicted as follows:Figure 10
Three-bar truss design problem [50].Consider(29)x⟶=x1x2=A1A2.Minimize(30)fx⟶=22x1+x2×l.Subject to(31)g1x⟶=2x1+x22x12+2x1x2P−σ≤0,g2x⟶=x22x12+2x1x2P−σ≤0,g3x⟶=12x2+x1P−σ≤0.Variable range(32)0≤x1,x2≤1.The results for the three-bar truss design problem are listed in Table11. As we can see, the ERHHO algorithm can achieve the best performance as well as the SSA algorithm in solving this problem.Table 11
Results for the three-bar truss design problem.
AlgorithmOptimum variablesOptimum costx1x2ERHHO0.788420.40811263.8523SMA0.798930.37727264.1663WOA0.806970.35801264.0902SSA0.78840.40816263.8523SCA0.801670.37081264.052HHO0.795950.38721263.893DHHO0.780730.43031263.897HHOCM0.795990.38709263.8935The best results are marked in bold.


## 4.6.4. Cantilever Beam Design

Cantilever beam design is one problem in which hollow square cross-section parameters (x1–x5) are optimized [54] by optimization algorithms to obtain the cantilever beam’s minimum weight. This problems’ architecture is depicted in Figure 11. The mathematical equations are described as follows:Figure 11
Cantilever beam design [55].Consider(33)x⟶=x1x2x3x4x5.Minimize(34)fx⟶=0.6224x1+x2+x3+x4+x5.Subject to(35)gx⟶=60x13+27x23+19x33+7x43+1x53−1≤0.Variable range(36)0.01≤x1,x2,x3,x4,x5≤100.Table12 summarized the findings, from which we can see that ERHHO was capable of finding the optimal solution and obtained total weight is minimized.Table 12
Results for the cantilever beam design problem.
AlgorithmOptimum variablesOptimum weightx1x2x3x4x5ERHHO6.05095.26394.5143.46052.18781.3402SMA5.9845.30744.51363.43212.2481.3407WOA6.50836.16534.6793.13351.68821.3837SSA5.97725.39664.46193.46752.17531.3403SCA5.64455.96075.08943.05442.29171.3753HHO6.05785.62314.23253.43022.20351.3445DHHO/M5.69085.6474.70093.35782.18591.3467HHOCM6.09325.24654.6333.37482.14761.3413The best results are marked in bold.


## 4.6.5. Speed Reducer Problem

The speed reducer problem [55] aims to minimize the reducer’s weight by optimizing seven variables x1–x7 through the optimization algorithms. The structure of this problem is depicted in Figure 12. The formulas and constraints are written as follows:Figure 12
Speed reducer problem [55].Minimize(37)fx⟶=0.7854x1x223.3333x32+14.9334x3−43.0934,−1.508x1x62+x72+7.4777x63+x73.Subject to(38)g1x⟶=27x1x22x3−1≤0,g2x⟶=397.5x1x22x32−1≤0,g3x⟶=1.93x43x2x3x64−1≤0,g4x⟶=1.93x53x2x3x74−1≤0,g5x⟶=745x4/x2x32+16.9×106110.0x63−1≤0,g6x⟶=745x4/x2x32+157.5×10685.0x63−1≤0,g7x⟶=x2x340−1≤0,g8x⟶=5x2x1−1≤0,g9x⟶=x112x2−1≤0,g10x⟶=1.5x6+1.9x4−1≤0,g11x⟶=1.1x7+1.9x5−1≤0.Variable range(39)2.6≤x1≤3.6,0.7≤x2≤0.8,17≤x3≤28,7.3≤x4≤8.3,7.8≤x5≤8.3,2.9≤x6≤3.9,5.0≤x7≤5.5.Table13 shows the test results that demonstrate the proposed algorithm’s effectiveness in obtaining the optimal values for solving this problem.Table 13
Results for the speed reducer design problem.
AlgorithmOptimum variablesOptimum weightx1x2x3x4x5x6x7ERHHO3.49760.7177.37.83.350065.285532,995.4374SMA3.497670.7177.37.83.350075.285542,995.4379WOA3.494410.7178.100017.979573.351285.325673,033.2286SSA3.497620.7177.373538.141543.350195.285553,003.6298SCA3.60.7177.60797.980833.391275.300033,061.4356HHO3.526990.7177.37.800553.35045.284163,007.2009DHHO3.497370.7178.045417.83.351945.285543,002.6565HHOCM3.497770.7177.487887.990863.351565.285243,001.7286The best results are marked in bold.


## 5. Conclusion

In this paper, an improved HHO algorithm named ERHHO is proposed to overcome the shortcoming of the basic HHO algorithm. The ERHHO algorithm starts with initializing population positions, where we introduced the tent chaotic map to improve the diversity. And then three phases: exploration, transaction from exploration to exploitation, and exploitation, are performed. We proposed an exploration factor to update the formula to expand the global search range at the exploration phase. And, at the phase of exploitation, we proposed a random walk strategy after four hunting strategies to effectively improve the ability to find more accurate results. Twenty-three standard benchmark functions evaluate the proposed algorithm’s ability in the stage of exploration and exploitation. The results verified that the proposed ERHHO algorithm can yield very effective outcomes and get almost the best results compared to the other algorithms. Then the Wilcoxon signed-rank test is used to demonstrate the significant differences between ERHHO and other competing algorithms. The algorithm’s superiority is further demonstrated by testing on five engineering design problems and CEC2017 test functions for real problems. Furthermore, some challenges in the real world can be solved by using ERHHO properly, such as feature selection, multithreshold image segmentation, convolution neural network, and so on. For further verification, another inquiry will be performed on whether this hybrid method can improve the performance of other optimization algorithms.



---

*Source: 4673665-2022-04-30.xml*