Skip to main content

Automating Mathematical Program Transformations

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5937))

Abstract

Mathematical programs (MPs) are a class of constrained optimization problems that include linear, mixed-integer, and disjunctive programs. Strategies for solving MPs rely heavily on various transformations between these subclasses, but most are not automated because MP theory does not presently treat programs as syntactic objects. In this work, we present the first syntactic definition of MP and of some widely used MP transformations, most notably the big-M and convex hull methods for converting disjunctive constraints. We use an embedded OCaml DSL on problems from chemical process engineering and operations research to compare our automated transformations to existing technology—finding that no one technique is always best—and also to manual reformulations—finding that our mechanizations are comparable to human experts. This work enables higher-level solution strategies that can use these transformations as subroutines.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Balas, E.: Disjunctive programming: Properties of the convex hull of feasible points. Technical Report MSRR 348, Carnegie Mellon University (1974)

    Google Scholar 

  2. Nemhauser, G.L., Wolsey, L.A.: Integer and combinatorial optimization. Wiley-Interscience series in discrete mathematics and optimization. Wiley, NY (1999)

    MATH  Google Scholar 

  3. Raman, R., Grossmann, I.E.: Modelling and computational techniques for logic based integer programming. Computers & Chem. Eng. 18(7), 563–578 (1994)

    Article  Google Scholar 

  4. Agarwal, A.: Logical Modeling Frameworks for the Optimization of Discrete-Continuous Systems. PhD thesis, Carnegie Mellon University (2006)

    Google Scholar 

  5. Potts, P., Edalat, A., Escardo, M.: Semantics of exact real arithmetic. In: LICS 1997, 12th Annual IEEE Symp. on Logic in Comp. Sci., Warsaw, pp. 248–257 (1997)

    Google Scholar 

  6. Nanevski, A., Blelloch, G., Harper, R.: Automatic generation of staged geometric predicates. In: Proceedings of the sixth ACM SIGPLAN International Conference on Functional programming, ICFP 2001, pp. 217–228. ACM, Florence (2001)

    Chapter  Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  8. Balas, E.: Disjunctive programming: Properties of the convex hull of feasible points. Discrete Applied Mathematics 89(1-3), 3–44 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  9. Sawaya, N.: Reformulations, Relaxations and Cutting Planes for Generalized Disjunctive Programming. PhD thesis, Carnegie Mellon University (2006)

    Google Scholar 

  10. Vecchietti, A., Grossmann, I.E.: Modeling issues and implementation of language for disjunctive programming. Computers & Chem. Eng. 24(9-10), 2143–2155 (2000)

    Article  Google Scholar 

  11. Liberti, L.: Techniques de Reformulation en Programmation Mathématique. L’habilitation à diriger des recherches (HDR), Université Paris IX, Lamsade (2007); Language: English

    Google Scholar 

  12. Gordon, G.J., Hong, S.A., Dudïk, M.: First-order mixed integer linear programming. In: Proc. of the 25th Conf. an Uncertainty in Artificial Intelligence (2009)

    Google Scholar 

  13. Hooker, J.N.: Logic-based methods for optimization: combining optimization and constraint satisfaction. Wiley-Interscience series in discrete mathematics and optimization. John Wiley & Sons, Chichester (2000)

    MATH  Google Scholar 

  14. Brand, S., Duck, G.J., Puchinger, J., Stuckey, P.J.: Flexible, rule-based constraint model linearisation. In: Hudak, P., Warren, D.S. (eds.) PADL 2008. LNCS, vol. 4902, pp. 68–83. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  15. McAloon, K., Tretkoff, C.: 2LP: Linear programming and logic programming. In: Principles and Practice of Constraint Programming, pp. 178–189 (1993)

    Google Scholar 

  16. Bisschop, J., Meeraus, A.: On the development of a general algebraic modeling system in a strategic-planning environment. Mathematical Programming Study 20, 1–29 (1982)

    Google Scholar 

  17. Fourer, R., Gay, D.M., Kernighan, B.W.: A modeling language for mathematical programming. Management Science 36(5), 519–554 (1990)

    Article  MATH  Google Scholar 

  18. Colombani, Y., Heipcke, T.: Mosel: an extensible environment for modeling and programming solutions. In: Jussien, N., Laburthe, F. (eds.) 4th Intl. Workshop on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CPAIOR 2002), Le Croisic, France, pp. 277–290 (2002)

    Google Scholar 

  19. van Hentenryck, P.: The OPL optimization programming language. MIT Press, Cambridge (1999)

    Google Scholar 

  20. Kallrath, J.: Modeling languages in mathematical optimization. Applied optimization, vol. 88. Kluwer Academic Publishers, Boston (2004)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Agarwal, A., Bhat, S., Gray, A., Grossmann, I.E. (2010). Automating Mathematical Program Transformations. In: Carro, M., Peña, R. (eds) Practical Aspects of Declarative Languages. PADL 2010. Lecture Notes in Computer Science, vol 5937. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11503-5_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-11503-5_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-11502-8

  • Online ISBN: 978-3-642-11503-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics