Article ID: | iaor2007321 |
Country: | United States |
Volume: | 17 |
Issue: | 4 |
Start Page Number: | 389 |
End Page Number: | 401 |
Publication Date: | Sep 2005 |
Journal: | INFORMS Journal On Computing |
Authors: | Michel Laurent, Hentenryck Pascal Van |
Keywords: | programming: constraints |
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.