Memetic algorithm

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

A memetic algorithm (MA) in computer science and operations research, is an extension of the traditional genetic algorithm. It may provide a sufficiently good solution to an optimization problem. It uses a local search technique to reduce the likelihood of premature convergence.[1]

Memetic algorithms represent one of the recent growing areas of research in evolutionary computation. The term MA is now widely used as a synergy of evolutionary or any population-based approach with separate individual learning or local improvement procedures for problem search. Quite often, MAs are also referred to in the literature as Baldwinian evolutionary algorithms (EAs), Lamarckian EAs, cultural algorithms, or genetic local search.


Inspired by both Darwinian principles of natural evolution and Dawkins' notion of a meme, the term memetic algorithm (MA) was introduced by Pablo Moscato in his technical report[2] in 1989 where he viewed MA as being close to a form of population-based hybrid genetic algorithm (GA) coupled with an individual learning procedure capable of performing local refinements. The metaphorical parallels, on the one hand, to Darwinian evolution and, on the other hand, between memes and domain specific (local search) heuristics are captured within memetic algorithms thus rendering a methodology that balances well between generality and problem specificity. This two-stage nature makes them a special case of dual-phase evolution.

In a more diverse context, memetic algorithms are now used under various names including hybrid evolutionary algorithms, Baldwinian evolutionary algorithms, Lamarckian evolutionary algorithms, cultural algorithms, or genetic local search. In the context of complex optimization, many different instantiations of memetic algorithms have been reported across a wide range of application domains, in general, converging to high-quality solutions more efficiently than their conventional evolutionary counterparts.[3]

In general, using the ideas of memetics within a computational framework is called memetic computing or memetic computation (MC).[4][5] With MC, the traits of universal Darwinism are more appropriately captured. Viewed in this perspective, MA is a more constrained notion of MC. More specifically, MA covers one area of MC, in particular dealing with areas of evolutionary algorithms that marry other deterministic refinement techniques for solving optimization problems. MC extends the notion of memes to cover conceptual entities of knowledge-enhanced procedures or representations.

The development of MAs[edit]

1st generation[edit]

The first generation of MA refers to hybrid algorithms, a marriage between a population-based global search (often in the form of an evolutionary algorithm) coupled with a cultural evolutionary stage. This first generation of MA although encompasses characteristics of cultural evolution (in the form of local refinement) in the search cycle, it may not qualify as a true evolving system according to universal Darwinism, since all the core principles of inheritance/memetic transmission, variation, and selection are missing. This suggests why the term MA stirred up criticisms and controversies among researchers when first introduced.[2]

Pseudo code
   Procedure Memetic Algorithm
   Initialize: Generate an initial population;
   while Stopping conditions are not satisfied do
       Evaluate all individuals in the population.
       Evolve a new population using stochastic search operators.
       Select the subset of individuals, , that should undergo the individual improvement procedure.
       for each individual in  do
           Perform individual learning using meme(s) with frequency or probability of , for a period of .
           Proceed with Lamarckian or Baldwinian learning.
       end for
   end while

2nd generation[edit]

Multi-meme,[6] hyper-heuristic[7][8] and meta-Lamarckian MA[9] are referred to as second generation MA exhibiting the principles of memetic transmission and selection in their design. In Multi-meme MA, the memetic material is encoded as part of the genotype. Subsequently, the decoded meme of each respective individual/chromosome is then used to perform a local refinement. The memetic material is then transmitted through a simple inheritance mechanism from parent to offspring(s). On the other hand, in hyper-heuristic and meta-Lamarckian MA, the pool of candidate memes considered will compete, based on their past merits in generating local improvements through a reward mechanism, deciding on which meme to be selected to proceed for future local refinements. Memes with a higher reward have a greater chance of being replicated or copied. For a review on second generation MA; i.e., MA considering multiple individual learning methods within an evolutionary system, the reader is referred to.[10]

3rd generation[edit]

Co-evolution[11] and self-generating MAs[12] may be regarded as 3rd generation MA where all three principles satisfying the definitions of a basic evolving system have been considered. In contrast to 2nd generation MA which assumes that the memes to be used are known a priori, 3rd generation MA utilizes a rule-based local search to supplement candidate solutions within the evolutionary system, thus capturing regularly repeated features or patterns in the problem space.

