Next Article in Journal
Static Output Feedback Control for Nonlinear Time-Delay Semi-Markov Jump Systems Based on Incremental Quadratic Constraints
Next Article in Special Issue
Comprehensive Analysis of Learning Cases in an Autonomous Navigation Task for the Evolution of General Controllers
Previous Article in Journal
A Multiplicative Calculus Approach to Solve Applied Nonlinear Models
Previous Article in Special Issue
A Radial Hybrid Estimation of Distribution Algorithm for the Truck and Trailer Routing Problem
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Hybrid Harmony Search Optimization Algorithm for Continuous Functions

by
José Alfredo Brambila-Hernández
*,
Miguel Ángel García-Morales
,
Héctor Joaquín Fraire-Huacuja
,
Eduardo Villegas-Huerta
and
Armando Becerra-del-Ángel
Graduate Program Division, Tecnológico Nacional de México, Instituto Tecnológico de Ciudad Madero, Ciudad Madero 89440, Mexico
*
Author to whom correspondence should be addressed.
Math. Comput. Appl. 2023, 28(2), 29; https://doi.org/10.3390/mca28020029
Submission received: 14 January 2023 / Revised: 19 February 2023 / Accepted: 21 February 2023 / Published: 22 February 2023
(This article belongs to the Special Issue Numerical and Evolutionary Optimization 2022)

Abstract

:
This paper proposes a hybrid harmony search algorithm that incorporates a method of reinitializing harmonies memory using a particle swarm optimization algorithm with an improved opposition-based learning method (IOBL) to solve continuous optimization problems. This method allows the algorithm to obtain better results by increasing the search space of the solutions. This approach has been validated by comparing the performance of the proposed algorithm with that of a state-of-the-art harmony search algorithm, solving fifteen standard mathematical functions, and applying the Wilcoxon parametric test at a 5% significance level. The state-of-the-art algorithm uses an opposition-based improvement method (IOBL). Computational experiments show that the proposed algorithm outperforms the state-of-the-art algorithm. In quality, it is better in fourteen of the fifteen instances, and in efficiency is better in seven of fifteen instances.

1. Introduction

Currently, society requires maximum benefits at minimum costs. In order to achieve this, optimization techniques are generally used. However, many real-world optimization problems are considered high computational complexity and are called NP-hard. Moreover, these problems have the characteristic that exact solution methods cannot obtain optimal solutions in reasonable times. Using metaheuristic methodologies is considered a good alternative that offers satisfactory solutions for the user in a reasonable time. Harmony search algorithms constitute a metaheuristic methodology for solving continuous optimization problems proposed by Zong Woo Geem [1].
The process of musical improvisation inspires the methodology of harmonic search. In this, a predefined number of musicians try to tune the tone of their instruments until they achieve a pleasant harmony. In nature, harmony is a relationship between several sound waves with different frequencies. Therefore, the quality of improvised harmony is determined by aesthetic estimation. In order to improve aesthetic valuation and find the best harmony, musicians perform multiple rehearsals [2].
Harmony search algorithms are currently considered a competitive alternative to solve a large number of optimization problems that have several advantages over other metaheuristics that are available in the state-of-the-art. For example, they only require adjusting a relatively small number of parameters [3,4,5].
In ref. [6], a harmony search algorithm using an improved OBL mechanism (IOBL) is proposed. This improved version uses randomness to create a new possible solution and improve the convergence process of such an algorithm. In addition, the IOBL mechanism is used in the upgrade process.
In the literature, we can find improved versions of harmony search that have taken features from the particle swarm optimization (PSO) algorithm [7,8]. Among them, we can find the algorithm proposed by Omran and Mahdavi called global-best harmony search [9], which modifies the pitch setting within the new harmonies improvisation step and generates a new harmony close to the best harmony memory (HM) harmony. This mechanism is inspired by updating a particle in the PSO algorithm, which is influenced by the best position visited by the same particle and by the position of the best particle in the swarm. For his part, Geem proposed the particle-swarm harmony search [10] algorithm, in which he takes the contribution of Omran and Mahdavi [9] and introduces it as a fourth way of generating a new harmony which they call particle-swarm consideration and conserving the original pitch setting, this within the improvisation step of new harmonies. Both algorithms use the mechanism inspired by the PSO algorithm in the new harmonies improvisation step. In the case of the hybrid harmony search algorithm, a version of the particle swarm optimization algorithm is used to which the IOBL technique (PSO-IOBL) has been applied to regenerate a part of the harmony memory (HM) each time the search process harmonic exceeds the allowed stagnation percentage.
The main contributions of this work are:
  • A new harmony search optimization algorithm to solve continuous functions.
  • A new harmony memory reset mechanism applying a particle swarm optimization algorithm to improve the quality of the solutions.
  • The incorporation of the improved opposition-based learning technique (IOBL) in the process of reinitializing the memory of harmonies.

