# A Cooperative Harmony Search Algorithm for Function Optimization

Authors: Gang Li; Qingzhong Wang
Journal: Mathematical Problems in Engineering
 (2014)

---

## Abstract

Harmony search algorithm (HS) is a new metaheuristic algorithm which is inspired by a process involving musical improvisation. HS is a stochastic optimization technique that is similar to genetic algorithms (GAs) and particle swarm optimizers (PSOs). It has been widely applied in order to solve many complex optimization problems, including continuous and discrete problems, such as structure design, and function optimization. A cooperative harmony search algorithm (CHS) is developed in this paper, with cooperative behavior being employed as a significant improvement to the performance of the original algorithm. Standard HS just uses one harmony memory and all the variables of the object function are improvised within the harmony memory, while the proposed algorithm CHS uses multiple harmony memories, so that each harmony memory can optimize different components of the solution vector. The CHS was then applied to function optimization problems. The results of the experiment show that CHS is capable of finding better solutions when compared to HS and a number of other algorithms, especially in high-dimensional problems.


---

## Body

## 1. Introduction

Optimization is a very ancient problem which has been researched by numerous mathematicians since time immemorial, including Newton, Gauss, and John von Neumann. They developed numerous mathematical theories and methods that made a considerable contribution to optimization. However, almost all mathematical methods require first-order derivatives or second-order derivatives, or even higher derivatives. When the object function is not too complex, we can compute its derivatives easily, but unfortunately most object functions in the real world are so complex that we cannot compute the derivatives, and even worse, they may have no derivatives at all. In this case, it is very difficult to implement mathematical methods.What should we do, then, to solve complex, nonlinear, nondifferentiable, and multimodal problems? We can perhaps learn from the nature. Many natural phenomena as well as the activities of animals provide us with inspiration and we are able to imitate these phenomena or activities in order to solve complex problems. Over the last four decades, a large number of methods inspired by nature have been developed in order to solve very complex optimization problems [1], and these were called metaheuristic algorithms. All these metaheuristic algorithms imitate natural phenomena, such as evolutionary algorithms (EAs), which include genetic algorithms (GAs) [2], evolutionary programming (EP) [3], and evolution strategy (ES) [4], all of which simulate biological evolution. PSO and ant colony optimization (ACO), for instance, mimic the foraging behavior of animals [5, 6], and simulated annealing (SA) simulates physical annealing process [7]. As a metaheuristic algorithm, HS is no exception, it is inspired by the improvisation process of musical performers [8]. Although the algorithms mentioned above imitate different phenomena, they have some common factors: (1) they all have a random process; (2) the solutions that they show us are just approximate results; (3) they all suffer from the “curse of dimensionality” [9], meaning that the search space will increase exponentially when the number of the dimensions increases. The probabilities of finding the optimality region will thus decrease. One way of overcoming this drawback is to partition higher dimensional search space into lower dimensional subspaces.Potter and De Jong [10, 11] have proposed a general framework for cooperative coevolutionary algorithms and then they applied the method to the GA (CCGA). They suggested that the higher dimensional solution vectors should be split into smaller vectors, with each vector just being a part of a complete solution, so that they must cooperate with each other to constitute a potential solution. In this paper, we apply Potter and De Jong’s cooperative method to the HS to enhance the performance of standard HS.The rest of this paper is organized as follows. Section2 presents an overview of the standard HS and some other improved HS algorithms and Section 3 demonstrates the convergence of HS and explains why the improved HS performs better than the standard HS. In Section 4, the cooperative method is briefly introduced, and then the proposed CHS algorithm is elaborated. Section 5 describes the benchmark functions used to test the new algorithm and the experimental results can be found in Section 6. Finally, the conclusions are given in Section 7.


## 2. Harmony Search Algorithms

The HS algorithm, originally conceived by Geem et al. in 2001 [8], was inspired by musical improvisation. There are always three ways open to a musician [12], when he or she is improvising. The first is when he or she plays a piece of music that he or she remembers exactly; the second is when a musician plays something that is similar to what he or she remembers exactly, the musician possibly being engaged in improvisation based on the original harmony by adjusting the pitch slightly. The last one involves a composition that is new. The process employed by the musicians in order to find the best harmony is likely to be the process of optimization. In fact, the HS algorithm mimics the process used to solve optimization problems, with this algorithm being widely applied in order to solve optimization problems, including water network design [13, 14], PID controller design [15], Cluster analysis, and function optimization [16, 17]. Several approaches have been taken in order to improve the performance of the standard HS, some of which are discussed in the following subsections.


### 2.1. The Standard HS (SHS)

When we use an algorithm to solve problems, firstly we must know what the problems are. Assuming that there is an unconstrained optimization problem which can be described as follows:(1)min⁡⁡f(X)s.t.Lxi≤xi≤Uxi,i=1,2,…,n,
where f(X) is the object function, X is the set of each decision variable, xi is the ith decision variable, Lxi and Uxi are the lower and upper bounds of the ith decision variable, and n is the number of decision variables. To apply SHS to solve the optimization problem mentioned above, five steps should be taken [1] as follows.Step 1.
Initialize the problem algorithm parameters. The problem parameters liken, Lxi, Uxi should be initialized in this step. In addition, four algorithm parameters should be initialized, including harmony memory size (HMS), harmony memory considering rate (HMCR), pitch adjusting rate (PAR), and the maximum number of improvisation (Tmax⁡), or stopping criterion.Step 2.
Initialize the harmony memory. The SHS is similar to GAs. GAs are population based optimization algorithms, but the “population” in SHS is referred to as harmony memory (HM), which is composed of solution vectors. The structure of HM is as follows:(2)HM=[x11x21⋯xn1x12x12⋯xn2⋮⋮⋱⋮x1HMSx2HMS⋯xnHMS],
where xji is the jth decision variable of the ith solution vector. Generally, we initialize the HM randomly. For xji, it can be generated by using the following equation:
(3)xji=Lxj+(Uxj-Lxj)×rand(),
where rand() is a random number between 0 and 1.Step 3.
Improvise a new harmony. This step is the core step of SHS. A new harmony vectorXnew=(x1new,x2new,…,xnnew) is improvised according to these three rules: (1) harmony memory consideration; (2) pitch adjustment; (3) randomization. The probabilities of harmony consideration and pitch adjustment are dependent on HMCR and PAR. For instance, the ith variable xinew of the new harmony vector can be improvised as follows:
(4)xinew=xinew∈{xi1,xi2,…,xiHMS},(5)xinew=Lxj+(Uxi-Lxi)×rand().
In fact, before the variable is generated, we should generate a random numberr1 between 0 and 1, then we compare r1 with HMCR, if r1≤HMCR; (4) is used to improvise the variable; otherwise, the variable will be improvised by using (5). For example, if HMCR=0.95, then the HS algorithm will choose a decision variable from the HM with a 95% probability. And if the variable is chosen from the HM, then it will be adjusted with probability PAR as follows:
(6)xinew=xinew±bw×rand()withprobabilityPAR,
where bw is an arbitrary distance bandwidth and rand() is a random number between 0 and 1.Step 4.
Update the HM. If the new improvised harmony vector is better than the worst harmony vector in the HM in terms of the object function value, the worst harmony in the HM is superseded by the new harmony vector.Step 5.
Check stopping criterion. If the stopping criterion is satisfied, the iteration is terminated. If not, Steps3 and 4 are repeated.The pseudocode of SHS is shown in Pseudocode1.Pseudocode 1:Pseudocode for the SHS algorithm.
Initialize parameters and HM
while  t<Tmax⁡  do
For  i=1  to  n  do
if  rand()≤HMCR  then
xinew=xij, where j~U(1,2,…,HMS)
if  rand()≤PAR  then
xinew=xinew±bw×rand()
end if
else
xinew=Lxj+(Uxi-Lxi)×rand()
end if
end for
Update HM
end while


