A pattern-driven solution for designing multi-objective evolutionary algorithms

  • Giovani Guizzo
  • Silvia R. Vergilio


Multi-objective evolutionary algorithms (MOEAs) have been widely studied in the literature, which led to the development of several frameworks and techniques to implement them. Consequently, the reusability, scalability and maintainability became fundamental concerns in the development of such algorithms. To this end, the use of design patterns (DPs) can benefit, ease and improve the design of MOEAs. DPs are reusable solutions for common design problems, which can be applied to almost any context. Despite their advantages to decrease coupling, increase flexibility, and allow an easier design extension, DPs have been underexplored for MOEA design. In order to contribute to this research topic, we propose a pattern-driven solution for the design of MOEAs. The MOEA designed with our solution is compared to another MOEA designed without it. The comparison considered: the Integration and Test Order (ITO) problem and the Traveling Salesman problem (TSP). Obtained results show that the use of this DP-driven solution allows the reuse of MOEA components, without decreasing the quality, in terms of hypervolume. This means that the developer can extend the algorithms to include other components using only object-oriented mechanisms in an easier way, while maintaining the expected results.


Meta-heuristic design pattern Multi-objective evolutionary algorithm Software testing Hyper-heuristic 

Mathematics Subject Classification

68N30 68T20 



This work is supported by the Brazilian funding agencies CAPES and CNPq under the Grants: 307762/2015-7 and 473899/2013-2.


  1. Alba E, Luque G, Nieto JG, Ordonez G, Leguizamon G (2007) MALLBA: a software library to design efficient optimisation algorithms. Int J Innov Comput Appl 1(1):74–85CrossRefGoogle Scholar
  2. Assunção WKG, Colanzi TE, Vergilio SR, Pozo A (2014) A multi-objective optimization approach for the integration and test order problem. Inf Sci 267:119–139CrossRefMathSciNetGoogle Scholar
  3. Burke EK, Gendreau M, Hyde M, Kendall G, Ochoa G, Özcan E, Qu R (2013) Hyper-heuristics: a survey of the state of the art. J Oper Res Soc 64(12):1695–1724CrossRefGoogle Scholar
  4. Cahon S, Melab N, Talbi EG (2004) Paradiseo: A framework for the reusable design of parallel and distributed metaheuristics. J Heuristics 10(3):357–380CrossRefzbMATHGoogle Scholar
  5. Coello CAC, Lamont GB, Veldhuizen DAV (2007) Evolutionary algorithms for solving multi-objective problems, 2nd edn. Springer, BerlinzbMATHGoogle Scholar
  6. Corder GW, Foreman DI (2009) Nonparametric statistics for non-statisticians: a step-by-step approach. Wiley, HobokenCrossRefzbMATHGoogle Scholar
  7. Deb K, Pratap A, Agarwal S, Meyarivan T (2002) A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans Evol Comput 6(2):182–197CrossRefGoogle Scholar
  8. Eiben AE, Smit SK (2011) Parameter tuning for configuring and analyzing evolutionary algorithms. Swarm Evol Comput 1(1):19–31CrossRefGoogle Scholar
  9. Eiben AE, Smith JE (2003) Introduction to evolutionary computing. Springer, BerlinCrossRefzbMATHGoogle Scholar
  10. Fernandez-Marquez JL, Di Marzo Serugendo G, Montagna S, Viroli M, Arcos JL (2013) Description and composition of bio-inspired design patterns: a complete overview. Nat Comput 12(1):43–67CrossRefMathSciNetGoogle Scholar
  11. Fortin FA, De Rainville FM, Gardner MAG, Parizeau M, Gagné C (2012) DEAP: evolutionary algorithms made easy. J Mach Learn Res 13(1):2171–2175zbMATHMathSciNetGoogle Scholar
  12. Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley Longman Publishing Co. Inc, BostanzbMATHGoogle Scholar
  13. Garlan D, Shaw M (1994) An introduction to software architecture. In: Advances in software engineering and knowledge engineering. Publishing Company, pp 1–39Google Scholar
  14. Guizzo G, Vergilio SR (2016) Metaheuristic design pattern: visitor for genetic operators. In: Brazilian conference on intelligent systemsGoogle Scholar
  15. Guizzo G, Fritsche GM, Vergilio SR, Pozo ATR (2015) A hyper-heuristic for the multi-objective integration and test order problem. In: Genetic and evolutionary computation conference. ACM, pp 1343–1350Google Scholar
  16. Harman M, Mansouri SA, Zhang Y (2012) Search-based software engineering: trends. Tech Appl ACM Comput Surv 45(1):11–61Google Scholar
  17. Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection. MIT Press, CambridgezbMATHGoogle Scholar
  18. Krasnogor N (2012) Memetic algorithms. Springer, Berlin, pp 905–935Google Scholar
  19. Lones MA (2014) Metaheuristics in nature-inspired algorithms. In: Genetic and evolutionary computation conference. ACM Press, pp 1419–1422Google Scholar
  20. Mannava V, Ramesh T (2012) Load distribution design pattern for genetic algorithm based autonomic systems. Procedia Eng 38:1905–1915CrossRefGoogle Scholar
  21. Mariani T, Guizzo G, Vergilio SR, Pozo ATR (2016) A grammatical evolution hyper-heuristic for the integration and test order problem. In: Genetic and evolutionary computation conference. ACM, pp 1069–1076Google Scholar
  22. Nebro AJ, Durillo JJ, Vergne M (2015) Redesigning the jMetal multi-objective optimization framework. In: Genetic and evolutionary computation conference. pp 1093–1100Google Scholar
  23. Ochoa G, Hyde M, Curtois T, Vazquez-Rodriguez JA, Walker J, Gendreau M, Kendall G, Parkes AJ, Petrovic S, Burke EK (2012) HyFlex: A benchmark framework for cross-domain heuristic search. In: European conference on evolutionary computation in combinatorial optimization, Springer, pp 136–147Google Scholar
  24. Paquete L, Chiarandini M, Stützle T (2004) Pareto local optimum sets in the biobjective traveling salesman problem: an experimental study. Springer, Berlin, pp 177–199zbMATHGoogle Scholar
  25. Patelli A, Bencomo N, Ekárt A, Goldingay H, Lewis P (2015) Two-B or not Two-B? Design patterns for hybrid metaheuristics. In: Genetic and evolutionary computation conference. ACM Press, pp 1269–1274Google Scholar
  26. Raidl GR (2014) Decomposition based hybrid metaheuristics. Eur J Oper Res 244:66–76CrossRefzbMATHMathSciNetGoogle Scholar
  27. Ryan C, Collins JJ, Neill M (1998) Grammatical evolution: evolving programs for an arbitrary language. In: Genetic programming, vol 1391. Springer, pp 83–96Google Scholar
  28. Tsyganov AV, Bulychov OI (2012) Implementing parallel metaheuristic optimization framework using metaprogramming and design patterns. Appl Mech Mater 263–266:1864–1873CrossRefGoogle Scholar
  29. Ventura S, Romero C, Zafra A, Delgado JA, Hervás C (2007) JCLEC: a Java framework for evolutionary computation. Soft Comput 12(4):381–392CrossRefGoogle Scholar
  30. Wick MR, Phillips AT (2002) Comparing the template method and strategy design patterns in a genetic algorithm application. ACM SIGCSE Bull 34(4):76–80CrossRefGoogle Scholar
  31. Woodward J, Swan J, Martin S (2014) The ‘composite’ design pattern in metaheuristics. In: Genetic and evolutionary computation conference. ACM Press, pp 1439–1444Google Scholar
  32. Woodward JR, Swan J (2014) Template method hyper-heuristics. In: Genetic and evolutionary computation conference. ACM, pp 1437–1438Google Scholar
  33. Zitzler E, Laumanns M, Thiele L (2001) SPEA2: improving the strength Pareto evolutionary algorithm. Technical report, Department of Electrical Engineering, Swiss Federal Institute of TechnologyGoogle Scholar
  34. Zitzler E, Thiele L, Laumanns M, Fonseca CM, da Fonseca VG (2003) Performance assessment of multiobjective optimizers: an analysis and review. IEEE Trans Evol Comput 7(2):117–132CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media B.V., part of Springer Nature 2018

Authors and Affiliations

  1. 1.DInf - Federal University of ParanáCuritibaBrazil

Personalised recommendations