Automating mathematical program transformations

  • Authors:
  • Ashish Agarwal;Sooraj Bhat;Alexander Gray;Ignacio E. Grossmann

  • Affiliations:
  • Dept. of Chemical Engineering, Carnegie Mellon University, Pittsburgh, PA;College of Computing, Georgia Institute of Technology, Atlanta, GA;College of Computing, Georgia Institute of Technology, Atlanta, GA;Dept. of Chemical Engineering, Carnegie Mellon University, Pittsburgh, PA

  • Venue:
  • PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

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.