A New Fuzzy Harmony Search Algorithm Using Fuzzy Logic for Dynamic Parameter Adaptation

: In this paper, a new fuzzy harmony search algorithm (FHS) for solving optimization problems is presented. FHS is based on a recent method using fuzzy logic for dynamic adaptation of the harmony memory accepting ( HMR ) and pitch adjustment ( PArate ) parameters that improve the convergence rate of traditional harmony search algorithm (HS). The objective of the method is to dynamically adjust the parameters in the range from 0.7 to 1. The impact of using ﬁxed parameters in the harmony search algorithm is discussed and a strategy for efﬁciently tuning these parameters using fuzzy logic is presented. The FHS algorithm was successfully applied to different benchmarking optimization problems. The results of simulation and comparison studies demonstrate the effectiveness and efﬁciency of the proposed approach.


Introduction
In the literature, there is a wide variety of metaheuristic algorithms and this paper focuses on one of them, the harmony search algorithm (HS), which, as its name suggests, is inspired by music.In particular, it refers to jazz behavior of a musical orchestra, where the goal is to compose the most harmonious melody, as measured by aesthetic standards [1].The HS method considers the following mathematical form that basically consists of three steps: harmony memory accepting (HMR), pitch adjusting (PArate) and randomization.The model is inspired by a musical orchestra.Musicians have three options to play tunes: the first is to play any melody that is already known in the memory; the second is to start playing a song that already exists and to adjust the tone as the melody progresses; and the third option is to play a tune at random that was never played before.The three steps mentioned above are essential to achieve optimal results for addressing a particular problem since each of them has a specific function, whether it is to explore or exploit the search space, thereby avoiding local optima and finding the global optimum.HS has many advantages over other algorithms: (a) it does not require complex calculations; (b) because the HS algorithm uses stochastic random search, derivative information is also unnecessary, although HS uses different concept derivatives based on human experiences [2]; and (c) it can be used in linear and nonlinear functions.The harmony search algorithm has been very successful in a wide variety of optimization problems, presenting several advantages with respect to traditional optimization techniques, as outlined in the following [3][4][5].However, HS also has disadvantages, as is the case for all algorithms that move the parameters by trial and error-they can fall into local optima.Therefore, this paper presents a new method called fuzzy harmony search algorithm (FHS), which uses fuzzy logic for dynamically changing the algorithm parameters and thereby exploring and exploiting the search space at the right time in order to obtain the global optimum in the shortest possible time.Several fuzzy systems are used to perform dynamical parameter adaptation.The main scientific contribution in this paper is that currently there are methods and variants on the harmony search algorithm that use techniques to move its parameters, such as linear functions, statistical methods and other methods that help improve the convergence of the algorithm among others, but there is no method in the literature which adjusts the parameters using fuzzy logic.This is therefore the main scientific contribution, which is based on the study of parameters and performing experiments by trial and error, and in this way finding the best ranges for the outputs of the membership functions and fuzzy rules.
In addition, a set of experiments was carefully performed to reveal the impact of control parameters when applied to benchmark mathematical functions, and a comparison with another method called the fuzzy bat algorithm [6] is presented.
Similarly, there are papers on harmony search algorithm (HS) applications that use this algorithm to solve real world problems.To mention a few: self-adaptive harmony search algorithm for optimization [7] and a tabu harmony search-based approach to fuzzy linear regression [8], two improved harmony search algorithms for solving engineering optimization problems [9], combined heat and power economic dispatch by harmony search algorithm [5], a novel hybrid bat algorithm with harmony search for global numerical optimization [10], a hybrid Taguchi-harmony search algorithm for solving engineering optimization problems [11], and a dynamic multi-swarm particle swarm optimizer with harmony search [12].
There are also papers of different metaheuristic algorithms that could be considered as related work, including the firefly algorithm [13,14], the bat-inspired algorithm [15], differential evolution [16], virtual bee algorithms [17], hybridization of Particle swarm optimization (PSO) and Genetic Algorithms (GA) [18], fuzzy Particle swarm algorithm-a generalization of particle swarm optimization [19], and design of PSO-based fuzzy classification system [20].
The rest of the paper is organized as follows: Section 2 shows the methodology for parameter adaptation and describes the proposed methods.Section 3 shows the experimentation with the fuzzy system and benchmark mathematical functions.Section 4 presents simulation results and a comparison of the harmony search algorithm with fuzzy harmony search algorithm.Section 5 presents simulation results and a comparison of the fuzzy harmony search algorithm with the fuzzy bat algorithm.Section 6 offers a statistical comparison.Finally, Section 7 describes the conclusions.

Methodology for Parameter Adaptation
Harmony search is relatively a new metaheuristic optimization algorithm inspired by music and was first proposed by Geem et al. in 2001 [1,21,22].The HS algorithm is defined by Equations ( 1)- (3), which are the equations to control the exploitation and exploration of the search domain, respectively [10].
HMR ∈ [0, 1]  (1) P a = P lower limit + P range × rand The HMR and PArate parameters introduced in the improvisation process help the algorithm to find globally and locally improved solutions.The traditional HS algorithm uses fixed values for the HMR and PArate parameters whereas the improvement suggested in [23] varies the PArate and bandwidth (bw) parameters throughout the iterations.Inspired by their modification, the paper presents a new fuzzy harmony search algorithm (FHS).