2. Basic Harmony Search Algorithm

In a harmony search algorithm (Algorithm 1), harmony is a feasible solution, and each decision variable of harmony is called a note [1]. Several harmonies (HMS) are stored in a harmony memory (HM). Assuming that the goal is to minimize or maximize an aptitude function (f) subject to decision variables x, the problem is defined in Equation (1):
Min or Max f(x1, x2, …, xD)
where f is the aptitude function, X[i] = (I = 1, 2, …, D) is the decision variable i, and D denotes the dimensions of the problem.
The harmony search algorithm is generalized; the following steps are obtained:
  • Initialize a new memory of harmonies (HM).
  • Improvise a new harmony.
  • The new harmony must be included or excluded from HM.
  • Steps 2 and 3 must be repeated until the stop criterion is met; when the stop criterion is met, go to step 5.
  • The best harmony stored in HM is returned as an optimal solution.
Algorithm 1. Harmony search
Inputs: MaxIt: maximum number of iterations,
HMS: harmonies memory size,
nNew: memory size of new harmonies,
HMCR: Rate of consideration of the memory of harmonies,
PAR: Pitch adjustment rate,
bw: bandwidth,
bw_damp: bandwidth upgrade,
D: number of dimensions,
Cost: calculation of the objective function,
Xnew: new harmony,
u: upper bound,
l: lower bound,
NEW: new set of harmonies,
HM: harmony memory.

Outputs: bestSol: best solution found.

Used functions: random_number [0,1]: generates a random value between 0 and 1.

1. Initialize new random harmony memory HM of size HMS
2. Sort HM by Cost
3. bestSol = HM (1)
4. for it = 1 to MaxIt do
5.   for k = 1 to nNEW do
6.    Generate new random harmony Xnew
7.    for j = 1 to D do
8.     r = random_number [0,1]
9.     if rHMCR then
10.       Randomly select harmony X[i] stored in HM
11.       X[new,j] = X[i,j]
12.     end if
13.     r = random_number [0,1]
14.     if r < PAR then
15.       X[new,j] = X[new,j] + bw × random_number [0,1] × |u[j] – l[j]|
16.     end if
17.      end for
18.      Evaluate(Xnew)
19.      Add Xnew to memory of new harmonies NEW
20.    end for
21.    HMNEW
22.    Sort HM by Cost
23.    Truncate HM to HMS harmonies
24.    bestSol = HM (1)
25.    bw = bw × bw_damp
26. end for
27. return bestSol

3. Method of Improving Opposition-Based Learning (IOBL)

In [6], a new, improved version of the original OBL (IOBL) is presented, which includes randomness in improving the diversity of the solution. Said improvement provides better performance in continuous optimization problems. This improved version updates the harmony search algorithm allowing a better solution space exploitation (Algorithm 2).
This technique starts by generating a random value r [0,1] multiplied by each value stored in the current solution vector X[D]. Then, the objective value for each modified element is calculated and evaluated if it is less than the objective value before the modification; if so, the value is updated at the current position of the array. Otherwise, it advances to the next position. This process ends when all the values of the solution vector have been visited.
Algorithm 2. Improving opposition-based learning (IOBL)
Inputs: X[D] = (x1, x2, …, xD): initial solution,
D: number of dimensions,
r: random value.

Outputs: X[D] = (x1, x2, …, xD): improved solution.

Used functions: random_number [0,1]: generates a random value between 0 and 1,
objectivefunction(X): calculates the cost of the objective value.

