什麼是 MathOpt?
MathOpt 是一個程式庫,可用於建立模型及解決數學最佳化問題,例如線性程式設計問題 (LP) 或混合整數程式設計問題 (MIP)。MathOpt 將建模與解決作業分開,讓使用者透過變更列舉 (和建構依附元件) 選擇其解題工具,藉此切換解決方案方法。
請觀看這部影片,觀看 2023 年 JuMP 會議簡報的 MathOpt 簡介。
MathOpt 功能
MathOpt 模型可包含:
- 整數或連續變數
- 線性或二次限制
- 線性或二次目標
- 多個階層目標
- 特殊 MIP 限制 (SOS、指標等等)
- 一些連續限制條件 (第二順位,即將推出)
模型是獨立定義,與任何解題工具無關,而解題工具也能交替使用。MathOpt 支援下列求解器:
MathOpt 提供 C++ 和 Python 的用戶端程式庫,用於建構最佳化模型。
MathOpt 支援許多進階功能,包括:
- 可行性分析 (Irreducible Set or IIS),僅限 Gurobi
- 增量解決
- 回呼
- 雙重驗證
- 原始與雙射線
- 未達最佳基本和雙重解決方案
- 刪除變數和限制
- 暖啟動 (依解決方案或基礎)
- 詳細終止原因
- 分支優先順序
- 中斷
- 許多解題工具獨立參數