Mathematical Description of the Fuzzy Harmony Search (FHS) Algorithm
The mathematical description for FHS is defined as follows: Equation (1) shows the fundamental part of the traditional HS algorithm; where the harmony memory accepting (HMR) is represented by a constant value.Equation (2) shows the fundamental part of the traditional HS algorithm, where the pitch adjusting (PArate) is represented by a constant value.Equations ( 1) and (2) describe the different ways the basic equations of HS are modified for achieving the goal, and then, convert part of it into fuzzy parameters.The differences between both equations are that HMR in Equation (1) and PArate in Equation ( 2) are those that change, because an essential part of the proposed method lies in these two parameters.Traditionally, these two parameters are constant; in this case, due to the importance of these two parameters, they are converted into fuzzy parameters.Therefore, for designing the fuzzy systems, which dynamically adjust the HMR and PArate parameters, the measure of percentage of iterations is considered as the input.All the fuzzy systems are of Mamdani type because it is more common to use them in this type of fuzzy control and the defuzzification method is the centroid.In this case, this type of defuzzification was used because other researchers have achieved good results with this method.
In this case, these values are considered fuzzy because they are changing dynamically when the FHS is running, and are defined by Equations ( 4) and (5), where HMR and PArate are changing values in the range [0,1].
where HMR is the harmony memory accepting rate; r hmr is the number of rules of the fuzzy system corresponding to hmr; hmr 1i is the output result for rule i corresponding to hmr; µ hmr i is the membership function of rule i corresponding to hmr.

