A Genetic Programming Hyper-heuristic: Turning Features into Heuristics for Constraint Satisfaction (original) (raw)

Automatic Generation of Heuristics for Constraint Satisfaction Problems

The constraint satisfaction problem (CSP) is a generic problem with many applications in different areas of artificial intelligence and operational research. When solving a CSP, the order in which the variables are selected to be instantiated has a tremendous impact in the cost of finding a solution. In this paper we explore a novel type of heuristic that combines different features that describe the current state of the instance to decide which variable to instantiate next. A generational genetic algorithm is used to automatically tune the parameters used by these new heuristics. This paper contributes to the development of new heuristics that can be either very specialized to one class of instances, or general enough to deal with different classes of instances with an acceptable performance.

Grammar-based generation of variable-selection heuristics for constraint satisfaction problems

Genetic Programming and Evolvable Machines, 2015

We propose a grammar-based genetic programming framework that generates variable-selection heuristics for solving constraint satisfaction problems. This approach can be considered as a generation hyper-heuristic. A grammar to express heuristics is extracted from successful human-designed variable-selection heuristics. The search is performed on the derivation sequences of this grammar using a strongly typed genetic programming framework. The approach brings two innovations to grammar-based hyper-heuristics in this domain: the incorporation of if-then-else rules to the function set, and the implementation of overloaded functions capable of handling different input dimensionality. Moreover, the heuristic search space is explored using not only evolutionary search, but also two alternative simpler strategies, namely, iterated local search and parallel hill climbing. We tested our approach on synthetic and real-world instances. The newly generated heuristics have an improved performance when compared against human-designed heuristics. Our results suggest that the constrained search space imposed by the proposed grammar is the main factor in the generation of good heuristics. However, to generate more general heuristics, the composition of the training set and the search methodology played an important role. We found that increasing the variability of the training set improved the generality of the evolved heuristics, and the evolutionary search strategy produced slightly better results.

A Supervised Learning Approach to Construct Hyper-heuristics for Constraint Satisfaction

Hyper-heuristics are methodologies that choose from a set of heuristics and decide which one to apply given some properties of the current instance. When solving a constraint satisfaction problem, the order in which the variables are selected to be instantiated has implications in the complexity of the search. In this paper we propose a logistic regression model to generate hyper-heuristics for variable ordering within constraint satisfaction problems. The first step in our approach requires to generate a training set that maps any given instance, expressed in terms of some of their features, to one suitable variable ordering heuristic. This set is used later to train the system and generate a hyper-heuristic that decides which heuristic to apply given the current features of the instances at hand at different steps of the search. The results suggest that hyper-heuristics generated through this methodology allow us to exploit the strengths of the heuristics to minimize the cost of the search.

Hyper-heuristics for the dynamic variable ordering in constraint satisfaction problems

2008

The idea behind hyper-heuristics is to discover some combination of straightforward heuristics to solve a wide range of problems. To be worthwhile, such combination should outperform the single heuristics. This paper presents a GAbased method that produces general hyper-heuristics for the dynamic variable ordering within Constraint Satisfaction Problems. The GA uses a variable-length representation, which evolves combinations of condition-action rules producing hyper-heuristics after going through a learning process which includes training and testing phases. Such hyper-heuristics, when tested with a large set of benchmark problems, produce encouraging results for most of the cases. The testebed is composed of problems randomly generated using an algorithm proposed by Prosser .

Using Hyper-heuristics for the Dynamic Variable Ordering in Binary Constraint Satisfaction Problems

2008

The idea behind hyper-heuristics is to discover some combination of straightforward heuristics to solve a wide range of problems. To be worthwhile, such combination should outperform the single heuristics. This paper presents a GA-based method that produces general hyper-heuristics for the dynamic variable ordering within Constraint Satisfaction Problems. The GA uses a variable-length representation, which evolves combinations of condition-action rules producing hyper-heuristics after going through a learning process which includes training and testing phases. Such hyper-heuristics, when tested with a large set of benchmark problems, produce encouraging results for most of the cases. There are instances of CSP that are harder to be solved than others, this due to the constraint and the conflict density [4]. The testebed is composed of hard problems randomly generated by an algorithm proposed by Prosser [18].

Learning and using hyper-heuristics for variable and value ordering in constraint satisfaction problems

Proceedings of the 11th annual conference companion on Genetic and evolutionary computation conference - GECCO '09, 2009

