Finite Domain Constraint Programming Systems

Publisher Summary This chapter focuses on the propagation-based finite domain constraint programming systems—that is, systems that solve problems using constraint propagation involving variables ranging over some finite set of integers. The focus on finite domain constraint programming systems coincides with both practical relevance and known principles and techniques: systems at least offer services for finite domains; much of the known principles and techniques are conceived and documented for finite domains. The chapter! concludes that finite-domain constraint programming systems are proved to be useful tools for solving many problems in a wide range of application areas. Several useful techniques for the implementation of constraint systems are available, both for constraint propagation as well as for search. However, because of the change of available hardware platforms, the advent of new methods for problem solving and new constraints and propagators, and new requirements for systems, it is clear that the development of constraint programming systems will be faced with many new and difficult challenges.

[1]  Pierre Saveant Constraint Reduction at the Type Level , 2000 .

[2]  Mats Carlsson,et al.  An Open-Ended Finite Domain Constraint Solver , 1997, PLILP.

[3]  Bart Demoen,et al.  Heap Memory Management in Prolog with Tabling: Principles and Practice , 2001, J. Funct. Log. Program..

[4]  Pascal Brisset,et al.  FaCiLe : a Functional Constraint Library , 2001 .

[5]  Nicolas Beldiceanu,et al.  Global Constraints as Graph Properties on a Structured Network of Elementary Constraints of the Same Type , 2000, CP.

[6]  Laurent Perron Search Procedures and Parallelism in Constraint Programming , 1999, CP.

[7]  Joachim Schimpf,et al.  ECLiPSe: A Platform for Constraint Logic Programming , 1997 .

[8]  Mats Carlsson,et al.  Parallel execution of prolog programs: a survey , 2001, TOPL.

[9]  François Laburthe,et al.  CLAIRE: combining sets, search and rules to better express algorithms , 1999, Theory and Practice of Logic Programming.

[10]  Peter J. Stuckey,et al.  Improving Linear Constraint Propagation by Changing Constraint Representation , 2003, Constraints.

[11]  Martin Henz,et al.  Figaro: Yet Another Constraint Programming Library , 1999, Electron. Notes Theor. Comput. Sci..

[12]  Frédéric Benhamou,et al.  Heterogeneous Constraint Solving , 1996, ALP.

[13]  Jörg Würtz,et al.  Constructive Disjunction Revisited , 1996, KI.

[14]  Philippe Codognet,et al.  Design and Implementation of the GNU Prolog System , 2001, J. Funct. Log. Program..

[15]  Michael Hanus,et al.  A unified computation model for functional and logic programming , 1997, POPL '97.

[16]  Steven David Prestwich,et al.  Improved Branch and Bound in Constraint Logic Programming , 1995, CP.

[17]  Lee Naish Logic Programming, Proceedings of the Fourteenth International Conference on Logic Programming, Leuven, Belgium, July 8-11, 1997 , 1997, ICLP.

[18]  Patrick Brézillon,et al.  Lecture Notes in Artificial Intelligence , 1999 .

[19]  Mark Wallace,et al.  Hybrid Benders Decomposition Algorithms in Constraint Logic Programming , 2001, CP.

[20]  Christian Bessiere,et al.  Specific Filtering Algorithms for Over-Constrained Problems , 2001, CP.

[21]  Enrico Pontelli Parallelism and implementation technology for (constraint) logic programming , 1998, SIGP.

[22]  Michael J. Maher,et al.  Beyond Finite Domains , 1994, PPCP.

[23]  Roland H. C. Yap,et al.  The CLP( R ) language and system , 1992, TOPL.

[24]  Pierre Flener,et al.  Introducing ESRA, a Relational Language for Modelling Combinatorial Problems , 2003, CP.

[25]  Philippe Codognet,et al.  GNU Prolog: Beyond Compiling Prolog to C , 2000, PADL.

[26]  Seif Haridi,et al.  Kernel Andorra Prolog and its Computation Model , 1990, ICLP.

[27]  Kish Shen,et al.  Eplex: Harnessing Mathematical Programming Solvers for Constraint Logic Programming , 2005, CP.

[28]  William S. Havens,et al.  A language for optimizing constraint propagation , 1993 .

[29]  Micha Meier Debugging Constraint Programs , 1995, CP.

[30]  Philippe Codognet,et al.  Guarded Constructive Disjunction: Angel or Demon? , 1995, CP.

[31]  Martin Henz,et al.  Components for State Restoration in Tree Search , 2001, CP.

[32]  Arnaud Gotlieb,et al.  Dynamic Optimization of Interval Narrowing Algorithms , 1998, J. Log. Program..

[33]  Nicolas Beldiceanu,et al.  Introducing global constraints in CHIP , 1994 .

[34]  Peter J. Stuckey,et al.  Speeding Up Constraint Propagation , 2004, CP.

[35]  Hassan Aït-Kaci,et al.  Warren's Abstract Machine: A Tutorial Reconstruction , 1991 .

[36]  Pedro Barahona,et al.  PSICO: Solving Protein Structures with Constraint Programming and Optimization , 2002, Constraints.

[37]  Jacques Chassin de Kergommeaux,et al.  Parallel logic programming systems , 1994, CSUR.

[38]  Christian Holzbaur,et al.  Metastructures versus Attributed Variables in the Context of Extensible Unification , 1992, PLILP.

