Advances in Automated Conversion of Optimization Problems
We take it for granted that an optimization package accepts both minimization and maximization problems, recognizes them as equivalent, and converts all minimizations to maximizations (or vice-versa) before solving. This is only the very simplest example of the conversions that large-scale optimization relies on. In the past decade, the range of expressions recognized by modeling languages and solvers has been progressively extended in ways that make conversion possibilities ever more numerous and complex. This presentation describes a range of challenges and accomplishments in detection of formulations that solvers can handle, and in transformation to forms that solvers require. Examples from integer, logic, and conic programming lead to some general recommendations for design and implementation.