Harmony Serach Algorithm
Harmony Serach Algorithm
Abstract When musicians compose the harmony, they usually try various possible
combinations of the music pitches stored in their memory, which can be considered
as a optimization process of adjusting the input (pitches) to obtain the optimal output
(perfect harmony). Harmony search draws the inspiration from harmony improvi-
sation, and has gained considerable results in the field of optimization, although it is a
relatively NIC algorithm. With mimicking the rules of various combining pitches,
harmony search has two distinguishing operators different from other NIC algo-
rithms: harmony memory considering rate (HMCR) and pitch adjusting rate (PAR)
that are used to generate and further mutate a solution, respectively. This candidate
generation mechanism and single search memory involved decide its excellence in
structure simplicity and small initial population. This chapter presents the discus-
sions of the inspiration of harmony search, the basic harmony search optimization
algorithm, and an overview of different application areas of the harmony search.
The HS was initially proposed by Geem [1] and applied to solve the optimization
problem of water distribution networks in 2000. As a novel population-based
meta-heuristic algorithm, during the recent years, it has gained great research
success in the areas of mechanical engineering, control, signal processing, etc.
However, different from most emerging NIC algorithms, the inspiration of the HS
is not from the natural phenomena, for example, the CSA is inspired by artificial
immune system, and the collective behavior among the unsophisticated individuals
of some living creatures has promoted the swarm intelligence, but is conceptu-
alized from the musical process of searching for a perfect state of harmony
determined by aesthetic standards.
As we know, when musicians compose the harmony, they usually try various
possible combinations of the music pitches stored in their memory. This kind of
The music improvisation is a process of searching for the better harmony by trying
various combinations of pitches that should follow any of the following three rules [2]:
1. playing any one pitch from the memory;
2. playing an adjacent pitch of one pitch from the memory;
3. playing a random pitch from the possible range.
This process is mimicked in each variable selection of the HS algorithm.
Similarly, it should follow any of the three rules below:
1. choosing any value from the HS memory;
2. choosing an adjacent value from the HS memory;
3. choosing a random value from the possible value range.
The three rules in the HS algorithm are effectively directed using two essential
parameters: harmony memory considering rate (HMCR) and pitch adjusting rate
(PAR). Figure 2.1 shows the flowchart of the basic HS method, in which there are
four principal steps involved.
Step 1. Initialize the HS memory (HM). The initial HM consists of a given
number of randomly generated solutions to the optimization problems
under consideration. For an n-dimension problem, an HM with the size
of HMS can be represented as follows:
2 1 1 3
x1 ; x2 ; . . .; x1n
6 x21 ; x22 ; . . .; x2n 7
6 7
HM ¼ 6 . 7; ð2:1Þ
4 .. 5
xHMS
1 ; xHMS
2 ; . . .; xHMS
n
where xi1 ; xi2 ; . . .; xin ði ¼ 1; 2; . . .; HMSÞ is a solution candidate.
HMS is typically set to be between 50 and 100.
2.2 The Basic Harmony Search Algorithm 7
Solution
Random Solutions
Improvisation
Selection
Evaluation
Better No
Elimination
Fitness?
Yes
Replacement
Step 2. Improvise a new solution x01 ; x02 ; . . .; x0n from the HM. Each compo-
nent of this solution, x0j , is obtained based on the HMCR. The HMCR is
defined as the probability of selecting a component from the present
HM members, and 1-HMCR is, therefore, the probability of generating
it randomly. If x0j comes from the HM, it is chosen from the jth
dimension of a random HM member, and it can be further mutated
according to the PAR. The PAR determines the probability of a can-
didate
0 0
from the
0
HM to be mutated. Obviously, the improvisation of
x1 ; x2 ; . . .; xn is rather similar to the production of the offspring in the
genetic algorithm (GA) [4, 5] with the mutation and crossover oper-
ations. However, the GA creates fresh chromosomes using only one
(mutation) or two (simple crossover) existing ones, while the
8 2 The Overview of Harmony Search
generation of new solutions in the HS method makes full use of all the
HM members.
Step 3. Update the HM. The new solution from Step 2 is evaluated. If it yields
a better fitness than that of the worst member in the HM, it will replace
that one. Otherwise, it is eliminated.
Step 4. Repeat Step 2 to Step 3 until a preset termination criterion, e.g., the
maximal number of iterations, is met.
Apparently, the HMCR and PAR are two basic parameters in the HS algorithm,
which control the component of solutions and even affect convergence speed. The
former is used to set the probability of utilizing the historic information stored in
the HM. For example, 0.9 indicates that each component of a new solution will be
chosen from the HM with 90 % probability, and 10 % probability from the entire
feasible range. Each component of the solution is subject to whether it should be
pitch-adjusted, which is determined by PAR. 1-PAR means the rate of doing
nothing. For example, a PAR of 0.3 indicates that the neighboring value will be
chosen with 30 % probability.
Similar to the GA, particle swarm optimization (PSO) [6–8], and differential
evolution (DE) [9, 10], the HS method is a random search technique. It does not
require any prior domain information, such as the gradient of the objective
functions. However, different from those population-based evolutionary approa-
ches, it only utilizes a single search memory to evolve. Therefore, the HS method
has the characteristics of algorithm simplicity. On the other hand, it occupies some
inherent drawbacks, e.g., weak local search ability. In the following two chapters,
the comparisons between the HS and other NIC optimization algorithms and the
variations of the HS will be discussed individually.
In the real world, modern science and industry are indeed rich in the problems of
optimization. Since the HS was originally proposed by Geem [11] and applied to
solve the optimization problem of water distribution networks in 2000, the
applications of the HS have covered many areas including industry, optimization
benchmarks, power systems, medical science, control systems, construction
design, and information technology [12].
2.3.2 Industry
There is a lot of work focused on the optimization issues concerning power sys-
tems, such as cost minimization. A modified HS algorithm is proposed to handle
non-convex economic load dispatch of real-world power systems. The economic
load dispatch and combined economic and emission load dispatch problems can be
converted into the minimization of the cost function [18]. Sinsuphan et al. [19]
combine the HS with sequential quadratic programming and GA to solve the
optimal power flow problems. The objective function to be optimized is the total
generator fuel costs in the entire system. The chaotic self-adaptive differential HS
algorithm, proposed by Arul et al. [20], is employed to deal with the dynamic
economic dispatch problem.
10 2 The Overview of Harmony Search
Li and Duan [21] modify the HS by adding a Gaussian factor to adjust the
bandwidth (bw). With this modified HS, they develop a pre-training process to
select the weights used in the combining of feature maps to make the target more
conspicuity in the saliency map. In their method based on the HS, Fourie et al. [22]
design a harmony filter using the improved HS algorithm for a robust visual
tracking system.
2.3.5 Others
References
1. Z.W. Geem, Optimal cost design of water distribution networks using harmony search,
Dissertation, Korea University (2000)
2. Z.W. Geem, J.H. Kim, G.V. Loganathan, A new heuristic optimization algorithm: harmony
search. Simulation 76(2), 60–68 (2001)
3. X. Wang, Hybrid Nature-Inspired Computation Methods for Optimization, Dissertation,
Helsinki University of Technology (2009)
4. R. Poli, W.B. Langdon, Foundations of Genetic Programming (Springer, Berlin, 2002)
5. M. Krug, S.K. Nguang, J. Wu et al., GA-based model predictive control of boiler-turbine
systems. Int. J. Innov. Comput. Inf. Control 6(11), 5237–5248 (2010)
6. A.P. Engelbrecht, Fundamentals of Computational Swarm Intelligence (Wiley, West Sussex,
2005)
7. C.J. Lin, J.G. Wang, S.M. Chen, 2D/3D face recognition using neural network based on
hybrid Taguchi-particle swarm optimization. Int. J. Innov. Comput. Inf. Control 7(2),
537–553 (2011)
8. X. Cai, Z. Cui, J. Zeng et al., Particle swarm optimization with self-adjusting cognitive
selection strategy. Int. J. Innov. Comput. Inf. Control 4(4), 943–952 (2008)
9. R. Storn, K. Price, Differential evolution: a simple and efficient adaptive scheme for global
optimization over continuous spaces. J. Glob. Optim. 11, 341–359 (1997)
10. V. Vegh, G.K. Pierens, Q.M. Tieng, A variant of differential evolution for discrete
optimization problems requiring mutually distinct variables. Int. J. Innov. Comput. Inf.
Control 7(2), 897–914 (2011)
References 11
11. Z.W. Geem (ed.), Music-Inspired Harmony Search Algorithm (Springer, Berlin, 2001)
12. D. Manjarresa, I. Landa-Torresa, S. Gil-Lopeza et al., A survey on applications of the
harmony search algorithm. Eng. Appl. Artif. Intel. 26(8), 1818–1831 (2013)
13. M. Castelli, S. Silva, L. Manzoni et al., Geometric selective harmony search. Inf. Sci. (2014).
doi:10.1016/j.ins.2014.04.001
14. M.K. Saka, Optimum design of steel skeleton structures, in Music-Inspired Harmony Search
Algorithm, ed. by Z.W. Geem (Springer, Berlin, 2009), pp. 87–112
15. R. Mahmoud, M. Maheri, M. Narimani, An enhanced harmony search algorithm for optimum
design of side sway steel frames. Comput. Struct. 136, 78–89 (2014)
16. G. Bekdas, S.M. Nigdeli, Estimating optimum parameters of tuned mass dampers using
harmony search. Eng. Struct. 33(9), 2716–2723 (2011)
17. M. Fesanghary, E. Damangir, I. Soleimani, Design optimization of shell and tube heat
exchangers using global sensitivity analysis and harmony search algorithm. Appl. Therm.
Eng. 29(5–6), 1026–1031 (2009)
18. B. Jeddi, V. Vahidinasab, A modified harmony search method for environmental/economic
load dispatch of real-world power systems. Energy Convers. Manag. 78, 661–675 (2014)
19. N. Sinsuphan, U. Leeton, T. Kulworawanichpong, Optimal power flow solution using
improved harmony search method. Appl. Soft Comput. 13(5), 2364–2374 (2013)
20. R. Arul, G. Ravi, S. Velusami, Chaotic self-adaptive differential harmony search algorithm
based dynamic economic dispatch. Int. J. Electr. Power Energy Syst. 50, 85–96 (2013)
21. J. Li, H. Duan, Novel biological visual attention mechanism via Gaussian harmony search.
Optik-Int. J. Light Electron Opt. 125(10), 2313–2319 (2014)
22. J. Fourie, S. Mills, R. Green, Harmony filter: a robust visual tracking system using the
improved harmony search algorithm. Image Vis. Comput. 28(12), 1702–1716 (2010)
23. H. Ceylan, H. Ceylan, A hybrid harmony search and TRANSYT hill climbing algorithm for
signalized stochastic equilibrium transportation networks. Transp. Res. Part C Emerg.
Technol. 25, 152–167 (2012)
24. A. Askarzadeh, Parameter identification for solar cell models using harmony search-based
algorithms. Sol. Energy 86(11), 3241–3249 (2012)
25. L.F.F. Miguel, L.F.F. Miguel, J.J. Kaminski et al., Damage detection under ambient vibration
by harmony search algorithm. Expert Syst. Appl. 3(10), 9704–9714 (2012)
http://www.springer.com/978-3-319-08355-1