MathOptInterface: A Data Structure for Mathematical Optimization Problems
MathOptInterface: A Data Structure for Mathematical Optimization Problems
复制标题
DOI:
10.1287/ijoc.2021.1067
复制
发表时间:
2020-02
期刊:
影响因子:
--
通讯作者:
B. Legat;O. Dowson;J. Garcia;Miles Lubin
中科院分区:
文献类型:
--
作者:
B. Legat;O. Dowson;J. Garcia;Miles Lubin
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.