# A Reward Population-Based Differential Genetic Harmony Search Algorithm
## 3 Improved Harmony Search Algorithm
### Differential Genetic Harmony Search Algorithm (DEGA-HS)  
#### 3.2.1 Mutation of Differential Evolution  
The differential evolution algorithm (DE) is a population-based heuristic search algorithm [26]. The flows of evolution are quite similar to those of the genetic algorithm.  
The operators of both are selection, crossover, and mutation. For the genetic algorithm, crossover goes before mutation. For the DE algorithm, however, mutation goes before crossover. Furthermore, with regard to the specific definition of these operations, there is a difference between the two algorithms.  
Let us assume that a population consists of NP \(N\)-dimensional vector individuals. Then, each population can be expressed as: \(Pop=(x_{1},x_{2},\cdots,x_{NP})\). Generally, after the initialization of a population, the differential mutation operation will generate mutation vectors. The mutation strategy of the DE algorithm is advantageous in overcoming premature convergence. Therefore, it was considered that the mutation operation of the DE algorithm be introduced into the harmony search algorithm to overcome the premature convergence of the harmony search algorithm, thus improving the convergence rate.  
There are many forms of mutation operations, where the common forms are DE/rand/1/bin, DE/best/1/bin, DE/rand to best/1/bin, DE/best/2/bin and so on. As to the representative methods, they are \"selection of DE algorithm\", \"basic vector selection method\", \"number of differential vectors\", and \"crossover methods\". Generally, they are expressed in the form of DE/base/num/cross. If \"best\" is selected for the base part, it means the optimal individual from the population is selected as the basic vector; if \"rand\" is selected, it means random selection. If \"bin\" is selected for the cross part, it means binomial crossover is adopted. The results show that if \"rand\" is selected in the base part, it is favorable for maintaining diversity in populations; if \"best\" is selected, it stresses the convergence rate [27].  
For each individual \(x_{i}\) in a population, a mutation vector of the differential evolution algorithm is generated as per the following formula.  
\[v_{i}=x_{r1}+F(x_{r2}-x_{r3}) \tag{7}\]  
\(r_{1},r_{2}\), and \(r_{3}\) are selected randomly and differ from each other. \(x_{r1}\) is referred to as a basic vector, \((x_{r2}-x_{r3})\) is referred to as a differential vector, and \(F\) is a scaling factor, \(F\in(0,1)\). \(F\) is used to control the size of the differential vector. It is worth noting that an excessively great value of \(F\) will cause difficulties in the convergence of populations, and an excessively small value will reduce the convergence speed.  
In this paper, two mutation strategies of DE are fused to improve the proposed algorithm. \"DE/rand/bin\" is selected randomly during iteration, without using the current optimal solution. Therefore, the convergence rate is relatively low, but the global search ability is strong. During iteration, as \"DE/best/1/bin\" utilizes the current optimal solution, the algorithm is able to better improve the convergence rate. On this basis, \"DE/best/1/bin\" is flexibly used in the memory consideration of the HS algorithm, while \"DE/rand/1/bin\" is used for substituting pitch adjustment in the HS algorithm. The two mutation generation strategies are as follows.  
\[\text{DE/best/1/bin} v_{i}=x_{best}+F(x_{r1}-x_{r2}) \tag{8}\]  
\[\text{DE/rand/1/bin} v_{i}=x_{rand}+F(x_{r1}-x_{r2}) \tag{9}\]