MathOptInterface: a data structure for mathematical optimization problems

Legat, Benoît;Dowson, Oscar;Garcia, Joaquim Dias;Lubin, Miles
(2021) INFORMS Journal on Computing — (2021)

Files

200203447.pdf
  • Open Access
  • Adobe PDF
  • 413.62 KB

Details

Authors
  • Author
  • Dowson, OscarNorthwestern University
    Author
  • Garcia, Joaquim DiasPSR & PUC-Rio
    Author
  • Lubin, MilesGoogle
    Author
Abstract
We introduce MathOptInterface, an abstract data structure for representing mathematical optimization problems based on combining pre-defined functions and sets. MathOptInterface is significantly more general than existing data structures in the literature, encompassing, for example, a spectrum of problems classes from integer programming with indicator constraints to bilinear semidefinite programming. We also outline an automated rewriting system between equivalent formulations of a constraint. MathOptInterface has been implemented in practice, forming the foundation of a recent rewrite of JuMP, an open-source algebraic modeling language in the Julia language. The regularity of the MathOptInterface representation leads naturally to a general file format for mathematical optimization we call MathOptFormat. In addition, the automated rewriting system provides modeling power to users while making it easy to connect new solvers to JuMP.
Affiliations

Citations

Legat, B., Dowson, O., Garcia, J. D., & Lubin, M. (2021). MathOptInterface: a data structure for mathematical optimization problems. INFORMS Journal on Computing. Accepted/in-press. https://hdl.handle.net/2078.5/274577 (Original work published 2021)