A Systematic Review on Harmony Search Algorithm: Theory, Literature, and Applications

Computer Science and Engineering, National Institute of Technology, Hamirpur 177001, H.P, India Computer Science Engineering, School of Engineering and Applied Sciences, Bennett University, Greater Noida 201310, India Division of Computational Mechatronics, Institute for Computational Science, Ton Duc +ang University, Ho Chi Minh City, Vietnam Faculty of Electrical & Electronics Engineering, Ton Duc +ang University, Ho Chi Minh City, Vietnam


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]. is process is used to minimize or maximize the fitness function of the optimization problems.
e 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. e 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.
e 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. ese 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. ese 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. e developers of HSA performed extensive experimentation to validate its performance. e 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. e HSA is considered as an efficient algorithm with a simple implementation. Some researchers also investigated the applicability of HSA on different domains. e 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. is paper also highlights the improvement and hybridization of HSA with other metaheuristics to alleviate the weakness of algorithm. e modification in control parameters of HSA is also investigated. e applicability of HSA in different research domain is discussed in detail. Figure 2 shows the number of research articles published on HSA.
is paper discusses the harmony search algorithm in four-fold. ese are as follows: (1) eoretical 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. e organization of this paper is structured as follows. Section 2 presents the basic concepts of classical harmony search algorithm. e research methodology is presented in Section 3. e 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. e future research directions are mentioned in Section 7, followed by the concluding remarks in Section 8.

Harmony Search Algorithm
is section presents the inspiration, working, and flowchart of HSA. It also describes the main components of HSA.

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). e 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. e 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].
ere 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 e abovementioned acts are governed through the two main components of HSA. ese are harmony memory considering rate (HMCR) and pitch adjusting rate (PAR) [5].

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. ereafter, 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) e 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)). ese parameters are responsible for exploration and exploitation. Figure 4 shows the flowchart of HSA. e main steps of HSA are described as follows [5].

Initialization of Optimization Problem and Control
Parameters.
e optimization problem is defined as follows: where fn(a) represents the fitness function of a; a is a set of each decision variable (a x ). e value of each decision variable should lie in the range, a xl ≤ a x ≤ a xh , x � 1, 2, ..., n.
e values of HMS, HMCR, PAR, and NI are also initialized.

Initialization of Harmony Memory.
Harmony memory (HM) is initialized arbitrarily in the range of a xl ≤ a x ≤ a xh , x � 1, 2, ..., n. It is done by the following step: where Rand is a random function that takes any arbitrary value from [0,1].

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

Revising Harmony Memory.
e fitness value of the newly generated harmony vector a x ′ 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.

Evaluating Termination Condition.
e evolution process of HSA is stopped if the termination condition is achieved. e 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.

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." e 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.

Control Parameters of HSA
e 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). e 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. e values of PAR and BW were dynamically updated according to the generation. e mathematical formulation of these control parameters is given as follows [8]: where PAR(gn)denotes the pitch adjustment rate in generation gn; PAR min and PAR max are the minimum and maximum adjustment rates, respectively.

BW(gn) � BW max · exp
In BW min /BW max NI · gn , (4) where BW(gn)represents the distance bandwidth in generation gn; BW min and BW max are the minimum and maximum bandwidths, respectively. e 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. e distance bandwidth is dynamically decreased with increase in number of generation. e mathematical formulation of BW is given as follows [9]: e modification in HSA was developed by Das et al. [10] and known as an explorative HSA (EHSA). ey used the population variance for modification. e distance bandwidth was dynamically changed to proportional to standard deviation of the current population. BW is given as follows: where σ(z i )represents the standard deviation of the current population, z i . 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. e mathematical formulation of PAR is defined as [11] Mathematical Problems in Engineering , otherwise, where Df(gn − 1) and Df(gn) 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. ey replaced the BW with maximum and minimum values present in HM. e following equations are used in the place of BW: tr i � HM(int(Rand × HMS + 1)), where tr i denotes the i th variable selected from HM. Rand is the random number selected from the range of 0 and 1. max(HM i )and min(HM i )denote the minimum and   maximum values of i th variable present in HM. e 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. e following equation was designed for constructing HMCR parameter: where n represents the dimension of problem. BW was dynamic updated for each variable (say, z i ) and defined as [13] BW i (gn) � where Fit std 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. e following equations were used to update both PAR and BW for improving the harmony vectors.
Here, k 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 selfadaptive HSA (DSAHSA) to improve the search process. e control parameters, namely, PAR and BW were dynamically updated. e value of PAR either increases or decreases according to the best-to-worst ratio. e modifications in these parameters are computed as follows: where Fit(z best ) and Fit(z worst )denote the best and worst quality solutions in the HM. e 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. e modification in BW was computed as [16] BW(gn) � c 1 + k(gn/NI) m . (15) Here, where mand c are constants whose values depend upon the maximum and minimum values of BW. m should be greater than 1.

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). ey explored the possibility of nonlinear change in these parameters. e linear change in these parameters was also explored in [18]. Both PAR and HMCR were modified linearly and computed as follows: e 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.

