-
分支切割法
鎖定
- 中文名
- 分支切割法
- 定 義
- 用於解決整數線性問題(ILPs),即部分或全部未知數為整數值的線性規劃(LP)的問題的組合優化方法
- 作 用
- 解決整數線性問題
分支切割法算法描述
以下假設 ILP 問題為最大化問題。
該方法首先使用單純形法解決無整數約束的線性問題。獲得最優解後,如果有約束為整數的變量取了非整數值,該算法會使用切割平面法以尋找進一步的線性約束:所有可行的整數點滿足該約束,但最優解不滿足該約束。隨後這些約束不等式可以加入線性問題中,使得下次求解可以獲得“更接近整數”的結果。
在此基礎上,算法使用分支定界法,將該問題分割為多個(通常為兩個)子問題。隨後使用單純形法求解新的子問題,重複該過程。在分支定界的過程中,LP 鬆弛問題的非整數解為解的上限,整數解為解的下限。如果一個子問題的上限低於當前的全局下限,則可以除去該子問題。此外,在求解 LP 鬆弛問題時,可能產生其他切割平面。這些平面既可能是全局切割,即適用於所有可行的整數解的切割;或局部切割,即適用於當前分支定界子樹下所有滿足邊界約束的解的切割
分支切割法分支策略
分支策略是分支切割算法中的重要一步。在這一步中,可以使用多種啓發式分支策略。下述分支策略都包含在變量上分支。在變量上分支的大致過程為:如果變量
在當前的 LP 鬆弛問題的最優解中為分數
,則向鬆弛問題中加入約束
。
分支切割法最不可行分支
該策略優先選擇小數部分最接近 0.5 的變量。
分支切割法偽成本分支
該策略的基本思想是當變量
被選作分支變量時,追蹤目標函數的變化。基於過去的變化情況,該策略會選擇預計對目標函數產生最大變化的變量作為分支變量。注意,在最初分支時,只有幾個變量進行過分支,該策略會面臨所需信息不足的情況。
分支切割法強健分支
該策略在實際分支前將對變量進行測試,以確定哪個變量對目標函數的變化影響最大。完全強健分支會測試所有候選變量,計算成本很高。可以通過只考慮一部分候選變量,並不完全解出所有對應的 LP 鬆弛,來降低計算成本
[1]
。
除了以上幾種策略外,還存在大量其他的分支策略,比如偽成本分支所需的信息不足時先採用強壯分支,在獲得足夠的分支歷史後切換到偽成本分支。
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:4次歷史版本
- 最近更新: MacaroonT006