1. r = random_number [0,1]
2. While (i < D) do
3.   X[i] = X[i] × r
4. end While
5. if (objectivefunction(X′) < objectivefunction(X)) then
6.   X = X′
7. end if
8. return X

4. General Structure of the Hybrid Harmony Search Algorithm (HHS-IOBL)

This section describes all the elements that make up the structure of the hybrid algorithm proposed in this research, called the hybrid algorithm of harmony search with improved learning based on the opposition (HHS-IOBL).

4.1. Algorithm Parameters

Table 1 describes the parameters and variables used in the HHS-IOBL and HS-IOBL algorithms.

4.2. Particle Swarm Optimization Algorithm with IOBL (PSO-IOBL)

This paper proposes the use of a particle swarm algorithm [7,8] (Algorithm 3) as a method to reinitialize the memory of harmonies. The primary function of this algorithm is to help in the convergence of the harmonic search process. This algorithm also uses the IOBL technique to enable better exploration in the solution space. In steps 1 and 2, an initial population of particles is generated. The best global particle is obtained concerning its objective value. Step 3 calculates the minimum (velMin) and maximum (velMax) speed with which these particles will move in the solution space. From steps 4 to 13, each particle is updated concerning its position and velocity. Step 14 calculates the objective function of each particle. From steps 15 to 22, the best particle is obtained concerning its objective value and is compared with the global solution; if its value is better than the global solution, it is updated. From steps 23 to 35, the global solution obtained from the previous steps is improved with the IOBL technique, the objective value of this applied improvement is obtained, and it is compared again with the global solution; in case of having a better objective value, the global solution is replaced, and the inertial weight (w) is updated. This process continues until the maximum number of iterations (MaxIt) is achieved. Finally, in step 36, the algorithm returns the best overall solution obtained during the process.
Algorithm 3. Particle swarm optimization with IOBL (PSO-IOBL)
Inputs: MaxIt: Maximum number of iterations,
nPop: Population size,
w: Inertia weight,
wdamp: Inertia weight damping ratio,
c1: Personal learning coefficient,
c2: Global learning coefficient,
D: Number of dimensions,
varMin: The minimum value that a decision variable can take,
varMax: The maximum value that a decision variable can take,
HM: Harmony memory.

Outputs: GlobalBest: best solution found.

Used Functions: InitializePopulation (HM): generates an initial population,
random_number [0,1]: generates a random value between 0 and 1,
getBestGlobal (particles): obtain the best global particle,
Max (particles[i].position[j], varMin):obtain the maximum of two values,
Min (particles[i].position[j], varMax):obtain the minimum of two values,
IOBL (particle): applies the technique of improving opposition- based learning,
Evalute (particles[i]): calculate the objective function of the particles.

1: particles = InitializePopulation (HM)
2: GlobalBest = getBestGlobal (particles)
3: calculate velMin and velMax
4: for it = 1 to MaxIt do
5:   for i = 1 to nPop do
6:    for j = 1 to D do
7:     particles[i] = w × particlesi.velocity[j] + c1 × random_number [0,1] × (particles[i].bestPosition[j] − particles[i].position[j]) + c2 × random_number [0,1] × (GlobalBest.position[j] − particles[i].position[j]);
8:     particles[i].velocity[j] = Max (particles[i].velocity[j], velMin);
9:     particles[i].velocity[j] = Min (particles[i].velocity[j], velMax);
10:     particles[i].position[j] = particles[i].posicion + particles[i].velocity[j];
11:     particles[i].position[j] = Max (particles[i].position[j], varMin);
12:     particles[i].position[j] = Min (particles[i].position[j], varMax);
13:    end for
14:    Evalute (particles[i])
15:    if particles[i].cost < particles[i].bestCost then
16:     particles[i].bestPosition = particles[i].position
17:     particles[i].bestCost = particles[i].cost
18:     if particles[i].bestCost < GlobalBest.cost then
19:      GlobalBest = particles[i]
20:     end if
21:    end if
22:   end for
23:   for i = 1 to nPop do
24:    primeParticle = IOBL (particle)
25:   end for
26:   Evaluate (primeParticle)
27:    if primeParticle.cost < particle[i].bestCost then
28:     particulas[i] = primeParticle
29:     if particles[i].cost < GlobalBes.cost then
30:      GlobalBest = particles[i]
31:     end if
32:    end if
33:   end for
34:   w = w × wdamp
35: end for
36: return GlobalBest