### 2.2. Improved HSs

The SHS algorithm was introduced in the last subsection, and in this subsection several improved HSs are introduced. PAR and bw are two important parameters of HS, deciding the accuracy of the solution. As the number of iteration increases, the HM becomes better and the solution is closer to the global optimal position. We should use a smaller bw to adjust the pitches, and this adjustment should be with a higher probability, but all parameters are fixed within the SHS algorithm, meaning that they cannot change. If we choose a low PAR and a narrow bw, the SHS will converge slowly, but on the other hand, if we choose a very high PAR and a wide bw, the SHS will converge fast, although the solution may scatter around some potential optimals as a random search. A dynamic adjustment strategy for parameters, especially for PAR and bw, is therefore very necessary.A dynamic adjustment strategy for PAR and bw was proposed by Mahdavi et al. in 2007 [18]. They suggested that PAR should increase linearly and bw should index decrease. They can change with generation number as shown in Figure 1 by using the following equations:
(7)PAR(t)=PARmin⁡+PARmax⁡-PARmin⁡Tmax⁡×t,bw(t)=bwmax⁡×exp⁡⁡(ln⁡⁡(bwmin⁡/bwmax⁡)Tmax⁡×t),
where PAR(t) and bw(t) are the pitch adjusting rate and bandwidth for each generation, PARmin⁡ and bwmin⁡ are the minimum pitch adjusting rate and bandwidth, PARmax⁡ and bwmax⁡ are the maximum pitch adjusting rate and bandwidth, and t is the generation number. The drawback of the IHS is that we have to specify the PARmin⁡,PARmax⁡,bwmin⁡, and bwmax⁡, which is essentially very difficult, and we are unable to guess without experience.Variation of PAR and bw versus generation number.
(a)
(b)The IHS algorithm merely changes the parameters dynamically, while some other improved HSs are capable of changing the search strategy of SHS, such as the global best HS (GHS) proposed by Omran and Mahdavi [19]. The GHS is inspired by the concept of swarm intelligence as proposed in PSO. In PSO, the position of each particle presents a candidate solution, so that, when a particle flies through the search space, the position of the particle is influenced by the best position itself has visited so far and the position of the best particle among the swarm, in other words, there are some similarities between the new position and the best position. In GHS, the new harmony vector can mimic the best harmony in the HM. The difference between GHS and SHS is the pitch adjustment strategy, with the variable being adjusted in SHS using (6), while in GHS it is adjusted using the following equation:
(8)xinew=xkbestwithprobabilityPAR,
where best is the index of the best harmony in the HM and k~U(1,n).The results of the experiment show that these two improved harmony search algorithms can find better solutions when compared with SHS.


## 2.1. The Standard HS (SHS)

When we use an algorithm to solve problems, firstly we must know what the problems are. Assuming that there is an unconstrained optimization problem which can be described as follows:(1)min⁡⁡f(X)s.t.Lxi≤xi≤Uxi,i=1,2,…,n,
where f(X) is the object function, X is the set of each decision variable, xi is the ith decision variable, Lxi and Uxi are the lower and upper bounds of the ith decision variable, and n is the number of decision variables. To apply SHS to solve the optimization problem mentioned above, five steps should be taken [1] as follows.Step 1.
Initialize the problem algorithm parameters. The problem parameters liken, Lxi, Uxi should be initialized in this step. In addition, four algorithm parameters should be initialized, including harmony memory size (HMS), harmony memory considering rate (HMCR), pitch adjusting rate (PAR), and the maximum number of improvisation (Tmax⁡), or stopping criterion.Step 2.
Initialize the harmony memory. The SHS is similar to GAs. GAs are population based optimization algorithms, but the “population” in SHS is referred to as harmony memory (HM), which is composed of solution vectors. The structure of HM is as follows:(2)HM=[x11x21⋯xn1x12x12⋯xn2⋮⋮⋱⋮x1HMSx2HMS⋯xnHMS],
where xji is the jth decision variable of the ith solution vector. Generally, we initialize the HM randomly. For xji, it can be generated by using the following equation:
(3)xji=Lxj+(Uxj-Lxj)×rand(),
where rand() is a random number between 0 and 1.Step 3.
Improvise a new harmony. This step is the core step of SHS. A new harmony vectorXnew=(x1new,x2new,…,xnnew) is improvised according to these three rules: (1) harmony memory consideration; (2) pitch adjustment; (3) randomization. The probabilities of harmony consideration and pitch adjustment are dependent on HMCR and PAR. For instance, the ith variable xinew of the new harmony vector can be improvised as follows:
(4)xinew=xinew∈{xi1,xi2,…,xiHMS},(5)xinew=Lxj+(Uxi-Lxi)×rand().
In fact, before the variable is generated, we should generate a random numberr1 between 0 and 1, then we compare r1 with HMCR, if r1≤HMCR; (4) is used to improvise the variable; otherwise, the variable will be improvised by using (5). For example, if HMCR=0.95, then the HS algorithm will choose a decision variable from the HM with a 95% probability. And if the variable is chosen from the HM, then it will be adjusted with probability PAR as follows:
(6)xinew=xinew±bw×rand()withprobabilityPAR,
where bw is an arbitrary distance bandwidth and rand() is a random number between 0 and 1.Step 4.
Update the HM. If the new improvised harmony vector is better than the worst harmony vector in the HM in terms of the object function value, the worst harmony in the HM is superseded by the new harmony vector.Step 5.
Check stopping criterion. If the stopping criterion is satisfied, the iteration is terminated. If not, Steps3 and 4 are repeated.The pseudocode of SHS is shown in Pseudocode1.Pseudocode 1:Pseudocode for the SHS algorithm.
Initialize parameters and HM
while  t<Tmax⁡  do
For  i=1  to  n  do
if  rand()≤HMCR  then
xinew=xij, where j~U(1,2,…,HMS)
if  rand()≤PAR  then
xinew=xinew±bw×rand()
end if
else
xinew=Lxj+(Uxi-Lxi)×rand()
end if
end for
Update HM
end while


