Harmony search algorithm is the recently developed metaheuristic in the last decade. It mimics the behavior of a musician producing a perfect harmony. It has been used to solve the wide variety of real-life optimization problems due to its easy implementation over other metaheuristics. It has an ability to provide the balance between exploration and exploitation during search. In this paper, a systematic review on harmony search algorithm (HSA) is presented. The natural inspiration and conceptual framework of HSA are discussed. The control parameters of HSA are described with their mathematical foundation. The improvement and hybridization in HSA with other metaheuristics are discussed in detail. The applicability of HSA in different problem domains is studied. The future research directions of HSA are also investigated.

1. Introduction

Optimization is the process for selecting the best possible value of decision variables from the available set of values under some specific constraints [1]. This process is used to minimize or maximize the fitness function of the optimization problems. The fitness function is influenced by a set of variables, called decision variables and a set of restrictions, which acts as a barrier to certain values of the decision variables. Based on the nature of search space, the optimization problems are broadly categorized into two main classes such as continuous and discrete [2]. Beside this, the categorization of problems based on nature of fitness function is linear, convex, quadratic, concave, and sparse. The nature of problem has to be analyzed before applying the optimization techniques [3]. A large number of optimization techniques are available in the literature to solve the real-life problems.

The classical techniques such as quasi-Newton method, dynamic programming, and linear programming are used for solving the real-life problems. Along with the evolution of new techniques, the complexities of the optimization problems in engineer designs affronted were increased. These methods are unable to solve these problems [3]. Due to the complexities of problems, it becomes difficult to solve it by using the classical techniques in the reasonable time duration. To alleviate this issue, metaheuristic techniques are developed in the recent years. These techniques are able to solve the complex problems in a reasonable time period. Metaheuristic techniques are inspired from the ideas derived from biological science, physics, behavior of animals, insects, etc. [4]. A number of metaheuristic algorithms are developed in the literature. Some of the well-known techniques are genetic algorithm (GA), ant colony optimization (ACO), particle swarm optimization (PSO), grey wolf optimization (GWO), harmony search algorithm (HSA), and many more (see Figure 1).

Harmony search algorithm (HSA) is a well-known metaheuristic algorithm, which is developed by Geem et al. [5] in 2001. HSA is inspired from the improvisation process of musicians. A musician searches for the perfect notes to develop a perfect harmony. Based on this concept, HSA was developed to search a good solution for an optimization problem. The developers of HSA performed extensive experimentation to validate its performance. The main characteristics of HSA are as follows: (1) the initial setting of decision variables is not required, (2) derivate information is not required, and (3) few control parameters are needed for fine tuning [6]. Due to these characteristics, HSA is preferred over the other existing metaheuristic techniques. HSA is used to solve the wide variety of problems such as clustering problems, social-economic problems, power engineering problems, computer vision problems, scheduling problems, and global optimization problems. The HSA is considered as an efficient algorithm with a simple implementation. Some researchers also investigated the applicability of HSA on different domains.

The main aim of this paper is to provide a comprehensive analysis of every aspect of HSA and motivate the researchers to use it in their problem domain. This paper also highlights the improvement and hybridization of HSA with other metaheuristics to alleviate the weakness of algorithm. The modification in control parameters of HSA is also investigated. The applicability of HSA in different research domain is discussed in detail. Figure 2 shows the number of research articles published on HSA.

This paper discusses the harmony search algorithm in four-fold. These are as follows:(1)Theoretical aspects of HSA that comprise the improvements, hybridization with other metaheuristics, and multiobjectivity.(2)Control parameters of HSA, which includes improvements in harmony memory consideration rate, pitch adjustment rate, and distance bandwidth.(3)Applications of HSA that comprise image processing, clustering, civil engineering, electrical engineering, bioinformatics, software engineering, scheduling, and mechanical engineering.(4)Challenges of HSA that include the future research direction, either the modification in HSA or applicability in other research domains.

The organization of this paper is structured as follows. Section 2 presents the basic concepts of classical harmony search algorithm. The research methodology is presented in Section 3. The control parameters of harmony search algorithm are elaborated in Section 4. Section 5 presents the variants of harmony search algorithm. Section 6 discusses various applications in different research domains. The future research directions are mentioned in Section 7, followed by the concluding remarks in Section 8.

2. Harmony Search Algorithm

This section presents the inspiration, working, and flowchart of HSA. It also describes the main components of HSA.

2.1. Inspiration

HSA is a metaheuristic technique that mimics from the improvisation process of musicians. It comes under the category of community-inspired metaheuristic algorithms. It provides a perfect stability between the exploration and exploitation phases of search process. HSA is inspired by the natural event where a musician searches for the perfect notes to develop a perfect harmony (see Figure 3). The method used to search perfect solutions for the given problem is similar to the method used by a musician who tries to find harmony delightful to the ears. The method used for deriving the value of fitness function is similar to the method of deriving a standard with the help of pitch of every musical instrument [3].

There are three situations occurring, in which the pitch can be improved by a musician.(1)A stored pitch from the memory of the musician is played(2)A neighboring pitch from the stored pitches is played(3)Any arbitrary pitch is played, which is falling within the standard scope

Equivalently, the selection of a value of every decision variable in the algorithm is done by the following three acts:(1)One value from the stored values of the memory is selected(2)Some neighboring values of the stored values are selected(3)Any arbitrary value that lies in the standard scope is selected

The abovementioned acts are governed through the two main components of HSA. These are harmony memory considering rate (HMCR) and pitch adjusting rate (PAR) [5].

2.2. Mathematical Modelling

In HSA, the working of operators is similar to the activities performed by a musician while creating a perfect harmony. A musician tries to change the different tones until the perfect harmony is found. Thereafter, the collection is stored in the memory. In an optimization problem, the operators undergo different variations; if the results of the variation are favorable, then the memory is updated by adding this to the memory and removing the undesirable one. During the production of music, one of these three events occurs [5]:(i)One of the stored tones from a collection of different ones from the memory (Harmony Memory) is selected(ii)Any adjacent tone, which is nearer to one of the stored ones, is selected (pitch adjustment)(iii)Any arbitrary tone is selected, which falls under the standard scope (random selection)

The main components of HSA are harmony memory size (HMS), harmony memory consideration rate (HMCR), pitch adjustment rate (PAR), and stopping criteria (i.e., number of improvisation (NI)). These parameters are responsible for exploration and exploitation. Figure 4 shows the flowchart of HSA. The main steps of HSA are described as follows [5].

2.2.1. Initialization of Optimization Problem and Control Parameters

The optimization problem is defined as follows:where represents the fitness function of ; is a set of each decision variable . The value of each decision variable should lie in the range, . The values of HMS, HMCR, PAR, and NI are also initialized.

2.2.2. Initialization of Harmony Memory

Harmony memory (HM) is initialized arbitrarily in the range of . It is done by the following step:where Rand is a random function that takes any arbitrary value from [0,1].

2.2.3. Creating a New Harmony Vector

For creating a new harmony, harmony vector is used. It is decided by three control parameters, namely, pitch adjustment, arbitrary selection, and memory consideration. Another control parameter distance bandwidth is used to modify the harmony vector, which plays a crucial role in pitch adjustment step (Algorithm 1). The following actions are performed to create a new memory [3, 5].

For each
If, then/harmony memory consideration/
  If, then/pitch adjustment/
  End if
   /arbitrary selection/
 End if
End For
2.2.4. Revising Harmony Memory

The fitness value of the newly generated harmony vector is compared with the fitness value of worst harmony vector stored in the memory. If the earlier one is fitter than the latter one, then the worst harmony value in the memory is replaced with the newly generated harmony vector. Otherwise, newly generated harmony vector is ignored.

2.2.5. Evaluating Termination Condition

The evolution process of HSA is stopped if the termination condition is achieved. The termination condition can be determined by the total number of improvisations reached so far. Otherwise, go to Step 3. Step 3 is considered as a crucial step for the improvisation process.

3. Research Methodology

In this paper, the systematic review of harmony search algorithm (HSA) was conducted according to the guidelines of PRISMA [7]. For the selection of appropriate research articles relevant to HSA, a search has been conducted on Google Scholar, Scopus, and PubMed. Search was conducted by using the keywords “Harmony Search Algorithm” or “HSA” or “improved harmony search algorithm” or “variant of HSA” or “Adaptive harmony search” or “Application of HSA” or “Application of harmony search” or “Modification in HSA” or “parameter free harmony search.” The selection and rejection criteria for research articles that are relevant to HSA are presented in Table 1.

Total 63,500 research articles were explored on Google Scholar, Scopus, and PubMed including manual searching. Initially, all the duplicate research articles and articles published before 2008 were discarded. After this, 2400 research articles were selected for the next phase. 300 research articles were selected after the reading of titles and abstract. 100 research articles were selected after reading conclusion and facts found in articles. 20 research articles are selected for review after the fourth round of screening.

4. Control Parameters of HSA

The well-known control parameters of HSA are pitch adjustment rate (PAR), harmony memory consideration rate (HMCR), distance bandwidth (BW), harmony memory (HM), and termination criteria (see Figure 5). The researchers have tried to modify the structure of original HSA by using the abovementioned control parameters. PAR, HMCR, and BW are responsible for convergence of HSA.

4.1. Modification in PAR and BW

Mahdavi et al. [8] developed an improved version of HSA (IHSA) to alleviate the shortcoming of HSA. The values of PAR and BW were dynamically updated according to the generation. The mathematical formulation of these control parameters is given as follows [8]:where denotes the pitch adjustment rate in generation ; and are the minimum and maximum adjustment rates, respectively.where represents the distance bandwidth in generation ; and are the minimum and maximum bandwidths, respectively. The challenging task of IHSA is to determine the appropriate values of lower and upper limits of BW. Pan et al. [9] developed a self-adaptive GHSA (SGHSA). A new improvisation scheme was developed to capture the best solution for generating new harmonies. The distance bandwidth is dynamically decreased with increase in number of generation. The mathematical formulation of BW is given as follows [9]:

The modification in HSA was developed by Das et al. [10] and known as an explorative HSA (EHSA). They used the population variance for modification. The distance bandwidth was dynamically changed to proportional to standard deviation of the current population. BW is given as follows:where represents the standard deviation of the current population, .

Kong et al. [11] developed an adaptive HSA (AHSA) that utilized the dynamically adjusting PAR and BW. PAR was dynamically changed according to the fitness value. The mathematical formulation of PAR is defined as [11]where and denote the difference between minimum and maximum values of fitness function in the previous and current generations, respectively.

Wang and Huang [12] developed a new variant of HSA by modifying the PAR and BW. They replaced the BW with maximum and minimum values present in HM. The following equations are used in the place of BW:where denotes the variable selected from HM. is the random number selected from the range of 0 and 1. and denote the minimum and maximum values of variable present in HM. The same modification in PAR was done as mentioned in [8], but in the opposite direction.

Luo [13] developed a novel self-adaptive mechanism for HSA. PAR was not considered during the improvisation process. The following equation was designed for constructing HMCR parameter:where represents the dimension of problem. was dynamic updated for each variable (say, ) and defined as [13]where represents the standard deviation of fitness function values in the current harmony memory.

Chen et al. [14] designed a novel variant of HSA, known as NDHSA, which dynamically updates the control parameters, PAR and BW. The following equations were used to update both PAR and BW for improving the harmony vectors.

Here, is the constant parameter and value is set to 5 when the number of iterations is 50,000.

Kattan and Abdullah [15] developed a dynamic self-adaptive HSA (DSAHSA) to improve the search process. The control parameters, namely, PAR and BW were dynamically updated. The value of PAR either increases or decreases according to the best-to-worst ratio. The modifications in these parameters are computed as follows:where and denote the best and worst quality solutions in the HM. The dynamic BW was computed using the standard deviation of respective dimension of HM. It is computed as follows:

Kalivarapu et al. [16] proposed a self-adaptive IHSA (SIHSA) based on dynamic change in BW. The modification in BW was computed as [16]

Here,where and are constants whose values depend upon the maximum and minimum values of BW. should be greater than 1.

4.2. Modification in PAR and HMCR

Kumar et al. [17] utilized both local and global search capabilities by modifying the value of HMCR and PAR parameters and developed an algorithm which is called as parameter adaptive HSA (PAHSA). They explored the possibility of nonlinear change in these parameters. The linear change in these parameters was also explored in [18]. Both PAR and HMCR were modified linearly and computed as follows:

The nonlinear modifications have been done in both PAR and HMCR and computed as follows.

Khalili et al. [19] developed a global dynamic HSA named as GDHSA. Both HMCR and PAR were modified dynamically during the search process and computed as follows:

During the first half of search process, the values of HMCR and PAR increase and decrease in second half of evolution process.

Guo et al. [20] developed an adaptive HSA based on the concept of best-based strategy (ABHSA). The control parameters such as HMCR and PAR were modified according to the feedback obtained from the evolution process. The initial values of HMCR and PAR were randomly generated in the range of and , respectively. Both HMCR and PAR were reinitialized with low probability of 0.1 during search process.

Wang et al. [21] developed a new variant of HSA based on dual strategies and adaptive parameters (DSAHS). Both HMCR and PAR were initialized to 0.95 and 0.5, respectively. The values of these parameters were modified according to the fitness of harmony vector. Table 2 depicts the modification done in the control parameters of HSA.

5. Variants of HSA

In last few years, the various variants of HSA have been developed to solve the diverse real-life optimization problems. The modification in HSA has been done in two-folds. First, the basic structure of HSA has been modified by incorporating the different operators such as chaotic, binary, and crowding distance. Second, HSA has been hybridized with other metaheuristic algorithms [22, 23].

5.1. Improved HSA

Enayatifar et al. [24] presented a novel harmony search algorithm using learning automata (LAHSA). The learning-based mechanism was used to enhance the search capability of algorithm. LAHSA provided better performance than the other variants of HSA over benchmark test functions. Kumar et al. [25] developed a variance-based harmony search algorithm (HSA) for solving optimization problems. The variance of the current population and current harmony vector was used to improvise the HM. The proposed approach eliminated the constant parameter setting problem. Geem and Sim [26] proposed a parameter-setting-free HSA (PSFHSA) to alleviate the parameter setting problem of HSA. They designed a novel matrix for memorizing the parameters for each variable. There is no need to set the control parameters for the given problem. However, the performance of PSFHSA is not as good as the original HSA. To improve the performance of PSFHSA, Jeong et al. [27] developed an advanced version of PSFHSA (APSFHSA). They reduced the additional memory requirement during the search process.

Jing et al. [28] developed a variant of HSA that modify the control parameter within the specified range during the search process and called advanced PSFHSA (APSFHSA). To improve the performance of PSFHSA, Shaqfa and Orban [29] modified the pitch adjustment step of PSFHSA and applied on the optimization of concrete beam design. A number of modifications have been proposed in HSA to improve its performance [3032]. Table 3 shows the improvement in the variants of HAS.

5.2. Chaotic HSA