4.3. Hybrid Harmony Search Algorithm (HHS-IOBL)

This research paper proposes the hybridization of a harmony search algorithm using a particle swarm algorithm that incorporates the IOBL technique to reinitialize the memory of harmonies in cases where there is local stagnation (the objective value cannot be further optimized) during a certain number of iterations. The mechanism of a reinitialization of harmonies (Algorithm 4) replaces a percentage ζ of the harmonies stored in memory (HM). In such a way that a new solution is generated through the particle swarm algorithm, which receives the memory of harmonies as a parameter to be used as the initial population, the solution is compared to an HM[i] harmony taken randomly from HM if the new solution has a better objective value, then it replaces HM[i] memory. This mechanism is incorporated into the basic harmony search algorithm to transform it into HHS-IOBL (Algorithm 5). In addition, a simple mechanism to determine the stagnation of a solution is also incorporated within the general iteration cycle. After joining HM with new, ordering, and truncating HM (see steps 21 to 24), it is determined if HM (1) is equal to bestSol if they are equal, the stagnation variable is increased. Otherwise, this variable is zero (see steps 26 to 30). When stagnationMaxIt × ς the harmonies reinitialization mechanism is executed, the stagnation variable becomes zero, and HM is sorted by the objective value (see steps 31 to 36). This process continues as long as the number of iterations is not exceeded and, in the end, the best solution found bestSol returns.
Algorithm 4. Reinitializing Harmony Memory
Inputs: ζ: Percentage of population replacement,
HM: Harmony memory,
HMS: Harmony memory size.

Outputs: HM: new harmony memory.

Used Functions: random_integer [1, HMS]: generates a random value between 1 and HMS,
PSO_IOBL(HM): calculates a new solution using the PSO algorithm.

1. numRegen = ζ × HMS
2. for i = 1 to numRegen do
3.   index = random_integer [1, HMS]
4.   newSolution = PSO_IOBL(HM)
5.   if newSolution.cost < HM[indice].cost then
6.    HM[indice] = newSolution
7.   end if
8. end for
Algorithm 5. Hybrid Harmony Search—IOBL
Inputs: MaxIt: maximum number of iterations,
HMS: harmony memory size,
nNew: memory size of new harmonies,
HMCR: Rate of consideration of the memory of harmonies,
PAR: Pitch adjustment rate,
bw: bandwidth,
bw_damp: bandwidth upgrade,
D: number of dimensions,
ζ: Percentage of HM replacement,
ς: percentage of stagnation allowed.

Outputs: bestSol: best solution found.

Used functions: Cost: random_number [0,1]: generates a random value between 0 and 1.

1. Initialize new random harmony memory HM of size HMS
2. stagnation = 0
3. Sort HM by Cost
4. bestSolt = HM (1)
5. for it = 1 to MaxIt do
6.   for k = 1 to nNEW do
7.    Generate new random harmony xnew
8.    for j = 1 to D do
9.     r = random_number [0,1]
10.     if rHMCR then
11.      Randomly select harmony X[i]stored in HM
12.      X[new,j] = X[i,j]
13.     end if
14.     r = random_number [0,1]
15.     if r < PAR then
16.      X[new,j] = X[new,j] + bw × random_number [0,1] × |u[j] − l[j]|
17.     end if
18.    end for
19.    Evaluate (Xnew)
20.    Add Xnewto memory of new harmonies NEW
21.   end for
22.   HMNEW
23.   Sort HM by cost
24.   Truncate HM to HMS harmonies
25.   if it > 1 then
26.     if HM(1) = bestSol then
27.        stagnation = stagnation + 1
28.    else
29.     stagnation = 0
30.    end if
31.    if stagnation > MaxIt × ς then
32.     reinitializingHarmonyMemory (HM)
33.    end if
34.   end if
35.   bestSol = HM(1)
36.   bw = bw × bw_damp
37. end for
38. return bestSol
The previous process is shown in Figure 1, where the interaction of HS and PSO-IOBL can be observed more generally.

5. Computational Experiments