Some design notes[edit]

The frequency and intensity of individual learning directly define the degree of evolution (exploration) against individual learning (exploitation) in the MA search, for a given fixed limited computational budget. Clearly, a more intense individual learning provides greater chance of convergence to the local optima but limits the amount of evolution that may be expended without incurring excessive computational resources. Therefore, care should be taken when setting these two parameters to balance the computational budget available in achieving maximum search performance. When only a portion of the population individuals undergo learning, the issue of which subset of individuals to improve need to be considered to maximize the utility of MA search. Last but not least, the individual learning procedure/meme used also favors a different neighborhood structure, hence the need to decide which meme or memes to use for a given optimization problem at hand would be required.

How often should individual learning be applied?[edit]

One of the first issues pertinent to memetic algorithm design is to consider how often the individual learning should be applied; i.e., individual learning frequency. In one case,[13] the effect of individual learning frequency on MA search performance was considered where various configurations of the individual learning frequency at different stages of the MA search were investigated. Conversely, it was shown elsewhere[14] that it may be worthwhile to apply individual learning on every individual if the computational complexity of the individual learning is relatively low.

On which solutions should individual learning be used?[edit]

On the issue of selecting appropriate individuals among the EA population that should undergo individual learning, fitness-based and distribution-based strategies were studied for adapting the probability of applying individual learning on the population of chromosomes in continuous parametric search problems with Land[15] extending the work to combinatorial optimization problems. Bambha et al. introduced a simulated heating technique for systematically integrating parameterized individual learning into evolutionary algorithms to achieve maximum solution quality.[16]

How long should individual learning be run?[edit]

Individual learning intensity, , is the amount of computational budget allocated to an iteration of individual learning; i.e., the maximum computational budget allowable for individual learning to expend on improving a single solution.

What individual learning method or meme should be used for a particular problem or individual?[edit]

In the context of continuous optimization, individual learning exists in the form of local heuristics or conventional exact enumerative methods.[17] Examples of individual learning strategies include the hill climbing, Simplex method, Newton/Quasi-Newton method, interior point methods, conjugate gradient method, line search, and other local heuristics. Note that most of the common individual learning methods are deterministic.

In combinatorial optimization, on the other hand, individual learning methods commonly exist in the form of heuristics (which can be deterministic or stochastic) that are tailored to a specific problem of interest. Typical heuristic procedures and schemes include the k-gene exchange, edge exchange, first-improvement, and many others.


Memetic algorithms have been successfully applied to a multitude of real-world problems. Although many people employ techniques closely related to memetic algorithms, alternative names such as hybrid genetic algorithms are also employed. Furthermore, many people term their memetic techniques as genetic algorithms.[citation needed]

Researchers have used memetic algorithms to tackle many classical NP problems. To cite some of them: graph partitioning, multidimensional knapsack, travelling salesman problem, quadratic assignment problem, set cover problem, minimal graph coloring, max independent set problem, bin packing problem, and generalized assignment problem.

More recent applications include (but are not limited to) business analytics and data science,[3] training of artificial neural networks,[18] pattern recognition,[19] robotic motion planning,[20] beam orientation,[21] circuit design,[22] electric service restoration,[23] medical expert systems,[24] single machine scheduling,[25] automatic timetabling (notably, the timetable for the NHL),[26] manpower scheduling,[27] nurse rostering optimisation,[28] processor allocation,[29] maintenance scheduling (for example, of an electric distribution network),[30] multidimensional knapsack problem,[31] VLSI design,[32] clustering of gene expression profiles,[33] feature/gene selection,[34][35] parameter determination for hardware fault injection,[36] and multi-class, multi-objective feature selection.[37][38]