Alatas [33] utilized chaotic maps in HSA for parameter adaptation. Due to chaotic maps, the convergence of HSA was improved and the solutions which are being stuck in local optima are avoided. El-Santawy et al. [34] combined the chaos theory with HSA for solving numerical integration problem. The convergence of the proposed approach was improved. Abdel-Raouf et al. [35] proposed an improved version of chaotic HSA (IHSCH) for linear assignment problems. The chaos was incorporated in harmony memory to alleviate the local optima. The computation time of IHSCH is smaller than the traditional algorithms. The chaotic HSA is hybridized with flower pollination to solve Sudoku problem [36]. The design of adaptive infinite impulse response (IIR) filter system was optimized by Shafaati and Mojallali [37]. They incorporated chaos in HSA to solve the identification problem of IIR system. Askarzadeh [38] hybridized the concepts of simulated annealing and chaotic search with HSA (DCHSSA) for optimal design of wind system. Yi et al. [39] presented a parallel chaotic modified HSA, known as MHS-PCLS, for constrained engineering design problems. The robustness of search was enhanced through MHS-PCLS. The performance of MHS-PCLS was better than the existing harmony search algorithms. Table 4 shows the performance comparison of different chaotic harmony search algorithms.

5.3. Binary HSA

To overcome the shortcomings of HSA, an adaptive version of BHSA (ABHSA) was proposed by Wang et al. [40]. The control parameters were improved through BHSA. The performance of ABHSA was tested on both low- and high-dimensional knapsack problems. Ravindra et al. [41] developed a BHSA for optimal deployment of phasor measurement units. Lin and Li [42] designed a hybrid BHSA to solve winner determination problem. Both HMCR and PAR were modified to provide the balance between intensification and diversification. Kong et al. [43] proposed a simplified binary HSA (SBHSA) to solve 0–1 knapsack problems. The main difference between SBHSA and HSA is in terms of improvisation process. The control parameters of HSA were used to generate new solutions. SBHSA enhances the convergence and population diversity. SBHSA was evaluated on both low- and high-dimensional knapsack problems. The performance comparison of different binary harmony search algorithms is depicted in Table 5.

5.4. Multiobjective HSA

There are two approaches to solve the multiobjective problems. These are weighted sum approach and Pareto-optimal front approaches. The former one tries to solve the multiobjective problem by assigning weight factors to convert the multiple objectives into single objective. The second approach aims to optimize all objectives simultaneously. In this approach, nondominated solutions are used. HSA used to optimize the project planning by minimizing the tradeoff between time and cost [44]. The ranking method was used for Pareto-optimum solutions. Xu et al. [45] implemented a multiobjective HSA (MOHSA) for development of a mobile robot. The stability, torque resistance of rear wheels, and mass of robot have to be optimized through MOHSA.

Ricart et al. [46] incorporated the concepts of ranking assignment and Pareto-optimality in HSA to solve the multiobjective problems. The self-adaptive mechanism was incorporated in MOHSA to enhance the performance [47]. Prajapati and Chhabra [48] developed a many-objective discrete HSA (MaDHSA) to resolve the software remodularization problem. The quality indicator and external archive are used to rank the nondominated solutions. The five objectives related to remodularization were utilized to improve the accuracy of modularization solution. Wang et al. [49] developed a multiobjective binary harmony search algorithm (MBHSA). The nondominated sorting-based crowding distance was used to update the harmony memory. The search ability of MBHSA was improved through modified PAR operator. The performance of MBHSA outperforms the existing variants in terms of convergence and diversity. Sabrinath et al. [50] extended PAHSA to solve multiobjective optimization problems. The weighted sum approach was used to assign the weightages to performance indices. Table 6 shows the performance comparison of different multiobjective harmony search algorithms.

5.5. Hybrid HSA

The performance of HSA can be further improved by incorporating the components of other metaheuristic algorithms. Taherinejad [51] utilized the concept of simulated annealing (SA) in the dynamic version of PAR. The mathematical formulation of modified PAR is given as follows [51]:

The modification in PAR changed the direction in reverse order, which is suggested by Mahdavi et al. [8], and improves the performance of HSA. Omran and Mahdavi [52] incorporated the concept of particle swarm optimization (PSO) in HSA for enhancing the performance. The BW was replaced with global-best particle. Santos Coelho and Andrade Bernert [53] dynamically modified the PAR by using the concepts borrowed from dispersed PSO (DPSO). The modified PAR is given as follows:where and denote the minimum and maximum fitness values in generation , respectively. represents the mean of fitness value of all harmony vectors present in HM.

The clonal selection algorithm (CSA) is hybridized with HSA to improve the convergence speed [54]. CSA was used to improve the harmony vectors present in HM. This approach alleviated the premature problem. However, the computational speed of this approach is much higher than the original HSA. The parallel metaheuristic-based framework was proposed by Lee and Zomaya [55]. They used HSA as a key component. Genetic algorithm (GA), simulated annealing (SA), and artificial immune system (AIS) were used to improve the harmony vectors. The main advantage of this approach was faster convergence speed. Zou et al. [56] proposed a novel HSA to solve the reliability problems. A position updating mechanism was designed. However, this mechanism speeds up the premature convergence. To handle this situation, genetic mutation was introduced.

