# A Bio-Inspired Method for Engineering Design Optimization Inspired by Dingoes Hunting Strategies

Authors: Hernán Peraza-Vázquez; Adrián F. Peña-Delgado; Gustavo Echavarría-Castillo; Ana Beatriz Morales-Cepeda; Jonás Velasco-Álvarez; Fernando Ruiz-Perez
Journal: Mathematical Problems in Engineering
 (2021)

---

## Abstract

A novel bio-inspired algorithm, namely, Dingo Optimization Algorithm (DOA), is proposed for solving optimization problems. The DOA mimics the social behavior of the Australian dingo dog. The algorithm is inspired by the hunting strategies of dingoes which are attacking by persecution, grouping tactics, and scavenging behavior. In order to increment the overall efficiency and performance of this method, three search strategies associated with four rules were formulated in the DOA. These strategies and rules provide a fine balance between intensification (exploitation) and diversification (exploration) over the search space. The proposed method is verified using several benchmark problems commonly used in the optimization field, classical design engineering problems, and optimal tuning of a Proportional-Integral-Derivative (PID) controller are also presented. Furthermore, the DOA’s performance is tested against five popular evolutionary algorithms. The results have shown that the DOA is highly competitive with other metaheuristics, beating them at the majority of the test functions.


---

## Body

## 1. Introduction

Typically, a constrained optimization problem can be described as a nonlinear programming problemNLP [1], as shown below.(1)Minimizefx,Subject togix≤0,i=1,…,p,hjx=0,j=1,…,q,xkl≤xk≤xku,k=1,…,D.In the above NLP problem, the functionf is the objective function, where fx:RD⟶R, there are D variables, x=x1,…,xD, is a vector of size D, x∈RD, RD representing the whole search space, gi are the inequality constraints, hj are the equality constraints, and xkl, xku are the lower bound constraints and upper bound constraints, respectively, where p and q are defined as the number of inequality and equality constraints, respectively. Thus, the optimization goal is to find a feasible vector x to minimize the objective function. When the vector x contains a subset of μ and ν vectors of continuous real and integer variables, respectively, μ+ν=D, then the NLP problem becomes a mixed−integer nonlinear programming problem MINLP. Nonconvex NLPs and MINLPs are commonly found in real-world situations. Therefore, the scientific community continues developing new approaches to obtain optimal solutions with acceptable computation time in various engineering, industrial, and science fields. For example, on design optimization, the design objective could simply be to minimize the cost or maximize the efficiency of production. However, the objective could be more complex, e.g., controlling the highly nonlinear behavior of the pH neutralization process in a chemical plant. The need to solve practical NLP/MINLP problems has led to the development of a large number of heuristics and metaheuristics over the last two decades [2, 3]. Metaheuristics, which are emerging as effective alternatives for solving nondeterministic Polynomial Time hard (NP-hard) optimization problems, are strategies for designing or improving very general heuristics procedures with high performance in order to find (near) optimal solutions. The goal of the metaheuristics is efficient exploration (diversification) and exploitation (intensification) of the search space, where an effective algorithm sets a good ratio between this two parameters. For example, we can take advantage of the search experience to guide search engines by applying learning strategies or incorporating probabilistic decisions. Metaheuristics can be classified in two main groups, local search and population based. In the first group, the search process starts with one candidate solution and then it is improved in each iteration over the runtime. Algorithms such as variable neighborhood search (VNS) [4], Tabu search (TS) [5], Simulated annealing (SA) [6], and Iterated local search [7] are considered as part of the local search metaheuristics group. On the other hand, in the second group, among the population-based metaheuristics, evolutionary algorithms are metaheuristics inspired by the process of natural selection. Genetic Algorithms (GA) [8], Genetic Programming [9], Differential Evolution (DE) [10], and Evolution Strategy (ES) [11] are considered as state-of-the-art population-based evolutionary algorithms. Moreover, Ant Colony Optimization (ACO) [12], Cuckoo Search Algorithm (CSA) [13], and Particle Swarm Algorithm (PSO) [14] are some representative population-based metaheuristics categorized as swarm based [15]. Even though there is a great amount of research on metaheuristics, it continues to be used in many fields, e.g., cluster analysis, scheduling, artificial intelligence, process engineering, etc., with flattering results. However, there is no particular heuristic algorithm suitable for all optimization problems [16]. Therefore, designing new optimization techniques is an active research field within the scientific community [17]. A survey of some of the most relevant animal or natured based bio-inspired algorithms includes but is not limited to Virus Colony Search (VCS) [18], Plant Propagation algorithms [19], Lightning Search Algorithm (LSA) [20], Ant Lion Optimizer (ALO) [21], Lion Optimizer Algorithm (LOA) [22], Spotted Hyena Optimizer (SHO) [23], Harris Hawks Optimization (HHO) [24], Dragonfly Algorithm (DFA) [25], Grey Wolf Optimizer (GWO) [26], Dolphin Echolocation Algorithm [27], Water Strider Algorithm (WSA), [27], Slime Mould Algorithm (SMA) [28], Moth Search Algorithm (MSA) [29], Colony Predation Algorithm (CPA) [30], Black Widow Optimization Algorithm (BWOA) [31], Grasshopper Optimization Algorithm (Goa) [32], and the Hunger games search (HGS) [33]. Additionally, some outstanding physical phenomena based bio-inspired algorithm for optimization are [27]: Magnetic Charged System Search (MCSS), Colliding Bodies Optimization (CBO), Water Evaporation Optimization (WEO), Vibrating Particles System (VPS), Thermal Exchange Optimization (TEO), Cyclical Parthenogenesis Algorithm (CPA), among others.Here, a novel bio-inspired algorithm, namely Dingo Optimization Algorithm (DOA), is proposed for solving optimization tasks. It is based on the simulation of the hunting strategies of Dingoes, which are attacking by chasing, grouping tactics, and scavenging behavior. The remainder of this paper is organized as follows. Section2 illustrates the DOA details, including the inspiration and mathematical model. In order to illustrate the proficiency and robustness of the proposed approach, several numerical examples and their comparison with state-of-the-art metaheuristics are presented in Section 3. Finally, Section 4 summarizes our findings and concludes the paper with a brief discussion on the scope for future work.


## 2. Dingo Optimization Algorithm (DOA)

In this section, the inspiration of the proposed method is first discussed. Then, the mathematical model is provided.


### 2.1. Biological Fundamentals

The dingo is Australia’s native largest mammalian carnivore, and their scientific name isCanis lupus dingo. Several studies have been conducted to study the dingoes’ feeding behavior and diet, showing that these canines prey on several species such as mammals, birds, vegetation (seeds), reptiles, insects, fish, crabs, and frogs, just to mention some [34]. They are opportunistic hunters but will also scavenge food when they are exploring new territories and suddenly find dead prey. Their hunting behavior can be variable. Usually, they pursue and attack their prey from behind. Group attack is their most used hunting strategy in which they surround the prey inside a perimeter and begin to chase it until they fatigue it. Further details about the dingoes’ behavior can be found in [35, 36].


### 2.2. Mathematical Model and Optimization Algorithm

In this section, the mathematical model of Dingoes different hunting strategies is first provided. The DOA algorithm is then proposed. The hunting strategies considered are attacking by persecution, grouping tactics, and scavenging behavior. In addition, dingoes’ survival probability is also considered.


### 2.3. Strategy 1: Group Attack

Predators often use highly intelligent hunting techniques. Dingoes usually hunt small prey, such as rabbits, individually, but when hunting large prey such as kangaroos, they gather in groups. Dingoes can find the location of the prey and surround it, such as wolves, see Figure1. This behavior is represented by the following equation: (2)x⟶it+1=β1∑k=1naφkt⟶−xi⟶tna−x∗⟶t,where x⟶t+1 is the new position of a search agent (indicates dingoes’ movement), na is a random integer number generated in the invertal of 2,SizePop/2, where SizePop is the total size of the population of dingoes. φ⟶kt , is a subset of search agents (dingoes that will attack) where φ⊂X, X is the dingoes’ population randomly generated, x⟶it is the current search agent, x⟶∗t is the best search agent found from the previous iteration, and β1 is a random number uniformly generated in the interval of −2,2; it is a scale factor that changes the magnitude and sense of the dingoes’ trajectories. The Group attack pseudocode is shown in Algorithm 1.Figure 1
Group attack strategy.Algorithm1: Group attack procedure.
(1)
Begin procedure(2)
Generate a random integer, namedna, na∈2,SizePop/2, answer the question: How many dingoes will attack?(3)
Generate k-index vector of random integers, with sizena, k-index ∈1,SizePop, answer the question: Which dingoes will attack?(4)
Generate theφ subset from Population using the k-index vector of positions, φ⊂ Population, φ are the dingoes that will attack(5)
Apply equation (7).(6)
Return the new positions of dingoes(7)
End procedureAlgorithm2:σ procedure.
(1)
Begin procedure(2)
ifrand≤0.5then(3)
return 0(4)
else(5)
return 1(6)
end if(7)
End procedureAlgorithm3: Survival procedure.
(1)
Begin procedure(2)
fori=1 to sizePopulation do(3)
ifsurvivali≤0.3then(4)
Strategy 4:x⟶i search agent updated by equation (6).(5)
end if(6)
end for(7)
End procedureAlgorithm4: Dingo Optimizer Algorithm.
(1)
procedure DOA(2)
Initialization of parameters(3)
P=0.5, probability of hunting or scavenger strategy(4)
Q=0.7, probability of Strategy 1 (group attack) or Strategy 2 (persecution attack)(5)
Generate the initial population(6)
while iteration < Max Number of Iterations do(7)
ifrandom<Pthen(8)
ifrandom<Qthen(9)
Strategy 1: Group Attack Procedure, Algorithm1, equation (2).(10)
else(11)
:    Strategy 2: Persecution, (3).(12)
end if(13)
else(14)
Strategy 3: Scavenger, (4).(15)
end if(16)
Update search agents that have low survival value, Algorithm3, equation (6)(17)
Calculatexnew, the fitness value of the new search agents(18)
ifxnew<x∗then(19)
x∗=xnew(20)
end if(21)
iteration=iteration+1(22)
end while(23)
Displayx∗, the best optimal solution(24)
end procedure