This paper explores the use of hyper-heuristics for variable and value ordering in binary Constraint Satisfaction Problems (CSP). Specifically, we describe the use of a symbolic cognitive architecture, augmented with constraint based reasoning as the hyper-heuristic machine learning framework. The underlying design motivation of our approach is to "do more with less." Specifically, the approach seeks to minimize the number of low level heuristics encoded yet dramatically expand the expressiveness of the hyper-heuristic by encoding the constituent measures of each heuristic, thereby providing more opportunities to achieve improved solutions. Further, the use of a symbolic cognitive architecture allows us to encode hierarchical preferences which extend the effectiveness of the hyper-heuristic across problem types. Empirical experiments are conducted to generate and test hyper-heuristics for two benchmark CSP problem types: Map Coloring; and, Job Shop Scheduling. Results suggest that the hyper-heuristic approach provides a dramatically higher level of representational granularity allowing superior intra-problem and inter-problem solutions to be secured over traditional combinations of variable and value ordering heuristics.

Exploring Hyper-heuristic Methodologies with Genetic Programming

Hyper-heuristics represent a novel search methodology that is motivated by the goal of automating the process of selecting or combining simpler heuristics in order to solve hard computational search problems. An extension of the original hyper-heuristic idea is to generate new heuristics which are not currently known. These approaches operate on a search space of heuristics rather than directly on a search space of solutions to the underlying problem which is the case with most meta-heuristics implementations. In the majority of hyper-heuristic studies so far, a framework is provided with a set of human designed heuristics, taken from the literature, and with good measures of performance in practice. A less well studied approach aims to generate new heuristics from a set of potential heuristic components. The purpose of this chapter is to discuss this class of hyper-heuristics, in which Genetic Programming is the most widely used methodology. A detailed discussion is presented including the steps needed to apply this technique, some representative case studies, a literature review of related work, and a discussion of relevant issues. Our aim is to convey the exciting potential of this innovative approach for automating the heuristic design process.

Mapping the performance of heuristics for Constraint Satisfaction

2010

Hyper-heuristics are high level search methodologies that operate over a set of heuristics which operate directly on the problem domain. In one of the hyper-heuristic frameworks, the goal is automating the process of selecting a human-designed low level heuristic at each step to construct a solution for a given problem. Constraint Satisfaction Problems (CSP) are well know NP complete problems. In this study, behaviours of two variable ordering heuristics Max-Conflicts (MXC) and Saturation Degree (SD) with respect to various combinations of constraint density and tightness values are investigated in depth over a set of random CSP instances. The empirical results show that the performance of these two heuristics are somewhat complementary and they vary for changing constraint density and tightness value pairs. The outcome is used to design three hyper-heuristics using MXC and SD as low level heuristics to construct a solution for unseen CSP instances. It has been observed that these hyper-heuristics improve the performance of individual low level heuristics even further in terms of mean consistency checks for some CSP instances.

Using Learning Classifier Systems to Design Selective Hyper-Heuristics for Constraint Satisfaction Problems

Constraint satisfaction problems (CSP) are defined by a set of variables, where each variable contains a series of values it can be instantiated with. There is a set of constraints among the variables that restrict the different values they can take simultaneously. The task is to find one assignment to all the variables without breaking any constraint. To solve a CSP instance, a search tree is created where each node represents a variable of the instance. The order in which the variables are selected for instantiation changes the form of the search tree and affects the cost of finding a solution. Many heuristics have been proposed to help to decide the next variable to instantiate during the search and they have proved to be helpful for some instances. In this paper we explore the use of learning classifier systems to construct selective hyper-heuristics that dynamically select, from a set of variable ordering heuristics for CSPs, the one that best matches the current problem state in order to perform well on a wide range of instances. During a training phase, the system constructs state-heuristic rules as it explores the search space. Heuristics with good performance at certain points are rewarded and become more likely to be applied in similar situations. The approach is tested on random instances, providing promising results with respect to the median performance of the variable ordering heuristics used in isolation.

Exploring Heuristic Interactions in Constraint Satisfaction Problems: A Closer Look at the Hyper-Heuristic Space

Variable ordering has been a recurrent topic of study in the field of constraint satisfaction because of its impact in the cost of the search. Various variable ordering heuristics have been proposed to help guiding the search under different situations. One important direction of the study about variable ordering is the use of distinct heuristics as the search progresses to reduce the cost of the search. Even though the idea of combining heuristics goes back to the 60's, only a few works that study which heuristics to use and how they interact with each other have been described. In this investigation, we analyse the interactions of four important variable ordering heuristics by combining them through hyper-heuristics that decide the heuristic to apply based on the depth of the nodes in the search tree. The paper does not include any specific model for generating such hyper-heuristics; instead, it presents an analysis of the changes in the cost when different heuristics are applied during the search by using one simple hyper-heuristic representation. The results show that selectively applying distinct heuristics as the search progresses may lead to important reductions in the cost of the search with respect to the performance of the same heuristics used in isolation.