## 2.2. Improved HSs

The SHS algorithm was introduced in the last subsection, and in this subsection several improved HSs are introduced. PAR and bw are two important parameters of HS, deciding the accuracy of the solution. As the number of iteration increases, the HM becomes better and the solution is closer to the global optimal position. We should use a smaller bw to adjust the pitches, and this adjustment should be with a higher probability, but all parameters are fixed within the SHS algorithm, meaning that they cannot change. If we choose a low PAR and a narrow bw, the SHS will converge slowly, but on the other hand, if we choose a very high PAR and a wide bw, the SHS will converge fast, although the solution may scatter around some potential optimals as a random search. A dynamic adjustment strategy for parameters, especially for PAR and bw, is therefore very necessary.A dynamic adjustment strategy for PAR and bw was proposed by Mahdavi et al. in 2007 [18]. They suggested that PAR should increase linearly and bw should index decrease. They can change with generation number as shown in Figure 1 by using the following equations:
(7)PAR(t)=PARmin⁡+PARmax⁡-PARmin⁡Tmax⁡×t,bw(t)=bwmax⁡×exp⁡⁡(ln⁡⁡(bwmin⁡/bwmax⁡)Tmax⁡×t),
where PAR(t) and bw(t) are the pitch adjusting rate and bandwidth for each generation, PARmin⁡ and bwmin⁡ are the minimum pitch adjusting rate and bandwidth, PARmax⁡ and bwmax⁡ are the maximum pitch adjusting rate and bandwidth, and t is the generation number. The drawback of the IHS is that we have to specify the PARmin⁡,PARmax⁡,bwmin⁡, and bwmax⁡, which is essentially very difficult, and we are unable to guess without experience.Variation of PAR and bw versus generation number.
(a)
(b)The IHS algorithm merely changes the parameters dynamically, while some other improved HSs are capable of changing the search strategy of SHS, such as the global best HS (GHS) proposed by Omran and Mahdavi [19]. The GHS is inspired by the concept of swarm intelligence as proposed in PSO. In PSO, the position of each particle presents a candidate solution, so that, when a particle flies through the search space, the position of the particle is influenced by the best position itself has visited so far and the position of the best particle among the swarm, in other words, there are some similarities between the new position and the best position. In GHS, the new harmony vector can mimic the best harmony in the HM. The difference between GHS and SHS is the pitch adjustment strategy, with the variable being adjusted in SHS using (6), while in GHS it is adjusted using the following equation:
(8)xinew=xkbestwithprobabilityPAR,
where best is the index of the best harmony in the HM and k~U(1,n).The results of the experiment show that these two improved harmony search algorithms can find better solutions when compared with SHS.


## 3. Convergence of HS Algorithm

As a metaheuristic algorithm, HS is capable of finding local optima and the global optimum, but why can it converge on local or global optima, and which operator or parameter may have effects on the speed of convergence? All of these problems are unsolved. In this section, we endeavor to solve the problems.As we noted in the last section, HS has an operator referred to as “HM updating,” the fourth step of HS. This is an indispensable step for HS, because this operator guarantees the convergence of HS, without it HS may not find even a local minimum. In order to explain this, some definitions and theorems are necessary.Definition 1 (monotone sequences).
A sequence{xn} is said to be monotonically increasing provided that
(9)xn+1≥xn
for every natural number n.
A sequence{xn} is said to be monotonically decreasing provided that
(10)xn+1≤xn
for every natural number n.
A sequence{xn} is called monotone if it is either monotonically increasing or monotonically decreasing.Theorem 2 (the monotone convergence theorem).
A monotone sequence converges if and only if it is bounded.Proof.
Firstly, let us suppose that the sequence{xn} is a monotonically increasing sequence. Then we can define S={xn∣n∈ℕ}, assuming that S is bounded above. According to theCompleteness Axiom, S has a least upper bound, we can call it x. We claim that the sequence {xn} converges to x. To claim this, we must prove that for all integers, n≥N and ϵ>0 provided that
(11)|xn-x|<ϵ,
that is,
(12)x-ϵ<xn<x+ϵ∀integersn≥N.
Sincex is the least upper bound for the set S, so
(13)xn≤x<x+ϵ∀integersn≥N.
Furthermore,x-ϵ is not an upper bound for set S, so there must be a natural number N such that x-ϵ<xN, since the sequence is monotonically increasing, so
(14)x-ϵ<xN≤xn∀integersn≥N.
We have now proved that a monotonically increasing sequence must converge to its least upper bound and, in the same way, we can also claim that a monotonically decreasing sequence must converge to its greatest lower bound.To return to the HS algorithm mentioned in the previous section: when HS finds a solution which is better than the worst harmony in the current HM, then the operator “HM updating” is implemented, which means that for the current iteration, the algorithm finds a solution that is not worse than the one that was found by the algorithm in the last iteration. Suppose that the problem to be solved is the minimum problem described as (1), the current solution offered is xn+1 and the last found solution is xn, then we have xn+1≤xn, and if we let the best solution in HM for each iteration constitute a sequence S={xn∣n∈N}, the sequence must be a monotonically decreasing sequence as in Definition 1, and as we have proved, if the sequence has a greatest lower bound, the sequence must converge to the greatest lower bound.In fact, for a continuous function, suppose that the function is namedf(X), and if X∈[a,b]n, where n is the dimension of X, then there must be a number f(X1) and a number f(X2) (assuming that f(X1)≤f(X2)) satisfying the following inequality:
(15)f(X1)≤f(X)≤f(X2).So in the case that the object functionf(X) is continuous and xi∈[ai,bi], where i=1,2,…,n and X=(x1,x2,…,xn), then the sequence {fk} which is composed of the best solution fk in the HM for the kth iteration is bounded and f(X1)<fk<f(X2), as we have mentioned above for a minimum problem, the sequence {fk} is monotonically decreasing, so {fk} must converge.We have explained that HS must converge, but can it converge tof(X1)? In fact, f(X1) is the global optimum of the object function. From Theorem 2, we know that if f(X1) is the greatest lower bound, {fk} must converge to f(X1). The problem is whether f(X1) is the greatest lower bound for {fk}. This is, in fact, difficult to solve. HS is a stochastic algorithm and for each iteration, the best solution in HM is random so that it is not a fixed predictable number, but we are able to calculate the probability that the HM is updated with. An example would be as follows: suppose that the object function is a minimum problem, the expression is f(x)=x2 which has only one dimension, and x∈[xL,xU], and HMS=1, for the kth iteration, the best solution is f(xk) (suppose that xk>0), so the HM is updated with probability HMCR×PAR×0.5+(1-HMCR)×(xk/(xU-xL)) when 2xk>bw or HMCR×PAR×0.5×(2xk/bw)+(1-HMCR)×(xk/(xU-xL)) when 2xk≤bw. The higher the probability is, the more quickly the HM is updated. From the expression, it is clear that the probability decreases by xk, so that as the iteration number increases, the probability decreases sharply, and the convergence curve becomes flatter.This might also explain why IHS performs better than SHS. The two parametersPAR and bw are very important for HS. In SHS, the two parameters are fixed while in IHS, PAR increases linearly and the bw index decreases, so that, from the expression of the HM updated probability, we can see that this is very reasonable, owing to the fact that this strategy is capable of making the probability decrease slowly, with IHS generally performing better. The results of this experiment are demonstrated in Section 6.


