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.

[1]  J. Nesetril,et al.  Colouring , Constraint Satisfaction , and Complexity For Aleš Pultr on the Occasion of his 70 th Birthday Pavol Hell , 2008 .

[2]  Vipin Kumar,et al.  A Parallel Algorithm for Multilevel Graph Partitioning and Sparse Matrix Ordering , 1998, J. Parallel Distributed Comput..

[3]  Roman Barták,et al.  Constraint satisfaction for planning and scheduling problems , 2011, Constraints.

[4]  Yu Qian,et al.  Constraint-Based Graph Clustering through Node Sequencing and Partitioning , 2004, PAKDD.

[5]  Jaroslav Nesetril,et al.  Colouring, constraint satisfaction, and complexity , 2008, Comput. Sci. Rev..

[6]  Lakhdar Sais,et al.  Boosting Systematic Search by Weighting Constraints , 2004, ECAI.

[7]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[8]  Linet Özdamar,et al.  Efficient interval partitioning - Local search collaboration for constraint satisfaction , 2008, Comput. Oper. Res..

[9]  Bruce Hendrickson,et al.  A Multi-Level Algorithm For Partitioning Graphs , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[10]  Toby Walsh,et al.  An Empirical Study of Dynamic Variable Ordering Heuristics for the Constraint Satisfaction Problem , 1996, CP.

[11]  Michèle Sebag,et al.  Online Heuristic Selection in Constraint Programming , 2009 .

[12]  Tibor Csendes,et al.  An interval partitioning algorithm for constraint satisfaction problems , 2011, Int. J. Model. Identif. Control..

[13]  Fred W. Glover,et al.  Future paths for integer programming and links to artificial intelligence , 1986, Comput. Oper. Res..

[14]  Steven Minton,et al.  Minimizing Conflicts: A Heuristic Repair Method for Constraint Satisfaction and Scheduling Problems , 1992, Artif. Intell..

[15]  Bertrand Neveu,et al.  Problem partition and solvers coordination in distributed constraint satisfaction , 1997, Parallel Processing for Artificial Intelligence 3.

[16]  S.,et al.  An Efficient Heuristic Procedure for Partitioning Graphs , 2022 .

[17]  Katia Sycara,et al.  Distributed Constraint Satisfaction through Constraint Partition and Coordinated Reaction , 1999 .

[18]  Hugo Terashima-Marín,et al.  Exploring the Solution of Course Timetabling Problems through Heuristic Segmentation , 2012, MICAI.

[19]  James M. McCollum,et al.  A constraint satisfaction algorithm for microcontroller selection and pin assignment , 2010, Proceedings of the IEEE SoutheastCon 2010 (SoutheastCon).