Fesanghary et al. [44] hybridized HSA with sequential quadratic programming (SQP) to enhance the exploitation mechanism. The balance between global and local search is controlled through the control parameter, . was set to 0.1 as reported in the literature. Alia et al. [57] designed a fuzzy clustering algorithm using HSA for image segmentation. The empty operator was used for selection mechanism. Fuzzy c-means (FCM) was hybridized with HSA to improve the quality of segmentation results. Gao et al. [58] developed two variants of HSA for solving optimization problems. In the first approach, HSA is integrated with differential evolution (DE) to improve the convergence. DE was used to tune the harmony vectors present in HM. In the second approach, harmony memory updating strategy was proposed. The proposed approaches were able to maintain the diversity in HM. However, the optimal parameter selection has to be analyzed.

Yildiz and Ozturk [59] combined both HSA and Taguchi method to improve the performance of HSA. Jang et al. [60] combined Nelder-Mead Simplex algorithm (NM-SA) with HSA to enhance the quality of harmony vectors present in HM. Naik et al. [40] proposed a variant of GHSA that utilized the concepts of gradient descent learning (GDL) and functional link artificial neural network (FLANN). The search capability of GDL was used to optimize the weight of FLANN. HSA was also hybridized with fuzzy logic [61], cuckoo search algorithm (CS) [62], ant colony optimization (ACO) [63,64], firefly algorithm (FA) [65], bat algorithm (BA) [66], teaching learning-based optimization (TLBO) [67], biogeography-based optimization (BBO) [68], memetic algorithm (MA) [69], and mine blast algorithm (MBA) [70]. The performance comparison of different hybrid harmony search algorithms is shown in Table 7.

6. Applications

Due to the easy implementation and proficiency of HSA, it is used in a large number of applications. The applications of HSA are categorized into following classes such as image processing, clustering, civil engineering, electrical engineering, bioinformatics, software engineering, scheduling, mechanical engineering, industrial engineering, networking, and other engineering applications. Table 8 depicts the summarization of various applications of HSA. The applicability of HSA in different research domains is shown in Figure 6.

6.1. Scheduling

The two major problems such as course timetabling and hob shop scheduling are targeted. The timetabling problem is a challenging task in any academic institutions. Al-Betar et al. [72] used a HSA for course timetabling problem. They modified the PAR to design the neighborhood structure. The neighborhood structure was divided into two different procedures with random acceptance rule. This rule was changed to accept the local change on new harmony vectors. Al-Betar et al. [73] proposed a hybrid HSA for course timetabling problem. They used hill climbing method to enhance the exploitation process. The global-best concept was incorporated in HSA for better convergence. The proposed method was tested on eleven datasets and attained the best result over the existing methods. The modification in HSA was proposed by Al-Betar and Khader [74] for timetabling problem. The HMCR and PAR were modified to change the acceptance rule. The proposed approach was evaluated on two Socha benchmarks. Modified HSA provided the high quality solutions on these benchmarks.

The flow shop problem has been widely used in chemical processing, pharmaceutical, and packing. Gao et al. [75] used discrete HSA (DHSA) to resolve the no-wait flow shop problem. The local search algorithms were incorporated in HSA to minimize the flow time for flow shop problem. Studies showed that DHSA gave better results than the HSA. Gao et al. [76] extended their work by incorporating Pareto-based grouping method. The proposed method was called Pareto-based grouping discrete harmony search algorithm (PGDHSA). The grouping approach was utilized to improvise the convergence. The results revealed that PGDHSA proved its efficiency and effectiveness with the other compared algorithms over the job shop scheduling problem. Yuan et al. [77] hybridized the HSA with local search to maintain the balance between exploration and exploitation phases. Beside this, the neighborhood structure was also improved. The proposed approach was tested on 201 benchmark test problems. Gao et al. [78] utilized the weighted combination of both completion time and tardiness for flexible job shop scheduling problem. The machine assignment and job permutation were used to memory initialization. The exploration capability of HSA was enhanced through local search operators. The proposed algorithm was evaluated on 49 benchmark instances and provided better results for scheduling problems. Yuan and Xu [79] proposed two algorithms, namely, hybrid HSA and large neighborhood search, for job shop scheduling problem. They hybridized both algorithms to improve the performance.

6.2. Civil Engineering

Lee and Geem [80] used HSA for truss structure optimization. They applied HSA on 10-bar planar truss, 17-bar planar truss, 18-bar planar truss, 22-bar space truss, 25-bar space truss, 72-bar space truss, 200-bar planar truss, and 120-bar dome space. The HSA provided the optimal solution for these problems. HSA was successfully applied on structural design problems [83]. The design of steel frames was optimized using HSA by Degertekin [81]. The load, resistance, and displacement constraints were considered during the optimization process. Huang et al. [82] used HSA for optimization of rectangular plate products in a steel plant. A variable neighborhood search algorithm was incorporated in HSA. The proposed method was effective for design problems. Lee et al. [84] designed a discrete HSA (DHSA) for truss optimization. The effectiveness of DHSA was tested on 72-bar space truss, 200-bar planer truss, and 120-bar dome space truss [85,89]. Saka [86] presented the HSA for selecting the optimal sections of beams and columns of steel frame. García-Segura et al. [87] presented a computer-aided program to study the post-tensioned concrete box-girder road bridges. HSA was used to optimize thirty-three design variables associated with box-girder road bridges. HSA was also utilized to minimize the cost of offshore mooring systems [88].