Recent activities in memetic algorithms[edit]

  • IEEE Workshop on Memetic Algorithms (WOMA 2009). Program Chairs: Jim Smith, University of the West of England, U.K.; Yew-Soon Ong, Nanyang Technological University, Singapore; Gustafson Steven, University of Nottingham; U.K.; Meng Hiot Lim, Nanyang Technological University, Singapore; Natalio Krasnogor, University of Nottingham, U.K.
  • Memetic Computing Journal, first issue appeared in January 2009.
  • 2008 IEEE World Congress on Computational Intelligence (WCCI 2008), Hong Kong, Special Session on Memetic Algorithms.
  • Special Issue on 'Emerging Trends in Soft Computing - Memetic Algorithm', Soft Computing Journal, Completed & In Press, 2008.
  • IEEE Computational Intelligence Society Emergent Technologies Task Force on Memetic Computing
  • IEEE Congress on Evolutionary Computation (CEC 2007), Singapore, Special Session on Memetic Algorithms.
  • 'Memetic Computing' by Thomson Scientific's Essential Science Indicators as an Emerging Front Research Area.
  • Special Issue on Memetic Algorithms, IEEE Transactions on Systems, Man, and Cybernetics - Part B: Cybernetics, Vol. 37, No. 1, February 2007.
  • Recent Advances in Memetic Algorithms, Series: Studies in Fuzziness and Soft Computing, Vol. 166, ISBN 978-3-540-22904-9, 2005.
  • Special Issue on Memetic Algorithms, Evolutionary Computation Fall 2004, Vol. 12, No. 3: v-vi.


  1. ^ Poonam Garg (April 2009). "A Comparison between Memetic algorithm and Genetic algorithm for the cryptanalysis of Simplified Data Encryption Standard algorithm". International Journal of Network Security & Its Applications (IJNSA). 1 (1). arXiv:1004.0574. Bibcode:2010arXiv1004.0574G.
  2. ^ a b Moscato, P. (1989). "On Evolution, Search, Optimization, Genetic Algorithms and Martial Arts: Towards Memetic Algorithms". Caltech Concurrent Computation Program (report 826).
  3. ^ a b Moscato, P.; Mathieson, L. (2019). "Memetic Algorithms for Business Analytics and Data Science: A Brief Survey". Business and Consumer Analytics: New Ideas. Springer. pp. 545–608. doi:10.1007/978-3-030-06222-4_13. ISBN 978-3-030-06221-7. S2CID 173187844.
  4. ^ Chen, X. S.; Ong, Y. S.; Lim, M. H.; Tan, K. C. (2011). "A Multi-Facet Survey on Memetic Computation". IEEE Transactions on Evolutionary Computation. 15 (5): 591–607. doi:10.1109/tevc.2011.2132725. S2CID 17006589.
  5. ^ Chen, X. S.; Ong, Y. S.; Lim, M. H. (2010). "Research Frontier: Memetic Computation - Past, Present & Future". IEEE Computational Intelligence Magazine. 5 (2): 24–36. doi:10.1109/mci.2010.936309. S2CID 17955514.
  6. ^ Krasnogor N. (1999). "Coevolution of genes and memes in memetic algorithms". Graduate Student Workshop: 371.
  7. ^ Kendall G. and Soubeiga E. and Cowling P. Choice function and random hyperheuristics (PDF). 4th Asia-Pacific Conference on Simulated Evolution and Learning. SEAL 2002. pp. 667–671.
  8. ^ Burke E. K.; Gendreau M.; Hyde M.; Kendall G.; Ochoa G.; Ouml; zcan E.; Qu R. (2013). "Hyper-heuristics: A Survey of the State of the Art". Journal of the Operational Research Society. 64 (12): 1695–1724. CiteSeerX doi:10.1057/jors.2013.71. S2CID 3053192.
  9. ^ Ong Y. S. & Keane A. J. (2004). "Meta-Lamarckian learning in memetic algorithms" (PDF). IEEE Transactions on Evolutionary Computation. 8 (2): 99–110. doi:10.1109/TEVC.2003.819944. S2CID 11003004.
  10. ^ Ong Y. S. and Lim M. H. and Zhu N. and Wong K. W. (2006). "Classification of Adaptive Memetic Algorithms: A Comparative Study" (PDF). IEEE Transactions on Systems, Man, and Cybernetics - Part B: Cybernetics. 36 (1): 141–152. doi:10.1109/TSMCB.2005.856143. PMID 16468573. S2CID 818688.
  11. ^ Smith J. E. (2007). "Coevolving Memetic Algorithms: A Review and Progress Report" (PDF). IEEE Transactions on Systems, Man, and Cybernetics - Part B: Cybernetics. 37 (1): 6–17. doi:10.1109/TSMCB.2006.883273. PMID 17278554. S2CID 13867280.
  12. ^ Krasnogor N. & Gustafson S. (2002). "Toward truly "memetic" memetic algorithms: discussion and proof of concepts". Advances in Nature-Inspired Computation: The PPSN VII Workshops. PEDAL (Parallel Emergent and Distributed Architectures Lab). University of Reading.
  13. ^ Hart W. E. (1994). "Adaptive Global Optimization with Local Search". University of California. CiteSeerX {{cite journal}}: Cite journal requires |journal= (help)
  14. ^ Ku K. W. C. and Mak M. W. and Siu W. C. (2000). "A study of the Lamarckian evolution of recurrent neural networks". IEEE Transactions on Evolutionary Computation. 4 (1): 31–42. doi:10.1109/4235.843493. hdl:10397/289.
  15. ^ Land M. W. S. (1998). "Evolutionary Algorithms with Local Search for Combinatorial Optimization". UNIVERSITY OF CALIFORNIA. CiteSeerX {{cite journal}}: Cite journal requires |journal= (help)
  16. ^ Bambha N. K. and Bhattacharyya S. S. and Teich J. and Zitzler E. (2004). "Systematic integration of parameterized local search into evolutionary algorithms". IEEE Transactions on Evolutionary Computation. 8 (2): 137–155. doi:10.1109/TEVC.2004.823471. S2CID 8303351.
  17. ^ Schwefel H. P. (1995). Evolution and optimum seeking. Wiley New York.
  18. ^ Ichimura, T.; Kuriyama, Y. (1998). Learning of neural networks with parallel hybrid GA using a royal road function. IEEE International Joint Conference on Neural Networks. Vol. 2. New York, NY. pp. 1131–1136. doi:10.1109/IJCNN.1998.685931.
  19. ^ Aguilar, J.; Colmenares, A. (1998). "Resolution of pattern recognition problems using a hybrid genetic/random neural network learning algorithm". Pattern Analysis and Applications. 1 (1): 52–61. doi:10.1007/BF01238026. S2CID 15803359.
  20. ^ Ridao, M.; Riquelme, J.; Camacho, E.; Toro, M. (1998). An evolutionary and local search algorithm for planning two manipulators motion. Lecture Notes in Computer Science. Vol. 1416. Springer-Verlag. pp. 105–114. CiteSeerX doi:10.1007/3-540-64574-8_396. ISBN 978-3-540-64574-0.
  21. ^ Haas, O.; Burnham, K.; Mills, J. (1998). "Optimization of beam orientation in radiotherapy using planar geometry". Physics in Medicine and Biology. 43 (8): 2179–2193. Bibcode:1998PMB....43.2179H. doi:10.1088/0031-9155/43/8/013. PMID 9725597. S2CID 250856984.
  22. ^ Harris, S.; Ifeachor, E. (1998). "Automatic design of frequency sampling filters by hybrid genetic algorithm techniques". IEEE Transactions on Signal Processing. 46 (12): 3304–3314. Bibcode:1998ITSP...46.3304H. doi:10.1109/78.735305.
  23. ^ Augugliaro, A.; Dusonchet, L.; Riva-Sanseverino, E. (1998). "Service restoration in compensated distribution networks using a hybrid genetic algorithm". Electric Power Systems Research. 46 (1): 59–66. doi:10.1016/S0378-7796(98)00025-X.
  24. ^ Wehrens, R.; Lucasius, C.; Buydens, L.; Kateman, G. (1993). "HIPS, A hybrid self-adapting expert system for nuclear magnetic resonance spectrum interpretation using genetic algorithms". Analytica Chimica Acta. 277 (2): 313–324. doi:10.1016/0003-2670(93)80444-P. hdl:2066/112321. S2CID 53954763.
  25. ^ França, P.; Mendes, A.; Moscato, P. (1999). Memetic algorithms to minimize tardiness on a single machine with sequence-dependent setup times (PDF). Proceedings of the 5th International Conference of the Decision Sciences Institute. Athens, Greece. pp. 1708–1710. S2CID 10797987.
  26. ^ Costa, Daniel (1995). "An Evolutionary Tabu Search Algorithm And The NHL Scheduling Problem". INFOR: Information Systems and Operational Research. 33 (3): 161–178. doi:10.1080/03155986.1995.11732279.
  27. ^ Aickelin, U. (1998). Nurse rostering with genetic algorithms. Proceedings of young operational research conference 1998. Guildford, UK. arXiv:1004.2870.
  28. ^ Ozcan, E. (2007). "Memes, Self-generation and Nurse Rostering". Practice and Theory of Automated Timetabling VI. Lecture Notes in Computer Science. Vol. 3867. Springer-Verlag. pp. 85–104. doi:10.1007/978-3-540-77345-0_6. ISBN 978-3-540-77344-3.
  29. ^ Ozcan, E.; Onbasioglu, E. (2007). "Memetic Algorithms for Parallel Code Optimization". International Journal of Parallel Programming. 35 (1): 33–61. doi:10.1007/s10766-006-0026-x. S2CID 15182941.
  30. ^ Burke, E.; Smith, A. (1999). "A memetic algorithm to schedule planned maintenance for the national grid". Journal of Experimental Algorithmics. 4 (4): 1–13. doi:10.1145/347792.347801. S2CID 17174080.
  31. ^ Ozcan, E.; Basaran, C. (2009). "A Case Study of Memetic Algorithms for Constraint Optimization". Soft Computing: A Fusion of Foundations, Methodologies and Applications. 13 (8–9): 871–882. CiteSeerX doi:10.1007/s00500-008-0354-4. S2CID 17032624.
  32. ^ Areibi, S., Yang, Z. (2004). "Effective memetic algorithms for VLSI design automation = genetic algorithms + local search + multi-level clustering". Evolutionary Computation. 12 (3): 327–353. doi:10.1162/1063656041774947. PMID 15355604. S2CID 2190268.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  33. ^ Merz, P.; Zell, A. (2002). "Clustering Gene Expression Profiles with Memetic Algorithms". Parallel Problem Solving from Nature — PPSN VII. Lecture Notes in Computer Science. Vol. 2439. Springer. pp. 811–820. doi:10.1007/3-540-45712-7_78. ISBN 978-3-540-44139-7.
  34. ^ Zexuan Zhu, Y. S. Ong and M. Dash (2007). "Markov Blanket-Embedded Genetic Algorithm for Gene Selection". Pattern Recognition. 49 (11): 3236–3248. Bibcode:2007PatRe..40.3236Z. doi:10.1016/j.patcog.2007.02.007.
  35. ^ Zexuan Zhu, Y. S. Ong and M. Dash (2007). "Wrapper-Filter Feature Selection Algorithm Using A Memetic Framework". IEEE Transactions on Systems, Man, and Cybernetics - Part B: Cybernetics. 37 (1): 70–76. doi:10.1109/TSMCB.2006.883267. hdl:10338.dmlcz/141593. PMID 17278560. S2CID 18382400.
  36. ^ "Artificial Intelligence for Fault Injection Parameter Selection | Marina Krček | Webinar". Retrieved 2021-05-21.
  37. ^ Zexuan Zhu, Y. S. Ong and M. Zurada (2008). "Simultaneous Identification of Full Class Relevant and Partial Class Relevant Genes". IEEE/ACM Transactions on Computational Biology and Bioinformatics.
  38. ^ G. Karkavitsas & G. Tsihrintzis (2011). Automatic Music Genre Classification Using Hybrid Genetic Algorithms. Intelligent Interactive Multimedia Systems and Services. Smart Innovation, Systems and Technologies. Vol. 11. Springer. pp. 323–335. doi:10.1007/978-3-642-22158-3_32. ISBN 978-3-642-22157-6. S2CID 15011089.