什麼是 MathOpt?

MathOpt 是一個程式庫,可用於建立模型及解決數學最佳化問題,例如線性程式設計問題 (LP) 或混合整數程式設計問題 (MIP)。MathOpt 將建模與解決作業分開,讓使用者透過變更列舉 (和建構依附元件) 選擇其解題工具,藉此切換解決方案方法。

請觀看這部影片,觀看 2023 年 JuMP 會議簡報的 MathOpt 簡介。

MathOpt 功能

MathOpt 模型可包含:

  • 整數或連續變數
  • 線性或二次限制
  • 線性或二次目標
  • 多個階層目標
  • 特殊 MIP 限制 (SOS、指標等等)
  • 一些連續限制條件 (第二順位,即將推出)

模型是獨立定義,與任何解題工具無關,而解題工具也能交替使用。MathOpt 支援下列求解器:

MathOpt 提供 C++ 和 Python 的用戶端程式庫,用於建構最佳化模型。

MathOpt 支援許多進階功能,包括:

  • 可行性分析 (Irreducible Set or IIS),僅限 Gurobi
  • 增量解決
  • 回呼
  • 雙重驗證
  • 原始與雙射線
  • 未達最佳基本和雙重解決方案
  • 刪除變數和限制
  • 暖啟動 (依解決方案或基礎)
  • 詳細終止原因
  • 分支優先順序
  • 中斷
  • 許多解題工具獨立參數