About Designing an Observer Pattern-Based Architecture for a Multi-objective Metaheuristic Optimization Framework

  • Antonio Benítez-Hidalgo
  • Antonio J. NebroEmail author
  • Juan J. Durillo
  • José García-Nieto
  • Esteban López-Camacho
  • Cristóbal Barba-González
  • José F. Aldana-Montes
Conference paper
Part of the Studies in Computational Intelligence book series (SCI, volume 798)


Multi-objective optimization with metaheuristics is an active and popular research field which is supported by the availability of software frameworks providing algorithms, benchmark problems, quality indicators and other related components. Most of these tools follow a monolithic architecture that frequently leads to a lack of flexibility when a user intends to add new features to the included algorithms. In this paper, we explore a different approach by designing a component-based architecture for a multi-objective optimization framework based on the observer pattern. In this architecture, most of the algorithmic components are observable entities that naturally allows to register a number of observers. This way, a metaheuristic is composed of a set of observable and observer elements, which can be easily extended without requiring to modify the algorithm. We have developed a prototype of this architecture and implemented the NSGA-II evolutionary algorithm on top of it as a case study. Our analysis confirms the improvement of flexibility using this architecture, pointing out the requirements it imposes and how performance is affected when adopting it.


Multi-objective optimization Metaheuristics Software framework Software architecture Observer pattern 



This work was partially funded by Grants, TIN2017-86049-R, TIN2014-58304 (Spanish Ministry of Education and Science) and P12-TIC-1519 (Plan Andaluz de Investigación, Desarrollo e Innovación). Cristóbal Barba-González was supported by Grant BES-2015-072209 (Spanish Ministry of Economy and Competitiveness). José García-Nieto is the recipient of a Post-Doctoral fellowship of “Captación de Talento para la Investigación” Plan Propio at Universidad de Málaga.


  1. 1.
    Bleuler, S., Laumanns, M., Thiele, L., Zitzler, E.: PISA – a platform and programming language independent interface for search algorithms. In: Fonseca, C.M., Fleming, P.J., Zitzler, E., Deb, K., Thiele, L. (eds.) Evolutionary Multi-Criterion Optimization (EMO 2003). Lecture Notes in Computer Science, pp. 494–508. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  2. 2.
    Blum, C., Roli, A.: Metaheuristics in combinatorial optimization: overview and conceptual comparison. ACM Comput. Surv. 35(3), 268–308 (2003)CrossRefGoogle Scholar
  3. 3.
    Coello, C., Lamont, G.B., van Veldhuizen, D.A.: Multi-objective Optimization Using Evolutionary Algorithms, 2nd edn. Wiley, New York (2007)zbMATHGoogle Scholar
  4. 4.
    Deb, K.: Multi-objective Optimization Using Evolutionary Algorithms. Wiley, New York (2001)zbMATHGoogle Scholar
  5. 5.
    Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002)CrossRefGoogle Scholar
  6. 6.
    Durillo, J.J., Nebro, A.J.: jMetal: a Java framework for multi-objective optimization. Adv. Eng. Softw. 42(10), 760–771 (2011)CrossRefGoogle Scholar
  7. 7.
    Emmerich, M., Beume, N., Naujoks, B.: An EMO algorithm using the hypervolume measure as selection criterion. In: Coello, C.A., Hernández, A., Zitler, E. (eds.) Third International Conference on Evolutionary MultiCriterion Optimization, EMO 2005. LNCS, vol. 3410, pp. 62–76. Springer (2005)Google Scholar
  8. 8.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.M.: Design Patterns: Elements of Reusable Object-Oriented Software, 1st edn. Addison-Wesley Professional, Reading (1994)Google Scholar
  9. 9.
    Garrett, A.: Inspyred. Accessed 02 May 2018
  10. 10.
    Hadka, D.: MOEAFramework. Accessed 02 May 2018
  11. 11.
    Hadka, D.: Platypus. Accessed 02 May 2018
  12. 12.
    Liefooghe, A., Jourdan, L., Talbi, E.-G.: A software framework based on a conceptual unified model for evolutionary multiobjective optimization: ParadisEO-MOEO. Eur. J. Oper. Res. 209(2), 104–112 (2011)MathSciNetCrossRefGoogle Scholar
  13. 13.
    López-Camacho, E., García-Godoy, M.J., Nebro, A.J., Aldana-Montes, J.F.: jMetalCpp: optimizing molecular docking problems with a C++ metaheuristic framework. Bioinformatics 30(3), 437–438 (2014)CrossRefGoogle Scholar
  14. 14.
    Nebro, A.J., Durillo, J.J., Vergne, M.: Redesigning the jMetal multi-objective optimization framework. In: Proceedings of the Companion Publication of the 2015 Annual Conference on Genetic and Evolutionary Computation, GECCO Companion 2015, pp. 1093–1100. ACM, New York (2015)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Antonio Benítez-Hidalgo
    • 1
  • Antonio J. Nebro
    • 1
    Email author
  • Juan J. Durillo
    • 2
  • José García-Nieto
    • 1
  • Esteban López-Camacho
    • 1
  • Cristóbal Barba-González
    • 1
  • José F. Aldana-Montes
    • 1
  1. 1.Dept. de Lenguajes y Ciencias de la ComputaciónUniversity of MalagaMalagaSpain
  2. 2.Leibniz Supercomputing CentreMunichGermany

Personalised recommendations