Mathematical Problems in Engineering
Guo et al. [20] developed an adaptive HSA based on the concept of best-based strategy (ABHSA). e control parameters such as HMCR and PAR were modified according to the feedback obtained from the evolution process. e initial values of HMCR and PAR were randomly generated in the range of (0.9, 1.0) and (0.1, 1.0), 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.
e 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.

Variants of HSA
In last few years, the various variants of HSA have been developed to solve the diverse real-life optimization problems. e 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].

Improved HSA.
Enayatifar et al. [24] presented a novel harmony search algorithm using learning automata (LAHSA). e 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.
e variance of the current population and current harmony vector was used to improvise the HM. e 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. ey designed a novel matrix for memorizing the parameters for each variable.
ere 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). ey 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 [30][31][32]. Table 3 shows the improvement in the variants of HAS.

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. e convergence of the proposed approach was improved. Abdel-Raouf et al. [35] proposed an improved version of chaotic HSA (IHSCH) for linear assignment problems. e chaos was incorporated in harmony memory to alleviate the local optima. e computation time of IHSCH is smaller than the traditional algorithms.
e chaotic HSA is hybridized with flower pollination to solve Sudoku problem [36]. e design of adaptive infinite impulse response (IIR) filter system was optimized by Shafaati and Mojallali [37]. ey 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. e robustness of search was enhanced through MHS-PCLS. e performance of MHS-PCLS was better than the existing harmony search algorithms. Table 4 shows the performance comparison of different chaotic harmony search algorithms.

Binary HSA.
To overcome the shortcomings of HSA, an adaptive version of BHSA (ABHSA) was proposed by Wang et al. [40]. e control parameters were improved through BHSA. e performance of ABHSA was tested on both lowand 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. e main difference between SBHSA and HSA is in terms of improvisation process. e 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. e performance comparison of different binary harmony search algorithms is depicted in Table 5.
Mathematical Problems in Engineering ere are two approaches to solve the multiobjective problems. ese are weighted sum approach and Pareto-optimal front approaches. e former one tries to solve the multiobjective problem by assigning weight factors to convert the multiple objectives into single objective. e 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]. e ranking method was used for Pareto-optimum solutions. Xu et al. [45] implemented a multiobjective HSA (MOHSA) for development of a mobile robot. e 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. e 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. e quality indicator and external archive are used to rank the nondominated solutions. e 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). e nondominated sorting-based crowding distance was used to update the harmony memory. e search ability of MBHSA was improved through modified PAR operator. e performance of MBHSA outperforms the existing variants in terms of convergence and diversity. Sabrinath et al. [50] extended PAHSA to solve multiobjective optimization problems. e weighted sum   approach was used to assign the weightages to performance indices. Table 6 shows the performance comparison of different multiobjective harmony search algorithms.

Hybrid HSA.
e 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. e mathematical formulation of modified PAR is given as follows [51]: e 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. e 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).
e modified PAR is given as follows: where Fit min (gn) and Fit max (gn)denote the minimum and maximum fitness values in generation gn, respectively. mean(Fit) represents the mean of fitness value of all harmony vectors present in HM. e 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. is approach alleviated the premature problem. However, the computational speed of this approach is much higher than the original HSA. e parallel metaheuristic-based framework was proposed by Lee and Zomaya [55]. ey used HSA as a key component. Genetic algorithm (GA), simulated annealing (SA), and artificial immune system (AIS) were used to improve the harmony vectors. e 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. e balance between global and local search is controlled through the control parameter, P c . P c was set to 0.1 as reported in the literature. Alia et al. [57] designed a fuzzy clustering algorithm using HSA for image segmentation. e 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. e proposed approaches were able to maintain the diversity in HM. However, the optimal parameter selection has to be analyzed.

Applications
Due to the easy implementation and proficiency of HSA, it is used in a large number of applications. e 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. e applicability of HSA in different research domains is shown in Figure 6.