## 4. CHS Algorithm

### 4.1. A Brief Overview of Cooperative Method

The natural world is a very complex system, and evolution is one element within it. EAs imitate the evolution of species, but they are just a simple simulation and almost all EAs just mimic the evolution of one species. There are a large number of species on the earth, with some of them being closely associated [20]. In order to survive, different individuals from different species or the same species may compete or cooperate with each other. Cooperative coevolutionary algorithms just act as models of symbiotic coevolution. The individuals are from different species or subpopulations, and they have to cooperate with some others. The difficulty involved in cooperative coevolutationary algorithms is how to split the fitness that is achieved by collective effort definitively [21, 22].Potter and De Jong applied the method to GA, coming up with CCGA. They evolved the solutions in different subpopulations, and each subpopulation has just one dimension of the solution vector. The pseudocode for the CCGA is given in Pseudocode2. The initial fitness of each subpopulation member is computed by combining it with a random individual from each of the other subpopulations and then using the object function to evaluate the complete solution. After initializing, one individual of a subpopulation cooperates only with the best individual from each of the other subpopulations.Pseudocode 2:Pseudocode for the CCGA.
Initialize parameters of algorithm
for each subpopulation do
Initialize all the subpoputions randomly
Evaluate the fitness of each individual
end for
while termination condition is false do
for each subpopulation  do
Using GA operators to generate offsprings
Evaluate the fitness of each off spring
end for
end whilePotter and De Jong also found that the cooperative approach does not perform well when problem parameters are strongly interdependent, due to the greediness of the credit assignment approach [11]. To reduce greediness, Potter and De Jong suggested that random collaboration should be used to generate a complete solution. An individual from one subpopulation can collaborate with the best individual of each of the other subpopulations and then constitute one complete solution, or the individual can cooperate with one individual of each of the other subpopulations randomly and then generate another solution. The fitness of the individual is equal to the better fitness between the two solutions.


### 4.2. The CHS

In the CHS algorithm, to reduce the complexity, we usem(m≤n) HMs instead of n HMs, where n is the number of decision variables. The pseudocode for CHS algorithm is shown in Pseudocode 3. Each HM may thus contain more than one decision variables, so that, for each HM, we can use the HS operators including harmony consideration and pitch adjustment to generate a new harmony vector, but the vector is just a part of a complete solution vector, and it must collaborate with harmony vectors from every other HM, and as we have mentioned above, when initializing HMs, the cooperation is random. When calculating a new harmony vector which is improvised by using HS operators, it cooperates only with the best ones of each HM. This is similar to several musicians working together to find the best harmony, with each musician being in charge of a part of the whole symphony, assuming that all of them are selfless. When they work together, each one shares the best harmony that he or she has found by himself or herself. In our daily life, teamwork is very universal, and generally it is more effective than work being carried out alone.Pseudocode 3:Pseudocode for the CHS algorithm.
Initialize the parameters
Divide then decision variables into m groups
for each HM do
Initialize HM randomly
end for
while termination condition is false do
calculate PAR and bw by using
Equation (7)
for each HM do
generate a new harmony
evaluate the new harmony
end for
end whileWe should ask why it brings better solutions when using cooperative method. There are few mathematical foundations for the method, but this can be explained by using an example. HM updating is very important for the HS algorithm, when the HM is updated, it indicates that a better solution may be found. If the HM is updated with a higher probability or in other words, the algorithm has a higher probability of finding better solutions, it will converge faster. For instance, suppose that the object function ismin⁡⁡f(x,y)=x2+y2, it has two decision variables x and y, and x∈[xmin⁡,xmax⁡], y∈[ymin⁡,ymax⁡]. It is quite obvious that the origin is the global optimum. Assume that the worst solution vector in the initial HM is (x0,y0), which is called point A and is shown in Figure 2. If we use the CHS algorithm, two HMs will be used, one HM (HM1) representing x and another (HM2) representing y. In one cycle, the HMs are used one by one and when HM1 is used to generate a new harmony vector, this new vector must cooperate with the best one in HM2 in order to constitute a complete solution vector, meaning that y is fixed when the algorithm searches in the subspace x, and it is the same for y.Figure 2
Diagram illustrating the advantage of CHS algorithm.Wheny is fixed, the CHS algorithm is able to find a better solution with probability d2/L2, and when x is fixed, the probability is d1/L1, so after one cycle, the CHS algorithm has the PCHS probability of updating the HM, where PCHS=d1/L1+d2/L2, but for SHS algorithm, if the HM is updated, the algorithm must find a solution which is located in the circular region, so the HM is updated with probability PSHS, where PSHS=πR2/L1L2. Also, PCHS=d1/L1+d2/L2=(d2L1+d1L2)/L1L2, because of d2L1+d1L2>d22+d12>πR2, so PCHS>PSHS, which means that the CHS algorithm has a higher probability of updating HM than the SHS algorithm, meaning that the CHS is able to find better solutions than the SHS algorithm.The cooperative method also has disadvantages, however, with one being that the CHS algorithm is easier to trap in a local minimum. This phenomenon is shown in Figure3, in which point A is a local minimum point and point O or the origin is the global minimum point; the area where A is located in is local minimum area and the global minimum region is where O is located. If the algorithm is trapped in point A, when we use the CHS algorithm in every iteration, only one subspace is searched. Assuming that y is fixed and x is searched, irrespective of the value of x, the CHS algorithm has no way of reaching the global minimum region, and it is the same for y. In this case, the CHS algorithm will never escape from the local minimum. For the SHS algorithm, however, it is possible to reach the global minimum area, although the probability is low.Figure 3
Diagram illustrating the disadvantage of CHS algorithm.


