第二章 文獻探討
2.3 多維度多重選擇背包問題(Multi-Dimensional Multiple-choice Knapsack
首先對多維度多重選擇背包問題(MMKP)與相關研究作介紹,接著對 Akbar 於 2006 年提出適用於有快速回應需求作資源分配之多媒體存取控制系統中之 MMKP 啟發式演算法[2]作說明。
2.3.1
多維度多重選擇背包問題
多維度多重選擇背包問題是 0-1 背包問題(0-1KP) [8]的變形,一個 MMKP 中,有 G 個物件群組,群組 g 有𝑙𝑔個物件,每個物件有價值與 d 個維度的資源需 求。MMKP 的目標是從每個物件群組中選取一個物件,在 d 個維度的資源限制 下,最大化選取物件的價值總和。MMKP 的數學表示如下:令𝑣𝑔𝑖為群體 g 之物 件 i 的價值、𝑟𝑠⃗⃗⃗ 𝑔𝑖 𝑟𝑠𝑔𝑖1, 𝑟𝑠𝑔𝑖2, … , 𝑟𝑠𝑔𝑖𝑑 為群體 g 物件 i 的資源需求向量、
𝑅𝑆⃗⃗⃗⃗⃗ 𝑅𝑆1, 𝑅𝑆2, … , 𝑅𝑆𝑑 為系統擁有的資源總量向量,即為 MMKP 之資源限制,
9 中,以線性規劃分枝定界法(Branch and Bound with Linear Programming, BBLP) 為主,[14]已提出解決了MMKP的確切演算法。即使MMKP的解搜尋空間與其他 解決MMKP;Moser’s [21]是基於Lagrange multipliers啟發式方法解決MMKP;
Akbar等人於2006年提出C-HEU[2]應用了新概念,從物件的資源消耗與價值所建 立的二維散佈圖,以位在efficient convex hulls frontier[8][16]的物件為搜尋空間的 方法,具高效率且與同等複雜度的方法相比有更佳的最佳化率,適合用於即時資 源分配系統之中,以下將作詳細說明。
2.3.2 以建立 Convex Hull 解決 MMKP
C_HEU是一種尋找MMKP近似解的啟發式演算法,採用了efficient convex hull frontier的概念,縮小解搜尋空間。物件的價值為y軸,透過penalty vector設置與
10
轉換公式[16]將多維資源耗用轉換為一維資源耗用作為x軸,penalty vector的設置 與轉換公式如下:
設資源有d維,.令𝑞 𝑞1, 𝑞2, … , 𝑞𝑑 為penalty vector,𝑟𝑠⃗⃗⃗ 𝑖 𝑟𝑠𝑖1, 𝑟𝑠𝑖2, … , 𝑟𝑠𝑖𝑑 為物件資源耗用向量,penalty vector的初始化如下:
𝑞𝑘 ( 𝑚 )+ (4) 𝑟𝑠𝑢𝑚 為所有群體物件第c維資源耗用的總和,𝑅𝑠 為系統第c為資源的總量。
每一輪求解運算後penalty向量的調整算式如下:
𝑞 + 𝑞 + (5) 𝑅𝑠 為系統第c為資源剩餘可使用量。
penalized資源向量為𝑟𝑠⃗⃗⃗ 𝑝 𝑟𝑠1𝑞1, 𝑟𝑠2𝑞2, … , 𝑟𝑠𝑚𝑞𝑚 多維資源耗用轉換為一維資源耗用轉換:
𝑟𝑠∗ ‖𝑟𝑠⃗⃗⃗⃗ 𝑝‖ (6) 本研究也將採用上述之penalty向量設置與轉換公式。
圖 2 兩個物件群組的形成的convex hull
資料來源:”Solving the Multidimensional Multiple-choice Knapsack Problem by Constructing Convex Hulls” [2]
11
因此,同物件群組的物件可以依價值與物件形成一個二維空間的分佈,各物 件群組各別建立convex hull,將所位於efficient convex hull frontier上的線段 (segment)集合起來,以線段與x軸的夾角由大而小進行排序,並且以此順序開始 作解的替換式搜尋,圖2即為兩個物件群組的物件的二維空間分佈,虛線的線段 為efficient convex hull frontier。以下為C_HEU的流程,虛擬碼詳見附錄一。
Step1. 取各群體中最小價值的物件為初始解,若為可行解則記下已發現可行解 Step2. 初始化penalty vector
Step3. 計算目前解的價值
Step4. 對與各物件群體作多維資源耗用轉換為一維資源耗用、取出各物件群體中 位於efficient convex hull frontier的線段
Step5. 依線段與x軸的夾角由大而小排序Step4.所取得之所有線段 Step6. 依序對於各線段上的物件作解的替換,嘗詴發現另一組解 Step7. 若新的解價值小於舊有解則回復為舊有解,調整penalty vector Step8. 回到Step4.直到做完三輪
Step9. 若目前解不可行,則沒有發現解;若可行則目前解為最終解
效能上,C-HEU的複雜度為𝑂 𝑛𝑙𝑚 + 𝑛𝑙 𝑙 + 𝑛𝑙 𝑛 ,其最佳化率落在88%
與98%之間,相較於平方複雜度的啟發式演算法,有更高的規模伸縮性,在資源 消耗與價值無關的資料集(uncorrelated)中,C_HEU的最佳化率甚至高於部分平方 複雜度方法,因此C_HEU適合用於需要快速回應且服務等級與資源需求不成正 比的資源分配系統中[2]。由於efficient convex hull frontier的概念,過度縮小解搜 尋空間,如圖2(b)遺棄了部分再多一些資源便能選取且價值更高的物件,導致資 源無法充分利用取得更佳的解,本研究將C_HEU為基礎提出搜尋空間的改良,
作為資源分配子機制。
12