PArate
where PArate is the pitch adjusting; r PArate is the number of rules of the fuzzy system corresponding to PArate; PArate 1i is the output result for rule i corresponding to PArate; µ PArate i is the membership function of rule i corresponding to PArate.
Fuzzy logic is based on fuzzy set theory proposed by Zadeh in 1965, which helps us in modeling knowledge, through the use of if-then fuzzy rules.The fuzzy set theory provides a systematic calculus to deal with linguistic information, and that improves the numerical computation by using linguistic labels stipulated by membership functions [19,20].
The parameters of HMR and PArate are selected to be modified using fuzzy logic, since these parameters account for controlling the exploitation and exploration of the search domain.The HMR and PArate parameters in the HS algorithm are very important to fine-tuning the optimized solution vectors, and can be potentially useful in adjusting the convergence rate of the algorithm to find the optimal solution Therefore, the adjustment of these parameters is of great interest.
There are three variants of the algorithm that have been applied to achieve better results and they are briefly explained in the following: The improved harmony search algorithm (IHS) [13] is a novel method for generating new solution vectors that enhance accuracy and convergence rate of harmony search (HS) algorithm; the global best harmony search (GHS) [24] is proposed in this paper where concepts from swarm intelligence are borrowed to enhance the performance of HS; and the new global harmony search (NGHS) [25] is a proposed new algorithm that includes two important operations-position updating and genetic mutation with a small probability.The former enables the worst harmony of the harmony memory to move to the global best harmony rapidly in each iteration, and the latter can effectively prevent the NGHS from trapping into the local optimum.It should be noted that none of these methods use fuzzy logic techniques to achieve their goals.
The harmony search algorithm has been applied so far to various optimization problems: optimization of functions [9,14], the distribution of water, groundwater modeling, energy-saving clearance, structural design [26], vehicle routing, and others.The possibility of combining harmony search with other algorithms, such as particle swarm optimization and genetic algorithms has also been investigated.
The parameter harmony memory accepting (HMR) represents the exploitation, and this will ensure that the best harmonies will be transferred to the new harmony memory.
The parameter pitch adjustment (PArate) represents the exploration of this algorithm, and is similar to the mutation operator in genetic algorithms.A pitch adjustment rate (PArate) was used to control the degree of adjustment.The literature suggests the range of pitch adjustment to be between 0 and 1; this parameter in the original algorithm does not change during the iterations and some authors use this parameter in a range between 0.1 and 0.7.In the proposed model, the parameters change during iterations in the range 0.7 to 1 through the use of a fuzzy system to give diversity algorithm and finding the global optimum.
Parameter randomization is used to increase the diversity of the solutions, and the use of randomization can further push the system to explore various regions with high diversity solutions in order to find the global optimum.
The main difference between FHS and the traditional HS method is in the way they perform the adjusting of the HMR and PArate parameters.To improve the performance of the HS algorithm, the FHS algorithm considers the HMR and PArate as dynamic parameters in the improvisation step.FHS uses a fuzzy system to be responsible for dynamically changing the HMR and PArate parameters in the range from 0 to 1 and 0.7 to 1; this range is based on a detailed study of the behavior of the algorithm parameters after performing a series of experiments applied to optimization problems, since some items used different ranges in the original method [22] in each iteration number.In this case, the rules are used in increasing and decreasing form as shown in Figure 1.
This method includes the input iterations of the algorithm, because other studies have found it favorable to consider this measure that can control the execution of the algorithm.
In addition, it is also found that an algorithm performance measure, such as the iterations, needs to be considered in the parameter adaptation.In this work, all the above are taken into consideration for the fuzzy systems to modify the HMR and PArate parameters by dynamically changing these parameters in each iteration of the algorithm.
In this phase, the percentage of elapsed iterations is considered to determine the values of HMR and PArate.If a low percentage of iterations elapses, the HMR and PArate parameters would take a low value in the range in order to enable a wide search in the search space, as a kind of exploration.On the contrary, if a high percentage of iterations have occurred, it would give the HMR and PArate parameters a high value in the indicated range in order to draw a more intense exploitation within the search space in advanced iterations.Subsequently, if the percentage of elapsed iterations is medium, then a medium value for HMR and PArate would occur, with the aim of expanding the above criteria.The following equation represents this idea [27]: Therefore, for designing the fuzzy systems, which dynamically adjust the HMR and PArate parameters, the measure described above was considered as the input.Experiments were performed to test each parameter separately in order to check their behavior when applied to optimization problems with different fuzzy rules to increase or decrease, and eventually the two parameters in the output were put together to test the effectiveness of the method.The first proposed output of the fuzzy system is the HMR parameter, the second proposed output of the fuzzy system is the PArate parameter and for the third proposed fuzzy system, the outputs are both HMR and PArate parameters.The fuzzy systems use rules with increment and decrement and with ranges from 0 to 1 and from 0.7 to 1, respectively, for the experiments.The design of the input variable in all fuzzy systems can be found in Figure 2, which shows the input called "iteration", and this input is granulated into three triangular membership functions.The design of the input variable in all fuzzy systems can be found in Figure 2, which shows the input called "iteration", and this input is granulated into three triangular membership functions.The design of the input variable in all fuzzy systems can be found in Figure 2, which shows the input called "iteration", and this input is granulated into three triangular membership functions.For the output variables, as mentioned above, the recommended values for HMR and PArate are from 0 to 1 and 0.7 to 1, so the output variables are designed using these ranges of values.Each output is granulated into three triangular membership functions which are low, medium and high, and the design of the HMR and PArate output variables can be found in Figures 3 and 4.
Algorithms 2016, 9, 69 6 of 19 For the output variables, as mentioned above, the recommended values for HMR and PArate are from 0 to 1 and 0.7 to 1, so the output variables are designed using these ranges of values.Each output is granulated into three triangular membership functions which are low, medium and high, and the design of the HMR and PArate output variables can be found in Figures 3 and 4.  Having defined the possible output variables, it was decided to combine them to generate different fuzzy systems for the dynamic adjustment of HMR and PArate.Based on the literature the recommended values for the parameters are from 0 to 1, so in this case the range 0 to 1 and 0.7 to 1 were used for the outputs in the fuzzy system.There are 12 possible fuzzy systems, in this case only the three fuzzy systems using a range 0.7 to 1 are presented, using rules to increase because these algorithms achieve better results, which are defined below.
The first fuzzy system has iteration as input and HMR as output, which is shown in Figure 5.The second fuzzy system has iteration as input and PArate as output and is shown in Figure 6.The third fuzzy system has iteration as input and the outputs are HMR and PArate, as shown in Figure 7.
The first fuzzy system is defined by the following design, using as input the iterations and as output in this case the harmony memory accepting (HMR) to dynamically vary the first parameter that within the algorithm represents the exploitation, which is the number of solutions that will be considered for the subsequent iteration, as shown in Figure 5.For the output variables, as mentioned above, the recommended values for HMR and PArate are from 0 to 1 and 0.7 to 1, so the output variables are designed using these ranges of values.Each output is granulated into three triangular membership functions which are low, medium and high, and the design of the HMR and PArate output variables can be found in Figures 3 and 4.  Having defined the possible output variables, it was decided to combine them to generate different fuzzy systems for the dynamic adjustment of HMR and PArate.Based on the literature the recommended values for the parameters are from 0 to 1, so in this case the range 0 to 1 and 0.7 to 1 were used for the outputs in the fuzzy system.There are 12 possible fuzzy systems, in this case only the three fuzzy systems using a range 0.7 to 1 are presented, using rules to increase because these algorithms achieve better results, which are defined below.
The first fuzzy system has iteration as input and HMR as output, which is shown in Figure 5.The second fuzzy system has iteration as input and PArate as output and is shown in Figure 6.The third fuzzy system has iteration as input and the outputs are HMR and PArate, as shown in Figure 7.
The first fuzzy system is defined by the following design, using as input the iterations and as output in this case the harmony memory accepting (HMR) to dynamically vary the first parameter that within the algorithm represents the exploitation, which is the number of solutions that will be considered for the subsequent iteration, as shown in Figure 5. Having defined the possible output variables, it was decided to combine them to generate different fuzzy systems for the dynamic adjustment of HMR and PArate.Based on the literature the recommended values for the parameters are from 0 to 1, so in this case the range 0 to 1 and 0.7 to 1 were used for the outputs in the fuzzy system.There are 12 possible fuzzy systems, in this case only the three fuzzy systems using a range 0.7 to 1 are presented, using rules to increase because these algorithms achieve better results, which are defined below.
The first fuzzy system has iteration as input and HMR as output, which is shown in Figure 5.The second fuzzy system has iteration as input and PArate as output and is shown in Figure 6.The third fuzzy system has iteration as input and the outputs are HMR and PArate, as shown in Figure 7.
The first fuzzy system is defined by the following design, using as input the iterations and as output in this case the harmony memory accepting (HMR) to dynamically vary the first parameter that within the algorithm represents the exploitation, which is the number of solutions that will be considered for the subsequent iteration, as shown in Figure 5.The second fuzzy system is defined by the following design, using as input the iterations and as output the pitch adjusting (PArate) to dynamically vary the second parameter that represents the exploration in the algorithm, which can be viewed as a refinement of local solutions, as shown in Figure 6.The third fuzzy system, which is composed of the following design, uses as input the iterations and as outputs the HMR and PArate parameters to move both parameters dynamically.For this case, a combination of rules based on the results of the two previous fuzzy systems is made, as illustrated in Figure 7.To design the rules of each fuzzy system, it was decided that in early iterations the HS algorithm must explore and eventually exploit.
The rules for the fuzzy system number 1 are shown in Figures 8 and 9, the rules for the fuzzy system number 2 are shown in Figures10 and 11and the rules for the fuzzy system number 3 are shown in Figures 12 and 13, respectively.
The rules given in Figure 8 are those used in the fuzzy system 1, and are defined to increase the HMR parameter according to the iterations to achieve better exploration and exploitation of the search space.The second fuzzy system is defined by the following design, using as input the iterations and as output the pitch adjusting (PArate) to dynamically vary the second parameter that represents the exploration in the algorithm, which can be viewed as a refinement of local solutions, as shown in Figure 6.The second fuzzy system is defined by the following design, using as input the iterations and as output the pitch adjusting (PArate) to dynamically vary the second parameter that represents the exploration in the algorithm, which can be viewed as a refinement of local solutions, as shown in Figure 6.The third fuzzy system, which is composed of the following design, uses as input the iterations and as outputs the HMR and PArate parameters to move both parameters dynamically.For this case, a combination of rules based on the results of the two previous fuzzy systems is made, as illustrated in Figure 7.To design the rules of each fuzzy system, it was decided that in early iterations the HS algorithm must explore and eventually exploit.
The rules for the fuzzy system number 1 are shown in Figures 8 and 9, the rules for the fuzzy system number 2 are shown in Figures10 and 11and the rules for the fuzzy system number 3 are shown in Figures 12 and 13, respectively.
The rules given in Figure 8 are those used in the fuzzy system 1, and are defined to increase the HMR parameter according to the iterations to achieve better exploration and exploitation of the search space.The third fuzzy system, which is composed of the following design, uses as input the iterations and as outputs the HMR and PArate parameters to move both parameters dynamically.For this case, a combination of rules based on the results of the two previous fuzzy systems is made, as illustrated in Figure 7.The second fuzzy system is defined by the following design, using as input the iterations and as output the pitch adjusting (PArate) to dynamically vary the second parameter that represents the exploration in the algorithm, which can be viewed as a refinement of local solutions, as shown in Figure 6.The third fuzzy system, which is composed of the following design, uses as input the iterations and as outputs the HMR and PArate parameters to move both parameters dynamically.For this case, a combination of rules based on the results of the two previous fuzzy systems is made, as illustrated in Figure 7.To design the rules of each fuzzy system, it was decided that in early iterations the HS algorithm must explore and eventually exploit.
The rules for the fuzzy system number 1 are shown in Figures 8 and 9, the rules for the fuzzy system number 2 are shown in Figures10 and 11and the rules for the fuzzy system number 3 are shown in Figures 12 and 13, respectively.
The rules given in Figure 8 are those used in the fuzzy system 1, and are defined to increase the HMR parameter according to the iterations to achieve better exploration and exploitation of the search space.To design the rules of each fuzzy system, it was decided that in early iterations the HS algorithm must explore and eventually exploit.
The rules for the fuzzy system number 1 are shown in Figures 8 and 9, the rules for the fuzzy system number 2 are shown in Figures 10 and 11 and the rules for the fuzzy system number 3 are shown in Figures 12 and 13, respectively.
The rules given in Figure 8 are those used in the fuzzy system 1, and are defined to increase the HMR parameter according to the iterations to achieve better exploration and exploitation of the search space.The rules given in Figure 9 are those used also for the fuzzy system 1, which are defined for decreasing the HMR parameter to achieve exploitation and exploration of the search space.The rules given in Figure 10 are those used in the fuzzy system 2, in this case for increasing the PArate parameter to achieve exploration and exploitation of the search space.The rules given in Figure 11 are those used in the fuzzy system 2, but now for decreasing the PArate parameter to achieve exploitation and exploration of the search space.The rules given in Figure 12 are used in the fuzzy system 3, which are a combination of the two parameters in increase to first explore and then exploit the search space.
The rules given in Figure 13 are used in the third fuzzy system, which are another combination of the two parameters in decrease to first exploit and then explore the search space.The rules given in Figure 9 are those used also for the fuzzy system 1, which are defined for decreasing the HMR parameter to achieve exploitation and exploration of the search space.The rules given in Figure 9 are those used also for the fuzzy system 1, which are defined for decreasing the HMR parameter to achieve exploitation and exploration of the search space.The rules given in Figure 10 are those used in the fuzzy system 2, in this case for increasing the PArate parameter to achieve exploration and exploitation of the search space.The rules given in Figure 11 are those used in the fuzzy system 2, but now for decreasing the PArate parameter to achieve exploitation and exploration of the search space.The rules given in Figure 12 are used in the fuzzy system 3, which are a combination of the two parameters in increase to first explore and then exploit the search space.
The rules given in Figure 13 are used in the third fuzzy system, which are another combination of the two parameters in decrease to first exploit and then explore the search space.The rules given in Figure 10 are those used in the fuzzy system 2, in this case for increasing the PArate parameter to achieve exploration and exploitation of the search space.The rules given in Figure 9 are those used also for the fuzzy system 1, which are defined for decreasing the HMR parameter to achieve exploitation and exploration of the search space.The rules given in Figure 10 are those used in the fuzzy system 2, in this case for increasing the PArate parameter to achieve exploration and exploitation of the search space.The rules given in Figure 11 are those used in the fuzzy system 2, but now for decreasing the PArate parameter to achieve exploitation and exploration of the search space.The rules given in Figure 12 are used in the fuzzy system 3, which are a combination of the two parameters in increase to first explore and then exploit the search space.
The rules given in Figure 13 are used in the third fuzzy system, which are another combination of the two parameters in decrease to first exploit and then explore the search space.The rules given in Figure 11 are those used in the fuzzy system 2, but now for decreasing the PArate parameter to achieve exploitation and exploration of the search space.The rules given in Figure 9 are those used also for the fuzzy system 1, which are defined for decreasing the HMR parameter to achieve exploitation and exploration of the search space.The rules given in Figure 10 are those used in the fuzzy system 2, in this case for increasing the PArate parameter to achieve exploration and exploitation of the search space.The rules given in Figure 11 are those used in the fuzzy system 2, but now for decreasing the PArate parameter to achieve exploitation and exploration of the search space.The rules given in Figure 12 are used in the fuzzy system 3, which are a combination of the two parameters in increase to first explore and then exploit the search space.
The rules given in Figure 13 are used in the third fuzzy system, which are another combination of the two parameters in decrease to first exploit and then explore the search space.The rules given in Figure 12 are used in the fuzzy system 3, which are a combination of the two parameters in increase to first explore and then exploit the search space.
The rules given in Figure 13 are used in the third fuzzy system, which are another combination of the two parameters in decrease to first exploit and then explore the search space.The rules given in Figure 12 are used in the fuzzy system 3, which are a combination of the two parameters in increase to first explore and then exploit the search space.
The rules given in Figure 13 are used in the third fuzzy system, which are another combination of the two parameters in decrease to first exploit and then explore the search space.

