Solving Constraint Optimization Problems from CLP-Style Specifications Using Heuristic Search Techniques

Presents a framework for efficiently solving logic formulations of combinatorial optimization problems using heuristic search techniques. In order to integrate cost, lower-bound and upper-bound specifications with conventional logic programming languages, we augment a constraint logic programming (CLP) language with embedded constructs for specifying the cost function and with a few higher-order predicates for specifying the lower and upper bound functions. We illustrate how this simple extension vastly enhances the ease with which optimization problems involving combinations of Min and Max can be specified in the extended language CLP* and we show that CSLDNF (Constraint SLD resolution with Negation as Failure) resolution schemes are not efficient for solving optimization problems specified in this language. Therefore, we describe how any problem specified using CLP* can be converted into an implicit AND/OR graph, and present an algorithm called GenSolve which can branch-and-bound using upper and lower bound estimates, thus exploiting the full pruning power of heuristic search techniques. A technical analysis of GenSolve is provided. We also provide experimental results comparing various control strategies for solving CLP* programs.

[1]  Nils J. Nilsson,et al.  Principles of Artificial Intelligence , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[2]  Wolfgang Bibel Prädikatives Programmieren , 1975, Automata Theory and Formal Languages.

[3]  John N. Hooker,et al.  Optimization and , 2000 .

[4]  Richard E. Korf,et al.  Linear-Space Best-First Search , 1993, Artif. Intell..

[5]  François Fages,et al.  Constructive Negation by Pruning and Optimizing Higher-Order Predicates for CLP and CC Languages , 1994, Constraint Programming.

[6]  P. P. Chakrabarti,et al.  Heuristic Search in Restricted Memory , 1989, Artif. Intell..

[7]  Joachim Steinbach,et al.  SETHEO and E-SETHEO - The CADE-13 Systems , 2004, Journal of Automated Reasoning.

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

[9]  François Fages,et al.  Constructive Negation by Pruning , 1997, J. Log. Program..

[10]  Hans J. Berliner,et al.  The B* Tree Search Algorithm: A Best-First Proof Procedure , 1979, Artif. Intell..

[11]  Richard E. Korf,et al.  Depth-First Iterative-Deepening: An Optimal Admissible Tree Search , 1985, Artif. Intell..

[12]  Peter J. Stuckey,et al.  Semantics of constraint logic programs with optimization , 1993, LOPL.

[13]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[14]  Donald E. Knuth,et al.  The Solution for the Branching Factor of the Alpha-Beta Pruning Algorithm , 1981, ICALP.

[15]  P. P. Chakrabarti,et al.  Reducing Reexpansions in Iterative-Deepening Search by Controlling Cutoff Bounds , 1991, Artif. Intell..

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

[17]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[18]  Francesca Rossi,et al.  Semiring-based Constraint Logic Programming , 1997, IJCAI.

[19]  Toshihide Ibaraki,et al.  Game Solving Procedure SSSR is Unsurpassed , 1988, Systems and Computers in Japan.

[20]  P. P. Chakrabarti,et al.  A General Best First Search Algorithm in AND/OR Graphs , 1992, J. Algorithms.

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

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

[23]  Judea Pearl,et al.  Heuristics : intelligent search strategies for computer problem solving , 1984 .

[24]  Pascal Van Hentenryck,et al.  Constraint Satisfaction Using Constraint Logic Programming , 1992, Artif. Intell..

[25]  François Fages On the Semantics of Optimization Predicates in CLP Languages , 1993, FSTTCS.

[26]  Kenneth Kunen,et al.  Negation in Logic Programming , 1987, J. Log. Program..

[27]  Graem A. Ringwood,et al.  Automated theorem proving (second revised edition) by Wolfgang Bibel, Vieweg 1987 , 1988, The Knowledge Engineering Review.

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

[29]  Wolfgang Bibel,et al.  Towards an adequate theorem prover based on the connection method , 1995 .