happytails.ai
繁體中文

整數規劃實驗工具

使用精確分支定界法求解小型整數線性規劃,並檢視搜尋中的每個節點。只有完整探索整棵搜尋樹後,才會回報最佳點已證明為最優解。

程式最多4,000個字元、40行、8個變數,含有兩個以上變數的限制式最多8條;節點上限為1至5,000,精確運算步數達3,000,000後也會停止搜尋。所有運算均在裝置背景工作程序中進行,時限為15秒。可下載 JSON 報告和節點 CSV 檔。 第一行輸入 maximize 或 minimize 及目標函數,接著每行輸入一個限制式。 最多 4,000 個字元。 執行前請檢查設定。

處理結果

回報問題或分享想法。

整數規劃實驗工具
  1. 第一行輸入目標函數,例如 maximize 5x + 4y。
  2. 每行輸入一個限制式;也可加入 x, y >= 0 這類界限,或 integer x、binary z 這類選用宣告。
  3. 設定節點上限並執行搜尋。
  4. 查看狀態、目前最佳整數解、最佳界限及差距,然後下載 JSON 報告或節點 CSV 檔。

使用須知

程式最多4,000個字元、40行、8個變數,含有兩個以上變數的限制式最多8條;節點上限為1至5,000,精確運算步數達3,000,000後也會停止搜尋。所有運算均在裝置背景工作程序中進行,時限為15秒。可下載 JSON 報告和節點 CSV 檔。

分支定界法

每個節點都使用單形法精確求解線性鬆弛問題。整數變數若出現分數值,就拆成兩個分支:x <= floor 和 x >= ceiling。若鬆弛問題不可行,或無法勝過目前找到的最佳整數點,就剪枝。方法:Wolsey,《Integer Programming》第2版,第7章 (2020)。

已證明的意義

當所有節點都已求解或依精確界限剪枝,即可證明目前最佳解為最優,或證明問題不可行。若節點上限或步數預算先讓搜尋停止,目前最佳解就只是迄今找到的最佳點;報告會列出最佳界限及兩者差距。

輸入規則

除非以 integer x, y 列出部分變數,否則所有變數預設為整數;列出的變數為整數,其餘則為連續變數。單變數限制式會轉為界限。若鬆弛問題無界,搜尋會停止,因為整數規劃可能無界或不可行。