Citation Attila Kocsis Z, Brownlee A, Swan J & Senington R (2015) Haiku - a Scala combinator toolkit for semi-automated composition of metaheuristics. In: Barros M & Labiche Y (eds.) Search-Based Software Engineering: 7th International Symposium, SSBSE 2015, Bergamo, Italy, September 5-7, 2015, Proceedings. Lecture Notes in Computer Science, 9275. 7th International Symposium, SSBSE 2015, Bergamo, Italy, 05.09.2015-07.09.2015. Cham, Switzerland: Springer, pp. 125-140. http://link.springer.com/chapter/10.1007/978-3-319-22183-0_9; https://doi.org/10.1007/978-3-319-22183-0_9
Abstract There is an emerging trend towards the automated design of metaheuristics at the software component level. In principle, metaheuristics have a relatively clean decomposition, where well-known frameworks such as ILS and EA are parametrised by variant components for acceptance, perturbation etc. Automated generation of these frameworks is not so simple in practice, since the coupling between components may be implementation specific. Compositionality is the ability to freely express a space of designs ‘bottom up’ in terms of elementary components: previous work in this area has used combinators, a modular and functional approach to componentisation arising from foundational Computer Science. In this article, we describeHaiku, a combinator tool-kit written in the Scala language, which builds upon previous work to further automate the process by automatically composing the external dependencies of components. We provide examples of use and give a case study in which a programatically-generated heuristic is applied to the Travelling Salesman Problem within an Evolutionary Strategies framework.
Attila Kocsis, Zoltan; Brownlee, Alexander; Swan, Jerry; Senington, Richard