Subheuristic Search and Scalability in a Hyperheuristic Robert E Keller, Riccardo Poli Dept. of Computing and Electronic Systems, University of Essex, Colchester, United Kingdom robert.e.keller@gmx.net, rpoli@essex.ac.uk ABSTRACT Our previous work has introduced a hyperheuristic (HH) approach based on Genetic Programming (GP). There, GP employs user- given languages where domain-specific local heuristics are used as primitives for producing specialised metaheuristics (MH). Here, we show that the GP-HH works well with simple generic languages over subheuristic primitives, dealing with increases of problem size and reduction of resources. The system produces effective and effi- cient MHs that deliver best results known in a chosen test domain. We also demonstrate that user-given, modest domain information allows the HH to produce an improvement over a previous best re- sult from the literature. Categories and Subject Descriptors Artificial Intelligence [Problem Solving, Con- trol Methods, and Search]: Heuristic methods General Terms Algorithms Experi- mentation Languages 1. INTRODUCTION A hyperheuristic is a heuristic that builds MHs that solve a given problem. In [2] we proposed a GP-HH that allows its user to de- fine different domain-specific target languages in which the HH ex- presses its evolved MHs, making it a more generic solver. Here, we suggest that the GP-HH may further improve its search be- haviour, by using elementary components of local heuristics, so that it evolves its MHs by also employing these basic, subheuristic primitives, and by using user-provided knowledge. The GP-HH accepts the definition of a language in which it ex- presses MHs for D, an arbitrary domain of problems. To give such a description, one may represent search methods for D, e.g., low- level heuristics or proven MHs, as components of a grammar, G, that produces its language, L(G). In this manner, σ ∈ L(G) defines a MH for D. Then, any form of grammar-based GP over L(G) is a HH for D. An individual MH is represented as g ∈ L(G). T shall designate the set of terminals of G. L(G) ⊂ T ∗ , the set of all strings over T . We call a terminal t ∈ T a primitive. Primitives may repre- sent manually created MHs, local heuristics, or subheuristics, i.e., parts of local heuristics. At the beginning of a run of the GP-HH, initialisation produces random sequences from T ∗ that have the same length. Until some termination criterion is met, selection, reproduction, and, possibly, mutation of a MH take place in an iterative fashion. A sequence σ ∈ L(G) ⊂ T ∗ is passed to EDITING [2] that turns it into a string from L(G) before selection. A MH, M, holds an individual repe- tition value, ι, that determines how often an iterative primitive of M is repeated at most. The GP-HH co-evolves the population and its ι values. To that end, the used flavour of tournament selection Copyright is held by the author/owner(s). GECCO’08, July 12–16, 2008, Atlanta, Georgia, USA. ACM 978-1-60558-131-6/08/07. metaheuristic ::= NATURAL | NATURAL search search ::= heuristic | heuristic search heuristic ::= 2-CHANGE | loop IF_2-CHANGE | loop IF_3-CHANGE loop ::= REPEAT_UNTIL_IMPROVEMENT | /* empty */ Figure 1: Description of language Complete. heuristic ::= 2-CHANGE | loop IF_2-CHANGE | loop IF_3-CHANGE | SWAP_NODE Figure 2: Language Swap. Other rules as given in Figure 1. favours higher fitness, as usual, as well as lower ι values. 2. RESULTS The set of travelling salesperson problems (TSP) is an appropri- ate domain for experiments. With n nodes of a problem given, one describes a cycle (tour) as a permutation of nodes, p =(v 0 , ..., v n−1 ), over {0, ..., n − 1}. We call permutation (0, 1, ..., n − 1) the natu- ral cycle of the problem. The primitive NATURAL creates this cycle. For a tour, the low-level heuristic 2-CHANGE, when given two edges (a, b), (c, d) : a = d, b = c, replaces them with (a, c), (b, d). There- fore, when a produced MH M is about to call 2-CHANGE, it ran- domly selects two appropriate edges as arguments for 2-CHANGE. Another primitive, IF_2-CHANGE, executes 2-CHANGE only if this will improve the tour under construction. In analogy, we also sup- ply a heuristic that we call IF_3-CHANGE. Eventually, we give the primitive REPEAT_UNTIL_IMPROVEMENT p that executes the primi- tive p until this leads to a better result or until p has been executed ι M times. A grammar, Complete, using primitives described above, is shown in Figure 1. For a permutation (tour), the simplest subheuristic randomly se- lects a node and swaps it with one of its direct neighbours, here, its right one. We call this operator SWAP_NODE. Figure 2 shows the rule resulting from the addition of SWAP_NODE. We call the associ- ated language Swap. We consider problem eil51 from TSPLIB. Its dimension is n = 51 nodes, and its best high-precision solution known has a length of 428.871765 as discovered by a MH evolved by the GP-HH [2]. We summarise experimental parameters in the caption of Table 1. Dur- ing the execution of a MH, we count each of its calls to a primitive and call the sum γ. We give performance results in Table 1. Search effectiveness (col. “mean best”) and reliability (“S.D.”) of the GP- HH under language Swap are slightly worse than under Complete.