### 2.4. Strategy 2: Persecution

Dingoes usually hunt small prey, which is chased until it is caught individually. The following equation models this behavior:(3)x⟶it+1=x⟶∗t+β1∗eβ2∗x⟶r1t−x⟶it,where x⟶t+1 indicates the dingoes’ movement, x⟶it is the current search agent, x⟶∗t is the best search agent found from the previous iteration, β1 has the same value as in equation (2), β2 is a random number uniformly generated in the interval of −1,1, r1 is the random number generated in the interval from 1 to the size of a maximum of search agents (dingoes), and x⟶r1t is the r1-th search agent selected, where i≠r1.Equation (3) is used to represent the dingoes’ trajectories while hunting for their prey. At the same time, Figure 2 is used to graphically illustrate its parameters.Figure 2
Effects ofβ1 and β2 on the evaluation of equation (3) (dingoes’ hunting trajectories).


### 2.5. Strategy 3: Scavenger

Scavenger behavior is defined as the action when dingoes find carrion to eat when they are randomly walking in their habitat. Equation (4) is used to model this behavior, which is graphically displayed in Figure 3(4)x⟶it+1=12eβ2∗x⟶r1t−−1σ∗x⟶it,where x⟶t+1 indicates the dingoes’ movement, β2 has the same value as in equation (3), r1 is the random number generated in the interval from 1 to the size of a maximum of search agents (dingoes), x⟶r1t is the r1-th search agent selected, x⟶it is the current search agent, where i≠r1 and σ is a binary number randomly generated by Algorithm 2, σ∈0,1.Figure 3
Scavenger vectorial trajectory, taken from the evaluation of equation (4). The red line represents the possible trajectory of the resulting vector when randomly varying β (β>0 or β<0) and σ (σ=1 or σ=0), blue and green lines, respectively.


### 2.6. Strategy 4: Dingoes’ Survival Rates

The Australian dingo dog is at risk of extinction mainly due to illegal hunting. In the DOA, the dingoes’ survival rate value is provided by the following equation:(5)survivali=fitnessmax−fitnessifitnessmax−fitnessmin,where fitnessmax and fitnessmin are the worst and the best fitness value in the current generation, respectively, whereas fitnessi is the current fitness value of the i−th search agent. The survival vector in equation (5) contains the normalized fitness in the interval of 0,1. Equation (6) is applied for low survival rates by Algorithm 3, e.g., for survival rates values equal to or less than 0.3.(6)x⟶it=x⟶∗t+12x⟶r1t−−1σ∗x⟶r2t,where x⟶it is the search agent with low survival rates that will be updated, r1 and r2 are random numbers generated in the interval from 1 to the size maximum of search agents (dingoes), with r1≠r2, x⟶r1t and x⟶r2t, are the r1,r2-th search agents selected, x⟶∗t is the best search agent found from the previous iteration and σ is a binary number randomly generated by the second algorithm, σ∈0,1. Note that equation (6) is an addition or subtraction of vectors, defined by the random value of σ.


### 2.7. Pseudocode for DOA

The pseudocode of the DOA is explained in Algorithm4, whereas the overall flow is shown in Figure 4.Figure 4
DOA Flowchart.


## 2.1. Biological Fundamentals

The dingo is Australia’s native largest mammalian carnivore, and their scientific name isCanis lupus dingo. Several studies have been conducted to study the dingoes’ feeding behavior and diet, showing that these canines prey on several species such as mammals, birds, vegetation (seeds), reptiles, insects, fish, crabs, and frogs, just to mention some [34]. They are opportunistic hunters but will also scavenge food when they are exploring new territories and suddenly find dead prey. Their hunting behavior can be variable. Usually, they pursue and attack their prey from behind. Group attack is their most used hunting strategy in which they surround the prey inside a perimeter and begin to chase it until they fatigue it. Further details about the dingoes’ behavior can be found in [35, 36].


## 2.2. Mathematical Model and Optimization Algorithm

In this section, the mathematical model of Dingoes different hunting strategies is first provided. The DOA algorithm is then proposed. The hunting strategies considered are attacking by persecution, grouping tactics, and scavenging behavior. In addition, dingoes’ survival probability is also considered.


## 2.3. Strategy 1: Group Attack

Predators often use highly intelligent hunting techniques. Dingoes usually hunt small prey, such as rabbits, individually, but when hunting large prey such as kangaroos, they gather in groups. Dingoes can find the location of the prey and surround it, such as wolves, see Figure1. This behavior is represented by the following equation: (2)x⟶it+1=β1∑k=1naφkt⟶−xi⟶tna−x∗⟶t,where x⟶t+1 is the new position of a search agent (indicates dingoes’ movement), na is a random integer number generated in the invertal of 2,SizePop/2, where SizePop is the total size of the population of dingoes. φ⟶kt , is a subset of search agents (dingoes that will attack) where φ⊂X, X is the dingoes’ population randomly generated, x⟶it is the current search agent, x⟶∗t is the best search agent found from the previous iteration, and β1 is a random number uniformly generated in the interval of −2,2; it is a scale factor that changes the magnitude and sense of the dingoes’ trajectories. The Group attack pseudocode is shown in Algorithm 1.Figure 1
Group attack strategy.Algorithm1: Group attack procedure.
(1)
Begin procedure(2)
Generate a random integer, namedna, na∈2,SizePop/2, answer the question: How many dingoes will attack?(3)
Generate k-index vector of random integers, with sizena, k-index ∈1,SizePop, answer the question: Which dingoes will attack?(4)
Generate theφ subset from Population using the k-index vector of positions, φ⊂ Population, φ are the dingoes that will attack(5)
Apply equation (7).(6)
Return the new positions of dingoes(7)
End procedureAlgorithm2:σ procedure.
(1)
Begin procedure(2)
ifrand≤0.5then(3)
return 0(4)
else(5)
return 1(6)
end if(7)
End procedureAlgorithm3: Survival procedure.
(1)
Begin procedure(2)
fori=1 to sizePopulation do(3)
ifsurvivali≤0.3then(4)
Strategy 4:x⟶i search agent updated by equation (6).(5)
end if(6)
end for(7)
End procedureAlgorithm4: Dingo Optimizer Algorithm.
(1)
procedure DOA(2)
Initialization of parameters(3)
P=0.5, probability of hunting or scavenger strategy(4)
Q=0.7, probability of Strategy 1 (group attack) or Strategy 2 (persecution attack)(5)
Generate the initial population(6)
while iteration < Max Number of Iterations do(7)
ifrandom<Pthen(8)
ifrandom<Qthen(9)
Strategy 1: Group Attack Procedure, Algorithm1, equation (2).(10)
else(11)
:    Strategy 2: Persecution, (3).(12)
end if(13)
else(14)
Strategy 3: Scavenger, (4).(15)
end if(16)
Update search agents that have low survival value, Algorithm3, equation (6)(17)
Calculatexnew, the fitness value of the new search agents(18)
ifxnew<x∗then(19)
x∗=xnew(20)
end if(21)
iteration=iteration+1(22)
end while(23)
Displayx∗, the best optimal solution(24)
end procedure


## 2.4. Strategy 2: Persecution

Dingoes usually hunt small prey, which is chased until it is caught individually. The following equation models this behavior:(3)x⟶it+1=x⟶∗t+β1∗eβ2∗x⟶r1t−x⟶it,where x⟶t+1 indicates the dingoes’ movement, x⟶it is the current search agent, x⟶∗t is the best search agent found from the previous iteration, β1 has the same value as in equation (2), β2 is a random number uniformly generated in the interval of −1,1, r1 is the random number generated in the interval from 1 to the size of a maximum of search agents (dingoes), and x⟶r1t is the r1-th search agent selected, where i≠r1.Equation (3) is used to represent the dingoes’ trajectories while hunting for their prey. At the same time, Figure 2 is used to graphically illustrate its parameters.Figure 2
Effects ofβ1 and β2 on the evaluation of equation (3) (dingoes’ hunting trajectories).


## 2.5. Strategy 3: Scavenger