## 4.1. A Brief Overview of Cooperative Method

The natural world is a very complex system, and evolution is one element within it. EAs imitate the evolution of species, but they are just a simple simulation and almost all EAs just mimic the evolution of one species. There are a large number of species on the earth, with some of them being closely associated [20]. In order to survive, different individuals from different species or the same species may compete or cooperate with each other. Cooperative coevolutionary algorithms just act as models of symbiotic coevolution. The individuals are from different species or subpopulations, and they have to cooperate with some others. The difficulty involved in cooperative coevolutationary algorithms is how to split the fitness that is achieved by collective effort definitively [21, 22].Potter and De Jong applied the method to GA, coming up with CCGA. They evolved the solutions in different subpopulations, and each subpopulation has just one dimension of the solution vector. The pseudocode for the CCGA is given in Pseudocode2. The initial fitness of each subpopulation member is computed by combining it with a random individual from each of the other subpopulations and then using the object function to evaluate the complete solution. After initializing, one individual of a subpopulation cooperates only with the best individual from each of the other subpopulations.Pseudocode 2:Pseudocode for the CCGA.
Initialize parameters of algorithm
for each subpopulation do
Initialize all the subpoputions randomly
Evaluate the fitness of each individual
end for
while termination condition is false do
for each subpopulation  do
Using GA operators to generate offsprings
Evaluate the fitness of each off spring
end for
end whilePotter and De Jong also found that the cooperative approach does not perform well when problem parameters are strongly interdependent, due to the greediness of the credit assignment approach [11]. To reduce greediness, Potter and De Jong suggested that random collaboration should be used to generate a complete solution. An individual from one subpopulation can collaborate with the best individual of each of the other subpopulations and then constitute one complete solution, or the individual can cooperate with one individual of each of the other subpopulations randomly and then generate another solution. The fitness of the individual is equal to the better fitness between the two solutions.


## 4.2. The CHS

In the CHS algorithm, to reduce the complexity, we usem(m≤n) HMs instead of n HMs, where n is the number of decision variables. The pseudocode for CHS algorithm is shown in Pseudocode 3. Each HM may thus contain more than one decision variables, so that, for each HM, we can use the HS operators including harmony consideration and pitch adjustment to generate a new harmony vector, but the vector is just a part of a complete solution vector, and it must collaborate with harmony vectors from every other HM, and as we have mentioned above, when initializing HMs, the cooperation is random. When calculating a new harmony vector which is improvised by using HS operators, it cooperates only with the best ones of each HM. This is similar to several musicians working together to find the best harmony, with each musician being in charge of a part of the whole symphony, assuming that all of them are selfless. When they work together, each one shares the best harmony that he or she has found by himself or herself. In our daily life, teamwork is very universal, and generally it is more effective than work being carried out alone.Pseudocode 3:Pseudocode for the CHS algorithm.
Initialize the parameters
Divide then decision variables into m groups
for each HM do
Initialize HM randomly
end for
while termination condition is false do
calculate PAR and bw by using
Equation (7)
for each HM do
generate a new harmony
evaluate the new harmony
end for
end whileWe should ask why it brings better solutions when using cooperative method. There are few mathematical foundations for the method, but this can be explained by using an example. HM updating is very important for the HS algorithm, when the HM is updated, it indicates that a better solution may be found. If the HM is updated with a higher probability or in other words, the algorithm has a higher probability of finding better solutions, it will converge faster. For instance, suppose that the object function ismin⁡⁡f(x,y)=x2+y2, it has two decision variables x and y, and x∈[xmin⁡,xmax⁡], y∈[ymin⁡,ymax⁡]. It is quite obvious that the origin is the global optimum. Assume that the worst solution vector in the initial HM is (x0,y0), which is called point A and is shown in Figure 2. If we use the CHS algorithm, two HMs will be used, one HM (HM1) representing x and another (HM2) representing y. In one cycle, the HMs are used one by one and when HM1 is used to generate a new harmony vector, this new vector must cooperate with the best one in HM2 in order to constitute a complete solution vector, meaning that y is fixed when the algorithm searches in the subspace x, and it is the same for y.Figure 2
Diagram illustrating the advantage of CHS algorithm.Wheny is fixed, the CHS algorithm is able to find a better solution with probability d2/L2, and when x is fixed, the probability is d1/L1, so after one cycle, the CHS algorithm has the PCHS probability of updating the HM, where PCHS=d1/L1+d2/L2, but for SHS algorithm, if the HM is updated, the algorithm must find a solution which is located in the circular region, so the HM is updated with probability PSHS, where PSHS=πR2/L1L2. Also, PCHS=d1/L1+d2/L2=(d2L1+d1L2)/L1L2, because of d2L1+d1L2>d22+d12>πR2, so PCHS>PSHS, which means that the CHS algorithm has a higher probability of updating HM than the SHS algorithm, meaning that the CHS is able to find better solutions than the SHS algorithm.The cooperative method also has disadvantages, however, with one being that the CHS algorithm is easier to trap in a local minimum. This phenomenon is shown in Figure3, in which point A is a local minimum point and point O or the origin is the global minimum point; the area where A is located in is local minimum area and the global minimum region is where O is located. If the algorithm is trapped in point A, when we use the CHS algorithm in every iteration, only one subspace is searched. Assuming that y is fixed and x is searched, irrespective of the value of x, the CHS algorithm has no way of reaching the global minimum region, and it is the same for y. In this case, the CHS algorithm will never escape from the local minimum. For the SHS algorithm, however, it is possible to reach the global minimum area, although the probability is low.Figure 3
Diagram illustrating the disadvantage of CHS algorithm.


## 5. Experimental Setup

### 5.1. Benchmark Functions

