什么是 MathOpt
MathOpt 是一个用于对数学优化问题进行建模和解决的库,例如线性编程问题 (LP) 或混合整数编程问题 (MIP)。MathOpt 将建模与求解分隔开来,允许用户通过更改枚举(和构建依赖项)来选择求解器,从而在求解方法之间切换。
观看此视频,简要了解 2023 年 JuMP 大会演讲中的 MathOpt。
MathOpt 功能
MathOpt 模型可以包含:
- 整数或连续变量
- 线性约束或二次约束
- 线性目标或二次目标
- 多个层级的目标
- 专用 MIP 约束条件(SOS、指示器,将推出更多功能)
- 一些圆锥约束(二阶圆锥,更多即将出现)
模型的定义独立于任何求解器,并且求解器可以互换使用。MathOpt 支持以下求解器:
MathOpt 提供 C++ 和 Python 的客户端库来构建优化模型。
MathOpt 支持许多高级功能,包括:
- 不可行性分析(不可行的不可行集合,即 IIS),仅限 Gurobi
- 增量求解
- 回调
- 重复
- 原光和双射线
- 不太理想的原初解和二元解
- 删除变量和限制条件
- 温启动(按解决方案或基于)
- 详细的终止原因
- 分支优先级
- 中断
- 许多求解器独立参数
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-08-09。
[null,null,["最后更新时间 (UTC):2024-08-09。"],[[["MathOpt is a library for modeling and solving mathematical optimization problems, including linear programming (LP) and mixed integer programming (MIP)."],["MathOpt allows users to define models independently of solvers, enabling easy switching between various solvers like GLOP, PDLP, CP-SAT, SCIP, GLPK, Gurobi, and HiGHS."],["MathOpt supports a wide range of features including linear and quadratic constraints and objectives, integer and continuous variables, hierarchical objectives, and specialized MIP constraints."],["MathOpt provides client libraries in C++ and Python, along with a remote solving service for larger problems."],["MathOpt offers advanced features like infeasibility analysis, incremental solving, callbacks, duality, primal and dual rays, and more."]]],["MathOpt is a library for modeling and solving mathematical optimization problems, such as LPs and MIPs. It supports continuous or integer variables, linear/quadratic constraints and objectives, and specialized MIP/conic constraints. Users can switch between solvers like GLOP, PDLP, CP-SAT, SCIP, GLPK, Gurobi, and HiGHS, independently of the model's definition. MathOpt offers C++ and Python client libraries with example, and provides features such as infeasibility analysis, incremental solving, callbacks, duality, and warm starts.\n"]]