Scavenger behavior is defined as the action when dingoes find carrion to eat when they are randomly walking in their habitat. Equation (4) is used to model this behavior, which is graphically displayed in Figure 3(4)x⟶it+1=12eβ2∗x⟶r1t−−1σ∗x⟶it,where x⟶t+1 indicates the dingoes’ movement, β2 has the same value as in equation (3), r1 is the random number generated in the interval from 1 to the size of a maximum of search agents (dingoes), x⟶r1t is the r1-th search agent selected, x⟶it is the current search agent, where i≠r1 and σ is a binary number randomly generated by Algorithm 2, σ∈0,1.Figure 3
Scavenger vectorial trajectory, taken from the evaluation of equation (4). The red line represents the possible trajectory of the resulting vector when randomly varying β (β>0 or β<0) and σ (σ=1 or σ=0), blue and green lines, respectively.


## 2.6. Strategy 4: Dingoes’ Survival Rates

The Australian dingo dog is at risk of extinction mainly due to illegal hunting. In the DOA, the dingoes’ survival rate value is provided by the following equation:(5)survivali=fitnessmax−fitnessifitnessmax−fitnessmin,where fitnessmax and fitnessmin are the worst and the best fitness value in the current generation, respectively, whereas fitnessi is the current fitness value of the i−th search agent. The survival vector in equation (5) contains the normalized fitness in the interval of 0,1. Equation (6) is applied for low survival rates by Algorithm 3, e.g., for survival rates values equal to or less than 0.3.(6)x⟶it=x⟶∗t+12x⟶r1t−−1σ∗x⟶r2t,where x⟶it is the search agent with low survival rates that will be updated, r1 and r2 are random numbers generated in the interval from 1 to the size maximum of search agents (dingoes), with r1≠r2, x⟶r1t and x⟶r2t, are the r1,r2-th search agents selected, x⟶∗t is the best search agent found from the previous iteration and σ is a binary number randomly generated by the second algorithm, σ∈0,1. Note that equation (6) is an addition or subtraction of vectors, defined by the random value of σ.


## 2.7. Pseudocode for DOA

The pseudocode of the DOA is explained in Algorithm4, whereas the overall flow is shown in Figure 4.Figure 4
DOA Flowchart.


## 3. DOA Algorithm Analysis

In this section, an in-depth analysis of the DOA algorithm is carried out. This analysis includes the DOA’s time complexity, parameters settings studies, the hunting strategies analysis, and the associated effects of the population size in the algorithm’s performance.


### 3.1. Time Complexity

Without any loss of generality, letf be any optimization problem and suppose that O(f) is the computational time complexity of evaluating its function value. Thereby, the DOA computational time complexity is defined as O(tMx∗nDg∗f), where tMx is the maximum number of iterations and nDg is the number of dingoes (population size).


### 3.2. Hunter Strategies Analysis

To better understand the performance of each of the hunting strategies separately, a unimodal and a multimodal problem was conducted. The algorithm was modified to use only one strategy on each run time and executed with the number of iterations set as 500 and population size (search agents) of 100. The output of this analysis is displayed in Figure5. Note that the group attack strategy has obtained the best performance for the unimodal function F2, while the persecution strategy has the worst, while, for the multimodal function F14, the persecution strategy overcomes the scavenger strategy and shows competitive results compared to the attack strategy.Figure 5
Hunter strategies analysis.


### 3.3. Population Size Analysis

The effects of the population size on the performance of the DOA algorithm are studied by fixing the number of iterations to 100 and then varying the population size initially at 15, then 30, 40, 50, 100, and 200 for the F2 F14 functions. The output of these tests is summarized in Table1 and Figure 6, where the best optimal value is found at a population size of 100.Table 1
Population size analysis.
Population sizeF2 (optimal value: 0)F14 (optimal value: 1)WorstBestAvestdWorstBestAvestd151.64E −171.62E −481.64E −185.18E −181.17E +009.96E −011.02E +005.52E −02306.53E −202.85E −436.86E −212.06E −209.98E −019.98E −019.98E −011.49E −04506.57E −275.87E −476.64E −282.08E −279.99E −019.98E −019.98E −013.25E −041001.09E −293.96E −581.09E −303.43E −309.99E −019.98E −019.98E −013.57E −042004.34E −393.96E −534.84E −401.36E −399.99E −019.98E −019.98E −013.37E −04Figure 6
Population size analysis.Notice that from the population size analysis results described in Table1, row two corresponding to size 30 shows that the DOA algorithm outperformed, in F2 and F14, the algorithms reported in Table 2. Nevertheless, Table 1 data were conducted with a fixed population size of 100, whereas Table 2 data were calculated with a population size of 500. Moreover, for a smaller population size of 15, it still outperforms the other algorithms.Table 2
Performance and comparison of DOA.
FValueDOAWOAPSOGSADEFEPavestdavestdavestdAvestdavestdavestdF10001.41E −304.91E −300.0001360.0002022.53E −169.67E −178.2E −145.9E −140.000570.00013F20001.06E −212.39E −210.0421440.0454210.0556550.1940741.5E −099.9E −100.00810.00077F30005.39E −072.93E −0670.1256222.11924896.5347318.95596.8E −117.4E −110.0160.014F40000.0725810.397471.0864810.3170397.354871.741452000.30.5F5028.90.04307511827.865580.76362696.7183260.1155967.5430962.22534005.065.87F605.01630.3688327163.1162660.5324290.0001028.28E −052.5E −161.74E −160000F701.20E −050.00292890.0014250.0011490.1228540.0449570.0894410.043390.004630.00120.14150.3522F8−2094.9−3410.1521087.135358−5080.76695.7968−4841.291152.814−2821.07493.0375−11080.1574.7−12554.552.6F90000046.7042311.6293825.968417.47006869.238.80.0460.012F1008.8818E −162.9064E −147.40439.8975720.2760150.509010.0620870.236289.7E −084.2E −080.0180.0021F110000.0002890.0015860.0092150.00772427.701545.040343000.0160.022F1200.303124.2E −080.3396760.2148640.0069170.0263011.7996170.951147.9E −158E −159.2E −063.6E −06F1302.99140.0089071.8890150.2660880.0066750.0089078.8990847.1262415.1E −144.8E −140.000160.000073F1410.99802.1119732.4985943.6271682.5608285.8598383.8312990.9983.3E −161.220.56F150.00030.000307490.0000367950.0005720.0003240.0005770.0002220.0036730.0016474.5E −140.000330.00050.00032F16−1.0316−1.03160−1.031634.2E −07−1.031636.25E −16−1.031634.88E −16−1.031633.1E −13−1.034.9E −07F170.3980.3978900.3979142.7E −050.39788700.39788700.3978879.9E −090.3981.5E −07F1833034.22E −1531.33E −1534.17E −1532E −153.020.11F19−3.86−3.86280−3.856160.002706−3.862782.58E −15−3.862782.29E −15N/AN/A−3.860.000014F20−3.32−3.3220.0000025−2.981050.376653−3.266340.060516−3.317780.023081N/AN/A−3.270.059F21−10.153−10.15320.007724−7.049183.629551−6.86513.019644−5.955123.737079−10.15322.5E −06−5.521.59F22−10.403−10.40295E −05−8.181783.829202−8.456533.087094−9.684472.014088−10.40293.9E −07−5.532.12F23−10.536−10.53640.0000025−9.342382.414737−9.952911.782786−10.53642.6E −15−10.53641.9E −07−6.573.14


### 3.4. P and Q Parameters Analysis