Ten benchmark functions (five unrotated and five rotated) have been chosen to test the performance of the CHS algorithm, and SHS, his, and GHS algorithms are also tested for the sake of comparison. The unrotated functions are as follows.The Quadric function is(16)f1(X)=∑i=1n(∑j=1ixj‍)2‍,
where n=30, X∈[-100,100]30. This function is a nonseparable unimodal function, with the global minimum point being X*=(0,0,…,0).Ackley’s function is(17)f2(X)=-20exp⁡⁡(-0.21n⁡∑i=1n‍xi2)+20-exp⁡⁡(1n⁡∑i=1ncos⁡⁡(2πxi)‍)+e,
where n=30, X∈[-30,30]30. Ackley’s function is a separable multimodal function, with the global optimum being X*=(0,0,…,0).The Generalized Rastrigin function is(18)f3(X)=∑i=1n(xi2-10cos⁡⁡(2πxi)+10),
where n=30, X∈[-5.12,5.12]30. The Rastrigin function is a separable multimodal function, with the global optimum being X*=(0,0,…,0).The Generalized Griewank function is(19)f4(X)=14000∑i=1nxi2‍-∏i=1ncos⁡⁡(xii)‍+1,
where n=30, X∈[-600,600]30. This function is a very complex, nonlinear, separable, and multimodal function and is very difficult for optimization algorithms. The global optimum is X*=(0,0,…,0).Rosenbrock’s function (or Banana-valley function) is(20)f5(X)=∑i=1n-1(100(xi2-xi+1)2+(1-xi)2),‍
where n=30, X∈[-2.048,2.048]30. Rosenbrock’s function is a naturally nonseparable function, the global optimum being X*=(1,1,…,1) which is located in a narrow valley; it is very hard for algorithms to find the correct direction and reach to the global minimum area.The parameters of rotated functions are the same as unrotated functions and all the orthogonal matrices are fixed, meaning that all functions are rotated at a fixed angle.


### 5.2. Configuration of Algorithms

The iteration number of each experiment is3×104, with all the experiments being ran independently 30 times. The results reported are averages, and the best solutions have been calculated from all 30 runs. The parameters of the algorithms are as follows.(i)
Parameters of the SHS algorithm:HMS=30 and HMCR=0.95. This was suggested by Yang [12]. PAR=0.3 and bw=0.01. The values of the last two parameters (PAR, bw) were suggested by Omran and Mahdavi [19].(ii)
Parameters of the IHS algorithm:HMS=30 and HMCR=0.95, with PAR increasing linearly over time (by using (7)), and PARmin⁡=0.01, PARmax⁡=0.99 which were suggested by Omran and Mahdavi [19]. bw decreases by using (6), and bwmin⁡=1e-005, bwmax⁡=5.(iii)
Parameters of the GHS algorithm:HMS=30, HMCR=0.95, PARmin⁡=0.01, and PARmax⁡=0.99.(iv)
Parameters of the CHS algorithm:HMS=30, HMCR=0.95, PARmin⁡=0.01, PARmax⁡=0.99, bwmin⁡=1e-005, bwmax⁡=5, and the number of groups m=6,10,15,30.


## 5.1. Benchmark Functions

Ten benchmark functions (five unrotated and five rotated) have been chosen to test the performance of the CHS algorithm, and SHS, his, and GHS algorithms are also tested for the sake of comparison. The unrotated functions are as follows.The Quadric function is(16)f1(X)=∑i=1n(∑j=1ixj‍)2‍,
where n=30, X∈[-100,100]30. This function is a nonseparable unimodal function, with the global minimum point being X*=(0,0,…,0).Ackley’s function is(17)f2(X)=-20exp⁡⁡(-0.21n⁡∑i=1n‍xi2)+20-exp⁡⁡(1n⁡∑i=1ncos⁡⁡(2πxi)‍)+e,
where n=30, X∈[-30,30]30. Ackley’s function is a separable multimodal function, with the global optimum being X*=(0,0,…,0).The Generalized Rastrigin function is(18)f3(X)=∑i=1n(xi2-10cos⁡⁡(2πxi)+10),
where n=30, X∈[-5.12,5.12]30. The Rastrigin function is a separable multimodal function, with the global optimum being X*=(0,0,…,0).The Generalized Griewank function is(19)f4(X)=14000∑i=1nxi2‍-∏i=1ncos⁡⁡(xii)‍+1,
where n=30, X∈[-600,600]30. This function is a very complex, nonlinear, separable, and multimodal function and is very difficult for optimization algorithms. The global optimum is X*=(0,0,…,0).Rosenbrock’s function (or Banana-valley function) is(20)f5(X)=∑i=1n-1(100(xi2-xi+1)2+(1-xi)2),‍
where n=30, X∈[-2.048,2.048]30. Rosenbrock’s function is a naturally nonseparable function, the global optimum being X*=(1,1,…,1) which is located in a narrow valley; it is very hard for algorithms to find the correct direction and reach to the global minimum area.The parameters of rotated functions are the same as unrotated functions and all the orthogonal matrices are fixed, meaning that all functions are rotated at a fixed angle.


## 5.2. Configuration of Algorithms

The iteration number of each experiment is3×104, with all the experiments being ran independently 30 times. The results reported are averages, and the best solutions have been calculated from all 30 runs. The parameters of the algorithms are as follows.(i)
Parameters of the SHS algorithm:HMS=30 and HMCR=0.95. This was suggested by Yang [12]. PAR=0.3 and bw=0.01. The values of the last two parameters (PAR, bw) were suggested by Omran and Mahdavi [19].(ii)
Parameters of the IHS algorithm:HMS=30 and HMCR=0.95, with PAR increasing linearly over time (by using (7)), and PARmin⁡=0.01, PARmax⁡=0.99 which were suggested by Omran and Mahdavi [19]. bw decreases by using (6), and bwmin⁡=1e-005, bwmax⁡=5.(iii)
Parameters of the GHS algorithm:HMS=30, HMCR=0.95, PARmin⁡=0.01, and PARmax⁡=0.99.(iv)
Parameters of the CHS algorithm:HMS=30, HMCR=0.95, PARmin⁡=0.01, PARmax⁡=0.99, bwmin⁡=1e-005, bwmax⁡=5, and the number of groups m=6,10,15,30.


## 6. Results

