An Adaptive Memetic Algorithm for the Architecture Optimisation Problem

  • Nasser R. Sabar
  • Aldeida AletiEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10142)


Architecture design is one of the most important steps in software development, since design decisions affect the quality of the final system (e.g. reliability and performance). Due to the ever-growing complexity and size of software systems, deciding on the best design is a computationally intensive and complex task. This issue has been tackled by using optimisation method, such as local search and genetic algorithms. Genetic algorithms work well in rugged fitness landscapes, whereas local search methods are successful when the search space is smooth. The strengths of these two algorithms have been combined to create memetic algorithms, which have shown to be more efficient than genetic algorithms and local search on their own. A major point of concern with memetic algorithms is the likelihood of loosing the exploration capacity because of the ‘exploitative’ nature of local search. To address this issue, this work uses an adaptive scheme to control the local search application. The utilised scheme takes into account the diversity of the current population. Based on the diversity indicator, it decides whether to call local search or not. Experiments were conducted on the component deployment problem to evaluates the effectiveness of the proposed algorithm with and without the adaptive local search algorithm.


Architecture optimisation Adaptive memetic algorithm Component deployment 



This research was supported under Australian Research Council’s Discovery Projects funding scheme, project number DE 140100017.


  1. 1.
    Aarts, E.H., Lenstra, J.K.: Local Search in Combinatorial Optimization. Princeton University Press, Princeton (2003)zbMATHGoogle Scholar
  2. 2.
    Aleti, A.: Designing automotive embedded systems with adaptive genetic algorithms. Autom. Softw. Eng. 22, 1–42 (2014)Google Scholar
  3. 3.
    Aleti, A., Björnander, S., Grunske, L., Meedeniya, I.: ArcheOpterix: an extendable tool for architecture optimization of AADL models. In: Model-Based Methodologies for Pervasive and Embedded Software (MOMPES), pp. 61–71. ACM and IEEE Digital Libraries (2009)Google Scholar
  4. 4.
    Aleti, A., Buhnova, B., Grunske, L., Koziolek, A., Meedeniya, I.: Software architecture optimization methods: a systematic literature review. IEEE Trans. Softw. Eng. 39(5), 658–683 (2013)CrossRefGoogle Scholar
  5. 5.
    Aleti, A., Grunske, L., Meedeniya, I., Moser, I.: Let the ants deploy your software - an ACO based deployment optimisation strategy. In: ASE, pp. 505–509. IEEE Computer Society (2009)Google Scholar
  6. 6.
    Aleti, A., Meedeniya, I.: Component deployment optimisation with Bayesian learning. In: Proceedings of the 14th International ACM Sigsoft Symposium on Component Based Software Engineering, pp. 11–20. ACM (2011)Google Scholar
  7. 7.
    Aleti, A., Moser, I.: Predictive parameter control. In: Genetic and Evolutionary Computation Conference, pp. 561–568 (2011)Google Scholar
  8. 8.
    Aleti, A., Moser, I.: Entropy-based adaptive range parameter control for evolutionary algorithms. In: Conference on Genetic and Evolutionary Computation Conference, pp. 1501–1508. ACM (2013)Google Scholar
  9. 9.
    Aleti, A., Moser, I., Meedeniya, I., Grunske, L.: Choosing the appropriate forecasting model for predictive parameter control. Evol. Comput. 22(2), 319–349 (2014)CrossRefGoogle Scholar
  10. 10.
    Aleti, A., Moser, I., Mostaghim, S.: Adaptive range parameter control. In: IEEE Congress on Evolutionary Computation, pp. 2405–2412 (2012)Google Scholar
  11. 11.
    Arafeh, B.R., Day, K., Touzene, A.: A multilevel partitioning approach for efficient tasks allocation in heterogeneous distributed systems. J. Syst. Archit. - Embed. Syst. Des. 54(5), 530–548 (2008)CrossRefGoogle Scholar
  12. 12.
    Assayad, I., Girault, A., Kalla, H.: A bi-criteria scheduling heuristic for distributed embedded systems under reliability and real-time constraints. In: Dependable Systems and Networks, pp. 347–356. IEEE Computer Society (2004)Google Scholar
  13. 13.
    Bartz-Beielstein, T., Lasarczyk, C., Preuss, M.: Sequential parameter optimization. In: IEEE Congress on Evolutionary Computation, pp. 773–780. IEEE (2005)Google Scholar
  14. 14.
    Colanzi, T.E., Vergilio, S.R.: Applying search based optimization to software product line architectures: lessons learned. In: Fraser, G., de Souza, J.T. (eds.) SSBSE 2012. LNCS, vol. 7515, pp. 259–266. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-33119-0_19 CrossRefGoogle Scholar
  15. 15.
    da Silva Maximiano, M., Vega-Rodríguez, M.A., Gómez-Pulido, J.A., Sanchez-Perez, J.M.: A hybrid differential evolution algorithm to solve a real-world frequency assignment problem. In: Computer Science and Information Technology, pp. 201–205. IEEE (2008)Google Scholar
  16. 16.
    Kichkaylo, T., Karamcheti, V.: Optimal resource-aware deployment planning for component-based distributed applications. In: HPDC: High Performance Distributed Computing, pp. 150–159. IEEE Computer Society (2004)Google Scholar
  17. 17.
    Koziolek, A., Koziolek, H., Reussner, R.: Peropteryx: automated application of tactics in multi-objective software architecture optimization. In: Quality of Software Architectures, pp. 33–42. ACM (2011)Google Scholar
  18. 18.
    Krasnogor, N., Smith, J.: A memetic algorithm with self-adaptive local search: TSP as a case study. In: GECCO, pp. 987–994 (2000)Google Scholar
  19. 19.
    Kulturel-Konak, S., Coit, D.W., Baheranwala, F.: Pruned pareto-optimal sets for the system redundancy allocation problem based on multiple prioritized objectives. J. Heuristics 14(4), 335–357 (2008)CrossRefzbMATHGoogle Scholar
  20. 20.
    Meedeniya, I., Buhnova, B., Aleti, A., Grunske, L.: Architecture-driven reliability and energy optimization for complex embedded systems. In: Heineman, G.T., Kofron, J., Plasil, F. (eds.) QoSA 2010. LNCS, vol. 6093, pp. 52–67. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-13821-8_6 CrossRefGoogle Scholar
  21. 21.
    Meedeniya, I., Buhnova, B., Aleti, A., Grunske, L.: Reliability-driven deployment optimization for embedded systems. J. Syst. Softw. 84, 835–846 (2011)CrossRefGoogle Scholar
  22. 22.
    Neri, F., Cotta, C.: Memetic algorithms and memetic computing optimization: a literature review. Swarm Evol. Comput. 2, 1–14 (2012)CrossRefGoogle Scholar
  23. 23.
    Neri, F., Tirronen, V., Karkkainen, T., Rossi, T.: Fitness diversity based adaptation in multimeme algorithms: a comparative study. In: IEEE Congress on Evolutionary Computation, CEC 2007, pp. 2374–2381. IEEE (2007)Google Scholar
  24. 24.
    Simons, C.L., Parmee, I.C., Gwynllyw, R.: Interactive, evolutionary search in upstream object-oriented class design. IEEE Trans. Softw. Eng. 36(6), 798–816 (2010)CrossRefGoogle Scholar
  25. 25.
    Tang, J., Lim, M.H., Ong, Y.S.: Diversity-adaptive parallel memetic algorithm for solving large scale combinatorial optimization problems. Soft Comput. 11(9), 873–888 (2007)CrossRefGoogle Scholar
  26. 26.
    Thiruvady, D., Moser, I., Aleti, A., Nazari, A.: Constraint programming and ant colony system for the component deployment problem. Procedia Comput. Sci. 29, 1937–1947 (2014)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Queensland University of TechnologyBrisbaneAustralia
  2. 2.Faculty of Information TechnologyMonash UniversityMelbourneAustralia

Personalised recommendations