The DOA algorithm uses two parameters, P and Q. P is a fixed value that indicates the probability of the algorithm to choose between the hunting or scavenger strategy. If the hunting strategy is selected by the algorithm, then a fixed Q value indicates its probability to choose between group attack or persecution strategy.In order to determine the effects ofP and Q parameters on the DOA performance, an analysis of said variables is carried out by means of the benchmark problems F1 to F23; see Tables 3–5. The methodology consists of setting P fixed at 0.5 while Q starts on 0.25 and is incremented on 0.25 steps during four runtimes, one for each Q value until 1 is achieved. Afterward, a similar approach is conducted, leaving Q fixed at 0.5 while P starts on 0.25 and vary in 0.25 increments until P is equal to 1. The convergence analysis results of this parameters test are shown in Figures 7 and 8. It is to be noticed that regardless of P and Q values, the algorithm converges to the solution reported in Table 2. This is due to the incorporation of the survival strategy, which improves the quality of search agents by updating those with low survival values.Table 3
Unimodal testbench functions [37].
FunctionDimIntervalfminF1x=∑i=1nxi230−100,1000F2x=∑i=1xi+∏i=1nxi30−10,100F3x=∑i=1∑j−1ixj230−100,1000F4x=maxixi,1≤i≤n30−100,1000F5x=∑i=1n−1100xi+1−xi22+xi−1230−30,300F6x=∑i=1nxi+0.5230−100,1000F7x=∑i=1nixi4+random0,130−1.28,1.280Table 4
Multimodal testbench functions [37].
FunctionDimIntervalfminF8x=∑i=1n−xisinxi30−500,500−2094.9145F9x=∑i=1nxi2−10cos2πxi+1030−5.12,5.120F10x=−20exp−0.21/n∑i=1nxi2−exp1/n∑i=1ncos2πxi+20+e30−32,320F11x=1/4000∑i=1nxi2−∏i=1ncosxii+130−600,6000F12x=π/n10sinπy1+∑i=1n−1yi−121+10sin2πyi+1+yn−12+∑i=1nuxi,10,100,4yi=1+xi+1/4uxi,a,k,m=kxi−am,xi>a,0−a<xi<a,k−xi−am,xi<−a.30−50,500F13x=0.1sin23πxi+∑i=1nxi−121+sin23πxi+1+xn−121+sin22πxn+∑i=1nuxi,5,100,430−50,500Table 5
Fixed-dimension multimodal testbench functions [37].
FunctionDimIntervalfminF14x=1/500+∑j=1251/j+∑i=12xi−aij6−12−65,651F15x=∑i=111ai−x1bi2+bix2/bi2+bix3+x424−5,50.00030F16x=4x12−2.1x14+1/3x16+x1x2−4x22+4242−5,5−1.0316F17x=x2−5.1/4π2x12+5/πx1−62+101−1/8πcosx1+102−5,50.398F18x=1+x1+x2+1219−14x1+3x12−14x2+6x1x2+3x22×30+2x1−3x22×18−32x1+12x12+48x2−36x1x2+27x222−2,23F19x=−∑i=14ciexp−∑j=13aijxj−pij231,3−3.86F20x=−∑i=14ciexp−∑j=16aijxj−pij260,1−3.32F21x=−∑i=15X−aiX−aiT+ci−140,10−10.1532F22x=−∑i=17X−aiX−aiT+ci−140,10−10.4028F23x=−∑i=110X−aiX−aiT+ci−140,10−10.5363Figure 7
P and Q parameters analysis, first test: Q is set fixed at 0.5, while P starts on 0.25 and then, it increases on 0.25 until P is equal to 1.Figure 8
P and Q parameters analysis, second test: P is set fixed at 0.5, while Q starts on 0.25 and then increases on 0.25 until Q is equal to 1.Based on this, for the rest of the paper, the DOA tests will be conducted with P andQ fixed at 0.5 and 0.70, respectively.


## 3.1. Time Complexity

Without any loss of generality, letf be any optimization problem and suppose that O(f) is the computational time complexity of evaluating its function value. Thereby, the DOA computational time complexity is defined as O(tMx∗nDg∗f), where tMx is the maximum number of iterations and nDg is the number of dingoes (population size).


## 3.2. Hunter Strategies Analysis

To better understand the performance of each of the hunting strategies separately, a unimodal and a multimodal problem was conducted. The algorithm was modified to use only one strategy on each run time and executed with the number of iterations set as 500 and population size (search agents) of 100. The output of this analysis is displayed in Figure5. Note that the group attack strategy has obtained the best performance for the unimodal function F2, while the persecution strategy has the worst, while, for the multimodal function F14, the persecution strategy overcomes the scavenger strategy and shows competitive results compared to the attack strategy.Figure 5
Hunter strategies analysis.


## 3.3. Population Size Analysis

The effects of the population size on the performance of the DOA algorithm are studied by fixing the number of iterations to 100 and then varying the population size initially at 15, then 30, 40, 50, 100, and 200 for the F2 F14 functions. The output of these tests is summarized in Table1 and Figure 6, where the best optimal value is found at a population size of 100.Table 1
Population size analysis.
Population sizeF2 (optimal value: 0)F14 (optimal value: 1)WorstBestAvestdWorstBestAvestd151.64E −171.62E −481.64E −185.18E −181.17E +009.96E −011.02E +005.52E −02306.53E −202.85E −436.86E −212.06E −209.98E −019.98E −019.98E −011.49E −04506.57E −275.87E −476.64E −282.08E −279.99E −019.98E −019.98E −013.25E −041001.09E −293.96E −581.09E −303.43E −309.99E −019.98E −019.98E −013.57E −042004.34E −393.96E −534.84E −401.36E −399.99E −019.98E −019.98E −013.37E −04Figure 6
Population size analysis.Notice that from the population size analysis results described in Table1, row two corresponding to size 30 shows that the DOA algorithm outperformed, in F2 and F14, the algorithms reported in Table 2. Nevertheless, Table 1 data were conducted with a fixed population size of 100, whereas Table 2 data were calculated with a population size of 500. Moreover, for a smaller population size of 15, it still outperforms the other algorithms.Table 2
Performance and comparison of DOA.
FValueDOAWOAPSOGSADEFEPavestdavestdavestdAvestdavestdavestdF10001.41E −304.91E −300.0001360.0002022.53E −169.67E −178.2E −145.9E −140.000570.00013F20001.06E −212.39E −210.0421440.0454210.0556550.1940741.5E −099.9E −100.00810.00077F30005.39E −072.93E −0670.1256222.11924896.5347318.95596.8E −117.4E −110.0160.014F40000.0725810.397471.0864810.3170397.354871.741452000.30.5F5028.90.04307511827.865580.76362696.7183260.1155967.5430962.22534005.065.87F605.01630.3688327163.1162660.5324290.0001028.28E −052.5E −161.74E −160000F701.20E −050.00292890.0014250.0011490.1228540.0449570.0894410.043390.004630.00120.14150.3522F8−2094.9−3410.1521087.135358−5080.76695.7968−4841.291152.814−2821.07493.0375−11080.1574.7−12554.552.6F90000046.7042311.6293825.968417.47006869.238.80.0460.012F1008.8818E −162.9064E −147.40439.8975720.2760150.509010.0620870.236289.7E −084.2E −080.0180.0021F110000.0002890.0015860.0092150.00772427.701545.040343000.0160.022F1200.303124.2E −080.3396760.2148640.0069170.0263011.7996170.951147.9E −158E −159.2E −063.6E −06F1302.99140.0089071.8890150.2660880.0066750.0089078.8990847.1262415.1E −144.8E −140.000160.000073F1410.99802.1119732.4985943.6271682.5608285.8598383.8312990.9983.3E −161.220.56F150.00030.000307490.0000367950.0005720.0003240.0005770.0002220.0036730.0016474.5E −140.000330.00050.00032F16−1.0316−1.03160−1.031634.2E −07−1.031636.25E −16−1.031634.88E −16−1.031633.1E −13−1.034.9E −07F170.3980.3978900.3979142.7E −050.39788700.39788700.3978879.9E −090.3981.5E −07F1833034.22E −1531.33E −1534.17E −1532E −153.020.11F19−3.86−3.86280−3.856160.002706−3.862782.58E −15−3.862782.29E −15N/AN/A−3.860.000014F20−3.32−3.3220.0000025−2.981050.376653−3.266340.060516−3.317780.023081N/AN/A−3.270.059F21−10.153−10.15320.007724−7.049183.629551−6.86513.019644−5.955123.737079−10.15322.5E −06−5.521.59F22−10.403−10.40295E −05−8.181783.829202−8.456533.087094−9.684472.014088−10.40293.9E −07−5.532.12F23−10.536−10.53640.0000025−9.342382.414737−9.952911.782786−10.53642.6E −15−10.53641.9E −07−6.573.14


## 3.4. P and Q Parameters Analysis

The DOA algorithm uses two parameters, P and Q. P is a fixed value that indicates the probability of the algorithm to choose between the hunting or scavenger strategy. If the hunting strategy is selected by the algorithm, then a fixed Q value indicates its probability to choose between group attack or persecution strategy.In order to determine the effects ofP and Q parameters on the DOA performance, an analysis of said variables is carried out by means of the benchmark problems F1 to F23; see Tables 3–5. The methodology consists of setting P fixed at 0.5 while Q starts on 0.25 and is incremented on 0.25 steps during four runtimes, one for each Q value until 1 is achieved. Afterward, a similar approach is conducted, leaving Q fixed at 0.5 while P starts on 0.25 and vary in 0.25 increments until P is equal to 1. The convergence analysis results of this parameters test are shown in Figures 7 and 8. It is to be noticed that regardless of P and Q values, the algorithm converges to the solution reported in Table 2. This is due to the incorporation of the survival strategy, which improves the quality of search agents by updating those with low survival values.Table 3
Unimodal testbench functions [37].
FunctionDimIntervalfminF1x=∑i=1nxi230−100,1000F2x=∑i=1xi+∏i=1nxi30−10,100F3x=∑i=1∑j−1ixj230−100,1000F4x=maxixi,1≤i≤n30−100,1000F5x=∑i=1n−1100xi+1−xi22+xi−1230−30,300F6x=∑i=1nxi+0.5230−100,1000F7x=∑i=1nixi4+random0,130−1.28,1.280Table 4
Multimodal testbench functions [37].
FunctionDimIntervalfminF8x=∑i=1n−xisinxi30−500,500−2094.9145F9x=∑i=1nxi2−10cos2πxi+1030−5.12,5.120F10x=−20exp−0.21/n∑i=1nxi2−exp1/n∑i=1ncos2πxi+20+e30−32,320F11x=1/4000∑i=1nxi2−∏i=1ncosxii+130−600,6000F12x=π/n10sinπy1+∑i=1n−1yi−121+10sin2πyi+1+yn−12+∑i=1nuxi,10,100,4yi=1+xi+1/4uxi,a,k,m=kxi−am,xi>a,0−a<xi<a,k−xi−am,xi<−a.30−50,500F13x=0.1sin23πxi+∑i=1nxi−121+sin23πxi+1+xn−121+sin22πxn+∑i=1nuxi,5,100,430−50,500Table 5
Fixed-dimension multimodal testbench functions [37].
FunctionDimIntervalfminF14x=1/500+∑j=1251/j+∑i=12xi−aij6−12−65,651F15x=∑i=111ai−x1bi2+bix2/bi2+bix3+x424−5,50.00030F16x=4x12−2.1x14+1/3x16+x1x2−4x22+4242−5,5−1.0316F17x=x2−5.1/4π2x12+5/πx1−62+101−1/8πcosx1+102−5,50.398F18x=1+x1+x2+1219−14x1+3x12−14x2+6x1x2+3x22×30+2x1−3x22×18−32x1+12x12+48x2−36x1x2+27x222−2,23F19x=−∑i=14ciexp−∑j=13aijxj−pij231,3−3.86F20x=−∑i=14ciexp−∑j=16aijxj−pij260,1−3.32F21x=−∑i=15X−aiX−aiT+ci−140,10−10.1532F22x=−∑i=17X−aiX−aiT+ci−140,10−10.4028F23x=−∑i=110X−aiX−aiT+ci−140,10−10.5363Figure 7
P and Q parameters analysis, first test: Q is set fixed at 0.5, while P starts on 0.25 and then, it increases on 0.25 until P is equal to 1.Figure 8
P and Q parameters analysis, second test: P is set fixed at 0.5, while Q starts on 0.25 and then increases on 0.25 until Q is equal to 1.Based on this, for the rest of the paper, the DOA tests will be conducted with P andQ fixed at 0.5 and 0.70, respectively.