This section shows the experimental results gathered by allowing all of the methods tested to run for a fixed number of function evaluations, that is,3×104. All the results are shown in Table 1 to Table 10, for each table, the first column represents the algorithms used, the second lists the mean error and 95% confidence interval after 3×104 times iteration, and the third lists the best solution found by the algorithm after 30 runs. We should not forget that all the functions have a minimum function value of 0.Table 1
Results of unrotated Quadric function.
Algorithm
Mean
Best
SHS
5.46
e
+
003
±
5.97
e
+
002
2.38
e
+
003
IHS
5.87
e
+
003
±
7.37
e
+
002
1.67
e
+
003
GHS
2.55
e
+
003
±
2.11
e
+
003
3.64
e
+
000
CHS6
1.91
e
+
003
±
2.61
e
+
001
5.53
e
+
002
CHS10
2.05
e
+
003
±
3.82
e
+
002
9.13
e
+
002
CHS15
2.29
e
+
003
±
6.42
e
+
002
3.97
e
+
002
CHS30
1.24
e
+
003
±
4.95
e
+
002
6.36
e
+
001Table1 shows the experimental results of the unrotated Quadric function; this is a nonseparable function, and it is hard to optimize for HS algorithms, but GHS is better able to solve the problem during the 30 runs; CHS30 also finds a satisfying solution. Table 2 shows the experimental results of the rotated Quadric function. The results are very different from those shown in Table 1.Table 2
Results of rotated Quadric function.
Algorithm
Mean
Best
SHS
8.09
e
+
002
±
3.04
e
+
002
9.72
e
+
002
IHS
1.09
e
+
003
±
4.35
e
+
002
1.05
e
+
002
GHS
8.99
e
+
002
±
6.22
e
+
002
7.78
e
-
002
CHS6
1.78
e
+
002
±
1.16
e
+
002
6.24
e
-
008
CHS10
1.61
e
+
002
±
1.84
e
+
002
2.39
e
-
010
CHS15
7.24
e
+
001
±
5.43
e
+
001
3.81
e
-
011
CHS30
4.33
e
+
000
±
8.31
e
+
000
1.04
e
-
011The results of the experiment show that the rotated Quadric function is more easily optimized by HS algorithms and that the CHS can always find more satisfying solutions than other HS algorithms. As the number of groupsm increases, the solution becomes better and better, but at the same time, the algorithm becomes more and more complex. Figure 4 shows the best function value profile of each algorithm both for unrotated and rotated Quadric functions. This figure is a more visual representation. It shows the best results among 30 independent runs for each algorithm. From Figure 4, we can deduce that in unrotated cases, all the algorithms converge very sharply, while in rotated cases, the solutions found by CHS are better.Quadric(f1) best function value profile. (a) Unrotated Quadric best function value profile. (b) Rotated Quadric best function value profile.
(a)
(b)The results of Ackley’s function are very interesting and very different from the results of the Quadric function. Table3 shows the experimental results of unrotated Ackley’s function; this is a multimodal function and is easily optimized by HS algorithms. Almost all the algorithms are capable of finding a satisfactory solution, but among the tested algorithms, CHS performs better with both the mean and the best results than the other algorithms, and the higher m is, the better the solution is. However, in terms of the rotated Ackley’s function, CHS does not perform as well as it is illustrated in Table 4. In terms of the rotated Ackley’s function, IHS and GHS perform better, especially the IHS algorithm. This can be deduced from Figure 5. When the search space is rotated, all the algorithms perform worse, especially CHS, the performance of which is as bad as SHS. GHS converges very fast to a local optimum, although it is capable of finding a better solution. This is because GHS resembles the standard PSO, which is not good at dealing with multimodal problems.Table 3
Results of unrotated Ackley's function.
Algorithm
Mean
Best
SHS
5.54
e
-
001
±
1.16
e
-
001
2.96
e
-
002
IHS
1.08
e
-
002
±
1.76
e
-
002
3.90
e
-
005
GHS
1.78
e
-
002
±
5.05
e
-
003
5.78
e
-
006
CHS6
8.96
e
-
006
±
1.79
e
-
007
7.29
e
-
006
CHS10
4.86
e
-
006
±
1.31
e
-
007
4.01
e
-
006
CHS15
1.40
e
-
006
±
4.58
e
-
008
1.18
e
-
006
CHS30
7.06
e
-
008
±
3.57
e
-
009
5.18
e
-
008Table 4
Results of rotated Ackley's function.
Algorithm
Mean
Best
SHS
3.95
e
+
000
±
2.37
e
-
001
2.62
e
+
000
IHS
1.72
e
-
003
±
3.22
e
-
003
4.02
e
-
005
GHS
3.48
e
-
001
±
2.16
e
-
001
6.64
e
-
005
CHS6
3.54
e
+
000
±
3.54
e
-
001
1.50
e
+
000
CHS10
5.33
e
+
000
±
6.98
e
-
001
3.03
e
+
000
CHS15
7.15
e
+
000
±
9.90
e
-
001
2.41
e
+
000
CHS30
6.86
e
+
000
±
1.07
e
+
000
3.57
e
+
000Ackley(f2) best function value profile. (a) Unrotated Ackley best function value profile. (b) Rotated Ackley best function value profile.
(a)
(b)The Rastrigin function is also a multimodal function with many local optima. In an unrotated case, CHS performs relatively well, especiallyCHS30. It is the performance leader, as shown in Table 5. The results of the experiment are very similar to those observed with unrotated Ackley’s function: the higher m is, the better the solution found by CHS will be. In the rotated case, however, none of the algorithms performs so well, as shown in Table 6. For CHS, with the increase of m, the mean of the solutions becomes worse, which is the reverse of the unrotated case. Figure 6 shows the best function value profile. From Figure 6(a), we can find that, generally, CHS converges, offering a better solution faster, while Figure 6(b) shows a very different result.Table 5
Results of unrotated Rastrigin function.
Algorithm
Mean
Best
SHS
4.39
e
-
001
±
1.65
e
-
001
2.96
e
-
002
IHS
1.44
e
+
000
±
3.12
e
-
001
2.31
e
-
002
GHS
2.20
e
-
003
±
1.28
e
-
003
4.41
e
-
007
CHS6
3.01
e
-
008
±
1.31
e
-
009
2.14
e
-
008
CHS10
8.88
e
-
009
±
4.35
e
-
010
6.14
e
-
009
CHS15
7.59
e
-
010
±
6.88
e
-
011
4.63
e
-
010
CHS30
1.69
e
-
012
±
2.22
e
-
013
7.99
e
-
013Table 6
Results of rotated Rastrigin function.
Algorithm
Mean
Best
SHS
1.92
e
+
002
±
2.99
e
+
000
1.77
e
+
002
IHS
1.92
e
+
002
±
2.85
e
+
000
1.73
e
+
002
GHS
1.86
e
+
002
±
3.81
e
+
000
1.65
e
+
002
CHS6
8.22
e
+
001
±
8.38
e
+
000
4.38
e
+
001
CHS10
1.09
e
+
002
±
1.38
e
+
001
4.28
e
+
001
CHS15
1.37
e
+
002
±
1.14
e
+
001
8.86
e
+
001
CHS30
1.71
e
+
002
±
1.38
e
+
001
6.96
e
+
001Rastrigin(f3) best function value profile. (a) Unrotated Rastrigin best function value profile. (b) Rotated Rastrigin best function value profile.
(a)
(b)Tables7 and 8 show the results of the Griewank function, which is a nonlinear multimodal and complex function. In unrotated cases, CHS performs better than both SHS and IHS, but not so well as GHS. Furthermore, when m increases, the performance of CHS is very similar. This is very different from the results of unrotated Ackley’s function and unrotated Rastrigin function, which are shown from Table 3 to Table 6. In rotated cases, the mean for each algorithm is very similar, but the best solutions for each algorithm are distinct from each other, as shown in Table 8. We might also observe that the higher m is, the better the solution found by CHS. Figure 7 shows the best function value profile for each algorithm. For both the unrotated Griewank function and the rotated Griewank function, SHS and IHS trap in a local optimum easily, but GHS is capable of finding a better solution.Table 7
Results of unrotated Griewangk function.
Algorithm
Mean
Best
SHS
1.06
e
+
000
±
7.92
e
-
003
1.02
e
+
000
IHS
1.05
e
+
000
±
5.35
e
-
003
1.02
e
+
000
GHS
3.52
e
-
002
±
2.78
e
-
002
3.31
e
-
006
CHS6
5.02
e
-
002
±
9.63
e
-
003
6.61
e
-
012
CHS10
7.06
e
-
002
±
2.14
e
-
002
1.82
e
-
012
CHS15
7.79
e
-
002
±
1.49
e
-
002
9.86
e
-
003
CHS30
7.07
e
-
002
±
2.03
e
-
002
1.72
e
-
002Table 8
Results of rotated Griewangk function.
Algorithm
Mean
Best
SHS
1.06
e
+
000
±
8.65
e
-
003
1.03
e
+
000
IHS
1.05
e
+
000
±
6.78
e
-
003
1.00
e
+
000
GHS
4.79
e
-
001
±
7.81
e
-
002
1.36
e
-
004
CHS6
9.61
e
-
003
±
3.90
e
-
003
4.96
e
-
012
CHS10
1.50
e
-
002
±
5.09
e
-
003
2.04
e
-
012
CHS15
1.22
e
-
002
±
5.19
e
-
003
2.53
e
-
013
CHS30
1.09
e
-
002
±
5.78
e
-
003
8.00
e
-
016Griewangk(f4) best function value profile. (a) Unrotated Griewangk best function value profile. (b) Rotated Griewangk best function value profile.
(a)
(b)The results of the Rosenbrock function are shown in Tables9 and 10. The global optimum of the Rosenbrock function is located in a narrow valley so that it is very difficult for the algorithms to find the correct direction in order to reach the global region, and thus, none of the algorithms is satisfactory, especially in rotated cases. This is shown more visually in Figure 8.Table 9
Results of unrotated Rosenbrock function.
Algorithm
Mean
Best
SHS
5.54
e
+
001
±
7.88
e
+
000
3.85
e
+
000
IHS
4.92
e
+
001
±
9.34
e
+
000
1.32
e
+
001
GHS
6.89
e
+
001
±
1.63
e
+
001
2.67
e
+
001
CHS6
3.16
e
+
001
±
6.67
e
+
000
1.18
e
-
002
CHS10
3.57
e
+
001
±
8.76
e
+
000
2.36
e
+
000
CHS15
2.77
e
+
001
±
7.78
e
+
000
4.49
e
+
000
CHS30
1.51
e
+
001
±
2.20
e
+
000
1.53
e
-
003Table 10
Results of rotated Rosenbrock function.
Algorithm
Mean
Best
SHS
2.81
e
+
001
±
3.80
e
-
001
2.58
e
+
001
IHS
2.80
e
+
001
±
3.40
e
-
001
2.61
e
+
001
GHS
2.91
e
+
001
±
9.03
e
-
001
2.78
e
+
001
CHS6
2.99
e
+
001
±
5.48
e
+
000
2.11
e
+
001
CHS10
2.55
e
+
001
±
4.57
e
+
000
1.64
e
+
001
CHS15
2.24
e
+
001
±
1.45
e
+
000
1.67
e
+
001
CHS30
1.89
e
+
001
±
1.18
e
+
000
1.63
e
+
001Rosenbrock(f5) best function value profile. (a) Unrotated Rosenbrock best function value profile. (b) Rotated Rosenbrock best function value profile.
(a)
(b)In this section, we have examined the results of the experiments and from these results, it has been possible to deduce that CHS is capable of solving all the problems that can be solved by SHS. In most cases, the results found by CHS are better than those found by the SHS algorithm or the IHS algorithm. We should, however, bear in mind the “no free lunch” theory, which acts as a reminder that no algorithm is capable of performing satisfactorily for all problems. Each algorithm, thus, has its own advantages and, as a result, is able to deal with one kind of problem only.