Scheduling.
e two major problems such as course timetabling and hob shop scheduling are targeted. e timetabling problem is a challenging task in any academic institutions. Al-Betar et al. [72] used a HSA for course timetabling problem. ey modified the PAR to design the neighborhood structure. e neighborhood structure was divided into two different procedures with random acceptance rule. is 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. ey used hill climbing method to enhance the exploitation process. e global-best concept was incorporated in HSA for better convergence.
e proposed method was tested on eleven datasets and attained the best result over the existing methods. e modification in HSA was proposed by Al-Betar and Khader [74] for timetabling problem. e HMCR and PAR were modified to change the acceptance rule. e proposed approach was evaluated on two Socha benchmarks. Modified HSA provided the high quality solutions on these benchmarks. e 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. e 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 Paretobased grouping method. e proposed method was called Pareto-based grouping discrete harmony search algorithm (PGDHSA). e grouping approach was utilized to improvise the convergence. e 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.
e 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. e machine assignment and job permutation were used to memory  initialization.
e exploration capability of HSA was enhanced through local search operators. e 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. ey hybridized both algorithms to improve the performance. [80] used HSA for truss structure optimization. ey 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. e HSA provided the optimal solution for these problems. HSA was successfully applied on structural design problems [83]. e design of steel frames was optimized using HSA by Degertekin [81]. e 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. e proposed method was effective for design problems. Lee et al. [84] designed a  [182] discrete HSA (DHSA) for truss optimization.

Civil Engineering. Lee and Geem
e 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 posttensioned 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. e network has to be designed by keeping in mind the variations in the elevation, separations, and diameter of pipes. e 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. is study found that HSA provided either the same cost or less cost (i.e., 0.28-10.26%) than the existing algorithms. e particle swarm concept was incorporated in DHSA for water network design [91]. Geem et al. [92] designed the optimal pipe network using HSA. e power loss criterion was incorporated in HSA to enhance the feasibility of pipe network. e 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].

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. e 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. e same problem was solved by Khorram and Jaberipour [106].
Khazali and Kalantar [107] designed a HSA for solving reactive power dispatch problem. e HSA was used to determine the generator voltages, positions of taps, and amount of reactive compensation devices. IEEE 30 and 57bus systems were used to evaluate the performance of HSA. Elattar [108] proposed a modified HSA (MHSA) to solve economic emission dispatch problem. e control parameters of MHSA were modified according to the application. e 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. e fuel cost and emission were optimized simultaneously. e ranking procedure with dynamic crowding distance was used to develop the distributed Pareto-optimal set. e 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. e optimal scheduling of generators was done by Yadav et al. [114]. ey used HSA to determine the optimal solution for reducing the fuel consumption. Ngonkham and Buasri [115]   for solving economic dispatch problem in wind energy conversion system. e 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. e 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. e 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. e global-best pitch adjustment and parallel updating strategy were also used to enhance the search. e wellknown 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. e 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. e 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. e 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 globalbest 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. e 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. e threshold setting and cutoff mechanisms were used to refine the search strategy. e 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.
ereafter, it was applied on MRI images for segmentation. Shareghi and Hassanabadi [132] used HSA-based sentence selection for automatic text summarization. e 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. e sentence length, coverage, and position of sentence were incorporated in fitness function. e 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. e first algorithm utilized the modified Prufer number for multicast trees. e second algorithm used node parent index representation scheme for encoding the solutions. e 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. e 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. e 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. e connectivity-based geometrical constraints were considered during the optimization process. Manjarres et al. [138] used a multiobjective harmony search algorithm for wireless sensor networks. e concepts of nondominated sorting and crowding distance were utilized in the proposed approach. e local search procedure was used to remove the flip ambiguity phenomenon. e 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. e visual tracking was known as harmony filter. e harmony filter utilized the color histogram and found out the target location using Bhattacharya coefficient. is 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. e 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. e proposed approach was compared with histogram equalization and image adjacent algorithms. e results revealed that HSA provided better results than these algorithms in terms of entropy measure. e multilevel thresholding of an image was done through the HSA [144]. e image histograms were used to encode the harmony vectors. Ostu or Kapur methods were used for designing the objective function. e 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. e HSA provided the competitive results as compared to the existing test strategies. However, the proposed approach can be implemented in parallel fashion. e interaction test data were generated through HSA [147]. e 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. e coverage factor was used to design the fitness function. e 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. e relatedness measurements and semantic similarity were used to design the fitness function. e evaluation of proposed approach was done on benchmark datasets and achieved effective solutions on these datasets. Kang et al. [93] presented justin-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. e 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. e 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. e number of passes and cutting parameters were optimized through HSA. e 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. e 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. e greedy subcarrier exchange technique was also incorporated in the hybrid algorithm. e 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. e medical care facility is worthy when it is accessible physically on demand. e 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. e 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].
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. e 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 [182][183][184][185].

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. e possible research directions of HSA are given as follows.

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. e parameter tuning problem is considered as an optimization problem. Automatic schemes are required to select the optimal parameters according to the given problem.

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

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

Multiobjective Optimization.
A number of multiobjective harmony search algorithms have been developed. Still, there is some scope that can be targeted in near future. e 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.

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. e 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. e 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. e researchers can pay attention to some applications and variants of HSA after examining the merits and demerits of HSA. e researchers can try to explore the HSA for solving the many-objective optimization problems. ere 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
e authors declare that they have no conflicts of interest.