This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Solving Constraint Optimization Problems from CLP-Style Specifications Using Heuristic Search Techniques
March/April 2002 (vol. 14 no. 2)
pp. 353-368

This paper 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 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 show that CSLDNF 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 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] H. Berliner, “The$B^*$Tree Search Algorithm,” Artificial Intelligence, vol. 12, pp. 23-40, 1979.
[2] W. Bibel and P. Programmieren, GI—2. Fachtagungüber Automatentheorie und Formale Sprachen, pp. 274-283, Berlin: Springer, 1975.
[3] W. Bibel, Automated Theorem Proving, second ed. Vieweg: Verlag, Braunschweig, 1987.
[4] W. Bibel, “Towards Predicative Programming,” Automating Software Design, pp. 405-423, 1992.
[5] W. Kafer and H. Schoning, "Mapping a Version Model to a Complex-Object Data Model," Proc. Int'l Conf. Data Eng.,Tempe, Ariz., pp. 348-357, Feb. 1992.
[6] S. Bistarelli, U. Montanari, and F. Rossi, “Semiring-Based Constraint Logic Programming,” Proc. 15th Ann. Int'l Joint Conf. Artifical Intelligence, IJCAI '97, pp. 352-357, 1997.
[7] Y. Caseau and F. Laburthe, “SALSA: A Language for Search Algorithms,” Proc. Fourth Int'l Conf. Principles and Practice of Constraint Programming CP '98, pp. 310-324, 1998.
[8] P.P. Chakrabarti, S. Ghose, A. Acharya, and S.C. De Sarkar, "Heuristic Search in Restricted Memory," Artificial Intelligence, vol. 41, pp. 197-221, 1989.
[9] P.P. Chakrabarti and S. Ghose, “A General Best First Search Algorithm in AND/OR Graphs,” J. Algorithms, vol. 13, pp. 177-187, 1992.
[10] A. Colmerauer, H. Kanoui, R. Pasero, and P. Roussel, “Un Système de Communication Homme-Machine en Français,” technical report, UniversitéAix–Marseille, 1973.
[11] T.H. Cormen,C.E. Leiserson, and R.L. Rivest,Introduction to Algorithms.Cambridge, Mass.: MIT Press/McGraw-Hill, 1990.
[12] P. Dasgupta, P.P. Chakrabarti, A. Dey, S. Ghose, and W. Bibel, “A Heuristic Search Approach to Effectively Solve Constrained Optimization Problems from Logical Specifications,” Proc. Int'l Conf. Knowledge Based Systems KBCS'98, pp. 39-49, 1998.
[13] F. Fages, “On the Semantics of Optimization Predicates in CLP Languages,” Proc. 13th Foundation of Software Technology and Theoretical Computer Science, pp. 193-204, 1993.
[14] F. Fages, “Constructive Negation by Pruning and Optimization Higher-Order Predicates for CLP and CC Languages,” Constraint Programming: Basics and Trends, pp. 68-89, 1995.
[15] F. Fages, “Constructive Negation by Pruning,” J. Logic Programming, vol. 32, no. 2, pp. 85-118, 1997.
[16] J. Hooker, G. Ottosson, E.S. Thorsteinsson, and H-J. Kim, “A Scheme for Unifying Optimization and Constraint Satisfaction Methods,” Knowledge Engineering Review, (to appear) 1999.
[17] T. Ibaraki, “Game Solving Procedure$H^*$is Unsurpassed,” Discrete Algorithms and Complexity, D.S. Johnson, ed., pp. 185-200, New York: Academic Press, 1987.
[18] J. Jaffar and M.J. Maher, “Constraint Logic Programming: A Survey,” J. Logic Programming, vol. 19/20, pp. 503-582, 1994.
[19] R.E. Korf, "Depth-first Iterative-Deepening: An Optimal Admissible Tree Search," Artificial Intelligence, vol. 27, no. 1, pp. 97-109, 1985.
[20] R.E. Korf, “Linear Space Best-First Search,” Artificial Intelligence, vol. 62, pp. 41-78, 1993.
[21] D.E. Knuth and R.W. Moore, “An Analysis Of Alpha-Beta Pruning,” Artificial Intelligence, vol. 6, pp. 293-326, 1975.
[22] K. Kunen, “Negation in Logic Programming,” J. Logic Programming, vol. 4, no. 3, pp. 289-308, 1987.
[23] K. Marriott and P.J. Stuckey, “Semantics for CLP Programs with Optimization,” ACM Letters on Programming Languages and Systems, vol. 2, pp. 197-212, 1993.
[24] M. Moser et al., “SETHEO and E-SETHEO: The CADE-13 Systems,” J. Automated Reasoning, vol. 18, pp. 237-246, 1997.
[25] G.L. Nemhauser and L.A. Wolsey, Integer and Combinatorial Optimization. New York: Wiley, 1988.
[26] N.J. Nilsson, Principles of Artificial Intelligence. Morgan Kaufmann, 1980.
[27] J. Pearl, Heuristics: Intelligent Search Strategies for Computer Problem Solving, Addison-Wesley, Reading, Mass., 1984.
[28] S.J. Russell and P. Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall, Upper Saddle River, N.J., 1994.
[29] U.K. Sarkar, P.P. Chakrabarti, S. Ghose, and S.C. DeSarkar, “Reducing Reexpansions in Iterative Deepening Search by Controlling Cutoff Bounds,” Artificial Intelligence, vol. 50, pp. 207-221, 1991.
[30] C. Schulte and G. Smolka, “Encapsulated Search for Higher-Order Concurrent Constraint Programming,” Proc. Int'l Logic Programming Symp., pp. 505-520, 1994.
[31] P. van Hentenryck, Constraint Satisfaction in Logic Programming, Logic Programming Series, MIT Press, Cambridge, Mass., 1989.
[32] P. Van Hentenryck, H. Simonis, and M. Dincbas, “Constraint Satisfaction Using Constraint Logic Programming,” Artificial Intelligence, vol. 58, pp. 113-159, 1992.
[33] P. Van Hentenryck, L. Michel, and Y. Deville, Numerica—A Modelling Language for Global Optimization. Cambridge, Mass.: MIT Press 1997.
[34] P. Van Hentenryck, “Constraint Programming,” Encyclopedia of Science and Technology, M. Dekker, ed. 1997.
[35] P. Van Hentenryck, The OPL Optimization Programming Language. Cambridge, Mass: MIT Press, 1999.

Index Terms:
constraint optimization, logic programming, heuristic search
Citation:
P. Dasgupta, P.P. Chakrabarti, A. Dey, S. Ghose, W. Bibel, "Solving Constraint Optimization Problems from CLP-Style Specifications Using Heuristic Search Techniques," IEEE Transactions on Knowledge and Data Engineering, vol. 14, no. 2, pp. 353-368, March-April 2002, doi:10.1109/69.991721
Usage of this product signifies your acceptance of the Terms of Use.