## 4. Experimental Setup

In this section, 23 classical benchmark functions, reported in the literature [37], are optimized to investigate the effectiveness, efficiency, and stability of the DOA algorithm. The functions are categorized as unimodal, multimodal, and fixed-dimension multimodal. Table 3 shows unimodal functions, labeled from F1 to F7, whereas functions F8 to F13 are considered as multimodal, as shown in Table 4. Additionally, functions F14 to F23 are defined as fixed-dimension multimodal in Table 4. Unimodal functions allow testing the exploitation ability since they only have one global optimum, whereas multimodal functions and fixed-dimension multimodal functions are able to test the exploration ability since they include many local optima. Tables 3–5 summarizes these benchmark functions where Dim indicates the dimension of the function, Interval is the boundary of the function’s search space, and fmin is the optimum value. Figure 9 shows the typical 2D plots of the cost function for some test cases considered in this study.Figure 9
Typical 2D representations of benchmark mathematical functions. (a) Unimodal functions. (b) Multimodal functions. (c) Fixed-dimension multimodal functions.For each benchmark function, the DOA algorithm was run 30 times, the size of the population (search agents) was set to 30, while the number of iterations was defined as 500. Figure10 shows the convergence graphs of all functions.Figure 10
Convergence graphs.The DOA algorithm was compared with the following algorithms: the Whale Optimization Algorithm (WOA) [38], Particle Swarm Optimization (PSO) [39], Gravity Search Algorithm (GSA) [40], Differential Evolution (DE) [41], and Fast Evolutionary Programming (FEP) [42]. Our approach is implemented in MATLAB R2018a. All computations were carried out on a standard PC (Linux Kubuntu 18.04 LTS, Intel core i7, 2.50 GHz, 16 GB). The six algorithms were ranked by computing their Mean Absolute Error (MAE). MAE is a valid statistical criterion and an unambiguous measurement of the average error magnitude. It shows how far the results are from actual values. The MAE formula is as follows:(7)MAE=∑i=1Nmi−kiN,where mi indicates the mean of the optimal values, ki is the corresponding global optimal value, and N represents the number of test functions. Table 6 shows the average error rates obtained in the 23 benchmark functions. The ranking of all the algorithms based on their MAE calculations is illustrated in Table 7.Table 6
Average error rates obtained in the 23 benchmark problems.
FDOAWOAPSOGSADEFEPF10.0000E +006.1304E −325.9130E −061.1000E −173.9048E −152.4783E −05F20.0000E +004.6087E −231.8323E −032.4198E −037.1429E −113.5217E −04F30.0000E +002.3435E −083.0489E +003.8980E +013.2381E −126.9565E −04F40.0000E +003.1557E −034.7238E −023.1978E −010.0000E +001.3043E −02F51.2565E +001.2115E +004.2051E +002.9367E +000.0000E +002.2000E −01F62.1810E −011.3549E −014.4348E −061.0870E −170.0000E +000.0000E +00F75.2317E −076.1957E −055.3415E −033.8887E −032.2048E −046.1522E −03F85.7185E +011.2982E +021.1941E +023.1573E +014.2787E +024.5477E +02F90.0000E +000.0000E +002.0306E +001.1291E +003.2952E +002.0000E −03F103.8617E −173.2193E −011.2001E −022.6994E −034.6190E −097.8261E −04F110.0000E +001.2565E −054.0065E −041.2044E +000.0000E +006.9565E −04F121.3179E −021.4769E −023.0074E −047.8244E −023.7619E −164.0000E −07F131.3006E −018.2131E −022.9022E −043.8692E −012.4286E −156.9565E −06F148.6957E −054.8347E −021.1422E −012.1130E −019.5048E −059.5652E −03F153.2565E −071.1826E −051.2043E −051.4665E −041.4286E −058.6957E −06F160.0000E +001.3043E −061.3043E −061.3043E −061.4286E −066.9565E −05F174.7826E −063.7391E −064.9130E −064.9130E −065.3810E −060.0000E +00F180.0000E +000.0000E +000.0000E +000.0000E +000.0000E +008.6957E −04F191.2174E −041.6696E −041.2087E −041.2087E −04—0.0000E +00F208.6957E −051.4737E −022.3330E −039.6522E −05—2.1739E −03F218.6957E −061.3495E −011.4295E −011.8252E −019.5238E −062.0143E −01F224.3478E −069.6575E −028.4629E −023.1240E −024.7619E −062.1187E −01F231.7391E −055.1897E −022.5352E −021.7391E −051.9048E −051.7243E −01Table 7
Rank of algorithms for unimodal and multimodal problems using MAE.
AlgorithmMAERankDOA5.8803E +011GSA7.7042E +012PSO1.2913E +023WOA1.3194E +024DE4.3116E +025FEP4.5561E +026


## 5. Results and Discussion

According to the statistical results given in Table2, the Dingo Optimization Algorithm (DOA) is able to provide very competitive results. In the exploitation analysis, unimodal functions, the DOA outperforms all other algorithms, as Whale Optimization Algorithm (WOA), Particle Swarm Optimization (PSO), Gravity Search Algorithm (GSA), and Fast Evolutionary Programming (FEP), in F1, F2, F3, and F7 functions and similar to Differential Evolution (DE), it found the optimal result in F4. Table 8 shows the exploitation capability results summary. We can see that this result represents an accumulated rate of 71.43 % that outperforms or ties over the others algorithms. Therefore, these results show DOA superior performance in terms of exploitation at the optimum. On the other hand, the exploration analysis shows that the DOA was most efficient in F10,F15,F16,F17,F19,F20,F21, and F23, multimodal and fixed-dimension multimodal functions (see Table 2). In addition, the DOA showed similar behavior to other metaheuristics to find the optimal result in F9,F11,F14,F18, and F22 functions. This result represents an accumulated rate of 81.25 % that outperforms or ties compared with other algorithms. Table 8 confirms that the DOA also has a very good exploration capability. We can see that the DOA algorithm is at least the second-best and frequently the most efficient on the majority of the test functions due to the integrated mechanisms of exploitation and exploration leading the algorithm to the global optimum. The statistical results of the MAE test show that the DOA algorithm has the lowest value of the mean absolute error for the 23 classical benchmark functions and outperforms all the other algorithms (see Table 6), whereby DOA algorithm appears ranked in the first position (see Table 7). Additionally, a convergence analysis was carried out. The purpose of the convergence analysis is to understand and visualize the search on promising regions by the algorithm exploration and exploitation capabilities. The DOA and WOA algorithm are compared during the convergence analysis due to WOA better performance over the metaheuristics reported in [38]. Figure 11 illustrates the DOA convergence analysis results for selected test functions versus the highest-ranking algorithms taken from MAE test. We can see that the DOA converges faster than WOA due to its adaptive mechanism. This behavior is illustrated on F1, F2, and F4 test benchmark functions; see Figure 11. Whereas in F7, F10, F14, F15, F22 and F23 test functions, the DOA converges rapidly from the initial stage of iteration. Based on this trends, we conclude that the DOA exploitation and exploration capabilities are quite effective finding the optimal.Table 8
Summary of exploitation/exploration rates capability results of DOA Algorithm.
DOA algorithmExploitation (F1–F7) (%)Exploration (F8–F23) (%)Won57.1450Tied14.2931.25Lost28.5718.75Figure 11
The highest-ranking algorithms taken from the MAE test, DOA, WOA, GSA, and PSO are compared by means of its convergence curves, tested from some of the benchmark problems described in the text.


## 6. Real-World Applications

In this section, a constrained optimization problem, typically represented by (1), is considered. The DOA algorithm was tested with four constrained engineering design problems: a cantilever beam, a three-bar truss, a pressure vessel, and a gear train design problem. The pressure vessel design problem and the Gear train design problem contain discrete variables. The constraint handling method used is based on [43], where infeasible solutions (that is, at least one constraint is violated) are compared based on only their constraint violation. The constraint handling methods are formulated as follow:(8)Fx⟶=fx⟶,ifgix⟶≤0,∀i=1,2,…,p,fmax+∑i=1pgix⟶,otherwise,where fmax is the objective function value of the worst feasible solution in the population. Note that the fitness of a feasible solution is equal to its objective function value. On the other hand, the fitness of an infeasible solution is punished. Typically, it is defined as the value of the worst feasible solution in the current population plus the sum of the values obtained when evaluating each constraint violated.On the other hand, also the DOA algorithm was tested to find the optimal tuning parameters of a PID controller.


### 6.1. Cantilever beam Design Problem

A Cantilever beam consists of five square hollow blocks, as shown in Figure12. The objective is to minimize weight. In this problem, there are five optimization variables, one for each cantilever that represents the length of their side and includes one optimization constraint [44]. The cantilever weight optimization is formulated in the following equation:(9)Considerx⟶=x1x2x3x4x5,Minimizefx⟶=0.06224x1+x2+x3+x4+x5,Subject togx⟶=61x13+27x23+19x33+7x43+1x53−1≤0,variable range0.01≤x1,x2,x3,x4,x5≤100.Figure 12
Cantilever beam design problem.Some of the algorithms that are chosen for comparison are Salp Swarm Algorithm (SSA), Symbiotic Organisms Search (SOS), Method of Moving Asymptotes (MMA), Generalized Convex Approximation (CGA), in its version I and II (CGA_I and CGA_II, respectively), and Cuckoo Search Algorithm (CSA). The results obtained by DOA and their comparison with the aforementioned state-of-the-art metaheuristics are reported in Table 9, where Table 9 was taken from [44] and updated with DOA’s algorithm results. Note that DOA outperforms other techniques when obtaining the lowest weight and shows very competitive results compared to SSA.Table 9
Comparison results for the cantilever design problem, taken from [44] and updated with the DOA’s algorithm results.
Algorithm [44]Optimal values for variablesOptimum weightx1x2x3x4x5DOA5.981024.878004.467663.477862.134611.30325SSA6.015135.309304.495013.501432.152791.33996SOS6.018785.303444.495873.498962.155641.33996MMA6.01005.30004.490003.490002.150001.34000GCA_I6.01005.30004.490003.490002.150001.34000GCA_II6.01005.30004.490003.49002.150001.34000CSA6.00895.30494.502303.507702.150401.33999


### 6.2. Three-Bar Truss Design Problem

Here, the problem is to design a truss with three bars to minimize its weight. In this test, there are two optimization variables with three optimization constraints, stress, deflection, and buckling. It is formulated as shown in (10). This example is reported in [44] as a highly constrained search space. The overall structure of the three-bar truss is shown in Figure 13.(10)Considerx⟶=x1x2=A1A2,Minimizefx⟶=22x1+x2∗l,Subject tog1x⟶=2x1+x22x12+2x1x2P−σ≤0,g2x⟶=x22x12+2x1x2P−σ≤0,g3x⟶=x12x2+x1P−σ≤0,variable range0≤x1,x2≤1,wherel=100,P=2kNcm2,σ=2kNcm2.Figure 13
Three-bar truss design problem.Table10 was taken from [44] and updated with DOA’s algorithm results. Some of the algorithms that are chosen for comparison are Salp Swarm Algorithm (SSA), Differential Evolution with dynamic stochastic selection (DEDS), Hybridsced Particle Swarm Optimization with Differential Evolution (PSO-DE), Mine Blast Algorithm (MBA), Swarm with intelligent information (Ray and Sain), Tsa Method (Tsa), and Cuckoo Search Algorithm (CSA). The comparison with the aforementioned algorithms shows that the DOA algorithm provides very competitive and very close results compared to SSA and DEDS (the discrepancy is equal to 1E−7) and outperforming the rest of the algorithms.Table 10
Comparison results for the three-bar truss design problem, taken from [44] and updated with the DOA’s algorithm results.
Algorithm [44]Optimal values for variablesOptimum weigthx1x2DOA0.7886750950.40824840263.8958434SSA0.788665410.40827578263.8958434DEDS0.788675130.40824828263.8958434PSO-DE0.788675100.40824820263.8958433MBA0.788565000.40855970263.8958522Ray and sain0.795000000.39500000264.3000000Tsa0.788000000.40800000263.6800000 (infeasible)CSA0.788670000.40902000263.9716000


#### 6.2.1. Pressure Vessel Design Problem

The goal of this problem is to minimize the total cost. This includes material, forming, and welding of a cylindrical pressure vessel [38]. Here, there are four optimization variables and four optimization constraints, which are the thickness of the shell (Ts), the thickness of the head (Th), the inner radius (R), and the length of the cylindrical section without considering the head (L), by which the pressure vessel is to be fabricated, as shown in Figure 14. Ts and Th are discrete variables in multiples of 0.0625 in., while R and L are real variables. The mathematical formulation of the optimization problem is described as follows:(11)Considerx⟶=x1x2x3x4=TsThRLMinimizefx⟶=0.6224x1x3x4+1.7781x2x32+3.1661x12x4+19.84x12x3,Subject tog1x⟶=−x2+0.0193x3≤0g2x⟶=−x1+0.00954x3≤0g3x⟶=−πx32x4−43πx33+1,296,000≤0g4x⟶=−x4−240≤0variable range0≤x1≤99,0≤x2≤99,10≤x3≤200,10≤x4≤200,Figure 14
pressure vessel design problem.Some of the algorithms that are chosen for comparison are Differential Evolution (DE), Genetic Algorithm (GA), Whale Optimization Algorithm (WOA), Particle Swarm Optimization (PSO), among others [38]. Table 11 was taken from [38] and updated with DOA’s algorithm results. In this table, the comparison results show that the DOA algorithm is ranked as the first best solution obtained.Table 11
Comparison results for pressure vessel design problem, taken from [38] and updated with the DOA’s algorithm results.
Algorithm [38]Optimal values for variablesOptimum weightTsThRLDOA0.8125000.43750042.09845176.63666059.7143ACO (Kaveh and Telataheri)0.8125000.43750042.103624176.5726566059.0888 (infeasible)DE (Huang et al.)0.8125000.43750042.098411176.6376906059.7340WOA0.8125000.43750042.0982699176.6389986059.7410ES (Montes and Coello)0.8125000.43750042.098087176.6405186059.7456GA (Coello and Montes)0.8125000.43750042.097398176.6540506059.9463PSO (He and Wang)0.8125000.43750042.091266176.7465006061.0777GA (Coello)0.8125000.43450040.323900200.0000006288.7445GA (deb and gene)0.8125000.50000048.329000112.6790006410.3811Improved HS1.1250000.62500058.29015043.69268007197.730Lagrangian multiplier (Kannan)1.1250000.62500058.29100043.69000007198.0428Branch-bound (Sandgren)1.1250000.62500047.700000117.7010008129.1036GSA1.1250000.62500055.988659884.45420258538.8359


### 6.3. Discrete Engineering Problem-Gear train Design Problem

Here, the objective is to find the optimal number of the teeth of a four gear train while minimizing the gear ratio, as shown in Figure15, where its four parameters are discrete [21]. In order to handle discrete values, each search agent was rounded to the nearest integer number before the fitness evaluation. The design engineering constraint is defined as the number of teeth on any gear that should only be in the range of [12, 60]. Accordingly, the optimization problem can be formulated as follows:(12)Considerx⟶=x1x2x3x4=nAnBnCnD,Minimizefx⟶=16.931−x2x3x1x42,variable range12≤x1,x2,x3,x4≤60,Figure 15
Gear train design problem.Some of the algorithms that are chosen for comparison are Ant Lion Optimizer (ALO), Cuckoo Search Algorithm (CSA), Mine Blast Algorithm (MBA), Interior Search Algorithm (ISA), Genetic Algorithm (GA), Artificial Bee Colony (ABC), and Augmented Lagrange Multiplier (ALM) [21]. Table 12 was taken from [21] and updated with DOA’s algorithm results. It shows that the DOA algorithm gives competitive results for numbers of function evaluations and is suitable to solve discrete constrained problems.Table 12
Comparison results of the gear train design problem, taken from [21] and updated with the DOA’s algorithm results.
Algorithm [21].Optimal values for variablesfminMax. evalnAnBnCnDDOA431619492.7009e −12130ALO491916432.7009e −12120CSA431619492.7009e −125000MBA431619492.7009e −1210000ABC191644492.78e −1140000GA331417501.362e −9N/AALM331513412.1469e −8N/AAnt Lion Optimizer (ALO), Cuckoo Search Algorithm (CSA), Mine Blast Algorithm (MBA), Artificial Bee Colony (ABC), Genetic Algorithm (GA), and Augmented Lagrange Multiplier (ALM).


### 6.4. Tuning of a Proportional-Integral-Derivative (PID) Controller: Sloshing Dynamics Problem