Experimentation with the Fuzzy Systems in Harmony Search for Benchmark Mathematical Functions
For all the experiments used, the parameters are presented in Table 1.For all the functions, the global minimum is zero.The proposed method used six mathematical functions-some simple and some more complicated-in order to test the algorithm and measure its effectiveness.In this case, ten dimensions in each problem were used, as the literature suggests this number for the first tests.We then compare it with the bat algorithm method which also uses ten dimensions.Once you validate the performance of the method it will apply to problems of control.  1 shows the parameters of the methods to be considered in the comparison; in this case, the comparison of the proposed method (FHS) and the simple HS algorithm.
Also for the comparison of the proposed method with respect to the HS without parameter adaptation, parameters that give the global minimum of each of the six benchmark mathematical functions have to be found.In Figure 14, there is a sample of the functions that are used [28,29].
As indicated in Figure 14, functions of ten dimensions for the experiments were considered.Once the fuzzy systems that dynamically adjust the parameters of HS are defined, and the problem to which this is applied is defined (benchmark mathematical functions), the proposal is as shown in Figure 1, where it can be observed that the harmony memory accepting (HMR) and pitch adjustment (PArate) parameters are adjusted by a fuzzy system, and in turn this ''fuzzy HS'' searches for the optimal parameters for the benchmark mathematical functions [30].

