Search and strategies in OPL

OPL is a modeling language for mathematical programming and combinatorial optimization. It is the first language to combine high-level algebraic and set notations from mathematical modeling languages with a rich constraint language and the ability to specify search procedures and strategies that are the essence of constraint programming. This paper describes the facilities available in OPL to specify search procedures. It describes the abstractions of OPL to specify both the search tree (search) and how to explore it (strategies). The paper also illustrates how to use these high-level constructs to implement traditional search procedures in constraint programming and scheduling.

[1]  Pascal Van Hentenryck,et al.  Solving a Cutting-Stock Problem in Constraint Logic Programming , 1988, ICLP/SLP.

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

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

[4]  Kenneth McAloon,et al.  2lp: Linear Programming and Logic Programming , 1993, PPCP.

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

[6]  J StuckeyPeter,et al.  The CLP( ℛ ) language and system , 1992 .

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

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

[9]  Alan K. Mackworth Constraint Satisfaction , 1985 .

[10]  Vijay A. Saraswat,et al.  Concurrent constraint programming , 1989, POPL '90.

[11]  Pascal Van Hentenryck Constraint programming , 2000, SOEN.

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

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

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

[15]  Eric Pinson,et al.  A Practical Use of Jackson''s Preemptive Schedule for Solving the Job-Shop Problem. Annals of Opera , 1991 .

[16]  Claude Kirchner,et al.  An overview of ELAN , 1998, WRLA.

[17]  Pascal Van Hentenryck A Modeling Language for Constraint Programming , 1997, CP.

[18]  Erik Demeulemeester,et al.  A branch-and-bound procedure for the multiple resource-constrained project scheduling problem , 1992 .

[19]  David B. Shmoys,et al.  A New Approach to Computing Optimal Schedules for the Job-Shop Scheduling Problem , 1996, IPCO.

[20]  Martin W. P. Savelsbergh,et al.  Preprocessing and Probing Techniques for Mixed Integer Programming Problems , 1994, INFORMS J. Comput..

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

[22]  Jacob Brunekreef,et al.  Alma-O: an imperative language that supports declarative programming , 1997, TOPL.

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

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

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

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

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

[28]  Christian Schulte,et al.  Programming Deep Concurrent Constraint Combinators , 2000, PADL.

[29]  Michael J. Maher Logic Semantics for a Class of Committed-Choice Programs , 1987, ICLP.

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

[31]  Roseaux,et al.  Exercices et problèmes résolus de recherche opérationnelle , 1987 .

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

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

[34]  Krzysztof R. Apt,et al.  Search and imperative programming , 1997, POPL '97.