Skip to main content
Log in

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

  • Published:
Natural Computing Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Reproduced with permission from Guizzo and Vergilio (2016)

Fig. 6

Similar content being viewed by others

Notes

  1. More info at http://www.sigevo.org/gecco-2014/workshops.html#mdp and http://www.sigevo.org/gecco-2015/workshops.html#wmdp.

  2. http://moeaframework.org/.

  3. The benchmarks for the Multi-Objective TSP were obtained at https://eden.dei.uc.pt/~paquete/tsp/.

References

  • 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–85

    Article  Google Scholar 

  • 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–139

    Article  MathSciNet  Google Scholar 

  • 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–1724

    Article  Google Scholar 

  • Cahon S, Melab N, Talbi EG (2004) Paradiseo: A framework for the reusable design of parallel and distributed metaheuristics. J Heuristics 10(3):357–380

    Article  MATH  Google Scholar 

  • Coello CAC, Lamont GB, Veldhuizen DAV (2007) Evolutionary algorithms for solving multi-objective problems, 2nd edn. Springer, Berlin

    MATH  Google Scholar 

  • Corder GW, Foreman DI (2009) Nonparametric statistics for non-statisticians: a step-by-step approach. Wiley, Hoboken

    Book  MATH  Google Scholar 

  • 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–197

    Google Scholar 

  • Eiben AE, Smit SK (2011) Parameter tuning for configuring and analyzing evolutionary algorithms. Swarm Evol Comput 1(1):19–31

    Article  Google Scholar 

  • Eiben AE, Smith JE (2003) Introduction to evolutionary computing. Springer, Berlin

    Book  MATH  Google Scholar 

  • 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–67

    Article  MathSciNet  Google Scholar 

  • Fortin FA, De Rainville FM, Gardner MAG, Parizeau M, Gagné C (2012) DEAP: evolutionary algorithms made easy. J Mach Learn Res 13(1):2171–2175

    MathSciNet  Google Scholar 

  • Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley Longman Publishing Co. Inc, Bostan

    MATH  Google Scholar 

  • Garlan D, Shaw M (1994) An introduction to software architecture. In: Advances in software engineering and knowledge engineering. Publishing Company, pp 1–39

  • Guizzo G, Vergilio SR (2016) Metaheuristic design pattern: visitor for genetic operators. In: Brazilian conference on intelligent systems

  • 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–1350

  • Harman M, Mansouri SA, Zhang Y (2012) Search-based software engineering: trends. Tech Appl ACM Comput Surv 45(1):11–61

    Google Scholar 

  • Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection. MIT Press, Cambridge

    MATH  Google Scholar 

  • Krasnogor N (2012) Memetic algorithms. Springer, Berlin, pp 905–935

    Google Scholar 

  • Lones MA (2014) Metaheuristics in nature-inspired algorithms. In: Genetic and evolutionary computation conference. ACM Press, pp 1419–1422

  • Mannava V, Ramesh T (2012) Load distribution design pattern for genetic algorithm based autonomic systems. Procedia Eng 38:1905–1915

    Article  Google Scholar 

  • 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–1076

  • Nebro AJ, Durillo JJ, Vergne M (2015) Redesigning the jMetal multi-objective optimization framework. In: Genetic and evolutionary computation conference. pp 1093–1100

  • 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–147

  • 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–199

    MATH  Google Scholar 

  • 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–1274

  • Raidl GR (2014) Decomposition based hybrid metaheuristics. Eur J Oper Res 244:66–76

    Article  MathSciNet  MATH  Google Scholar 

  • Ryan C, Collins JJ, Neill M (1998) Grammatical evolution: evolving programs for an arbitrary language. In: Genetic programming, vol 1391. Springer, pp 83–96

  • Tsyganov AV, Bulychov OI (2012) Implementing parallel metaheuristic optimization framework using metaprogramming and design patterns. Appl Mech Mater 263–266:1864–1873

    Article  Google Scholar 

  • Ventura S, Romero C, Zafra A, Delgado JA, Hervás C (2007) JCLEC: a Java framework for evolutionary computation. Soft Comput 12(4):381–392

    Article  Google Scholar 

  • Wick MR, Phillips AT (2002) Comparing the template method and strategy design patterns in a genetic algorithm application. ACM SIGCSE Bull 34(4):76–80

    Article  Google Scholar 

  • Woodward J, Swan J, Martin S (2014) The ‘composite’ design pattern in metaheuristics. In: Genetic and evolutionary computation conference. ACM Press, pp 1439–1444

  • Woodward JR, Swan J (2014) Template method hyper-heuristics. In: Genetic and evolutionary computation conference. ACM, pp 1437–1438

  • Zitzler E, Laumanns M, Thiele L (2001) SPEA2: improving the strength Pareto evolutionary algorithm. Technical report, Department of Electrical Engineering, Swiss Federal Institute of Technology

  • 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–132

    Article  Google Scholar 

Download references

Acknowledgements

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Giovani Guizzo.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Guizzo, G., Vergilio, S.R. A pattern-driven solution for designing multi-objective evolutionary algorithms. Nat Comput 19, 481–494 (2020). https://doi.org/10.1007/s11047-018-9677-y

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11047-018-9677-y

Keywords

Mathematics Subject Classification

Navigation