During the last few years, HSA was successfully used in designing of water distribution network and waste water management. The network has to be designed by keeping in mind the variations in the elevation, separations, and diameter of pipes. The network should be designed in a way to give smooth water supply with minimal cost. Geem [90] optimized the pipe diameters for water distribution network using HSA. EPANET was incorporated to determine the hydraulic constraints. This study found that HSA provided either the same cost or less cost (i.e., 0.28–10.26%) than the existing algorithms. The particle swarm concept was incorporated in DHSA for water network design [91]. Geem et al. [92] designed the optimal pipe network using HSA. The power loss criterion was incorporated in HSA to enhance the feasibility of pipe network. The switching problem in water pumping system was solved through HSA [93]. HSA was successfully used in various problems such hydrological parameter analysis [94], scheduling of dam system [95], ground water management [96,97], site layout selection [98,99], and earthquake analysis [100].

6.3. Electrical Engineering

Electrical engineering focuses primarily on the power supply optimization where the large amount of power is to be supplied with the minimal cost required [103]. Sivasubramani and Swarup [101] proposed a multiobjective HSA (MOHSA) to solve the optimal power flow problem. Both nondominated sorting and crowding distance were used to obtain the optimal Pareto front. The proposed MOHSA was evaluated on IEEE 30 bus system. MOHSA outperforms the NSGA-II in terms of optimal solutions. Vasebi et al. [105] presented HSA to solve the heat and power economic dispatch problem. The same problem was solved by Khorram and Jaberipour [106].

Khazali and Kalantar [107] designed a HSA for solving reactive power dispatch problem. The HSA was used to determine the generator voltages, positions of taps, and amount of reactive compensation devices. IEEE 30 and 57-bus systems were used to evaluate the performance of HSA. Elattar [108] proposed a modified HSA (MHSA) to solve economic emission dispatch problem. The control parameters of MHSA were modified according to the application. The roulette wheel selection mechanism was used in MHSA. MHSA attained better reduction in power generation cost as compared to the existing techniques. Rehman et al. [108] hybridized HSA with firefly algorithm (HSA-FA) for evaluation of energy management controller. Sivasubramani and Swarup [110] presented MOHSA for economic load dispatch. The fuel cost and emission were optimized simultaneously. The ranking procedure with dynamic crowding distance was used to develop the distributed Pareto-optimal set. The performance of MOHSA was tested on IEEE 30 and 118-bus systems.

Nekooei et al. [113] developed an improved MOHSA to assess the impact of distributed generators. The optimal scheduling of generators was done by Yadav et al. [114]. They used HSA to determine the optimal solution for reducing the fuel consumption. Ngonkham and Buasri [115] used HSA for solving economic dispatch problem in wind energy conversion system. The cost computed from HSA was reduced by 1.4%. HSA was used in variety of power engineering problems such as optimal design of LID [102], energy demand estimation [104], virtual instrumentation [112], and electrical field analysis [111].

6.4. Industrial Engineering

Geem et al. [116] used HSA to determine the optimal route for eastern part of China. The fourth party logistics problem with time windows (4PLTW) was solved through HSA [117]. HSA was able to determine the optimal path within reasonable time and cost. Huang et al. [118] minimized the route cost and time window penalties for 4PLTW. Alomoush et al. [120] hybridized HSA with Jaya search algorithm to solve the 0/1 knapsack problem. The penalty function was incorporated to handle the weight condition. Twenty different case studies were used to evaluate the performance of hybrid algorithm. Biao et al. [121] integrated fruit fly strategy into improved HSA (IHSA) for solving multidimensional knapsack problems. The global-best pitch adjustment and parallel updating strategy were also used to enhance the search. The well-known benchmark test instances were used to evaluate the performance of hybrid IHSA.

Fesanghary et al. [122] hybridized HSA with sequential quadratic programming to solve the constrained and nonconstrained engineering design problems. Nawaz et al. [123] used HSA for processing the jobs according to the priority assigned to jobs. The vanishing point is an important factor in self-driving vehicles. HSA was used to determine the vanishing point [124]. Yassen et al. [119] used HSA-optimizer and HSA-solver for vehicle routing problem. Mikaeil et al. [125] studied the risk of geological hazards on Ardabil-Mianeh highway tunnel using HSA. The tunnel instability, squeezing, and water inflow were assessed.

6.5. Clustering

Forsati et al. [126] proposed clustering algorithms based on the concept of HSA. K-means was hybridized with HSA to achieve better web clustering results. The proposed approach was tested on five different datasets and provided better convergence results than the K-means and HSA [128]. Cobos et al. [127] combined iterative global-best HSA with K-means for web clustering. Global-best HSA was used to search the space globally. K-means was used as local search for further improvement in clustering solutions. Bayesian information criterion was used to determine the number of clusters. The time complexity of the proposed approach was lesser than the existing clustering techniques.

