Abstract
ince the establishment of the area of search-based software engineering, a wide range of optimisation techniques have been applied to automate various stages of software design and development. Architecture optimisation is one of the aspects that has been automated with methods like genetic algorithms, local search, and ant colony optimisation. A key challenge with all of these approaches is to adequately set the balance between exploration of the search space and exploitation of best candidate solutions. Different settings are required for different problem instances, and even different stages of the optimisation process.
To address this issue, we investigate combinations of different search operators, which focus the search on either exploration or exploitation for an efficient variable neighbourhood search method. Three variants of the variable neighbourhood search method are investigated: the first variant has a deterministic schedule, the second variant uses fixed probabilities to select a search operator, and the third method adapts the search strategy based on feedback from the optimisation process. The adaptive strategy selects an operator based on its performance in the previous iterations. Intuitively, depending on the features of the fitness landscape, at different stages of the optimisation process different search strategies would be more suitable. Hence, the feedback from the optimisation process provides useful guidance in the choice of the best search operator, as evidenced by the experimental evaluation designed with problems of different sizes and levels of difficulty to evaluate the efficiency of varying the search strategy.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Aleti, A.: Designing automotive embedded systems with adaptive genetic algorithms. Autom. Softw. Eng. 22, 199–240 (2015)
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, pp. 61–71. ACM and IEEE Digital Libraries (2009)
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)
Aleti, A., Grunske, L.: Test data generation with a kalman filter-based adaptive genetic algorithm. J. Syst. Softw. 103, 343–352 (2015)
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)
Aleti, A., Meedeniya, I.: Component deployment optimisation with bayesian learning. In: ACM Sigsoft Symposium on Component based Software Engineering, pp. 11–20. ACM (2011)
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)
Cohen, J.: Statistical Power Analysis for the Behavioral Sciences. Lawrence Erlbaum Associates, Hillsdale (1988)
Coit, D.W., Konak, A.: Multiple weighted objectives heuristic for the redundancy allocation problem. IEEE Trans. Reliab. 55(3), 551–558 (2006)
Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast elitist multi-objective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6, 182–197 (2000)
Fonseca, C.M., Fleming, P.J., et al.: Genetic algorithms for multiobjective optimization: formulation, discussion and generalization. In: ICGA, vol. 93, pp. 416–423 (1993)
Guntsch, M., Middendorf, M.: Solving multi-criteria optimization problems with population-based ACO. In: Fonseca, C.M., Fleming, P.J., Zitzler, E., Deb, K., Thiele, L. (eds.) EMO 2003. LNCS, vol. 2632, pp. 464–478. Springer, Heidelberg (2003)
Harman, M., Afshin Mansouri, S., Zhang, Y.: Search-based software engineering: trends, techniques and applications. ACM Comput. Surv. 45(1), 11:1–11:61 (2012)
Harman, M., McMinn, P.: A theoretical and empirical study of search-based testing: local, global, and hybrid search. IEEE Trans. Softw. Eng. 36(2), 226–247 (2010)
ISO/IEC. IEEE international standard 1471 2000 - systems and software engineering - recommended practice for architectural description of software-intensive systems (2000)
Kubat, P.: Assessing reliability of modular software. Oper. Res. Lett. 8(1), 35–41 (1989)
Malek, S., Medvidovic, N., Mikic-Rakic, M.: An extensible framework for improving a distributed software system’s deployment architecture. IEEE Trans. Softw. Eng. 38(1), 73–100 (2012)
Meedeniya, I., Aleti, A., Avazpour, I., Amin, A.: Robust archeopterix: architecture optimization of embedded systems under uncertainty. In: Software Engineering for Embedded Systems, pp. 23–29. IEEE (2012)
Meedeniya, I., Aleti, A., Grunske, L.: Architecture-driven reliability optimization with uncertain model parameters. J. Syst. Softw. 85(10), 2340–2355 (2012)
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)
Meedeniya, I., Buhnova, B., Aleti, A., Grunske, L.: Reliability-driven deployment optimization for embedded systems. J. Syst. Softw. 84, 835–846 (2011)
Pettitt, A.N., Stephens, M.A.: The kolmogorov-smirnov goodness-of-fit statistic with discrete and grouped data. Technometrics 19(2), 205–210 (1977)
Shan, S., Gary Wang, G.: Reliable design space and complete single-loop reliability-based design optimization. Reliab. Eng. Syst. Saf. 93(8), 1218–1230 (2008)
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)
Weimer, W., Forrest, S., Le Goues, C., Nguyen, T.V.: Automatic program repair with evolutionary computation. Commun. ACM 53(5), 109–116 (2010)
Wolpert, D.H., Macready, W.G.: No free lunch theorems for optimization. IEEE Trans. Evol. Comput. 1(1), 67–82 (1997)
Acknowledgements
This research was supported under Australian Research Council’s Discovery Projects funding scheme, project number DE 140100017.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Aleti, A., Drugan, M. (2015). Adaptive Neighbourhood Search for the Component Deployment Problem. In: Barros, M., Labiche, Y. (eds) Search-Based Software Engineering. SSBSE 2015. Lecture Notes in Computer Science(), vol 9275. Springer, Cham. https://doi.org/10.1007/978-3-319-22183-0_13
Download citation
DOI: https://doi.org/10.1007/978-3-319-22183-0_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-22182-3
Online ISBN: 978-3-319-22183-0
eBook Packages: Computer ScienceComputer Science (R0)