skip to main content
article
Free Access

Semantics of constraint logic programs with optimization

Published:01 March 1993Publication History
Skip Abstract Section

Abstract

Many applications of constraint logic programming (CLP) languages require not only testing if a set of constraints is satisfiable, but also finding the optimal solution which satisfies them. Unfortunately, the standard declarative semantics for CLP languages does not consider optimization but only constraint satisfaction. Here we give a model theoretic semantics for optimization, which is a simple extension of the standard semantics, and a corresponding operational semantics, which may be efficiently implemented.

References

  1. CLARK, K. 1978. Negation as failure. In Logic and Databases. Plenum Press, New York, 293-322.Google ScholarGoogle Scholar
  2. DINCBAS, M., VAN HENTENRYCK, P., SIMONIS, H., AGGOUN, A., GR~, T., AND BERTHIER, F. 1988. The constraint logic programming language CHIP. In Proceedings of the International Conference on Fifth Generation Computer Systems FGCS-88. ICOT, Tokyo, 693-702.Google ScholarGoogle Scholar
  3. FAGES, F. 1993. On the semantics of optimization predicates in CLP languages. Position Paper. First Workshop on Principles and Practice of Constraint Programming.Google ScholarGoogle Scholar
  4. GANGULY, S., GRECO, S., AND ZANIOLO, C. 1991. Minimum and maximum predicates in logic programming, in Proceedings of the lOth Principles of Databases Symposium. 154-163. Google ScholarGoogle Scholar
  5. GORLICK, M. M., KESSELMAN, C. F., MAROTTA, D. A., AND PARKER, D.S. 1990. Mockingbird: A logical me~hoelolob~ ~*or ~es~x-x~. g. Logic Program. ~, i--~, 9g-llO. Google ScholarGoogle Scholar
  6. HEINTZE, N. C., MICHAYLOV, S., STUCKEY, P. J., AND YAP, R. 1989. On recta-programming in CLP(~). In Proceedings of the North American Conference on Logic Programming. IEEE, New York, 52-68.Google ScholarGoogle Scholar
  7. JAFFAR, J., AND LASSEZ, J. -L. 1987. Constraint logic programming. In Proceedings of the 14th Annual ACM Symposium on Principles of Programming Languages. ACM, New York, 111-119. Google ScholarGoogle Scholar
  8. JAFFAR, J., MICHAYLOV, S., STUCKEY, P., AND YAP, R. 1992a. The CLP(~) language and system. ACM Trans. Program. Lang. Syst. 14, 3, 339-395. Google ScholarGoogle Scholar
  9. JAFFAR, J., MICHAYLOV, S., STUCKEY, P., AND YAP, R. 1992b. An abstract machine for CLP(~). In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM, New York, 128-139. Google ScholarGoogle Scholar
  10. KLEENE, S.C. 1952. Introduction to Metamathematics. North-Holland, Amsterdam.Google ScholarGoogle Scholar
  11. KUNEN, K. 1987. Negation in logic programming. J. Logic Program. 4, 3, 289-308. Google ScholarGoogle Scholar
  12. LASSEZ, C., MCALOON, K., AND YAP, R. 1987. Constraint logic programming and options trading. IEEE Exp. 2, 1, 42-50.Google ScholarGoogle Scholar
  13. MAHER, M. J., AND STUCKEY, P.J. 1989. Expanding query power in constraint logic programming. in Proceedings of the North American Conference on Logic Programming 89. IEEE, New York, 20-36.Google ScholarGoogle Scholar
  14. MCALOON, K., AND TRETKOFF, 'C. 1989. 2LP: A logic programming and linear programming system. Tech. Rep. 1989-21, CIS Dept., Brooklyn College of CUNY.Google ScholarGoogle Scholar
  15. NAISH, L. 1986. Negation and Control in Prolog. Lecture Notes in Computer Science, vol. 238. Springer-Verlag, New York. Google ScholarGoogle Scholar
  16. SIMONIS, H., AND DINCBAS, M. 1987. Using an extended Prolog for digital circuit design. In the IEEE International Workshop on AI Applications to CAD Systems for Electronics. IEEE, New York, 165-188.Google ScholarGoogle Scholar
  17. STUCKEY, P.J. 1991. Constructive negation for constraint logic programming. In Proceedings of the 5th IEEE Logic in Computer Science Symposium. IEEE, New York, 328-341.Google ScholarGoogle Scholar

Index Terms

  1. Semantics of constraint logic programs with optimization

          Recommendations

          Reviews

          Francois Aribaud

          This research paper deals with constraint logic programming, specifically with the CLP<__?__Pub Caret>(R) language [1]. Starting with the remark that many applications of such a language require not only testing whether a set of constraints is satisfiable but also finding the optimal solution (or, more modestly, an approximation of the optimal solution), the authors show through elementary examples that declarative semantics and their immediate operational translations do not give correct answers. The easiest way to the required global optimization is to optimize each subgoal during the derivation. The authors suggest three changes in the operational semantics: the current optimum is used to prune the search space, optimization subgoals are not selected until their global variables are grounded, and optimization subgoals return constraints when the optimal value occurs over a range of points. By translating optimization to negation, one can give a declarative form to the modified operational semantics, which allows proofs of soundness and completeness results (in terms of three-valued logic). As is now usual in research papers, however, the proofs of the theorems are only outlined. Last but not least: what kind of optimization is performed during the execution of such a program__?__ The paper does not answer this question.

          Access critical reviews of Computing literature here

          Become a reviewer for Computing Reviews.

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Letters on Programming Languages and Systems
            ACM Letters on Programming Languages and Systems  Volume 2, Issue 1-4
            March–Dec. 1993
            241 pages
            ISSN:1057-4514
            EISSN:1557-7384
            DOI:10.1145/176454
            Issue’s Table of Contents

            Copyright © 1993 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 March 1993
            Published in loplas Volume 2, Issue 1-4

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!