Declarative Heuristics in Constraint Satisfaction

Constraint Satisfaction Problems (CSPs) have the big advantage of a succinct, declarative and easy to understand representation form. Unfortunately, solving CSPs is NP-complete in the general case. In order to cope with this, common CSP frameworks offer the possibility to use different built-in heuristics. However, the provided built-in heuristics are often not suitable to significantly boost solution calculation. Also the facilities for expressing domain-specific heuristics in a declarative manner within the CSP framework are typically very limited (e.g. by defining a static variable selection order)and thus are often not applicable. As a consequence such domain-specific heuristics are often implemented by means of custom propagators or custom constraints (e.g. a special constraint for bin packing problems) forcing domain experts and knowledge engineers to leave the declarative world and implement the heuristics in a procedural manner. In this paper we propose a new declarative language for expressing domain specific heuristics for CSPs which can be easily integrated in every CSP framework. We also describe a prototype implementation within a state-of-the-art CSP solver and present proof of concept results on real world configuration problem instances.

[1]  Alessandro Zanarini,et al.  Counting-Based Search: Branching Heuristics for Constraint Satisfaction Problems , 2012, J. Artif. Intell. Res..

[2]  Alexander Nareyek,et al.  Integrating Local-Search Advice Into Refinement Search (Or Not) , 2003 .

[3]  Malek Mouhoub,et al.  Heuristic techniques for variable and value ordering in CSPs , 2011, GECCO '11.

[4]  Philippe Refalo,et al.  Impact-Based Search Strategies for Constraint Programming , 2004, CP.

[5]  Georg Gottlob,et al.  Optimization Methods for the Partner Units Problem , 2011, CPAIOR.

[6]  Hantao Zhang,et al.  Combining Local Search and Backtracking Techniques for Constraint Satisfaction , 1996, AAAI/IAAI, Vol. 1.

[7]  Graham Kendall,et al.  Hyper-Heuristics: An Emerging Direction in Modern Search Technology , 2003, Handbook of Metaheuristics.

[8]  Steven Minton,et al.  Solving Large-Scale Constraint-Satisfaction and Scheduling Problems Using a Heuristic Repair Method , 1990, AAAI.

[9]  Peter J. Stuckey,et al.  Search combinators , 2012, Constraints.

[10]  Conrad Drescher,et al.  The Partner Units Problem a Constraint Programming Case Study , 2012, 2012 IEEE 24th International Conference on Tools with Artificial Intelligence.

[11]  Rina Dechter,et al.  Experimental Evaluation of Preprocessing Techniques in Constraint Satisfaction Problems , 1989, IJCAI.

[12]  Martin Gebser,et al.  Domain-Specific Heuristics in Answer Set Programming , 2013, AAAI.

[13]  Georg Gottlob,et al.  Tackling the Partner Units Configuration Problem , 2011, IJCAI.

[14]  Konstantinos Koiliaris,et al.  Complexity in Constraint Satisfaction and Automated Configuration , 2011 .

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

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

[17]  Eugene C. Freuder A sufficient condition for backtrack-bounded search , 1985, JACM.

[18]  Andreas A. Falkner,et al.  Modeling and solving technical product configuration problems , 2011, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[19]  Gerhard Friedrich,et al.  QuickPup: A Heuristic Backtracking Algorithm for the Partner Units Configuration Problem , 2012, IAAI.