Journal of the Operational Research Society

, Volume 64, Issue 12, pp 1725–1741 | Cite as

Automated code generation by local search

  • M R Hyde
  • E K Burke
  • G Kendall
Special Issue Paper
Part of the following topical collections:
  1. Part Special Issue: Systems to Build Systems

Abstract

There are many successful evolutionary computation techniques for automatic program generation, with the best known, perhaps, being genetic programming. Genetic programming has obtained human competitive results, even infringing on patented inventions. The majority of the scientific literature on automatic program generation employs such population-based search approaches, to allow a computer system to search a space of programs. In this paper, we present an alternative approach based on local search. There are many local search methodologies that allow successful search of a solution space, based on maintaining a single incumbent solution and searching its neighbourhood. However, use of these methodologies in searching a space of programs has not yet been systematically investigated. The contribution of this paper is to show that a local search of programs can be more successful at automatic program generation than current nature inspired evolutionary computation methodologies.

Keywords

heuristics genetic programming local search 

References

  1. Allen S, Burke EK, Hyde MR and Kendall G (2009). Evolving reusable 3D packing heuristics with genetic programming. In: Raidl G et al (eds). Proceedings of the ACM Genetic and Evolutionary Computation Conference (GECCO’ 09). ACM: Montreal, Canada, pp 931–938.CrossRefGoogle Scholar
  2. Bader-El-Den MB and Poli R (2007). Generating SAT localsearch heuristics using a gp hyper-heuristic framework. In: Monmarché N, Talbi E-G, Collet P, Schoenauer M and Lutton, E (eds). LNCS 4926. Proceedings of the 8th International Conference on Artificial Evolution. Springer: Tours, France, pp 37–49.Google Scholar
  3. Banzhaf W, Nordin P, Keller RE and Francone FD (1998). Genetic Programming, An Introduction: On the Automatic Evolution of Computer Programs and its Applications. Morgan Kaufmann: San Francisco.CrossRefGoogle Scholar
  4. Baxter J (1981). Local optima avoidance in depot location. Journal of the Operational Research Society 32 (9): 815–819.CrossRefGoogle Scholar
  5. Burke EK, Hart E, Kendall G, Newall J, Ross P and Schulenburg S (2003a). Hyper-heuristics: An emerging direction in modern search technology. In: Glover F and Kochenberger G (eds). Handbook of Meta-Heuristics. Kluwer: Boston, MA, pp 457–474.Google Scholar
  6. Burke EK, Kendall G and Soubeiga E (2003b). A tabu-search hyperheuristic for timetabling and rostering. Journal of Heuristics 9 (6): 451–470.CrossRefGoogle Scholar
  7. Burke EK, Hyde MR and Kendall G (2006). Evolving bin packing heuristics with genetic programming. In: Runarsson T, Beyer HG, Burke E, Merelo-Guervos JJ, Whitley D and Yao X (eds) LNCS 4193, Proceedings of the 9th International Conference on Parallel Problem Solving from Nature (PPSN’06). Springer: Reykjavik, Iceland, pp 860–869.Google Scholar
  8. Burke EK, Hyde MR, Kendall G and Woodward J (2007a). Automatic heuristic generation with genetic programming: Evolving a jack-of-all-trades or a master of one. In: Thierens D et al (eds). Proceedings of the 9th ACM Genetic and Evolutionary Computation Conference (GECCO’07). ACM: London, England, UK, pp 1559–1565.Google Scholar
  9. Burke EK, Hyde MR, Kendall G and Woodward J (2007b). The scalability of evolved on line bin packing heuristics. In: Srinivasan D and Wang L (eds). Proceedings of the IEEE Congress on Evolutionary Computation (CEC’07). IEEE: Singapore, pp 2530–2537.CrossRefGoogle Scholar
  10. Burke EK, Hyde M, Kendall G, Ochoa G, Ozcan E and Woodward J (2009). Exploring hyper-heuristic methodologies with genetic programming. In: Mumford C and Jain L (eds). Computational Intelligence: Collaboration, Fusion and Emergence. Springer: New York, pp 177–201.CrossRefGoogle Scholar
  11. Burke EK, Hyde M and Kendall G (2010a). Providing a memory mechanism to enhance the evolutionary design of heuristics. In: Sobrevilla P, Aranda J and Xambo S (eds). Proceedings of the IEEE World Congress on Computational Intelligence (WCCI’10). IEEE: Barcelona, Spain, pp 3883–3890.Google Scholar
  12. Burke EK, Hyde M, Kendall G, Ochoa G, Ozcan E and Woodward J (2010b). A classification of hyper-heuristics approaches. In: Gendreau M and Potvin J-Y (eds). Handbook of Meta-Heuristics 2nd Edition. Springer: New York, pp 449–468.Google Scholar
  13. Burke EK, Hyde MR, Kendall G and Woodward J (2010c). A genetic programming hyper-heuristic approach for evolving 2-D strip packing heuristics. IEEE Transactions on Evolutionary Computation 14 (6): 942–958.CrossRefGoogle Scholar
  14. Dempsey I, O'Neill M and Brabazon A (2009). Foundations in Grammatical Evolution for Dynamic Environments. Springer: New York.CrossRefGoogle Scholar
  15. Diosan L and Oltean M (2009). Evolutionary design of evolutionary algorithms. Genetic Programming and Evolvable Machines 10 (3): 263–306.CrossRefGoogle Scholar
  16. Fukunaga AS (2008). Automated discovery of local search heuristics for satisfiability testing. Evolutionary Computation (MIT Press) 16 (1): 31–61.CrossRefGoogle Scholar
  17. Geiger CD, Uzsoy R and Aytug H (2006). Rapid modeling and discovery of priority dispatching rules: An autonomous learning approach. Journal of Scheduling 9 (1): 7–34.CrossRefGoogle Scholar
  18. Ho NB and Tay JC (2005). Evolving dispatching rules for solving the flexible job-shop problem. In: Corne D et al (eds). Proceedings of the IEEE Congress on Evolutionary Computation (CEC’05). IEEE: Edinburgh, UK, pp 2848–2855.Google Scholar
  19. Juels A and Wattenberg M (1996). Stochastic hillclimbing as a baseline mathod for evaluating genetic algorithms. In: Touretzky DS, Mozer MC and Hasselmo ME (eds). Advances in Neural Information Processing Systems. MIT Press: Denver, CO, Vol. 8, pp 430–436.Google Scholar
  20. Kenyon C (1996). Best-fit bin-packing with random order. In: Tardos E (ed). Proceedings of the Seventh Annual ACM-SIAM Symposium on Discrete Algorithms. Society for Industrial and Applied Mathematics Philadelphia, pp 359–364.Google Scholar
  21. Koza JR (1992). Genetic Programming: On the Programming of Computers by Means of Natural Selection. The MIT Press: Boston, MA.Google Scholar
  22. Koza JR and Poli R (2005). Genetic programming. In: Burke EK and Kendall G (eds) Search Methodologies: Introductory Tutorials in Optimization and Decision Support Techniques. Kluwer: Boston, MA, pp 127–164.CrossRefGoogle Scholar
  23. Langdon WB and Poli R (1998). Why ants are hard. In Koza JR et al (eds). Genetic Programming 1998: Proceedings of the Third Annual Conference. Morgan Kaufmann, University of Wisconsin, Madison: Wisconsin, USA, pp 193–201.Google Scholar
  24. Løkketangen A and Olsson R (2010). Generating metaheuristic optimization code using ADATE. Journal of Heuristics 16 (6): 911–930.CrossRefGoogle Scholar
  25. Lourenco HR, Martin O and Stutzle T (2003). Iterated local search. In: Glover F and Kochenberger G (eds). Handbook of Meta-Heuristics. Kluwer: Boston, MA, pp 321–353.Google Scholar
  26. Martin O, Otto SW and Felten EW (1992). Large-step markov chains for the tsp incorporating local search heuristics. Operations Research Letters 11 (4): 219–224.CrossRefGoogle Scholar
  27. McKay RI, Hoai NX, Whigham PA, Shan Y and O'Neill M. (2010). Grammar-based genetic programming: A survey. Genetic Programming and Evolvable Machines 11 (3–4): 365–396.CrossRefGoogle Scholar
  28. Olsson R (1995). Inductive functional programming using incremental program transformation. Artificial Intelligence 74 (1): 55–83.CrossRefGoogle Scholar
  29. Oltean M. (2005). Evolving evolutionary algorithms using linear genetic programming. Evolutionary Computation 13 (3): 387–410.CrossRefGoogle Scholar
  30. O'Neill M and Brabazon A (2006). Grammatical swarm: The generation of programs by social programming. Natural Computing 5 (4): 443–462.CrossRefGoogle Scholar
  31. O'Neill M and Ryan C (2001). Grammatical evolution. IEEE Transactions on Evolutionary Computation 5 (4): 349–358.CrossRefGoogle Scholar
  32. O'Neill M and Ryan C (2003). Grammatical Evolution: Evolutionary Automatic Programming in an Arbitrary Language. Kluwer Academic Publishers: Norwell, MA.CrossRefGoogle Scholar
  33. Poli R, Langdon WB and McPhee NF (2008). A field guide to genetic programming. lulu.com, freely available at http://www.gp-field-guide.org.uk.
  34. Poli R, Chio CD and Langdon WB (2005a). Exploring extended particle swarms: A genetic programming approach. In: Beyer H-G et al (eds). Proceedings of the Genetic and Evolutionary Computation Conference. ACM: Washington DC, USA, pp 169–176.Google Scholar
  35. Poli R, Langdon WB and Holland O (2005b). Extending particle swarm optimisation via genetic programming. In: Keijzer M, Tettamanzi A, Collet P, van Hemert J and Tomassini M (eds). Proceedings of the 8th European Conference on Genetic Programming. Springer: Lausanne, Switzerland, pp 291–300.Google Scholar
  36. Ross P (2005). Hyper-heuristics. In: Burke EK and Kendall G (eds). Search Methodologies: Introductory Tutorials in Optimization and Decision Support Techniques. Springer: New York, pp 529–556.CrossRefGoogle Scholar
  37. Ross P, Schulenburg S, Marin-Blazquez JG and Hart E (2002). Hyper heuristics: Learning to combine simple heuristics in bin packing problems. In: Langdon WB et al (eds). Proceedings of the Genetic and Evolutionary Computation Conference 2002 (GECCO ’02). Morgan Kaufmann: New York, NY, pp 942–948.Google Scholar
  38. Ross P, Marin-Blazquez JG, Schulenburg S and Hart E (2003). Learning a procedure that can solve hard bin-packing problems: A new GA-based approach to hyperheurstics. In: Cantú-Paz E (ed). Proceedings of the Genetic and Evolutionary Computation Conference 2003 (GECCO ’03). Springer-Verlag: Chicago, Illinois, pp 1295–1306.CrossRefGoogle Scholar
  39. Tay JC and Ho NB (2008). Evolving dispatching rules using genetic programming for solving multi-objective flexible job-shop problems. Computers and Industrial Engineering 54 (3): 453–473.CrossRefGoogle Scholar
  40. Terashima-Marin H, Flores-Alvarez EJ and Ross P (2005). Hyper-heuristics and classifier systems for solving 2D-regular cutting stock problems. In: Beyer HG (ed). Proceeedings of the ACM Genetic and Evolutionary Computation Conference (GECCO’05). ACM: Washington, D.C. USA, pp 637–643.Google Scholar
  41. Terashima-Marin H, Farias Zarate CJ, Ross P and Valenzuela-Rendon M (2006). A GA-based method to produce generalized hyper-heuristics for the 2D-regular cutting stock problem. In: Cattolico M (ed). Proceedings of the Genetic and Evolutionary Computation Conference (GECCO’06). ACM: Seattle, WA, USA, pp 591–598.Google Scholar
  42. Terashima-Marin H, Farias Zarate CJ, Ross P and Valenzuela-Rendon M (2007). Comparing two models to generate hyper-heuristics for the 2D-regular bin-packing problem. In: Thierens D et al (eds). Proceedings of the Genetic and Evolutionary Computation Conference (GECCO’07). ACM: London, England, UK, pp 2182–2189.Google Scholar
  43. Terashima-Marin H, Ross P, Farias Zarate CJ, Lopez-Camacho and Valenzuela-Rendon (2010). Generalized hyperheuristics for solving 2D regular and irregular packing problems. Annals of Operations Research 179 (1): 369–392.CrossRefGoogle Scholar

Copyright information

© Operational Research Society 2012

Authors and Affiliations

  • M R Hyde
    • 1
  • E K Burke
    • 1
  • G Kendall
    • 1
  1. 1.University of NottinghamNottinghamUK

Personalised recommendations