Extending a General-Purpose Algebraic Modeling Language to Combinatorial Optimization: A Logic Programming Approach

  • Robert Fourer
Part of the Operations Research/Computer Science Interfaces Series book series (ORCS, volume 9)


General-purpose algebraic modeling languages are a central feature of popular computer systems for large-scale optimization Languages such as AIMMS [2], AMPL [12, 13], GAMS [4, 5], LINGO [23] and MPL [18] allow people to develop and maintain diverse optimization models in their natural mathematical forms. The systems that process these languages convert automatically to and from the various data structures required by packages of optimizing algorithms (“solvers”), with only minimal assistance from users. Most phases of language translation remain independent of solver details, however, so that users can easily switch between many combinations of language and solver.


Combinatorial Optimization Integer Program Modeling Language Integer Variable Expression Tree 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    E.M.L. Beale and J.A. Tomlin, Special Facilities in a General Mathematical Programming System for Non-Convex Problems Using Ordered Sets of Variables. In J. Lawrence, ed., OR 69: Proceedings of the Fifth International Conference on Operational Research, Tavistock Publications, London (1970) 447–454.Google Scholar
  2. [2]
    J.J. Bisschop and R. Entriken, AIMMS: The Modeling System Paragon Decision Technology, Haarlem, The Netherlands (1993). See also http://www.paragon.n1/.
  3. [3]
    J.J. Bisschop and R. Fourer, New Constructs for the Description of Combinatorial Optimization Problems in Algebraic Modeling Languages. Computational Optimization and Applications 6 (1996) 83–116.CrossRefGoogle Scholar
  4. [4]
    J.J. Bisschop and A. Meeraus, On the Development of a General Algebraic Modeling System in a Strategic Planning Environment. Mathematical Programming Study 20 (1982) 1–29.CrossRefGoogle Scholar
  5. [5]
    A. Brooke, D. Kendrick and A. Meeraus, GAMS: A User’s Guide, Release 2.25. Duxbury Press/Wadsworth Publishing Company, Belmont, CA (1992). See also Scholar
  6. [6]
    A. Colmerauer, An Introduction to Prolog III. Communications of the ACM 33 (1990) 69–90.CrossRefGoogle Scholar
  7. [7]
    K. Darby-Dowman, J. Little, G. Mitra and M. Zaffalon, Constraint Logic Programming and Integer Programming Approaches and Their Collaboration in Solving an Assignment Scheduling Problem. Constraints 1 (1997) 245–264.CrossRefGoogle Scholar
  8. [8]
    ECRC GmbH,ECLiPSe 3.5: ECRC Common Logic Programming System: User Manual European Computer-Industry Research Centre, München (1995). See also http: //www.ecrc. de/research/projects/eclipse/.Google Scholar
  9. [9]
    R. Fourer, Modeling Languages versus Matrix Generators for Linear Programming. ACM Transactions on Mathematical Software 9 (1983) 143–183.CrossRefGoogle Scholar
  10. [10]
    R. Fourer, Software Survey: Linear Programming OR/MS Today 24: 2 (April 1997) 54–63.Google Scholar
  11. [11]
    R. Fourer and D.M. Gay, Expressing Special Structures in an Algebraic Modeling Language for Mathematical Programming. ORSA Journal on Computing 7 (1995) 166–190.CrossRefGoogle Scholar
  12. [12]
    R. Fourer, D.M. Gay and B.W. Kernighan, A Modeling Language for Mathematical Programming. Management Science 36 (1990) 519–554.CrossRefGoogle Scholar
  13. [13]
    R. Fourer, D.M. Gay and B.W. Kernighan, AMPL: A Modeling Language for Mathematical Programming Duxbury Press/Wadsworth Publishing Company, Belmont, CA (1992). See also http: //www. ampl. com/ampl/.Google Scholar
  14. [14]
    D.M. Gay, Hooking Your Solver to AMPL. Technical report, Bell Laboratories, Murray Hill, NJ (1993; revised 1994, 1997). 74 INTERFACES IN COMPUTER SCIENCE AND OPERATIONS RESEARCHGoogle Scholar
  15. [15]
    E. Hadjiconstantinou and G. Mitra, A Linear and Discrete Programming Framework for Representing Qualitative Knowledge. Journal of Economic Dynamics and Control 18 (1994) 273–297.CrossRefGoogle Scholar
  16. [16]
    ILOG S.A., ILOG Solver User Manual,Version 3.2; ILOG Solver Reference Manual,Version 3.2. ILOG, Inc., Mountain View, CA (1996). See also http://www.flog.corn/.
  17. [17]
    C. Jordan and A. Drexl, A Comparison of Constraint and Mixed-Integer Programming Solvers for Batch Sequencing with Sequence-Dependent Setups. ORSA Journal on Computing 7 (1995) 160–165.CrossRefGoogle Scholar
  18. [18]
    B. Kristjansson, MPL Modelling System User Manual,Version 2.8. Maximal Software Inc., Arlington, VA (1993). See also http: //www.maximal-usa. com/.Google Scholar
  19. [19]
    J.-L. Lauriere, A Language and a Program for Stating and Solving Combinatorial Problems. Artificial Intelligence 10 (1978) 29–127.CrossRefGoogle Scholar
  20. [20]
    K. McAloon and C. Tretkoff, 2LP: Linear Programming and Logic Programming. In V. Saraswat and P. Van Hentenryck, eds., Principles and Practice of Constraint Programming, MIT Press, Cambridge, MA (1995) 101–116.Google Scholar
  21. [21]
    K.I.M. McKinnon and H.P. Williams, Constructing Integer Programming Models by the Predicate Calculus. Annals of Operations Research 21 (1989) 227–246.CrossRefGoogle Scholar
  22. [22]
    G. Mitra, C. Lucas, S. Moody and E. Hadjiconstantinou, Tools for Reformulating Logical Forms into Zero-One Mixed Integer Programs. European Journal of Operational Research 72 (1994) 262–276.CrossRefGoogle Scholar
  23. [23]
    J.P. Paul, LINGO/PC: Modeling Language for Linear and Integer Programming. OR/MS Today 16:2 (1988) 19–22. See also
  24. [24]
    J.-F. Puget, A C++ implementation of CLP. Proceedings of SPICIS 94, Singapore (1994).Google Scholar
  25. [25]
    B.M. Smith, S.C. Brailsford, P.M. Hubbard and H.P. Williams, The Progressive Party Problem: Integer Linear Programming and Constraint Programming Compared. Constraints 1 (1996) 119–138.CrossRefGoogle Scholar
  26. [26]
    L. Sterling and E. Shapiro, The Art of Prolog: Advanced Programming Techniques, 2nd ed. MIT Press, Cambridge, MA (1994).Google Scholar
  27. [27]
    J.A. Tomlin, Branch and Bound Methods for Integer and Non-Convex Programming. In J. Abadie, ed., Integer and Nonlinear Programming, American Elsevier Publishing Company, New York (1970) 437–450.Google Scholar
  28. [28]
    P. Van Hentenryck, Constraint Satisfaction in Logic Programming. MIT Press, Cambridge, MA (1989).Google Scholar

Copyright information

© Springer Science+Business Media New York 1998

Authors and Affiliations

  • Robert Fourer
    • 1
  1. 1.Department of Industrial Engineering and Management SciencesNorthwestern UniversityEvanstonUSA

Personalised recommendations