Article Preview
Top1. Introduction
Evolutionary algorithms (EA) belong to a class of population-based algorithms that uses biologically inspired evolution mechanisms such as reproduction, mutation, crossover and selection. EAs usually perform well by approximating solutions to almost all problem types and prove their success to solve several kinds of real world optimization problems.
Among the evolutionary algorithms is the Harmony Search Algorithm (HSA) (Geem, Kim, & A, 2001), a recent meta-heuristic algorithm that mimics the musicians' improvisation process. HSA has been successfully applied to a wide variety of both discrete and continuous practical optimization problems. For example, it is used to solve many practical optimization problems such as: structural optimization, multi-buyer multi-vendor supply chain problem, timetabling problem, flow shop scheduling (Al-Betar & Khader, 2010; Geem, 2008; Ingram & Zhang, 2009; Taleizadeh, Niaki, & Barzinpour, 2011; Wang, Pan, & Tasgetiren, 2011).
Basically, the HSA starts with a set of provisional solutions stored in the Harmony Memory (HM). At each iteration, a new solution called ‘new harmony’ is generated based on three operators: (i) Memory Consideration used to select the variables of new harmony from HM solutions; (ii) Random Consideration used to diversify the new harmony, and (iii) Pitch Adjustment which is responsible for local improvement. If the new harmony is better than the worst solution in HM, then the new harmony will be included in the HM and the worst harmony is excluded. The solutions in HM will evolve iteratively in the hope of obtaining better solutions in the next evolutions. This process will be repeated until a termination condition is satisfied. The control parameters of the HSA are:
- •
The Harmony Memory Consideration Rate (HMCR), used in the improving process to determine if the value of a decision variable is to be selected from the solutions stored in the Harmony Memory (HM).
- •
The Harmony Memory Size (HMS) is the population size consisting of an n-dimension vector.
- •
The Pitch Adjustment Rate (PAR) decides whether the decision variables are to be modified to a neighboring value.
- •
The distance bandwidth (bw) determines the adjustment value in the pitch adjustment operator.
Genetic algorithm (GA) is a population based algorithm inspired from natural evolution (Goldberg, 1989). The algorithm begins with a randomly generated initial population of strings (called chromosome) representing a set of solutions. Among the Genetic operators is the crossover operator that can be applied with a specified probability to generate new chromosomes from a selected set of chromosomes. There are several crossover techniques in the literature and the performance of GA is affected by the use of crossover technique (Durand & Alliot, 1998).
The crossover operator preserves the diversity of the population by creating better chromosomes and thus avoiding a premature convergence (Goldberg, Deb, & Korb, 1989; Mitchell, 1996). In particular, the Multi-Parent Crossover has been applied successfully to genetic algorithms and has been validated its superiority over 2-parent crossover (Elsayed, Sarker, & Essam, 2011; Deb, Joshi, & Anand, 2002; Eiben, Rau´e, & Ruttkay, 1994; Eiben, Kemenade, & Kok, 1995; Ting & Buning, 2003). In this paper, we introduce the Multi-Parent Crossover (HSA-MPC) in the HSA on a randomly selected harmony from a set of best solutions trying to improve its performance. In such way, the concept of fittest survival is applied to allow the algorithm to escape from the local optima. This update on the original HSA is placed after updating the harmony memory (HM) with the new generated harmony when it is better than the worst harmony currently in the HM. We apply the HSA-MPC to a couple of real world optimization problems that have been proposed for the IEEE-CEC2011 evolutionary algorithm competition (Das & Suganthan, 2011). Then, we compare the experimental results with the original HSA and two recent HSA variants.