A Modeling Layer for Constraint-Programming Libraries

Mathematical-modeling and constraint-programming languages have orthogonal strengths in stating combinatorial optimization problems. Modeling languages typically feature high-level set and algebraic notations, while constraint-programming languages provide a rich constraint language and the ability to specify search procedures. This paper shows that many of the functionalities typically found in modeling languages can be integrated elegantly in constraint-programming libraries without defining a specific language or preprocessor. In particular, it presents the design of MODELER, a C++ modeling layer for constraint programming which demonstrates how to enhance the expressiveness of constraint-programming libraries and to bridge much of the gap between libraries and modeling languages.

[1]  Robert W. Irving,et al.  The Stable marriage problem - structure and algorithms , 1989, Foundations of computing series.

[2]  Mark Wallace,et al.  Probe Backtrack Search for Minimal Perturbation in Dynamic Scheduling , 2000, Constraints.

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

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

[5]  Pascal Van Hentenryck,et al.  Localizer++: An Open Library for local Search , 2001 .

[6]  Pascal Van Hentenryck,et al.  The Constraint Logic Programming Language CHIP , 1988, FGCS.

[7]  Pascal Van Hentenryck,et al.  The OPL Studio Modeling System , 2004 .

[8]  Alexander Bockmayr,et al.  Modelling mixed-integer optimisation problems in constraint logic programming , 1995 .

[9]  John W. Lloyd Beyond the Glass Box: Constraints as Objects , 1995 .

[10]  Simon de Givry,et al.  ToOLS : A Library for Partial and Hybrid Search Methods , 2003 .

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

[12]  Brian W. Kernighan,et al.  AMPL: A Modeling Language for Mathematical Programming , 1993 .

[13]  K. McAloon,et al.  Sports League Scheduling , 1997 .

[14]  J. Meeraus A. Bisschop,et al.  ON THE DEVELOPMENT OF A GENERAL ALGEBRAIC MODELING SYSTEM IN A STRATEGIC PLANNING ENVIRONMENT , 1982 .

[15]  Gert Smolka The Oz Programming Model , 1996 .

[16]  Laurent Mi OPL++: A Modeling Layer for Constraint Programming Libraries , 2000 .

[17]  Alain Colmerauer,et al.  An introduction to Prolog III , 1989, CACM.

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

[19]  Jimmy Ho-Man Lee,et al.  Speeding Up Constraint Propagation By Redundant Modeling , 1996, CP.

[20]  Pascal Van Hentenryck,et al.  Constraint Programming in OPL , 1999, PPDP.

[21]  Pascal Van Hentenryck,et al.  Combinatorial Optimization in OPL Studio , 1999, EPIA.

[22]  Pascal Van Hentenryck,et al.  The Cardinality Operator: A New Logical Connective for Constraint Logic Programming , 1990, WCLP.