A hyper-heuristic is an automated methodology for selecting or generating heuristics to solve hard computational search problems. The main feature distinguishing these methods is that they explore a search space of heuristics (rather than a search space of potential solutions to a problem). The goal is that hyper-heuristics will lead to more general systems that are able to automatically operate over a wider range of problem domains than is possible today. The term hyper-heuristic was first used in 1997 to describe a protocol that combines several artificial intelligence methods in the context of automated theorem proving. The term was independently used in 2000 to describe ‘heuristics to choose heuristics’ in the context of combinatorial optimization. The idea of automating the design of heuristics, however, can be traced back to the early 60s. A more recent research trend in hyper-heuristics attempts to automatically generate new heuristics suited to a given problem or class of problems. This is typically done by combining, through the use of genetic programming for example, components or building-blocks of human designed heuristics. The first workshop devoted to hyper-heuristics was held in 2008 as part of the 10th International Conference on Parallel Problem Solving from Nature (PPSN X) in Dortmund, Germany. The event was lively and well attended; it was seeded by three prominent invited speakers: Prof. Edmund Burke, University of Nottingham, UK; Prof. Roberto Battiti, University of Trento, Italy; and Prof. Riccardo Poli, University of Essex, UK. Over twenty submissions were received and carefully reviewed to select a dozen that were presented during the workshop. In connection with this workshop, we are glad to present this special issue of the Journal of Heuristics, devoted to Hyper-heuristics in Search and Optimization. Besides inviting the workshop