Table 2 shows the fifteen mathematical functions used in this work, their optimal value, and the range of variables used in the experiments performed, the first nine functions were taken from [6], and the last six were taken from [11]. For each algorithm and mathematical function, 30 independent runs were performed. The computer and software configuration is an AMD Ryzen 7 3700U 4-core 8-thread processor and 8 GB of RAM.

6. Results

Table 3 shows the results obtained with the proposed hybrid algorithm (HHS-IOBL) and the harmony search algorithm that incorporates the IOBL technique (HS-IOBL). The first column lists the fifteen functions used in the experiments, the second lists the worst, best, and average measurements, and the third and fourth columns show the objective values (OV) and times when the best solution is found (t Best), respectively. The fifth and sixth columns show the objective values (OV) and times when the best solution is found (t Best) of the algorithm against which the comparison is made. A Wilcoxon hypothesis test has been carried out to determine the significance of the results obtained for OV and t best. The seventh and eighth columns show the p-values for OV (p-value 1) and for t best (p-value 2) obtained with the Wilcoxon non-parametric test with 5% significance. The shaded cell in gray represents the lowest objective value (OV) or the shortest time when the best solution is found (t Best), as the case may be. The symbol ↑ represents a significant difference in favor of the reference algorithm (HHS-IOBL). The symbol ↓ represents a significant difference in favor of the algorithm against which it is compared (HS-IOBL). Moreover, the symbol -- represents no significant difference in favor of either algorithm.
As can be seen, in quality, the performance of the HHS-IOBL algorithm outperforms the HS-IOBL algorithm by fourteen out of fifteen instances. Only in one case does it have the same performance as the HS-IOBL algorithm. In efficiency, the HHS-IOBL algorithm obtains the following results for the HS-IOBL algorithm: it is better in four instances, in another four, they have the same performance, and in seven instances, the HS-IOBL algorithm is better. Based on these results, it can be affirmed that the HHS-IOBL hybrid algorithm is a competitive alternative to the HS-IOBL algorithm and that incorporating the IOBL technique in the execution process of the particle swarm algorithm generates an improvement in the performance of the algorithm. Even when the HS-IOBL algorithm is better in efficiency, we can affirm that the proposed algorithm reflects a clear superiority in the quality of the results in terms of the objective function.

7. Conclusions

In this work, we approach the global optimization of real continuous functions. We propose a hybrid harmony search algorithm that incorporates a method of reinitializing harmonies memory using a particle swarm optimization algorithm with an improved opposition-based learning method (IOBL). This approach has been validated by comparing the performance of the proposed algorithm with the performance of the state-of-the-art harmony search algorithm, solving fifteen standard mathematical functions, and applying the Wilcoxon parametric test at a 5% significance level. The results of the computational experiments show that the proposed algorithm outperforms the state-of-the-art algorithm in quality and efficiency.
The main reason for the remarkable performance of the proposed algorithm is that the incorporation of a harmony memory reset mechanism prevents premature convergence of the hybrid algorithm.
Now, we are working to apply this approach to solve problems of other domains and to include a dynamic parameter tuning process in the algorithm.

Author Contributions

Conceptualization: H.J.F.-H.; methodology: E.V.-H.; research: E.V.-H.; software: J.A.B.-H. and M.Á.G.-M.; formal analysis: H.J.F.-H.; writing, proofreading, and editing: H.J.F.-H., J.A.B.-H., M.Á.G.-M. and A.B.-d.-Á. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

The source code can be downloaded from https://github.com/JAlfredoBrambila/HybridHarmonySearch (accessed on 13 January 2023).

Acknowledgments

The authors thank CONACYT for supporting the projects with number A1-S-11012 of the Call for Basic Scientific Research 2017–2018 and project number 12397 of the Support Program for Scientific, Technological and Innovation Activities (PAACTI) in order to participate in the Call 2020-1 Support for Scientific Research Projects, Technological Development and Innovation in Health in the face of the Contingency by COVID-19. Alfredo Brambila, Miguel Angel García Morales, and Eduardo Villegas Huerta thank CONACYT for the support 760308, 731279, and 001818, respectively. Héctor Fraire thanks the Tecnológico Nacional de México for supporting the research project 10362.21-P.

Conflicts of Interest

