Skip to main content

Templar – A Framework for Template-Method Hyper-Heuristics

  • Conference paper
  • First Online:
Genetic Programming (EuroGP 2015)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9025))

Included in the following conference series:

Abstract

In this work we introduce Templar, a software framework for customising algorithms via the generative technique of template-method hyper-heuristics. We first discuss the need for such an approach, presenting Quicksort as an example. We provide a functional definition of template-method hyper-heuristics, describe how this is implemented by Templar, and show how Templar may be invoked using simple client-code. Finally, we describe experiments using Templar to define a ‘hyper-quicksort’ with the aim of reducing power consumption—the results demonstrate that the generated algorithm has significantly improved performance on the test set.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html.

  2. 2.

    In order to provide the highest possible accuracy, Jalen was modified to run from within the Java Virtual Machine, rather than as an external Java Agent.

References

  1. Arcuri, A., Briand, L.: A hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Softw. Test. Verif. Reliab. 24(3), 219–250 (2014)

    Article  Google Scholar 

  2. Bekaroo, G., Bokhoree, C., Pattinson, C.: Power measurement of computers: analysis of the effectiveness of the software based approach. Int. J. Emerg. Technol. Adv. Eng. 4(5), 755–762 (2014)

    Google Scholar 

  3. Brooks, D., Tiwari, V., Martonosi, M.: Wattch: a framework for architectural-level power analysis and optimizations. In: 27th Annual International Symposium on Computer Architecture, ISCA 2000, pp. 83–94. ACM (2000)

    Google Scholar 

  4. Burke, E.K., Hyde, M.R., Kendall, G., Ochoa, G., Özcan, E., Woodward, J.R.: A classification of hyper-heuristic approaches. In: Gendreau, M., Potvin, J.Y. (eds.) Handbook of Metaheuristics. International Series in Operations Research and Management Science, vol. 146, pp. 449–468. Springer, New York (2010)

    Chapter  Google Scholar 

  5. Burke, E.K., Hyde, M.R., Kendall, G., Woodward, J.R.: Automating the packing heuristic design process with genetic programming. Evol. Comput. 20(1), 63–89 (2012)

    Article  Google Scholar 

  6. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1995)

    Google Scholar 

  7. Hoare, C.A.R.: Algorithm 64: Quicksort. Commun. ACM 4(7), 321 (1961)

    Article  Google Scholar 

  8. Hoos, H.H.: Computer-aided design of high-performance algorithms. Technical report TR-2008-16, University of British Columbia, Department of Computer Science (2008)

    Google Scholar 

  9. Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge (1992)

    MATH  Google Scholar 

  10. López-Ibáñez, M., Dubois-Lacoste, J., Stützle, T., Birattari, M.: The irace package, iterated racing for automatic algorithm configuration. Technical report TR/IRIDIA/2011-004, IRIDIA, Université Libre de Bruxelles, Belgium (2011)

    Google Scholar 

  11. Lucas, S.: Exploiting reflection in object oriented genetic programming. In: Keijzer, M., O’Reilly, U.-M., Lucas, S., Costa, E., Soule, T. (eds.) EuroGP 2004. LNCS, vol. 3003, pp. 369–378. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  12. Luke, S.: The ECJ Owner’s Manual, zeroth edn., online version 0.2 edn., October 2010. http://www.cs.gmu.edu/~eclab/projects/ecj

  13. Mascia, F., López-Ibáñez, M., Dubois-Lacoste, J., Stützle, T.: Grammar-based generation of stochastic local search heuristics through automatic algorithm configuration tools. Comput. Oper. Res. 51, 190–199 (2014)

    Article  MathSciNet  Google Scholar 

  14. McIlroy, M.D.: A killer adversary for quicksort. Softw. Pract. Exp. 29(4), 341–344 (1999)

    Article  Google Scholar 

  15. Musser, D.R.: Introspective sorting and selection algorithms. Softw. Pract. Exp. 27(8), 983–993 (1997)

    Article  Google Scholar 

  16. Noureddine, A., Bourdon, A., Rouvoy, R., Seinturier, L.: Runtime monitoring of software energy hotspots. In: 27th IEEE/ACM International Conference on Automated Software Engineering 2012, pp. 160–169. IEEE (2012)

    Google Scholar 

  17. Otero, F., Castle, T., Johnson, C.: EpochX: genetic programming in Java with statistics and event monitoring. In: GECCO 2012, pp. 93–100. ACM, New York (2012)

    Google Scholar 

  18. Rothlauf, F., Oetzel, M.: On the locality of grammatical evolution. In: Collet, P., Tomassini, M., Ebner, M., Gustafson, S., Ekárt, A. (eds.) EuroGP 2006. LNCS, vol. 3905, pp. 320–330. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  19. Ryan, C., Collins, J.J., O’Neill, M.: Grammatical evolution: evolving programs for an arbitrary language. In: Banzhaf, W., Poli, R., Schoenauer, M., Fogarty, T.C. (eds.) EuroGP 1998. LNCS, vol. 1391, pp. 83–96. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  20. Spector, L., Harrington, K., Helmuth, T.: Tag-based modularity in tree-based genetic programming. In: GECCO 2012, pp. 815–822. ACM, New York (2012)

    Google Scholar 

  21. Spector, L., Klein, J., Keijzer, M.: The Push3 execution stack and the evolution of control. In: GECCO 2005, pp. 1689–1696. ACM, New York (2005)

    Google Scholar 

  22. Vargha, A., Delaney, H.D.: A critique and improvement of the CL common language effect size statistics of McGraw and Wong. J. Educ. Behav. Stat. 25(2), 101–132 (2000)

    Google Scholar 

  23. White, D.R.: Genetic programming for low-resource systems. Ph.D. thesis, University of York (2009)

    Google Scholar 

  24. Woodward, J.R., Swan, J.: Why classifying search algorithms is essential. In: International Conference on Progress in Informatics and Computing (2010)

    Google Scholar 

  25. Woodward, J.R., Swan, J.: Automatically designing selection heuristics. In: GECCO 2011, pp. 583–590. ACM, New York (2011)

    Google Scholar 

  26. Woodward, J.R., Swan, J.: The automatic generation of mutation operators for genetic algorithms. In: GECCO 2012, pp. 67–74. ACM, New York (2012)

    Google Scholar 

  27. Woodward, J.R., Swan, J.: Template method hyper-heuristics. In: GECCO 2014, pp. 1437–1438. ACM, New York (2014)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nathan Burles .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Swan, J., Burles, N. (2015). Templar – A Framework for Template-Method Hyper-Heuristics. In: Machado, P., et al. Genetic Programming. EuroGP 2015. Lecture Notes in Computer Science(), vol 9025. Springer, Cham. https://doi.org/10.1007/978-3-319-16501-1_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-16501-1_17

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-16500-4

  • Online ISBN: 978-3-319-16501-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics