透過集合功能整理內容
你可以依據偏好儲存及分類內容。
什麼是 MathOpt?
MathOpt 是一個程式庫,可用於建立模型及解決數學最佳化問題,例如線性程式設計問題 (LP) 或混合整數程式設計問題 (MIP)。MathOpt 將建模與解決作業分開,讓使用者透過變更列舉 (和建構依附元件) 選擇其解題工具,藉此切換解決方案方法。
請觀看這部影片,觀看 2023 年 JuMP 會議簡報的 MathOpt 簡介。
MathOpt 功能
MathOpt 模型可包含:
- 整數或連續變數
- 線性或二次限制
- 線性或二次目標
- 多個階層目標
- 特殊 MIP 限制 (SOS、指標等等)
- 一些連續限制條件 (第二順位,即將推出)
模型是獨立定義,與任何解題工具無關,而解題工具也能交替使用。MathOpt 支援下列求解器:
MathOpt 提供 C++ 和 Python 的用戶端程式庫,用於建構最佳化模型。
MathOpt 支援許多進階功能,包括:
- 可行性分析 (Irreducible Set or IIS),僅限 Gurobi
- 增量解決
- 回呼
- 雙重驗證
- 原始與雙射線
- 未達最佳基本和雙重解決方案
- 刪除變數和限制
- 暖啟動 (依解決方案或基礎)
- 詳細終止原因
- 分支優先順序
- 中斷
- 許多解題工具獨立參數
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2024-08-09 (世界標準時間)。
[null,null,["上次更新時間:2024-08-09 (世界標準時間)。"],[[["\u003cp\u003eMathOpt is a library for modeling and solving mathematical optimization problems, including linear programming (LP) and mixed integer programming (MIP).\u003c/p\u003e\n"],["\u003cp\u003eMathOpt allows users to define models independently of solvers, enabling easy switching between various solvers like GLOP, PDLP, CP-SAT, SCIP, GLPK, Gurobi, and HiGHS.\u003c/p\u003e\n"],["\u003cp\u003eMathOpt supports a wide range of features including linear and quadratic constraints and objectives, integer and continuous variables, hierarchical objectives, and specialized MIP constraints.\u003c/p\u003e\n"],["\u003cp\u003eMathOpt provides client libraries in C++ and Python, along with a remote solving service for larger problems.\u003c/p\u003e\n"],["\u003cp\u003eMathOpt offers advanced features like infeasibility analysis, incremental solving, callbacks, duality, primal and dual rays, and more.\u003c/p\u003e\n"]]],["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"],null,["MathOpt\n-------\n\nMathOpt is a library for modeling and solving mathematical optimization\nproblems, for example, linear programming problems (LPs) or mixed integer\nprogramming problems (MIPs). MathOpt separates modeling from solving, allowing\nusers to switch between solution methods by changing an enum (and a build\ndependency) to select their solver.\n\nWatch this [video](https://www.youtube.com/watch?v=L5b4YQowXBg) for brief\nintroduction to MathOpt from the 2023 JuMP Conference Presentation.\n\nMathOpt Features\n----------------\n\nMathOpt models can contain:\n\n- integer or continuous variables\n- linear or quadratic constraints\n- linear or quadratic objectives\n- multiple hierarchical objectives\n- specialized MIP constraints (SOS, indicator, more to come)\n- some conic constraints (second order cone, more to come)\n\nModels are defined independently of any solver and solvers can be swapped\ninterchangeably. MathOpt supports the following solvers:\n\n- [GLOP](/optimization/lp/lp_advanced)\n- [PDLP](/optimization/lp/pdlp_math)\n- [CP-SAT](/optimization/cp/cp_solver)\n- [SCIP](https://www.scipopt.org/)\n- [GLPK](https://www.gnu.org/software/glpk/)\n- [Gurobi](https://www.gurobi.com) (requires licence)\n- [HiGHS](https://highs.dev/)\n\nMathOpt provides client libraries in [C++](https://github.com/google/or-tools/tree/stable/ortools/math_opt/cpp) and [Python](https://github.com/google/or-tools/tree/stable/ortools/math_opt/python) to build your\noptimization model. [Examples](https://github.com/google/or-tools/tree/stable/ortools/math_opt/samples) for both libraries are also available on\nGitHub.\n| **Note:** Check out the [MathOpt service](/optimization/service/math_opt/overview) for remote solves.\n\nMathOpt supports many advanced features, including:\n\n- Infeasibility Analysis (Irreducible Infeasible Set or IIS), Gurobi only\n- Incremental Solving\n- Callbacks\n- Duality\n- Primal and Dual rays\n- Suboptimal primal and dual solutions\n- Variable and constraint deletions\n- Warm starts (by solution or basis)\n- Detailed termination reason\n- Branching priority\n- Interruption\n- Many solver independent parameters"]]