Harmony search
Encyclopedia
In computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

 and operations research
Operations research
Operations research is an interdisciplinary mathematical science that focuses on the effective use of technology by organizations...

, harmony search (HS) is a phenomenon-mimicking algorithm (also known as metaheuristic
Metaheuristic
In computer science, metaheuristic designates a computational method that optimizes a problem by iteratively trying to improve a candidate solution with regard to a given measure of quality. Metaheuristics make few or no assumptions about the problem being optimized and can search very large spaces...

 algorithm
Algorithm
In mathematics and computer science, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning...

, soft computing
Soft computing
Soft computing is a term applied to a field within computer science which is characterized by the use of inexact solutions to computationally-hard tasks such as the solution of NP-complete problems, for which an exact solution cannot be derived in polynomial time.-Introduction:Soft Computing became...

 algorithm or evolutionary algorithm
Evolutionary algorithm
In artificial intelligence, an evolutionary algorithm is a subset of evolutionary computation, a generic population-based metaheuristic optimization algorithm. An EA uses some mechanisms inspired by biological evolution: reproduction, mutation, recombination, and selection...

) inspired by the improvisation process of musicians. In the HS algorithm, each musician (= decision variable) plays (= generates) a note (= a value) for finding a best harmony (= global optimum) all together.
The Harmony Search algorithm has the following merits:
  • HS does not require differential gradients, thus it can consider discontinuous functions as well as continuous functions.
  • HS can handle discrete variables as well as continuous variables.
  • HS does not require initial value setting for the variables.
  • HS is free from divergence.
  • HS may escape local optima.
  • HS may overcome the drawback of GA's building block theory which works well only if the relationship among variables in a chromosome is carefully considered. If neighbor variables in a chromosome have weaker relationship than remote variables, building block theory may not work well because of crossover operation. However, HS explicitly considers the relationship using ensemble operation.
  • HS has a novel stochastic derivative applied to discrete variables, which uses musician's experiences as a searching direction.
  • Certain HS variants do not require algorithm parameters such as HMCR and PAR, thus novice users can easily use the algorithm.

Basic Harmony Search Algorithm

Harmony search tries to find a vector which optimizes (minimizes or maximizes) a certain objective function.

The algorithm has the following steps:

Step 1: Generate random vectors () as many as (harmony memory size), then store them in harmony memory (HM).

Step 2: Generate a new vector . For each component ,
  • with probability (harmony memory considering rate; 0 ≤ ≤ 1), pick the stored value from HM:
  • with probability , pick a random value within the allowed range.


Step 3: Perform additional work if the value in Step 2 came from HM.
  • with probability (pitch adjusting rate; 0 ≤ ≤ 1), change by a small amount: or for discrete variable; or for continuous variable.
  • with probability , do nothing.


Step 4: If is better than the worst vector in HM, replace with .

Step 5: Repeat from Step 2 to Step 4 until termination criterion (e.g. maximum iterations) is satisfied.

The parameters of the algorithm are
  • = the size of the harmony memory. It generally varies from 1 to 100. (typical value = 30)
  • = the rate of choosing a value from the harmony memory. It generally varies from 0.7 to 0.99. (typical value = 0.9)
  • = the rate of choosing a neighboring value. It generally varies from 0.1 to 0.5. (typical value = 0.3)
  • = the amount between two neighboring values in discrete candidate set.
  • (fret width, formerly bandwidth) = the amount of maximum change in pitch adjustment. This can be (0.01 × allowed range) to (0.001 × allowed range).


It is possible to vary the parameter values as the search progresses, which gives an effect similar to simulated annealing
Simulated annealing
Simulated annealing is a generic probabilistic metaheuristic for the global optimization problem of locating a good approximation to the global optimum of a given function in a large search space. It is often used when the search space is discrete...

.

Parameter-setting-free researches have been also performed. In the researches, algorithm users do not need tedious parameter setting process.

Other Related Algorithms

Harmony search lies in the fields of:
  • Evolutionary computing
    Evolutionary computation
    In computer science, evolutionary computation is a subfield of artificial intelligence that involves combinatorial optimization problems....

    • Metaheuristic
      Metaheuristic
      In computer science, metaheuristic designates a computational method that optimizes a problem by iteratively trying to improve a candidate solution with regard to a given measure of quality. Metaheuristics make few or no assumptions about the problem being optimized and can search very large spaces...

      s
      • Stochastic optimization
        Stochastic optimization
        Stochastic optimization methods are optimization methods that generate and use random variables. For stochastic problems, the random variables appear in the formulation of the optimization problem itself, which involve random objective functions or random constraints, for example. Stochastic...

        • Optimization
          Optimization (mathematics)
          In mathematics, computational science, or management science, mathematical optimization refers to the selection of a best element from some set of available alternatives....



Other evolutionary computing methods include:
  • Evolutionary algorithms, including:
    • Genetic algorithm
      Genetic algorithm
      A genetic algorithm is a search heuristic that mimics the process of natural evolution. This heuristic is routinely used to generate useful solutions to optimization and search problems...

      s
  • Swarm algorithms
    Swarm intelligence
    Swarm intelligence is the collective behaviour of decentralized, self-organized systems, natural or artificial. The concept is employed in work on artificial intelligence...

    , including:
    • Ant colony optimization
      Ant colony optimization
      In computer science and operations research, the ant colony optimization algorithm ' is a probabilistic technique for solving computational problems which can be reduced to finding good paths through graphs....

    • Particle swarm optimization
      Particle swarm optimization
      In computer science, particle swarm optimization is a computational method that optimizes a problem by iteratively trying to improve a candidate solution with regard to a given measure of quality...

    • Intelligent Water Drops


Other metaheuristic methods include:
  • Simulated annealing
    Simulated annealing
    Simulated annealing is a generic probabilistic metaheuristic for the global optimization problem of locating a good approximation to the global optimum of a given function in a large search space. It is often used when the search space is discrete...

  • Tabu search
    Tabu search
    Tabu search is a mathematical optimization method, belonging to the class of trajectory based techniques. Tabu search enhances the performance of a local search method by using memory structures that describe the visited solutions: once a potential solution has been determined, it is marked as...



Other stochastic methods include:
  • Cross-entropy method
    Cross-entropy method
    The cross-entropy method attributed to Reuven Rubinstein is a general Monte Carlo approach tocombinatorial and continuous multi-extremal optimization and importance sampling.The method originated from the field of rare event simulation, where...


General Information


Theory of Harmony Search










Applications in Computer Science








Applications in Engineering

  • Fuzzy Data Clustering: Malaki, M.,Pourbaghery, JA, A Abolhassani, H. A combinatory approach to fuzzy clustering with harmony search and its applications to space shuttle data, Proceedings of the SCIS & ISIS,17–21,2008.








  • Offshore Structure Mooring: Ryu, S., Duggal, A.S., Heyl, C. N., and Geem, Z. W. Mooring Cost Optimization via Harmony Search, Proceedings of the 26th International Conference on Offshore Mechanics and Arctic Engineering (OMAE 2007), ASME, San Diego, CA, USA, June 10-15 2007.




  • Ecological Conservation: Geem, Z. W. and Williams, J. C. Ecological Optimization Using Harmony Search, Proceedings of American Conference on Applied Mathematics, Harvard University, Cambridge, MA, USA, March 24-26, 2008.







Source Codes

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK