MathOptInterface: A Data Structure for Mathematical Optimization Problems

MathOptInterface: A Data Structure for Mathematical Optimization Problems
复制标题

DOI:
10.1287/ijoc.2021.1067
复制
发表时间:
2020-02
期刊:
INFORMS J. Comput.
影响因子:
--
通讯作者:
B. Legat;O. Dowson;J. Garcia;Miles Lubin
B. Legat;O. Dowson;J. Garcia;Miles Lubin
中科院分区:
其他
文献类型:
--
作者:
B. Legat;O. Dowson;J. Garcia;Miles Lubin

文献摘要

被引文献

相似文献

我们介绍了MathOptInterface,这是一种基于预定义函数和集合的组合来表示数学优化问题的抽象数据结构。MathOptInterface明显比文献中的现有数据结构更通用,例如,包括从具有指示符约束的整数规划到双线性半定规划的一系列问题类。我们还概述了一个在约束的等价公式之间的自动重写系统。MathOptInterface已经在实践中实现,为最近重写JUMP奠定了基础,JUMP是一种用Julia语言编写的开源代数建模语言。MathOptInterface表示的规律性自然导致了一种用于数学优化的通用文件格式,我们称之为MathOptFormat。此外,自动重写系统为用户提供了建模能力,同时使连接新解算器跳转变得容易。
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.