Kumar et al. [130] developed an automatic data clustering technique using parameter adaptive harmony search algorithm (PAHSA). A variable length encoding scheme was used to determine the number of clusters automatically. The threshold setting and cutoff mechanisms were used to refine the search strategy. The proposed approach was evaluated on both UCI datasets and images. Alia et al. [131] used HSA to optimize the initial cluster centres of fuzzy c-means. Thereafter, it was applied on MRI images for segmentation. Shareghi and Hassanabadi [132] used HSA-based sentence selection for automatic text summarization. The readability, cohesion, and topic relevance were used to design the fitness function. Mendoza et al. [133] used global-best HSA and local search strategy for document summarization. The sentence length, coverage, and position of sentence were incorporated in fitness function. The proposed approach has less execution time than the other techniques. A survey on clustering techniques using harmony search algorithms was found in [129].

6.6. Networking

Forsati et al. [134] designed novel algorithms to solve the bandwidth-delay constrained multicast routing problem using HSA. The first algorithm utilized the modified Prufer number for multicast trees. The second algorithm used node parent index representation scheme for encoding the solutions. The solution quality and convergence of the proposed algorithm were analyzed. Karahan et al. [135] used hybrid HSA for the parameter estimation of Muskingum flood routing model. The penalty function was incorporated in the model to evade the negativity of outflows and storages. Zeng and Dong [136] proposed a new encoding scheme of harmony memory for routing in wireless sensor networks. The dynamic adaption strategy was used to improve the control parameter of IHSA. To improve the convergence speed, local search strategy was incorporated in IHSA.

Wireless sensor network (WSN) slowly and progressively gained the spotlight due to its capability of sensing any materialistic activity without using any cabled connection. Manjarres et al. [137] presented the hybridization of HSA with local search to alleviate the nonuniqueness of networks. The connectivity-based geometrical constraints were considered during the optimization process. Manjarres et al. [138] used a multiobjective harmony search algorithm for wireless sensor networks. The concepts of nondominated sorting and crowding distance were utilized in the proposed approach. The local search procedure was used to remove the flip ambiguity phenomenon. The information of node connectivity was utilized in the proposed approach. Landa-Torres et al. [139] designed a HSA to determine the number of access points for maximizing the coverage level of deployed network.

6.7. Image Processing

Fourie et al. [140] presented a visual tracking approach using HSA. The visual tracking was known as harmony filter. The harmony filter utilized the color histogram and found out the target location using Bhattacharya coefficient. This study revealed that the harmony filter has better accuracy and computational speed than particle filter and Kalman filter. Ebrahim et al. [141] presented a method to determine the best angular trajectory using HSA. HSA was applied to improve the image by performing edge preservation [142]. Edge preservation was done by both image conservation as well as an optimization process. The performance of the HSA was compared with histogram equalization algorithm and the proposed approach gave enhanced image output. Al-Betar et al. [143] utilized HSA for grey level image enhancement. The proposed approach was compared with histogram equalization and image adjacent algorithms. The results revealed that HSA provided better results than these algorithms in terms of entropy measure. The multilevel thresholding of an image was done through the HSA [144]. The image histograms were used to encode the harmony vectors. Ostu or Kapur methods were used for designing the objective function. The outcome was favorable to the Otsu method as compared to the Kapur method. It was also observed that HSA gave effectively optimized and accurate results.

6.8. Software Engineering

Alsewari and Zamli [145] developed a pairwise harmony search algorithm (PHSA) to perform the pairwise testing. Alsewari and Zamli [146] investigated the adoption of HSA in variable-strength t-way test generation strategy. The HSA provided the competitive results as compared to the existing test strategies. However, the proposed approach can be implemented in parallel fashion. The interaction test data were generated through HSA [147]. The greedy approach was used to generate a complete test suite. Mao [148] generated the test data by using HSA. He used probes for collecting the coverage information and inserted into the branches. The coverage factor was used to design the fitness function. The branch information was used to determine the weight of each branch. Abed et al. [149] developed an unsupervised method for word disambiguation using HSA. HSA-based dependency generator was used to parse sentences. The relatedness measurements and semantic similarity were used to design the fitness function. The evaluation of proposed approach was done on benchmark datasets and achieved effective solutions on these datasets. Kang et al. [93] presented just-in-time software defect prediction using HSA.

6.9. Mechanical Engineering

Geem and Hwangbo [151] developed a multiobjective HSA for thermal conductance and heat pipe design. The control parameters such as length of conduction fin, thickness of fin, operation temperature, and adhesive thickness were used to design the multiobjective function. Fesanghary et al. [152] hybridized the global sensitivity analysis and HSA for optimization of tube heat exchangers. The harmonic optimization in multilevel inverters was done through HSA [153]. Geem and Yoon [154] used HSA for charging schedule of energy storage system. However, lifetime, efficiency, and storage cost was considered in this system. Zarei et al. [155] presented a HSA to determine the optimal cutting parameters of face milling. The number of passes and cutting parameters were optimized through HSA. The main objective of this problem is to optimize the production cost.

6.10. Photonics