Experimentation with the Fuzzy Systems in Harmony Search for Benchmark Mathematical Functions
For all the experiments used, the parameters are presented in Table 1.For all the functions, the global minimum is zero.The proposed method used six mathematical functions-some simple and some more complicated-in order to test the algorithm and measure its effectiveness.In this case, ten dimensions in each problem were used, as the literature suggests this number for the first tests.We then compare it with the bat algorithm method which also uses ten dimensions.Once you validate the performance of the method it will apply to problems of control.Table 1 shows the parameters of the methods to be considered in the comparison; in this case, the comparison of the proposed method (FHS) and the simple HS algorithm.
Also for the comparison of the proposed method with respect to the HS without parameter adaptation, parameters that give the global minimum of each of the six benchmark mathematical functions have to be found.In Figure 14, there is a sample of the functions that are used [28,29].
As indicated in Figure 14, functions of ten dimensions for the experiments were considered.Once the fuzzy systems that dynamically adjust the parameters of HS are defined, and the problem to which this is applied is defined (benchmark mathematical functions), the proposal is as shown in Figure 1, where it can be observed that the harmony memory accepting (HMR) and pitch adjustment (PArate) parameters are adjusted by a fuzzy system, and in turn this "fuzzy HS" searches for the optimal parameters for the benchmark mathematical functions [30].