[39]  Pascal Van Hentenryck,et al.  Design, Implementation, and Evaluation of the Constraint Language cc(FD) , 1994, Constraint Programming.

[40]  Christian Schulte Oz Explorer: A Visual Constraint Programming Tool , 1996, PLILP.

[41]  Philippe Codognet,et al.  Compiling Constraints in clp(FD) , 1996, J. Log. Program..

[42]  M. Henz An Overview of Finite Domain Constraint Programming , 2000 .

[43]  François Laburhe CHOCO: implementing a CP kernel , 2007 .

[44]  M. Bruynooghe Logic Programming, Proceedings of the 1994 International Symposium, Ithaca, New York, USA, November 13-17, 1994 , 1994, ILPS.

[45]  Nicolas Beldiceanu,et al.  Overview of the CHIP Compiler System , 1993, WCLP.

[46]  Michael J. Maher Propagation Completeness of Reactive Constraints , 2002, ICLP.

[47]  Gert Smolka,et al.  The Oz Programming Model , 1996, Computer Science Today.

[48]  Christian Schulte,et al.  Programming Constraint Inference Engines , 1997, CP.

[49]  Mark Wallace,et al.  On Benchmarking Constraint Logic Programming Platforms. Response to Fernandez and Hill's “A Comparative Study of Eight Constraint Programming Languages over the Boolean and Finite Domains” , 2004, Constraints.

[50]  Christian Schulte,et al.  Programming Constraint Services , 2002, Lecture Notes in Computer Science.

[51]  Jean-Charles Régin,et al.  Maintaining Arc Consistency Algorithms During the Search Without Additional Space Cost , 2005, CP.

[52]  Gert Smolka,et al.  Encapsulated Search for Higher-order Concurrent Constraint Programming , 1994, ILPS.

[53]  Serge Le Huitouze A New Data Structure for Implementing Extensions to Prolog , 1990, PLILP.

[54]  Christian Schulte,et al.  Parallel Search Made Simple , 2000 .

[55]  Krzysztof R. Apt The role of commutativity in constraint propagation algorithms , 2000, TOPL.

[56]  Jean-Charles Régin,et al.  Robust and Parallel Solving of a Network Design Problem , 2002, CP.

[57]  Pascal Van Hentenryck,et al.  Search and strategies in OPL , 2000, TOCL.

[58]  V HermenegildoManuel,et al.  Parallel execution of prolog programs , 2001 .

[59]  Peter J. Stuckey,et al.  When do bounds and domain propagation lead to the same search space , 2001, PPDP '01.

[60]  Pascal Van Hentenryck,et al.  Backtracking without trailing in CLP (RLin) , 1994, PLDI '94.

[61]  Neng-Fa Zhou Programming finite-domain constraint propagators in Action Rules , 2006, Theory Pract. Log. Program..

[62]  Pascal Van Hentenryck The OPL optimization programming language , 1999 .

[63]  Matthew L. Ginsberg,et al.  Limited Discrepancy Search , 1995, IJCAI.

[64]  Christian Schulte,et al.  Views and Iterators for Generic Constraint Implementations , 2005, CSCLP.

[65]  Nicolas Beldiceanu,et al.  Time Stamps Techniques for the Trailed Data in Constraint Logic Programming Systems , 1990, SPLT.

[66]  Nicolas Beldiceanu,et al.  Extending CHIP in order to solve complex scheduling and placement problems , 1993, JFPL.

[67]  Pedro Meseguer Interleaved Depth-First Search , 1997, IJCAI.

[68]  Alain Colmerauer,et al.  Constraint logic programming: selected research , 1993 .

[69]  Pascal Van Hentenryck,et al.  A decomposition-based implementation of search strategies , 2004, TOCL.

[70]  Jean-francois Puget,et al.  A C++ implementation of CLP , 1997 .

[71]  Toby Walsh Depth-bounded Discrepancy Search , 1997, IJCAI.

[72]  François Laburthe,et al.  SALSA: A Language for Search Algorithms , 1998, Constraints.

[73]  Michel Leconte,et al.  Beyond the Glass Box: Constraints as Objects , 1995, ILPS.

[74]  Joachim Schimpf,et al.  Parallel CLP on Heterogeneous Networks , 1994, ICLP.

[75]  Eugene C. Freuder,et al.  Ordering Heuristics for Arc Consistency Algorithms , 1992 .

[76]  Eric Monfroy,et al.  Implementing Constraint Propagation by Composition of Reductions , 2003, ICLP.

[77]  Francesca Rossi,et al.  Proceedings of the First International Conference on Principles and Practice of Constraint Programming , 1995 .

[78]  Krzysztof R. Apt,et al.  Principles of constraint programming , 2003 .

[79]  Philippe Codognet,et al.  A Minimal Extension of the WAM for clp(FD) , 1993, ICLP.

[80]  Phan Minh Dung,et al.  Stabilization of cooperative information agents in unpredictable environment: a logic programming approach , 2006, Theory Pract. Log. Program..

[81]  Tobias Müller,et al.  Constraint propagation in Mozart , 2001 .

[82]  Simon L. Peyton Jones,et al.  Imperative functional programming , 1993, POPL '93.

[83]  Narendra Jussien,et al.  The PaLM system: explanation-based constraint programming , 2000 .