Heuristic techniques for variable and value ordering in CSPs (original) (raw)
Related papers
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].
An empirical study of dynamic variable ordering heuristics for the constraint satisfaction problem
1996
The constraint satisfaction community has developed a number of heuristics for variable ordering during backtracking search. For example, in conjunction with algorithms which check forwards, the Fail-First (FF) and Brelaz (Bz) heuristics are cheap to evaluate and are generally considered to be very effective. Recent work to understand phase transitions in NP-complete problem classes enables us to compare such heuristics over a large range of different kinds of problems.
When solving a constraint satisfaction problem by using systematic algorithms it is needed to expand and explore a search tree to find a solution. In this work we study both binary and k-way branching schemes while they interact with various variable ordering heuristics, and how those interactions affect the cost of finding a solution to different instances. Both branching schemes have been used in previous investigations and it is not straight forward to determine the conditions that make one branching scheme better than the other. But we provide evidence that, in order to decide, variable ordering heuristics play a major role in the performance of these branching schemes. This study is intended to work as a preliminary study to develop hyper-heuristics for branching schemes in combination with variable ordering heuristics. The final part of the analysis presents a very simple naive hyper-heuristic that randomly applies binary and k-way branching as the search progresses in combination with some well known variable ordering heuristics. The scope of this paper is to explore the interactions between different variable ordering heuristics and these two branching schemes, in order to produce some relations between their performance. We expect these relations to be used in further studies as the basis for more robust hyper-heuristics that take into consideration the information gathered in this investigation.
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 .
A non-binary constraint ordering heuristic for constraint satisfaction problems
Applied Mathematics and Computation, 2008
Nowadays many real problems can be modelled as Constraint Satisfaction Problems (CSPs). A search algorithm for constraint programming requires an order in which variables and values should to be considered. Choosing the right order of variables and values can noticeably improve the efficiency of constraint satisfaction.
Coevolutionary genetic algorithm for variable ordering in CSPs
2014 IEEE Congress on Evolutionary Computation (CEC), 2014
A Constraint Satisfaction Problem (CSP) is a framework used for modeling and solving constrained problems. Treesearch algorithms like backtracking try to construct a solution to a CSP by selecting the variables of the problem one after another. The order in which these algorithm select the variables potentially have significant impact on the search performance. Various heuristics have been proposed for choosing good variable ordering. Many powerful variable ordering heuristics weigh the constraints first and then utilize the weights for selecting good order of the variables. Constraint weighting are basically employed to identify global bottlenecks in a CSP.
Toward understanding variable ordering heuristics for constraint satisfaction problems
2003
Abstract. Most previous work on understanding variable ordering heuristics for constraint satisfaction problems has focused on the ability to recover from bad decisions. It has been demonstrated however that this ability cannot be the full explanation of the quality of a variable ordering heuristic [8]. In this paper, we develop a more complete framework for analyzing heuristics based on optimal policies.
2001
We investigate techniques to enhance the performance of backtrack search procedure with forward-checking (FC-BT) for finding all solutions to a finite Constraint Satisfaction Problem (CSP). We consider ordering heuristics for variables and/or values and bundling techniques based on the computation of interchangeability. While the former methods allow us to traverse the search space more effectively, the latter allow us to reduce it size. We design and compare strategies that combine static and dynamic versions of these two approaches. We show empirically the utility of dynamic variable ordering combined with dynamic bundling in both random problems and puzzles.
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.
Dynamic selection of enumeration strategies for solving constraint satisfaction problems
The main goal concerning Constraint Satisfaction Problems is to determine a value assignment for variables satisfying a set of constraints, or otherwise, to conclude that such an assignment does not exist (the set of constraints is unsatisfiable). In the Constraint Programming resolution process, it is known that the order in which the variables are assigned have a significant impact in terms of computational cost. In this paper we propose a new framework for guiding the classical Constraint Programming resolution process. Such a framework is able to measure the resolution process, using some indicators, in order to perform on-the-fly replacements of variable/value ordering heuristics exhibiting poor performances. The replacement is performed depending on a quality rank, which is computed by means of a choice function-based Hyperheuristic, where its parameters are fine-tuned by a Genetic Algorithm which trains the choice function carrying out a sampling phase. The experimental results show the effectiveness of our approach where our combination of strategies outperforms the use of individual strategies.