论文标题
MathOptInterface:数学优化问题的数据结构
MathOptInterface: a data structure for mathematical optimization problems
论文作者
论文摘要
我们介绍了MathOptinterface,这是一种抽象数据结构,用于代表基于预定义函数和集合的数学优化问题。 MathOptinterface比文献中现有的数据结构要多得多,例如,从整数编程和指示器限制到双线性半预田编程的一系列问题类别。我们还概述了约束的等效公式之间的自动重写系统。 MathOptInterface已在实践中实现,构成了最近重写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.