Sloshing dynamics is a well-studied phenomenon in fluid dynamics. It is related to the movement of a liquid inside another object, altering the system dynamics [45]. Sloshing is an important effect on ships, spacecraft, aircraft, and trucks carrying liquids, as it causes instability and accidents. Sloshing dynamics can be depicted as a Ball and Hoop System (BHS). This effect illustrates the dynamics of a steel ball that is free to roll on the inner surface of a rotating circular hoop. The ball exhibits an oscillatory motion caused by the continuously rotated hoop through a motor. The ball will tend to move in the direction of the hoop rotation and will fall back, at some point, when gravity overcomes the frictional forces. The BHS behavior can be described by seven variables: hoop radius (R), hoop angle (θ), input torque to the hoop (T(t)), ball position on the hoop (y), ball radius (r), ball mass (m), and ball angles with vertical (slosh angle) (ψ). A schematic representation is shown in Figure 16. The transfer function of the BHS system, taken from [46,47], is formulated in equation (13), where θ is the input and y is the output of the BHS system.(13)GBHSs=ysθs=1s4+6s3+11s2+6s.Figure 16
Schema of the ball and hoop system.Pareek et al. studied the optimal tuning of a Proportional-Integral-Derivative (PID) controller using metaheuristic algorithms [47], specifically by using Bacteria Foraging Optimization (BFO), Particle Swarm Optimization (PSO), and Artificial Bee Colony Algorithm (ABC). In this study, we updated Tables 13 and 14, taken from [47], with the DOA algorithm’s results.Table 13
Comparison results of optimized PID parameters, taken from [47] and updated with the DOA’s algorithm results.
Algorithm [47]ParameterKpKiKdDOA3.66770.014.9852BFO3.66160.31123.7334PSO4.09930.03252.9844ABC8.51640.00439.3419Table 14
Comparison results of transient response parameters, taken from [47] and updated with the DOA’s algorithm results.
Algorithm [47]Transient parametersRise time (sec)Settling time (sec)Peak time (sec)Peak overshoot (%)DOA2.00443.290010.65410.3452BFO2.041923.46165.241416PSO2.0135728094.555814ABC1.00137.49792.465329The transient response parameters of the Proportional-Integral-Derivative (PID) controller are Rise time, Settling time, Peak time, and Peak overshoot [48]. The PID controller is designed to minimize the overshoot and settling time so that the liquid can remain as stable as possible under any perturbance and if it moves, it can rapidly go back to the steady state. It is to be noticed that the DOA outperforms the aforementioned algorithms, obtaining the lowest rising and settling time value, as well as the peak overshoot, see Table 14. In addition, in Figure 17, we can see the PID controller step response for the four algorithms. Note that the DOA-PID (blue line) is more stable with very fine control without exceeding the setpoint (dotted line).Figure 17
Comparative results of step response for the PID controller.


## 6.1. Cantilever beam Design Problem

A Cantilever beam consists of five square hollow blocks, as shown in Figure12. The objective is to minimize weight. In this problem, there are five optimization variables, one for each cantilever that represents the length of their side and includes one optimization constraint [44]. The cantilever weight optimization is formulated in the following equation:(9)Considerx⟶=x1x2x3x4x5,Minimizefx⟶=0.06224x1+x2+x3+x4+x5,Subject togx⟶=61x13+27x23+19x33+7x43+1x53−1≤0,variable range0.01≤x1,x2,x3,x4,x5≤100.Figure 12
Cantilever beam design problem.Some of the algorithms that are chosen for comparison are Salp Swarm Algorithm (SSA), Symbiotic Organisms Search (SOS), Method of Moving Asymptotes (MMA), Generalized Convex Approximation (CGA), in its version I and II (CGA_I and CGA_II, respectively), and Cuckoo Search Algorithm (CSA). The results obtained by DOA and their comparison with the aforementioned state-of-the-art metaheuristics are reported in Table 9, where Table 9 was taken from [44] and updated with DOA’s algorithm results. Note that DOA outperforms other techniques when obtaining the lowest weight and shows very competitive results compared to SSA.Table 9
Comparison results for the cantilever design problem, taken from [44] and updated with the DOA’s algorithm results.
Algorithm [44]Optimal values for variablesOptimum weightx1x2x3x4x5DOA5.981024.878004.467663.477862.134611.30325SSA6.015135.309304.495013.501432.152791.33996SOS6.018785.303444.495873.498962.155641.33996MMA6.01005.30004.490003.490002.150001.34000GCA_I6.01005.30004.490003.490002.150001.34000GCA_II6.01005.30004.490003.49002.150001.34000CSA6.00895.30494.502303.507702.150401.33999


## 6.2. Three-Bar Truss Design Problem

Here, the problem is to design a truss with three bars to minimize its weight. In this test, there are two optimization variables with three optimization constraints, stress, deflection, and buckling. It is formulated as shown in (10). This example is reported in [44] as a highly constrained search space. The overall structure of the three-bar truss is shown in Figure 13.(10)Considerx⟶=x1x2=A1A2,Minimizefx⟶=22x1+x2∗l,Subject tog1x⟶=2x1+x22x12+2x1x2P−σ≤0,g2x⟶=x22x12+2x1x2P−σ≤0,g3x⟶=x12x2+x1P−σ≤0,variable range0≤x1,x2≤1,wherel=100,P=2kNcm2,σ=2kNcm2.Figure 13
Three-bar truss design problem.Table10 was taken from [44] and updated with DOA’s algorithm results. Some of the algorithms that are chosen for comparison are Salp Swarm Algorithm (SSA), Differential Evolution with dynamic stochastic selection (DEDS), Hybridsced Particle Swarm Optimization with Differential Evolution (PSO-DE), Mine Blast Algorithm (MBA), Swarm with intelligent information (Ray and Sain), Tsa Method (Tsa), and Cuckoo Search Algorithm (CSA). The comparison with the aforementioned algorithms shows that the DOA algorithm provides very competitive and very close results compared to SSA and DEDS (the discrepancy is equal to 1E−7) and outperforming the rest of the algorithms.Table 10
Comparison results for the three-bar truss design problem, taken from [44] and updated with the DOA’s algorithm results.
Algorithm [44]Optimal values for variablesOptimum weigthx1x2DOA0.7886750950.40824840263.8958434SSA0.788665410.40827578263.8958434DEDS0.788675130.40824828263.8958434PSO-DE0.788675100.40824820263.8958433MBA0.788565000.40855970263.8958522Ray and sain0.795000000.39500000264.3000000Tsa0.788000000.40800000263.6800000 (infeasible)CSA0.788670000.40902000263.9716000


### 6.2.1. Pressure Vessel Design Problem

The goal of this problem is to minimize the total cost. This includes material, forming, and welding of a cylindrical pressure vessel [38]. Here, there are four optimization variables and four optimization constraints, which are the thickness of the shell (Ts), the thickness of the head (Th), the inner radius (R), and the length of the cylindrical section without considering the head (L), by which the pressure vessel is to be fabricated, as shown in Figure 14. Ts and Th are discrete variables in multiples of 0.0625 in., while R and L are real variables. The mathematical formulation of the optimization problem is described as follows:(11)Considerx⟶=x1x2x3x4=TsThRLMinimizefx⟶=0.6224x1x3x4+1.7781x2x32+3.1661x12x4+19.84x12x3,Subject tog1x⟶=−x2+0.0193x3≤0g2x⟶=−x1+0.00954x3≤0g3x⟶=−πx32x4−43πx33+1,296,000≤0g4x⟶=−x4−240≤0variable range0≤x1≤99,0≤x2≤99,10≤x3≤200,10≤x4≤200,Figure 14
pressure vessel design problem.Some of the algorithms that are chosen for comparison are Differential Evolution (DE), Genetic Algorithm (GA), Whale Optimization Algorithm (WOA), Particle Swarm Optimization (PSO), among others [38]. Table 11 was taken from [38] and updated with DOA’s algorithm results. In this table, the comparison results show that the DOA algorithm is ranked as the first best solution obtained.Table 11
Comparison results for pressure vessel design problem, taken from [38] and updated with the DOA’s algorithm results.
Algorithm [38]Optimal values for variablesOptimum weightTsThRLDOA0.8125000.43750042.09845176.63666059.7143ACO (Kaveh and Telataheri)0.8125000.43750042.103624176.5726566059.0888 (infeasible)DE (Huang et al.)0.8125000.43750042.098411176.6376906059.7340WOA0.8125000.43750042.0982699176.6389986059.7410ES (Montes and Coello)0.8125000.43750042.098087176.6405186059.7456GA (Coello and Montes)0.8125000.43750042.097398176.6540506059.9463PSO (He and Wang)0.8125000.43750042.091266176.7465006061.0777GA (Coello)0.8125000.43450040.323900200.0000006288.7445GA (deb and gene)0.8125000.50000048.329000112.6790006410.3811Improved HS1.1250000.62500058.29015043.69268007197.730Lagrangian multiplier (Kannan)1.1250000.62500058.29100043.69000007198.0428Branch-bound (Sandgren)1.1250000.62500047.700000117.7010008129.1036GSA1.1250000.62500055.988659884.45420258538.8359


