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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Balas, E.: Disjunctive programming: Properties of the convex hull of feasible points. Technical Report MSRR 348, Carnegie Mellon University (1974)
Nemhauser, G.L., Wolsey, L.A.: Integer and combinatorial optimization. Wiley-Interscience series in discrete mathematics and optimization. Wiley, NY (1999)
Raman, R., Grossmann, I.E.: Modelling and computational techniques for logic based integer programming. Computers & Chem. Eng. 18(7), 563–578 (1994)
Agarwal, A.: Logical Modeling Frameworks for the Optimization of Discrete-Continuous Systems. PhD thesis, Carnegie Mellon University (2006)
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)
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)
Balas, E.: Disjunctive programming and a hierarchy of relaxations for discrete optimization problems. SIAM J. Alg. Disc. Meth. 6(3), 466–486 (1985)
Balas, E.: Disjunctive programming: Properties of the convex hull of feasible points. Discrete Applied Mathematics 89(1-3), 3–44 (1998)
Sawaya, N.: Reformulations, Relaxations and Cutting Planes for Generalized Disjunctive Programming. PhD thesis, Carnegie Mellon University (2006)
Vecchietti, A., Grossmann, I.E.: Modeling issues and implementation of language for disjunctive programming. Computers & Chem. Eng. 24(9-10), 2143–2155 (2000)
Liberti, L.: Techniques de Reformulation en Programmation Mathématique. L’habilitation à diriger des recherches (HDR), Université Paris IX, Lamsade (2007); Language: English
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)
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)
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)
McAloon, K., Tretkoff, C.: 2LP: Linear programming and logic programming. In: Principles and Practice of Constraint Programming, pp. 178–189 (1993)
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)
Fourer, R., Gay, D.M., Kernighan, B.W.: A modeling language for mathematical programming. Management Science 36(5), 519–554 (1990)
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)
van Hentenryck, P.: The OPL optimization programming language. MIT Press, Cambridge (1999)
Kallrath, J.: Modeling languages in mathematical optimization. Applied optimization, vol. 88. Kluwer Academic Publishers, Boston (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)