Dong et al. [156] presented a method for detection of photon density wave using HSA. The control parameters of HSA were adjusted to improve the search process. Zhang and Hanzo [157] designed a HSA-based multiuser detection and channel decoding for DS-CDMA systems. Ser et al. [158] hybridized both HSA and differential evolution (DE) for power allocation in an orthogonal frequency division multiple access downlink. The greedy subcarrier exchange technique was also incorporated in the hybrid algorithm. The well-known problems, which are improvised by HSA, are sensing multiple users in CDMA systems, organizing resources in an active cordless system [159] and developing radar codes [160] and management of telecommunication gadgets [161].

6.11. Healthcare

The medical care facility is worthy when it is accessible physically on demand. The location of medical centre, the distance between the patient and the centre, and modes of transportation available are the main factors of medical care facilities. HSA was used to establish a connection between the medical centres and their availability to people [174]. Nurse rostering problem is considered a combinatorial task with numerous restrictions [172]. In the study, HSA was used to resolve this problem. Harmony memory in HSA was used to save the improved changes in the solution during the evaluation process. HSA not only improved results but also exhibited efficient performance as compared to the other metaheuristic algorithms used for the same purpose [173]. In [174], HSA was used to find the most suitable place for constructing a medical centre. The combination of genetic algorithm and a local searching was used to search the area for medical care centre on the basis of the population of patients [176]. A multiobjective grouping harmony search algorithm (MOGHSA) was developed for the best possible allocation of medical centres, considering money, distance, and capability [177].

HSA have shown their acceptability for treatment of medical problems. For treating cancer, ionizing radiation is used and requires a proper strategy for getting efficient results. HSA come in play for enhancing the radioisotope positioning along with intensity of the radiation stream [169]. HSA is also used to probe into the large amounts of dose-rated prostate brachytherapy [170]. Another use of HSA is in the diagnosis of epileptic convulsion phenomenon. Differential harmony search algorithm (DHSA) is responsible for enhancing categorization and giving a precise result with minimal complexity [171]. The common medical problems solved by HSAs are hearing aids [164], influenza forecasting [165, 166], and protein structure prediction [167, 168].

6.12. Miscellaneous

Geem [178] and Kim et al. [179] utilized HSA for parameter estimation of Muskingum model. Mun and Geem [180] designed a method to determine the sound power levels of noise sources. The level of acoustic parameters and overall noise were used to evaluate the noise level. HSA was used to evaluate this process. Yusup et al. [181] presented a survey on feature selection and dimensionality reduction using harmony search algorithms. HSA was used to compute the Angstrom coefficient in the study and exhibited great outcome. It proved to be an effective method to improve the calculations and get enhanced outcome [182185].

7. Future Research Directions

In last few decades, researchers have investigated the control parameters of HSA in detail. Beside this, some researchers have also modified the basic structure of HSA by incorporating the concepts of other metaheuristics. However, there are a few open areas in HSA for further research. The possible research directions of HSA are given as follows.

7.1. Parameter Tuning

Parameter tuning is the most crucial step of any metaheuristic algorithms. More investigations are required to determine the optimal parameter setting of HSA and identified parameter setting should be applicable on a wide variety of applications. The parameter tuning problem is considered as an optimization problem. Automatic schemes are required to select the optimal parameters according to the given problem.

7.2. Theoretical Analysis

Most of the research articles did not provide any theoretical analysis of modification and improvement that was held in HSA. There is a need to study the HSA and give the reason why HSA performs better than others. The theoretical analysis of parameters, structure, and landscapes of fitness is required.

7.3. Many-Objective Optimization

Pareto-optimal dominance concept has been used in HSA to solve the many-objective problems. This concept was used to compare the solutions. Based upon this concept, the archive becomes quickly full for some optimization problems. Therefore, there is a need to use the special operators such as hypervolume, reference vector adaption strategy, and knee points.

7.4. Multiobjective Optimization

A number of multiobjective harmony search algorithms have been developed. Still, there is some scope that can be targeted in near future. The existing algorithms utilized the concept of archive. Some other mechanisms and multiobjective operators are available in literature, which can be utilized to solve the multiobjective problems.

8. Conclusions

More than 100 papers were studied and analyzed to highlight the strength, weakness, and robustness of HSA. A comprehensive review of the HSA is presented in this paper. The aim of this paper is to provide the summarized overview and research applications of HSA. HSA variants such as binary, chaotic, multiobjective, and hybridized are analyzed with merits and demerits. The control parameters of HSA are studied in detail. It is observed from the literature that HSA has wide applicability in engineering, networking, scheduling, classification, bioinformatics, and other problems. HSA allows improvising the method by either making changes in some of its parameters or by hybridizing it with a different algorithm.

After study of this paper, the researchers can apply HSA in their research problems. The researchers can pay attention to some applications and variants of HSA after examining the merits and demerits of HSA. The researchers can try to explore the HSA for solving the many-objective optimization problems. There are few open areas for improvement and hybridization of HSA with other algorithms [186].

Data Availability

Data will be made available upon request to the corresponding author.

Conflicts of Interest

The authors declare that they have no conflicts of interest.