## 6.2.1. Pressure Vessel Design Problem

The goal of this problem is to minimize the total cost. This includes material, forming, and welding of a cylindrical pressure vessel [38]. Here, there are four optimization variables and four optimization constraints, which are the thickness of the shell (Ts), the thickness of the head (Th), the inner radius (R), and the length of the cylindrical section without considering the head (L), by which the pressure vessel is to be fabricated, as shown in Figure 14. Ts and Th are discrete variables in multiples of 0.0625 in., while R and L are real variables. The mathematical formulation of the optimization problem is described as follows:(11)Considerx⟶=x1x2x3x4=TsThRLMinimizefx⟶=0.6224x1x3x4+1.7781x2x32+3.1661x12x4+19.84x12x3,Subject tog1x⟶=−x2+0.0193x3≤0g2x⟶=−x1+0.00954x3≤0g3x⟶=−πx32x4−43πx33+1,296,000≤0g4x⟶=−x4−240≤0variable range0≤x1≤99,0≤x2≤99,10≤x3≤200,10≤x4≤200,Figure 14
pressure vessel design problem.Some of the algorithms that are chosen for comparison are Differential Evolution (DE), Genetic Algorithm (GA), Whale Optimization Algorithm (WOA), Particle Swarm Optimization (PSO), among others [38]. Table 11 was taken from [38] and updated with DOA’s algorithm results. In this table, the comparison results show that the DOA algorithm is ranked as the first best solution obtained.Table 11
Comparison results for pressure vessel design problem, taken from [38] and updated with the DOA’s algorithm results.
Algorithm [38]Optimal values for variablesOptimum weightTsThRLDOA0.8125000.43750042.09845176.63666059.7143ACO (Kaveh and Telataheri)0.8125000.43750042.103624176.5726566059.0888 (infeasible)DE (Huang et al.)0.8125000.43750042.098411176.6376906059.7340WOA0.8125000.43750042.0982699176.6389986059.7410ES (Montes and Coello)0.8125000.43750042.098087176.6405186059.7456GA (Coello and Montes)0.8125000.43750042.097398176.6540506059.9463PSO (He and Wang)0.8125000.43750042.091266176.7465006061.0777GA (Coello)0.8125000.43450040.323900200.0000006288.7445GA (deb and gene)0.8125000.50000048.329000112.6790006410.3811Improved HS1.1250000.62500058.29015043.69268007197.730Lagrangian multiplier (Kannan)1.1250000.62500058.29100043.69000007198.0428Branch-bound (Sandgren)1.1250000.62500047.700000117.7010008129.1036GSA1.1250000.62500055.988659884.45420258538.8359


## 6.3. Discrete Engineering Problem-Gear train Design Problem

Here, the objective is to find the optimal number of the teeth of a four gear train while minimizing the gear ratio, as shown in Figure15, where its four parameters are discrete [21]. In order to handle discrete values, each search agent was rounded to the nearest integer number before the fitness evaluation. The design engineering constraint is defined as the number of teeth on any gear that should only be in the range of [12, 60]. Accordingly, the optimization problem can be formulated as follows:(12)Considerx⟶=x1x2x3x4=nAnBnCnD,Minimizefx⟶=16.931−x2x3x1x42,variable range12≤x1,x2,x3,x4≤60,Figure 15
Gear train design problem.Some of the algorithms that are chosen for comparison are Ant Lion Optimizer (ALO), Cuckoo Search Algorithm (CSA), Mine Blast Algorithm (MBA), Interior Search Algorithm (ISA), Genetic Algorithm (GA), Artificial Bee Colony (ABC), and Augmented Lagrange Multiplier (ALM) [21]. Table 12 was taken from [21] and updated with DOA’s algorithm results. It shows that the DOA algorithm gives competitive results for numbers of function evaluations and is suitable to solve discrete constrained problems.Table 12
Comparison results of the gear train design problem, taken from [21] and updated with the DOA’s algorithm results.
Algorithm [21].Optimal values for variablesfminMax. evalnAnBnCnDDOA431619492.7009e −12130ALO491916432.7009e −12120CSA431619492.7009e −125000MBA431619492.7009e −1210000ABC191644492.78e −1140000GA331417501.362e −9N/AALM331513412.1469e −8N/AAnt Lion Optimizer (ALO), Cuckoo Search Algorithm (CSA), Mine Blast Algorithm (MBA), Artificial Bee Colony (ABC), Genetic Algorithm (GA), and Augmented Lagrange Multiplier (ALM).


## 6.4. Tuning of a Proportional-Integral-Derivative (PID) Controller: Sloshing Dynamics Problem

Sloshing dynamics is a well-studied phenomenon in fluid dynamics. It is related to the movement of a liquid inside another object, altering the system dynamics [45]. Sloshing is an important effect on ships, spacecraft, aircraft, and trucks carrying liquids, as it causes instability and accidents. Sloshing dynamics can be depicted as a Ball and Hoop System (BHS). This effect illustrates the dynamics of a steel ball that is free to roll on the inner surface of a rotating circular hoop. The ball exhibits an oscillatory motion caused by the continuously rotated hoop through a motor. The ball will tend to move in the direction of the hoop rotation and will fall back, at some point, when gravity overcomes the frictional forces. The BHS behavior can be described by seven variables: hoop radius (R), hoop angle (θ), input torque to the hoop (T(t)), ball position on the hoop (y), ball radius (r), ball mass (m), and ball angles with vertical (slosh angle) (ψ). A schematic representation is shown in Figure 16. The transfer function of the BHS system, taken from [46,47], is formulated in equation (13), where θ is the input and y is the output of the BHS system.(13)GBHSs=ysθs=1s4+6s3+11s2+6s.Figure 16
Schema of the ball and hoop system.Pareek et al. studied the optimal tuning of a Proportional-Integral-Derivative (PID) controller using metaheuristic algorithms [47], specifically by using Bacteria Foraging Optimization (BFO), Particle Swarm Optimization (PSO), and Artificial Bee Colony Algorithm (ABC). In this study, we updated Tables 13 and 14, taken from [47], with the DOA algorithm’s results.Table 13
Comparison results of optimized PID parameters, taken from [47] and updated with the DOA’s algorithm results.
Algorithm [47]ParameterKpKiKdDOA3.66770.014.9852BFO3.66160.31123.7334PSO4.09930.03252.9844ABC8.51640.00439.3419Table 14
Comparison results of transient response parameters, taken from [47] and updated with the DOA’s algorithm results.
Algorithm [47]Transient parametersRise time (sec)Settling time (sec)Peak time (sec)Peak overshoot (%)DOA2.00443.290010.65410.3452BFO2.041923.46165.241416PSO2.0135728094.555814ABC1.00137.49792.465329The transient response parameters of the Proportional-Integral-Derivative (PID) controller are Rise time, Settling time, Peak time, and Peak overshoot [48]. The PID controller is designed to minimize the overshoot and settling time so that the liquid can remain as stable as possible under any perturbance and if it moves, it can rapidly go back to the steady state. It is to be noticed that the DOA outperforms the aforementioned algorithms, obtaining the lowest rising and settling time value, as well as the peak overshoot, see Table 14. In addition, in Figure 17, we can see the PID controller step response for the four algorithms. Note that the DOA-PID (blue line) is more stable with very fine control without exceeding the setpoint (dotted line).Figure 17
Comparative results of step response for the PID controller.


## 7. Conclusions

This study presented a novel population-based optimization algorithm based on three different hunting strategies of theCanis lupus dingo. These strategies, attacking by persecution, grouping tactics, and scavenging behaviors, were carefully designed to guarantee the exploration and exploitation of the search state and evaluated by 23 mathematical benchmark functions. The DOA showed an exploitation and exploration accumulated rate of 71.43% and 81.25%, respectively, that outperforms or ties the other algorithms. DOA uses two parameters, P and Q, to indicate the probability of the algorithm to choose between the hunting or scavenger strategy. It is to be noticed that regardless of P and Q values, the algorithm converges to the solution due to the incorporation of the survival strategy. The DOA performance was compared with five well-known state-of-the-art metaheuristic methods available in the literature: Whale Optimization Algorithm (WOA), Particle Swarm Optimization (PSO), Gravity Search Algorithm (GSA), Differential Evolution (DE), and Fast Evolution Programming (FEP). The statistical analysis mean absolute error (MAE) was conducted to measure the performance of the DOA and the previously mentioned algorithms. DOA was found to be highly competitive in the majority of the test functions. The capabilities of DOA were also tested with classical engineering problems (design of a cantilever beam, design of a three-bar truss and design of a pressure vessel). The results obtained by DOA in most cases overcomes several well-known metaheuristics Additionally, the DOA demonstrated its capability to find the optimal tuning parameters of a PID controller, which is the rise time, the settling time, the peak time, and the peak overshoot, which were efficiently optimized for the sloshing dynamics problem. In order to expand the algorithm scope, it was also tested with an engineering discrete problem (design of a gear train), showing competitive results. Finally, this paper opens up several research directions for future studies. They include the incorporation of self-adaptive parameters, a method to handle multiobjective optimization problems with large problem instances using parallelization strategies, e.g., GPU computing and multicore resources.



---

*Source: 9107547-2021-09-21.xml*