核心概念
本文提出了一種精確的列生成演算法 (CGLAD),用於解決容量共享網路中的負載平衡問題,該演算法在滿足負載平衡需求的同時,顯著提高了網路吞吐量,並展現出與啟發式演算法相當的計算效率,優於其他最先進演算法至少一個數量級。
本文針對容量共享網路中的負載平衡問題,提出了一種名為 CGLAD 的精確列生成演算法。該演算法將負載平衡問題建模為最大多商品流問題,並利用列生成演算法解決可行路徑數量龐大且僅部分路徑用於訊息傳輸的挑戰。
演算法流程
初始可行路徑集建構: 使用 Yen’s 演算法找到初始可行路徑集 Q。
限制主問題求解: 基於路徑集 Q 建構限制主問題 (RMP),並使用 CPLEX 求解器中的對偶單純形法求解,得到當前解和對偶變數。
最優性檢查: 將最優性檢查子問題轉換為單約束最短路徑問題,並使用 BiLAD 和 ExactBiLAD 演算法精確求解,驗證當前解是否最優。
新列生成: 若當前解非最優,則將最短路徑作為新列加入 RMP 中,重複步驟 2-3 直到找到最優解。
效能評估
通過對 200 個不同規模的測試問題進行數值實驗,將 CGLAD 演算法與 CGBB、CGDB 和 ViLBaS 演算法進行比較,結果顯示:
網路吞吐量: 在滿足負載平衡需求的前提下,CGLAD 演算法能夠獲得最優的網路吞吐量,優於 CGDB 和 ViLBaS 演算法。
計算效率: CGLAD 演算法的計算效率與啟發式演算法 ViLBaS 相當,且明顯優於 CGBB 和 CGDB 演算法,速度至少快一個數量級。
主要貢獻
精確性: CGLAD 演算法基於線性規劃理論中的最優性條件,確保獲得最優解,從而最大化網路吞吐量。
效率: CGLAD 演算法採用 BiLAD 和 ExactBiLAD 演算法求解最優性檢查子問題,利用拉格朗日對偶性排除大部分不可行解,提高了計算效率。
可靠性: 數值實驗結果表明,CGLAD 演算法在解決容量共享網路中的負載平衡問題方面既高效又可靠。
統計資料
本文使用了 200 個不同規模的測試問題進行數值實驗。
測試問題的節點數範圍為 {100, 200, 300, 400, 500, 1000, 1500, 2000}。
測試問題的平均節點度範圍為 [4, 6]。
對於每個問題規模,生成 10 個測試問題。
鏈路延遲值從三個不同的範圍中選擇,分別為 (1,10ms)、(10,20ms) 和 (20,30ms)。
在每個網路中,三個延遲範圍的鏈路比例分別為 75%、20% 和 5%。
阻塞率 α0 設定為 1。
延遲閾值 ∆c 設定為 30 毫秒。