Skip to main content
Log in

Logic, modeling, and programming

  • Published:
Annals of Operations Research Aims and scope Submit manuscript

Abstract

In this paper we discuss the integration of logic, modeling, and programming in order to solve problems in operations research, artificial intelligence, and decision support programming in general. Our goals are to integrate modeling into the larger programming scheme of things and, conversely, to inject programming into modeling. To accomplish these ends, we use the language 2LP, which is based on ideas from constraint logic programming. This leads to a technologically open way to handle problems, one which supports flexible treatment of goal programming, hybrid MIP/local search algorithms, libraries for distributed processing, disjunctive programming, etc. An additional advantage of the programming language approach is that problem solving and model management can be abetted by software engineering techniques. In this paper, by means of variations on a single example, we will illustrate how the logical connectives and linear constraints interact in the solution of a linear program, a goal program, a disjunctive program, a branch and bound search, a randomized shuffle algorithm, and a parallel solution to a model with stochastic data.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. H. Ait-Kaci, Warren's Abstract Machine: A Tutorial Reconstruction, MIT Press, 1991.

  2. D. Applegate and W. Cook, A computational study of the job-shop scheduling problem, ORSA Journal on Computing 3(1991)149–156.

    Google Scholar 

  3. D.M. Arnow, DP — a library for building reliable, portable distributed programming systems, in: Proceedings of the USENIX Winter '95 Technical Conference, 1995.

  4. D. M. Arnow, K. McAloon and C. Tretkoff, Disjunctive programming and distributed programming, in: Proceedings of the 6th IASTED-ISMM Conference on Parallel and Distributed Computing and Systems, 1994.

  5. D. M. Arnow, K. McAloon and C. Tretkoff, Parallel integer goal programming, in: Proceedings of the 23rd Annual ACM Conference, 1995.

  6. C. Atay, Parallelization of the constraint logic programming language 2LP, Ph.D. Thesis, City University of New York, June 1992.

  7. C. Atay, K. McAloon and C. Tretkoff, 2LP: A highly parallel constraint logic programming language, 6th SIAM Conference on Parallel Processing for Scientific Computing, 1993.

  8. E. Balas, Disjunctive programming and a hierarchy of relaxations for discrete optimization problems, SIAM J. Alg. Disc. Meth. 6(1985)466–486.

    Google Scholar 

  9. N. Beaumont, An algorithm for disjunctive programming, European Journal of Operational Research 48(1990)362–371.

    Google Scholar 

  10. R. Bixby, K. Kennedy and U. Kremer, Automatic data layout using 0–1 integer programming, in: Proceedings of the International Conference on Parallel Architectures and Compilation Techniques, 1994.

  11. A. Brooke, D. Kendrick and A. Meeraus, GAMS: A User's Guide, The Scientific Press, 1988.

  12. A. Colmerauer, An introduction to Prolog III, CACM 33(1990)69–91.

    Google Scholar 

  13. J. Cox, K. McAloon and C. Tretkoff, Computational complexity and constraint logic programming, Annals of Mathematics and Artificial Intelligence 5(1992)163–190.

    Google Scholar 

  14. M. Dincbas, P. Van Hentenryck, H. Simonis, A. Aggoun, T. Graf and F. Berthier, The constraint logic programming language CHIP, in: Proceedings of the International Conference on Fifth Generation Computing Systems, 1988.

  15. R.J. Dakin, A tree-search algorithm for mixed integer programming problems, The Computer Journal 8(1965)250–255.

    Google Scholar 

  16. M. Fitting, Proof Methods for Modal and Intuitionistic Logics, Reidel (now Kluwer), 1983, 2nd edition forthcoming.

  17. R. Fourer, D. Gay and B. Kernighan, AMPL: A Modeling Language for Mathematical Programming, The Scientific Press, 1993.

  18. A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek and V. Sunderam, PVM: Parallel Virtual Machine, MIT Press, 1994.

  19. H. Greenberg, A branch-and-bound solution to the general scheduling problem, Operations Research 8(1968)353–361.

    Google Scholar 

  20. D. Greis, The Science of Programming, Springer, 1981.

  21. T. Griffin, A formulas-as-type notion of control, in: Proceedings of the 17th ACM Symposium on Principles of Programming Languages, 1990.

  22. W. Gropp, E. Lusk and A. Skjellum, Using MPI, Portable Parallel Programming with the Message-Passing Interface, MIT Press, 1994.

  23. J. Jaffar and J.-L. Lassez, Constraint logic programming, in: Proceedings of the 14th ACM Symposium on Principles of Programming Languages, 1987.

  24. J. Jaffar and M. Maher, Constraint logic programming: A survey, Journal of Logic Programming 19/20(1994)503–581.

    Google Scholar 

  25. J. Jaffar and S. Michaylov, Methodology and implementation of a CLP system, in: Proceedings of the 1987 International Logic Programming Conference, MIT Press, 1987.

  26. J.-L. Krivine, Classical logic, storage operators and second-order lambda-calculus, Annals of Pure and Applied Logic 68(1994)53–78.

    Google Scholar 

  27. A.H. Land and A.G. Doig, An automatic method of solving discrete programming problems, Econometrica 28(1960)497–520.

    Google Scholar 

  28. J.-L. Lassez and K. McAloon, A canonical form for generalized linear constraints, Journal of Symbolic Computation 13(1992)1–24.

    Google Scholar 

  29. K. McAloon and C. Tretkoff, 2LP: Linear programming and logic programming, in: Principles and Practice of Constraint Programming, V. Saraswat and P. van Hentenryck, eds., MIT Press, pp. 101–116.

  30. K. McAloon and C. Tretkoff, Optimization and Computational Logic, Wiley, 1996.

  31. S.S. Nielsen, A C++ class library for mathematical programming, in: The Impact of Emerging Technologies on Computer Science and Operations Research, S.G. Nash and A. Sofer, eds., Kluwer, 1995, pp. 221–243.

  32. J.-F. Puget, A C++ Implementation of CLP, ILOG Technical Report, 1994.

  33. H.M. Salkin and K. Mathur, Foundations of Integer Programming, North-Holland, 1989.

  34. J. Sankaran, Bidding systems for certain nonmarket allocations of indivisible items, Thesis, University of Chicago, 1989.

  35. P. van Hentenryck, Constraint Satisfaction in Logic Programming, MIT Press, 1989.

  36. D.H.D. Warren, An abstract Prolog instruction set, Technical Report 309, SRI International, 1983.

  37. H. P. Williams, Model Building in Mathematical Programming, Wiley, 1994.

  38. P. Winston, Artificial Intelligence, Addison-Wesley, 1992.

Download references

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

McAloon, K., Tretkoff, C. Logic, modeling, and programming. Annals of Operations Research 71, 335–372 (1997). https://doi.org/10.1023/A:1018979717390

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1018979717390

Keywords

Navigation