Experiment Results Comparison of the Simple Harmony Search Algorithm with Fuzzy Harmony Search
In this section, the experimental results obtained by the Harmony Search algorithm and fuzzy harmony search are shown in separate tables of the 12 proposed fuzzy systems.
The results obtained using the original method, with six benchmark mathematical functions, are presented in Table 2.It should be noted that the best, worst and average of 30 experiments are shown for each mathematical function.The first proposal made by this method was to perform the dynamic adjustment of parameters applied to the first parameter of the algorithm, which is the harmony memory accepting (HMR).This was created to dynamically change this parameter in the range that indicates the literature, which is from 0 to 1.This methodology was applied to the six benchmark mathematical functions previously mentioned and 30 experiments were performed with each of these functions.Table 3 shows the results.

Experiment Results Comparison of the Simple Harmony Search Algorithm with Fuzzy Harmony Search
In this section, the experimental results obtained by the Harmony Search algorithm and fuzzy harmony search are shown in separate tables of the 12 proposed fuzzy systems.
The results obtained using the original method, with six benchmark mathematical functions, are presented in Table 2.It should be noted that the best, worst and average of 30 experiments are shown for each mathematical function.The first proposal made by this method was to perform the dynamic adjustment of parameters applied to the first parameter of the algorithm, which is the harmony memory accepting (HMR).This was created to dynamically change this parameter in the range that indicates the literature, which is from 0 to 1.This methodology was applied to the six benchmark mathematical functions previously mentioned and 30 experiments were performed with each of these functions.Table 3 shows the results.
In Table 3, the overall averages, as well as best and worst results obtained for each mathematical function and method can be found.The results obtained with the FHS1 using the range of 0 to 1 using rules increment and decrement are presented.Based on the previous experiments, the range of 0.7 to 1 for the HMR output was used.In the literature, it is recommended to use this parameter in the range from 0.7 to 0.95 to obtain better results, but in many existing works they use the range up to 0.99 and 1, hence the experiments were performed by trial and error.Table 4 shows the results obtained with this modification.In Table 4, the averages of the 30 experiments for each mathematical function are shown, in addition to the best and worst results obtained for each mathematical function and the overall average obtained in each function.The results of these experiments suggest the use of the range of 0.7 to 1 with the proposed method as shown in Table 5.In Table 5, the averages of the 30 experiments for each mathematical function are shown, as well as the best and worst results for each mathematical function and the overall average.The results are with the original algorithm and the best fuzzy system, in this case FHS1, with rules and increase in the output range from 0.7 to 1.The best results obtained are of the proposed method.
The second proposal made by this method was to perform the dynamic adjustment of parameters applied to the second parameter of the algorithm, which is the pitch adjustment (PArate).This was created to dynamically change this parameter in the range indicated in the literature, which is from 0 to 1.This methodology was applied to the six previously mentioned benchmark mathematical functions of which 30 experiments are performed.Table 6 shows the results obtained with this modification.In Table 6, the overall averages, best and worst obtained for each mathematical function and each method can be found.The results obtained with the FHS2 using the range of 0 to 1 and rules increment or decrement are presented.
In Table 7, the averages of the 30 experiments for each mathematical function are shown.The best and worst results obtained for each mathematical function, and the overall averages obtained in each function are also shown.The results of these experiments are the best ones in the range of 0.7 to 1 and rules increment with the proposed method is as shown in Table 8.In Table 8, the averages of the 30 experiments for each mathematical function are shown, in addition to the best and worst results obtained for each mathematical function and the overall averages obtained in each function for each method.The results are with the original algorithm and the best fuzzy system, in this case FHS2 with rules and increase in the output range from 0.7 to 1.The best results obtained are of the proposed method.
The third proposal was proposed to make dynamic the HMR and PArate parameters in the range from 0.7 to 1, both for increasing and decreasing the parameters.
In Table 9, the overall averages, as well as best and worst obtained for each mathematical function and method, are presented.The results were obtained with the FHS3 using the range of 0 to 1 and rules increment or decrement are shown.
In Table 10, the averages of the 30 experiments for each mathematical function are shown; also the best and worst results for each mathematical function and the overall average in each function are shown.The results of these experiments use the range of 0.7 to 1 and rules in increment with the proposed method.
Table 9.Comparison of results obtained with FHS 3 using fuzzy logic rules for increasing and decreasing using the range 0 to 1 for the two outputs.In Table 11, the averages of the 30 experiments for each mathematical function are shown.The best and worst results for each mathematical function and the overall average obtained in each function for each method are also shown.The results are with the original algorithm and the best fuzzy system, in this case FHS3 with rules in increase in the output range from 0.7 to 1.The results obtained in this case are better only in two benchmark functions; other evidence is not significant since similar results are obtained.The results of an analysis of Tables 2-11 applying the three proposed fuzzy systems to benchmark mathematical functions using the output range of 0 to 1 with increment and decrement rules, as well as the range of 0.7 to 1 with rules in increment and decrement, are compared in Table 12.In Table 12, the overall averages obtained for each mathematical function of the three proposed fuzzy methods can be found.Figure 15 shows the data plot of the three proposals; it is noteworthy that the algorithm is the fuzzy harmony search with dynamic adjustment of the PArate parameter (FHS2).

