Constraint Programming and Its Relationship to Mathematical Programming

Arising from research in the computer science community, constraint programming is a fairly new technique for solving optimization problems. For those familiar with mathematical programming, a number of language barriers make it difficult to understand the concepts of constraint programming. In this short tutorial on constraint programming, we explain how it relates to familiar mathematical programming concepts and how constraint programming and mathematical programming technologies are complementary. We assume a minimal background in linear and integer programming.

[1]  G. Dantzig Programming of Interdependent Activities: II Mathematical Model , 1949 .

[2]  Peter J. Stuckey,et al.  Programming with Constraints: An Introduction , 1998 .

[3]  Pascal Van Hentenryck Constraint satisfaction in logic programming , 1989, Logic programming.

[4]  G. Nemhauser,et al.  Integer Programming , 2020 .

[5]  J. Hooker,et al.  Logic-Based Methods for Optimization: Combining Optimization and Constraint Satisfaction , 2000 .

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

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

[8]  Gautam Mitra,et al.  Analysis of mathematical programming problems prior to applying the simplex algorithm , 1975, Math. Program..

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

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

[11]  Martin W. P. Savelsbergh,et al.  MINTO, a mixed INTeger optimizer , 1994, Oper. Res. Lett..

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

[13]  George B. Dantzig,et al.  Linear programming and extensions , 1965 .

[14]  Gert Smolka A Survey of Oz - A Higher-order Concurrent Constraint Language , 1993, ICLP Workshop on Concurrent Constraint Programming.

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

[16]  H. P. Williams,et al.  Model Building in Mathematical Programming , 1979 .

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

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

[19]  George B. Dantzig,et al.  Linear Programming 1: Introduction , 1997 .

[20]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[21]  Chin-Wan Chung,et al.  DATAPLEX: an access to heterogeneous distributed databases , 1990, CACM.

[22]  L. C. Thomas,et al.  Model Building in Mathematical Programming (2nd Edition) , 1986 .

[23]  Alan K. Mackworth Consistency in Networks of Relations , 1977, Artif. Intell..

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

[25]  David A. McAllester,et al.  Nondeterministic Lisp as a Substrate for Constraint Logic Programming , 1993, AAAI.

[26]  Jean-Louis Laurière,et al.  A Language and a Program for Stating and Solving Combinatorial Problems , 1978, Artif. Intell..

[27]  Pascal Van Hentenryck,et al.  A Generic Arc-Consistency Algorithm and its Specializations , 1992, Artif. Intell..

[28]  Vipul Jain,et al.  Algorithms for Hybrid MILP/CP Models for a Class of Optimization Problems , 2001, INFORMS J. Comput..

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

[30]  Nils J. Nilsson,et al.  Problem-solving methods in artificial intelligence , 1971, McGraw-Hill computer science series.

[31]  E. L. Lawler,et al.  Branch-and-Bound Methods: A Survey , 1966, Oper. Res..

[32]  Dieter Fensel,et al.  Problem-Solving Methods , 2001, Lecture Notes in Computer Science.