Authors declare that they have no conflict of interest.

References

  1. Geem, Z.W.; Kim, J.H.; Loganathan, G.V. A new heuristic optimization algorithm: Harmony search. Simulation 2001, 76, 60–68. [Google Scholar] [CrossRef]
  2. Askarzadeh, A.; Esmat, R. Harmony Search Algorithm: Basic Concepts and Engineering Applications. In Recent Developments in Intelligent Nature-Inspired Computing; Srikanta, P., Ed.; IGI Global: Hershey, PA, USA, 2017; pp. 1–36. [Google Scholar]
  3. Fesanghary, M.; Mahdavi, M.; Alizadeh, Y. Hybridizing harmony search algorithm with sequential quadratic programming for engineering optimization problems. Comput. Methods Appl. Mech. Eng. 2008, 197, 3080–3091. [Google Scholar] [CrossRef]
  4. Geem, Z.W.; Sim, K.-B. Parameter-setting-free harmony search algorithm. Appl. Math. Comput. 2010, 217, 3881–3889. [Google Scholar] [CrossRef]
  5. Vasebi, A.; Fesanghary, M.; Bathaee, S.M.T. Combined heat and power economic dispatch by harmony search algorithm. Int. J. Electr. Power Energy Syst. 2007, 29, 713–719. [Google Scholar] [CrossRef]
  6. Alomoush, A.A.; Alsewari, A.R.A.; Zamli, K.Z.; Alrosan, A.; Alomoush, W.; Alissa, K. Enhancing three variants of harmony search algorithm for continuous optimization problems. Int. J. Electr. Comput. Eng. 2021, 11, 2088–8708. [Google Scholar] [CrossRef]
  7. Eberhart, R.; Kennedy, J. A new optimizer using particle swarm theory. In Proceedings of the Sixth International Symposium on Micromachine and Human Science, Nagoya, Japan, 4–6 October 1995; pp. 39–43. [Google Scholar]
  8. Kennedy, J.; Eberhart, R. Particle swarm optimization. In Proceedings of the IEEE International Joint Conference on Neural Networks, Perth, WA, Australia, 27 November–1 December 1995; IEEE Press: New York, NY, USA, 1995; pp. 1942–1948. [Google Scholar]
  9. Omran, M.G.H.; Mahdavi, M. Global-best harmony search. Appl. Math. Comput. 2008, 198, 643–656. [Google Scholar] [CrossRef]
  10. Geem, Z.W. Particle-swarm harmony search for water network design. Eng. Optim. 2009, 41, 297–311. [Google Scholar] [CrossRef]
  11. Abualigah, L.; Elaziz, M.A.; Sumari, P.; Geem, Z.W.; Gandomi, A.H. Reptile Search Algorithm (RSA): A nature-inspired meta-heuristic optimizer. Expert Syst. Appl. 2022, 191, 116158. [Google Scholar] [CrossRef]
