コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
MathOpt とは
MathOpt は、線形計画問題(LP)や混合整数プログラミング問題(MIP)などの数学の最適化問題をモデル化して解くためのライブラリです。MathOpt は、モデリングと解を分離するため、ユーザーが列挙型(およびビルド依存関係)を変更して解法を選択することにより、解法を切り替えられるようになります。
2023 年の JuMP カンファレンス プレゼンテーションで発表された MathOpt の簡単な紹介については、こちらの動画をご覧ください。
MathOpt の機能
MathOpt モデルには次のものを含めることができます。
- 整数または連続変数
- 線形制約または二次制約
- 線形または二次的な目標
- 複数の階層目標を設定できる
- 特殊な MIP の制約(SOS、指標、今後さらに追加予定)
- 円錐制約(2 次の円錐、今後さらに追加される)
モデルはソルバーとは独立して定義され、ソルバーは相互に入れ替えることができます。MathOpt は、以下のソルバーに対応しています。
MathOpt には、最適化モデルを構築するために、C++ と Python のクライアント ライブラリが用意されています。
MathOpt は、次のような多くの高度な機能に対応しています。
- 実現不可能分析(Irreducible Infeasible Set(IIS)、Gurobi のみ)
- 増分ソルビング
- コールバック
- 二重
- Primal rays と Dual rays
- 最適ではない基本ソリューションと二重ソリューション
- 変数と制約の削除
- ウォーム スタート(ソリューション別またはベース別)
- 解約の詳しい理由
- 分岐優先度
- 割り込み
- 解法に依存しない多くのパラメータ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-08-09 UTC。
[null,null,["最終更新日 2024-08-09 UTC。"],[[["\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"]]