Adaptive Neighbourhood Search for the Component Deployment Problem
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.
KeywordsAdaptive neighbourhood search Component deployment optimisation
This research was supported under Australian Research Council’s Discovery Projects funding scheme, project number DE 140100017.
- 2.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)Google Scholar
- 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.Aleti, A., Meedeniya, I.: Component deployment optimisation with bayesian learning. In: ACM Sigsoft Symposium on Component based Software Engineering, pp. 11–20. ACM (2011)Google Scholar
- 7.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
- 11.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)Google Scholar
- 15.ISO/IEC. IEEE international standard 1471 2000 - systems and software engineering - recommended practice for architectural description of software-intensive systems (2000)Google Scholar
- 18.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)Google Scholar