Cut-and-Traverse: A New Structural Decomposition Strategy for Finite Constraint Satisfaction Problems (original) (raw)
Related papers
Reformulating constraint satisfaction problems to improve scalability
2007
Constraint Programming is a powerful approach for modeling and solving many combinatorial problems, scalability, however, remains an issue in practice. Abstraction and reformulation techniques are often sought to overcome the complexity barrier. In this paper we introduce four reformulation techniques that operate on the various components of a Constraint Satisfaction Problem (CSP) in order to reduce the cost of problem solving and facilitate scalability.
A Recursive Split, Solve and Join Strategy for Solving Constraint Satisfaction Problems
Constraint satisfaction is a recurrent problem found in both industrial and academic environments. The importance of this particular problem relies on the fact that many other problem domains can be represented as constraint satisfaction problems. The instances of this problem are usually difficult to solve due to their combinatorial nature, as they often require an exponential time in the number of variables. Various solving strategies have been proposed to tackle this problem in the past, being the two most important trends local search and backtracking-based methods. In this paper we propose a novel solving strategy that partitions constraint satisfaction instances into smaller ones that can be independently solved and later, uses their solutions to solve the original instance. This process is performed in a recursive fashion, including both a local search-based and a backtracking-based solver. Tests of the proposed approach on a set of benchmark instances taken from public repositories obtained encouraging results with respect to both local search and backtracking-based solvers applied in isolation.
2007
In this paper, we present a solution approach based on Chvátal's Resolution Search [2] to solve combinatorial optimization problems. Resolution Search constitutes an alternative to classical enumeration methods and possesses strong connections to nogood recording approaches, and in particular dynamic backtracking, though it is designed to deal with binary linear programming problems. Accordingly, we suggest to hybridize the procedure using constraint programming techniques, in order to apply it to Constraint Satisfaction Problems (CSP). Furthermore, the introduction of such techniques allows some specific improvements that speed up the process and let many outcomes for further research. In order to evaluate the interest of the proposed method, we use it to tackle some particular graph coloring instances, known as the Queens n 2 problem. The experimental results obtained so far prove the validity of the approach and compete with state-of-the-art complete solution methods.
Algorithms for Constraint Satisfaction Problems: A Survey, Appeared In
AI Magazine, 1992
A large number of problems in AI and other areas of computer science can be viewed as special cases of the constraint-satisfaction problem. Some examples are machine vision, belief maintenance, scheduling, temporal reasoning, graph problems, floor plan design, the planning of genetic experiments, and the satisfiability problem. A number of different approaches have been developed for solving these problems. Some of them use constraint propagation to simplify the original problem. Others use backtracking to directly search for possible solutions. Some are a combination of these two techniques. This article overviews many of these approaches in a tutorial fashion. Articles
Solution Techniques for Constraint Satisfaction Problems: Foundations
Artificial Intelligence Review, 2001
Conventional techniques for the constraint satisfaction problem (CSP) have had considerable success in their applications. However, there are many areas in which the performance of the basic approaches may be improved. These include heuristic ordering of certain tasks performed by the CSP solver, hybrids which combine compatible solution techniques and graph based methods which exploit the structure of the constraint graph representation of a CSP. Also, conventional constraint satisfaction techniques only address problems with hard constraints (i.e. each of which are completely satisfied or completely violated, and all of which must be satisfied by a valid solution). Many real applications require a more flexible approach which relaxes somewhat these rigid requirements. To address these issues various approaches have been developed. This paper attempts a systematic review of them.
New trends in constraint satisfaction, planning, and scheduling: a survey
The Knowledge Engineering Review, 2010
During recent years the development of new techniques for constraint satisfaction, planning, and scheduling has received increased attention, and substantial effort has been invested in trying to exploit such techniques to find solutions to real life problems. In this paper, we present a survey on constraint satisfaction, planning and scheduling from the Artificial Intelligence point of view. In particular, we present the main definitions and techniques, and we discuss possible ways of integrating such techniques. We also analyze the role of constraint satisfaction in planning and scheduling, and we hint at some open research issues related to planning, scheduling and constraint satisfaction. 2 ROMAN BARTÁK, MIGUEL A. SALIDO, FRANCESCA ROSSI very useful to prune the search space. We then present three families of search techniques: Look-Back, Look-Ahead, and local search. Finally, we discuss some variable and value ordering heuristics, that can improve the efficiency of the previous techniques.
Algorithms for Constraint-Satisfaction Problems: A Survey
Ai Magazine, 1992
A large number of problems in AI and other areas of computer science can be viewed as special cases of the constraint-satisfaction problem. Some examples are machine vision, belief maintenance, scheduling, temporal reasoning, graph problems, floor plan design, the planning of genetic experiments, and the satisfiability problem. A number of different approaches have been developed for solving these problems. Some of them use constraint propagation to simplify the original problem. Others use backtracking to directly search for possible solutions. Some are a combination of these two techniques. This article overviews many of these approaches in a tutorial fashion. Articles
Fast and Parallel Decomposition of Constraint Satisfaction Problems
Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence, 2020
Constraint Satisfaction Problems (CSP) are notoriously hard. Consequently, powerful decomposition methods have been developed to overcome this complexity. However, this poses the challenge of actually computing such a decomposition for a given CSP instance, and previous algorithms have shown their limitations in doing so. In this paper, we present a number of key algorithmic improvements and parallelisation techniques to compute so-called Generalized Hypertree Decompositions (GHDs) faster. We thus advance the ability to compute optimal (i.e., minimal-width) GHDs for a significantly wider range of CSP instances on modern machines. This lays the foundation for more systems and applications in evaluating CSPs and related problems (such as Conjunctive Query answering) based on their structural properties.
Constraint satisfaction---a survey
1998
Constraint satisfaction has been used as a term to cover a wide range of methods to solve problems stated in the form of a set of constraints. As the general constraint satisfaction problem (CSP) is NP-complete, initially the research focused on developing new and more efficient solution methods, resulting in an arsenal of algorithms. Recently, much attention has been paid on how to finetune the use of this arsenal, and to be able to judge which methods are promising for a given problem or problem-type. In the last few years different generalisations of the classical CSP have got much attention too, allowing to model a wider range of everyday problems. In this survey we introduce the classical CSP and the basic solution techniques as well as the ongoing research on the applicability of these methods and on extensions of the classical framework. After giving some introductory examples we define the most essential technical notions in order to explain different solution methods. First, we discuss constraint propagation algorithms, which transform the initially given CSP step by step to an equivalent, but smaller problem. Then we will introduce a family of constructive search algorithms, followed by methods exploiting the structure of the problem. Finally, we discuss the local and stochastic methods, also applicable to solve non-standard problems. The discussion of solution methods will be closed by addressing the issue of choosing a good algorithm for a given problem. Many practical applications have essential characteristics which do not "fit into" the classical formalism of CSP. The extension of the problem definition and appropriate solution methods will be dealt with in the final chapter.
IJERT-Constraint Satisfaction Problems In Constraint Programming
International Journal of Engineering Research and Technology (IJERT), 2013
https://www.ijert.org/constraint-satisfaction-problems-in-constraint-programming https://www.ijert.org/research/constraint-satisfaction-problems-in-constraint-programming-IJERTV2IS80060.pdf Constraint satisfaction is arguably the most relevant and practical facet of programming in operational research. As a branch of constraint programming, it has received unprecedented application in airline, shipping and freight industries particularly in scheduling and rostering. The formulation and research into algorithms for constraint satisfaction problems solution has received a lot of interest among researchers owing to the robustness of solutions that can be harnessed. Beginning with an introduction on constraint programming, the paper defines and isolates a typical constraint satisfaction problem. It then delves into the topic of constraint satisfaction as a branch of constraint programming, the modes of algorithm formulation to solve constraint satisfaction problems and its applicability in real life scenarios.