Figure 1. General scheme of the HHS algorithm.
Figure 1. General scheme of the HHS algorithm.
Mca 28 00029 g001
Table 1. Parameters and variables used.
Table 1. Parameters and variables used.
ParameterHHS-IOBLHS-IOBL
Harmony memory size (HMS)55
Iterations100100
HMR0.950.95
PAR0.70.7
Dimensions3030
Dimensions F16, F1722
Percentage in HM replacement (ζ)0.3NA
Percentage of stagnation allowed (ς)0.2NA
PSO.MaxIt50NA
PSO.w0.7298NA
PSO.wdamp0.99NA
PSO.c1, c21.49618, 1.49618NA
Table 2. Mathematical functions used.
Table 2. Mathematical functions used.
FunctionLower BoundUpper BoundGlobal Minimum
Sphere−1001000
Schwefel’s 2.22−10100
Step−1001000
Rosenbrock−30300
Schwefel’s 2.26−500500−12,569.5
Rastrigin−5.125.120
Ackleys−32320
Griewank−6006000
Rotate hyper-ellipsoid−1001000
F4−1001000
F7−1281280
F12−50500
F13−50500
F16−55−1.0316
F17−550.398
Table 3. Results obtained with the HHS-IOBL and HS-IOBL algorithms.
Table 3. Results obtained with the HHS-IOBL and HS-IOBL algorithms.
FunctionMeasureHybrid Harmony Search IOBLHarmony Search IOBLp-Valuep-Value
OVt Best (ms)OVt Best (ms)(OV)(t Best)
SphereWorst1.63 × 10−172781.14 × 10−178
Best0314.46 × 10−616
Average6.0541 × 10−17446.531.21 × 10−233.86 ↓0.000010.00023
Schwefel’s 2.22Worst2.82 × 10−64788.16 × 10−278
Best2.98 × 10−192151.30 × 10−315
Average9.4 × 10−6642.062.15 × 10−232.3 ↓0.000010.0024
StepWorst047079
Best012015
Average0 --17.46 ↑031.26-0.00001
RosenbrockWorst2.88 × 101782.98 × 10193
Best2.77 × 101312.90 × 10115
Average2.84 × 10142.062.91 × 10133.86 ↓0.000010.00494
Schwefel’s 2.26Worst−4.21 × 10393−4.08 × 10378
Best−6.80 × 10315−5.39 × 10315
Average−5.13 × 10332.13 --−4.73 × 10332.360.001040.2177
RastriginWorst0314.38 × 10−278
Best081.48 × 10−616
Average0 ↑16.6 ↑5.92 × 10−335.460.000010.00001
AckleysWorst4.44 × 10−16338.35 × 10−279
Best4.44 × 10−16101.79 × 10−431
Average4.44 × 10−1618.9 ↑2.20 × 10−235.460.000010.00001
GriewankWorst1351.00092450578
Best101.0000000000736331
Average1 ↑18.56 ↑1.00010704935.930.000010.00001
Rotate hyper-ellipsoidWorst6.67 × 10−173941.98 × 1078
Best0311.36 × 10−531
Average2.47 × 10−17453.962.31 × 10−137 ↓0.00010.00001
F4Worst1.03 × 10−68941.45 × 10−178
Best8.81 × 10−199166.73 × 10−416
Average3.44 × 10−7045.93.41 × 10−233.6 ↓0.000010.00652
F7Worst6.86 × 10−4632.68 × 10−178
Best1.07 × 10−5164.65 × 10−331
Average1.38 × 10−435.2 --7.09 × 10−238.60.000010.20408
F12Worst1.28 × 10−1941.17 × 1094
Best6.63 × 10−3317.23 × 10−116
Average4.16 × 10−257.59.52 × 10−138.6 ↓0.000010.00018
F13Worst2.97 × 1011413.13 × 10178
Best2.30 × 101192.13 × 10131
Average2.79 × 10162.362.97 × 10140.13 ↓0.000120.01108
F16Worst−1.03152377816−1.03037384531
Best−1.0316284530−1.0316270950
Average−1.031623571 ↑5.5 --−1.0313392966.730.000010.50926
F17Worst0.39832392160.40130545816
Best0.39788735800.3978883940
Average0.397908609 ↑4.760.3982942444.33 --0.000010.75656
The shaded cell in gray represents the lowest objective value (OV) or the shortest time when the best solution is found (t Best), as the case may be.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Brambila-Hernández, J.A.; García-Morales, M.Á.; Fraire-Huacuja, H.J.; Villegas-Huerta, E.; Becerra-del-Ángel, A. Hybrid Harmony Search Optimization Algorithm for Continuous Functions. Math. Comput. Appl. 2023, 28, 29. https://doi.org/10.3390/mca28020029

AMA Style

Brambila-Hernández JA, García-Morales MÁ, Fraire-Huacuja HJ, Villegas-Huerta E, Becerra-del-Ángel A. Hybrid Harmony Search Optimization Algorithm for Continuous Functions. Mathematical and Computational Applications. 2023; 28(2):29. https://doi.org/10.3390/mca28020029

Chicago/Turabian Style

Brambila-Hernández, José Alfredo, Miguel Ángel García-Morales, Héctor Joaquín Fraire-Huacuja, Eduardo Villegas-Huerta, and Armando Becerra-del-Ángel. 2023. "Hybrid Harmony Search Optimization Algorithm for Continuous Functions" Mathematical and Computational Applications 28, no. 2: 29. https://doi.org/10.3390/mca28020029

Article Metrics

Back to TopTop