FHS3 Rules Increase in
Algorithms 2016, 9, 69 14 of 19 The results of an analysis of Tables 2 to 11 applying the three proposed fuzzy systems to benchmark mathematical functions using the output range of 0 to 1 with increment and decrement rules, as well as the range of 0.7 to 1 with rules in increment and decrement, are compared in Table 12.In Table 12, the overall averages obtained for each mathematical function of the three proposed fuzzy methods can be found.Figure 15 shows the data plot of the three proposals; it is noteworthy that the best algorithm is the fuzzy harmony search with dynamic adjustment of the PArate parameter (FHS2).Based on these experiments of the proposed methods and the original method (with parameters by trial and error), the conclusion is that, for the best results, the most effective range is from 0.7 to 1 and with the rules in increase.

Comparison between of Fuzzy Harmony Search Algorithm (FHS) and of Fuzzy Bat Algorithm (FBA)
This section presents a comparison between two metaheuristic algorithms that apply fuzzy logic to dynamically adapt some of its parameters.In this case it was decided to choose the fuzzy harmony search algorithm with increasing parameters of pitch adjustment since, according to the three proposals that made in this paper, this one obtained better results.This was tested with six benchmark mathematical functions and ten dimensions in each of its harmonies (number of vector solution) or bats that were used; note that the results of the fuzzy bat algorithm was taken from the literature [6].The following tables show the behavior of each of the methods.
Table 13 shows the overall averages for each method according to the number of bats or harmonies used, as well as the best and the worst results obtained for the sphere function.Based on these experiments of the proposed methods and the original method (with parameters by trial and error), the conclusion is that, for the best results, the most effective range is from 0.7 to 1 and with the rules in increase.

Comparison between of Fuzzy Harmony Search Algorithm (FHS) and of Fuzzy Bat Algorithm (FBA)
This section presents a comparison between two metaheuristic algorithms that apply fuzzy logic to dynamically adapt some of its parameters.In this case it was decided to choose the fuzzy harmony search algorithm with increasing parameters of pitch adjustment since, according to the three proposals that made in this paper, this one obtained better results.This was tested with six benchmark mathematical functions and ten dimensions in each of its harmonies (number of vector solution) or bats that were used; note that the results of the fuzzy bat algorithm was taken from the literature [6].The following tables show the behavior of each of the methods.
Table 13 shows the overall averages for each method according to the number of bats or harmonies used, as well as the best and the worst results obtained for the sphere function.In Table 14, the overall averages for each method according to the number of bats or harmonies used can be observed, as well as the best and the worst results obtained for the Ackley function.In Table 15, the overall averages for each method according to the number of bats or harmonies used can be observed, as well as the best and the worst results obtained for the Rosenbrock function.In Table 16, the overall averages for each method according to the number of bats or harmonies used can be observed, as well as the best and the worst results obtained for the Zakharov function.In Table 17, the overall averages for each method according to the number of bats or harmonies used can be found, as well as the best and the worst results obtained for the Rastrigin function.In Table 18, the overall averages for each method according to the number of bats or harmonies used can be observed, as well as the best and the worst results obtained for the sum squared function.

Statistical Comparison
A statistical comparison is also made between the fuzzy bat algorithm (FBA) and the fuzzy harmony search algorithm (FHS), to evaluate the efficiency of each method on each of the six mathematical functions applied.
The statistical test for comparison is the Wilcoxon matched pairs test, which can be used to analyze the data, and whose parameters are given in Table 19.The alternative hypothesis states that the average of the results of the fuzzy harmony search algorithm is different than the average performance of the fuzzy bat algorithm, and therefore the null hypothesis tells us that the average of the results of the fuzzy harmony search algorithm is equal to the average of the fuzzy bat algorithm.
To test the hypothesis, first the absolute values |Z i | . . .|Z n | are sorted and assigned their range rank; the sign column indicates that all values obtained are positive; the signed rank column indicates the order of these values from lowest to highest.
The formula of the statistical test is applied: That is, the sum of the ranges R i corresponding to positive values Z i .The value of W + is the sum of the positive ranks, the value W − is the sum of the negative ranks, W is the differences between two data samples, and W0 indicates the value of the table for a two-tailed test using 30 samples.
The test to evaluate is as follows: If W ≤ W0, then reject Ho.Table 20 shows a statistical test applied to the two fuzzy methods.In applying the Wilcoxon statistic, with a confidence level of 95% and a value of W = 0 and W0 = 1, the W ≤ W0 condition is satisfied, so the statistical test results are as follows: for the fuzzy harmony search, there is significant evidence to reject the null hypothesis and the alternative hypothesis is accepted stating that the average fuzzy harmony search algorithm is different than the average performance of the fuzzy bat algorithm.In summary, one can state that the fuzzy harmony search outperforms the fuzzy bat algorithm for this set of benchmark functions.