## 7. Conclusions

A cooperative harmony search algorithm has been presented in this paper, and as the results have shown, this cooperative approach constitutes a very real improvement in terms of the performance of SHS. This is especially so regarding the quality of the solutions, and in most cases, the higher the number of groupsm, the better the solution. CHS can furthermore be applied as a solution to all the same problems as the SHS algorithm, so that, when the dimensionality of the problem increases, the performance of the CHS algorithm is significantly better.Despite the fact that the CHS algorithm has numerous advantages, there are also some shortcomings. As we mentioned in Section4, the CHS algorithm may be more easily trapped in a local optimum. As the CHS algorithm is not an answer to every problem, we must ask ourselves the question of when exactly it is that the CHS algorithm can perform better and which kinds of problems can be solved satisfactorily by the CHS algorithm. This is a problem that should be solved urgently. Another unsolved problem is why the cooperative method is actually better. We explained this in Section 4 by means of examples, but the experiment still requires mathematical analysis and proof.Another aspect to which attention should be paid is the mathematical analysis of the HS algorithm. Although we have proved that the SHS algorithm must converge, can it in fact converge to the global optimum or to a local optimum? In addition, it is not clear that what the influences the parameters have on HS algorithm are, as all the parameters used here have been suggested by other scholars or selected by experience. If someone were to provide a mathematical analysis for the parameters, it would be very helpful for the future development of the HS algorithm.



---

*Source: 587820-2014-03-06.xml*