第二章 動態維度搜尋法
2.2 函數最佳化之測試
為了證明動態維度搜尋法(以下簡稱作 DDS)可以有效率地搜尋到全域最 佳解,本研究列舉以下三個多峰多谷函數進行不同目的之測試,
2.2.1 測試函數一
選擇此函數的目的在於測試動態維度搜尋法在搜尋解過程中的多樣性能力。
利用搜尋一多峰多谷函數 f x 的最小值過程中,挑選前 100 次所得之候選解,
討論候選解的分佈情形。其中,目標函數 f x 與變數 x,如下式表示,而測試 結果如圖 2.1 所示。
Minimize:
f x sin 0.07x exp 0.0004x 2
Search domain:
0 x 1000
In this case:
已知全域最佳解為:x 965,f x 0.5289
11
圖 2.1 候選解空間分佈圖(前 100 次搜尋結果)
由圖中之候選解(黑點)的分佈情況可以清楚發現,本研究方法在初始的搜 尋過程中(前 100 次搜尋),即能廣泛地在可行解空間裡尋找候選解,多方探索 各個的解區域,表示動態維度搜尋法在處理最佳化問題時,確實有廣泛搜尋之能 力,此特點可加速獲得全域最佳解並有縮短收斂時間的可能。
表 2.1 測試函數一:實驗收斂結果 30 組實驗結果之比較(變數個數:1)
方法 平均誤差
求得全域最 佳解之組數
平均呼叫 函數次數
DDS 0 30/30 5,932
此外,利用 30 組不同初始解所進行的搜尋結果整理於表 2.1,取 30 組實驗 組數的目的在於滿足統計上之可靠度。而本測試問題的全域最佳解為 0.5289,計
0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00
0 200 400 600 800 1000
f
1(x)
x
12
算結果顯示每一回的搜尋最終均能獲得全域最佳解,平均的函數執行次數為 5,932 次。
2.2.2 測試函數二
在了解到動態維度搜尋法於搜尋解的多樣性能力後,本節將進一步藉由 Rastrigin function 來測試動態維度搜尋法在最佳解搜尋上的表現,為滿足統計上 之可靠度,測試過程採用 30 組不同初始值進行實驗,並記錄其目標函數值之平 均誤差、求得全域最佳解之總組數與收斂時平均呼叫函數次數。目標函數 f x 與變數 x,如下式所示,圖 2.2 為測試函數的示意圖,表 2.2 為實驗收斂結果。
Minimize Branin function:
f x 10n x 10cos 2πx
Search domain:
i 1, 2, … , n 5.12 x 5.12
In this case:
n 5
已知全域最佳解為:x 0, 0, … , 0 ,f x 0
13
圖 2.2 Rastrigin function graph: for n=2
表 2.2 測試函數二:實驗收斂結果 30 組實驗結果之比較(變數個數:5)
方法 平均誤差
求得全域最 佳解之組數
平均呼叫 函數次數
DDS 0 30/30 20,492
由計算結果可以得知,在這 30 組初始值的測試過程中,動態維度搜尋法均 能求取得全域最佳解,而平均的函數執行次數為 20,492 次,顯示本研究方法不 僅具備多樣性的求解能力,更重要的是在多次的測試中,均能有效地進行求解,
以上足以表現此研究方法在多維度問題上的良好尋優能力。
-5
0
5
-5 0
5 0 20 40 60 80
x2 x1
f( x 1 ,x 2 )
14
2.2.3 測試函數三
經過前兩組函數的測試,我們得以了解到動態維度搜尋法在處理最佳化問題 上,確實可以滿足搜尋解的多樣性與強健性條件。而本研究目的乃在於應用動態 維度搜尋法,來率定全流域河川不恆定流模式所需之河川阻力係數,在前人研究 中(詹明修,2004)與(黃怡君,2006),分別是使用實數編碼利基遺傳演算法
(RvcNGA)與實數編碼利基退火遺傳演算法(TSARvcNGA)進行率定,為比 較本研究方法之可靠度與效率,在此嘗試將以上三種方法,透過一個複雜度雖然 較率定河川阻力係數為低,但同樣具有非線性及多峰多谷特性的函數,進行最佳 化測試,如此可使我們對動態維度搜尋法的尋優能力有更客觀的認識。目標函數 f x 與變數 x,如下式所示,而表 2.3 為實驗收斂結果。
Minimize:
f x sin 0.07x exp 0.0004x 4
Search domain:
i 1,2, … , n 0 x 1000
In this case:
n 15
已知全域最佳解為:x 965, 965, … , 965 ,f x 18.0659。
15
RvcNGA TSARvcNGA
2160
(RvcNGA)與實數編碼利基退火遺傳演算法(TSARvcNGA),三種最佳化求解 方法之計算結果,結果顯示實數編碼利基遺傳演算法在本問題中求得全域最佳解