Conclusions
The harmony search (HS) algorithm is a relatively new method which can solve various kinds of problems in an easy and effective manner, as it requires many complex calculations.HS can handle the discrete and continuous variables and can be applied to linear and nonlinear functions.
Currently, the parameters of the algorithms are set by trial and error.In this paper, a new algorithm was proposed to achieve better convergence and not stay in local optima.
This paper presents a new algorithm to search for harmony with adjustable fuzzy parameters, in order for the fuzzy system to dynamically move the parameters of this algorithm and subsequently obtain a faster convergence and better results than the original method and others existing in the literature.
The paper proposed three different fuzzy systems to initially move each parameter independently of the algorithm.The harmony memory accepting (HMR) parameter provides exploitation ability to the algorithm, and pitch adjustment (PArate) is controlled by the scanning algorithm; it has a combination of both parameters and each of the changes make mathematical functions applied it to benchmark to test the efficiency of the algorithm.
Finally, an analysis of the results of each of the proposed methods led to the conclusion that when using a range between 0.7 and 1 in each of the parameters, and moving them dynamically using a fuzzy system, better results are achieved with the original method and the other existing methods in the literature applied, in this case, to six mathematical functions benchmarks.However, more variations with the rules of the FHS3 are needed to obtain a significant advantage in all function benchmarks.In the future, when the method is applied to more complex math functions and more dimensions, it is expected to achieve good results in the same number of iterations.Future work includes testing the proposed fuzzy harmony search with other functions and real world applications.In addition, type-2 fuzzy logic could be used instead of type-1, as is done in this paper.

Figure 1 .
Figure 1.Proposal for fuzzy dynamic adaptation of HS.

Figure 1 .
Figure 1.Proposal for fuzzy dynamic adaptation of HS.

Figure 1 .
Figure 1.Proposal for fuzzy dynamic adaptation of HS.

Zakharov 7 .
33 − 05 1.80 − 03 2.71 − 04 Sum Square 4.82 − 06 1.05 − 04 3.59 − 05 In Table 2, the overall averages obtained for each mathematical function are presented.The first column represents the best values of the experiments, the second column represents the worst values of the experiments and the third column represents the averages of the experiments with the original harmony search algorithm.

Figure 15 .
Figure 15.Plot of three proposed fuzzy HS.

Figure 15 .
Figure 15.Plot of three proposed fuzzy HS.

Table 1 .
Parameters for each of the methods.

Table 1 .
Parameters for each of the methods.

Table 2 .
Results obtained using the harmony search algorithm.

Table 2 .
Results obtained using the harmony search algorithm.

Table 2 ,
the overall averages obtained for each mathematical function are presented.The first column represents the best values of the experiments, the second column represents the worst values of the experiments and the third column represents the averages of the experiments with the original harmony search algorithm.

Table 3 .
Comparison of results obtained with the FHS1 using fuzzy logic to increase and decrease of the HMR parameter in the range 0 to 1.

Table 4 .
Results obtained with FHS1 using fuzzy logic to increase and decrease HMR with a range from 0.7 to 1, applied to six benchmark mathematical functions.

Table 5 .
Comparison of results obtained with FHS1 and the harmony search algorithm.

Table 6 .
Results obtained with FHS2 using fuzzy logic to increase and decrease PArate with 0 to 1 range applied to six benchmark mathematical functions.

Table 7 .
Results obtained with FHS2 using fuzzy logic to increase and decrease PArate with a range from 0.7 to 1, applied to 6 benchmark mathematical functions.

Table 8 .
Comparison results obtained with FHS2 and the harmony search algorithm.

Table 10 .
Comparison of results obtained with FHS 3 using fuzzy logic rules for increasing and decreasing using the range 0.7 to 1 for the two outputs.

Table 11 .
Comparison results obtained with FHS3 and the harmony search algorithm.

Table 12 .
Comparison of results obtained with all the proposed methods.

Table 12 .
Comparison of results obtained with all the proposed methods.

Table 13 .
Experiment results obtained for the sphere function with FBA and FHS algorithms.

Table 14 .
Experiment results obtained for the Ackley function with the FBA and FHS algorithms.

Table 15 .
Experiment results obtained for the Rosenbrock function with the FBA and FHS algorithms.

Table 16 .
Experiment results for the Zakharov function with the FBA and FHS algorithms.

Table 17 .
Experiment results for the Rastrigin function with the FBA and FHS algorithms.

Table 18 .
Experiment results for the function sum squared with FBA and FHS algorithms.

Table 19 .
Parameters for the Wilcoxon statistical test.

Table 20 .
Values of parameters for the statistical test.