• 沒有找到結果。

第三章 DNM 求解執行架構之建立

3.3 DNM 之求解步驟、執行架構與細部設計

3.3.2 DNM 之執行架構

Hβi 下降後數值。以(3-14)與(3-15)說明直線下降型態在每一迴圈下降後的數值。

14) -(3 .

...

, , )

ˆ ( k K

K C k

Cαi = αi 1− =012

15) -(3 ..

...

, , )

ˆ ( l L

L H l

Hβi = βi 1− =012

本研究並所建立之確定性成本擾動法的執行架構如圖3.4 所示。

開始

設定控制參數:

C、H

產生起始解(X0)

當前解Xn=X0

暫優解Xt=X0

C=0%?

H=0%?

以H、C參數 擾動成本

以擾動後的成本 執行核心交換法

更新:Xn=X'

以原始的成本 執行核心交換法

更新:Xn=X"

C(Xn)<C(Xt)?

更新:Xt=Xn

下降H參數 結束

下降C參數 Yes

Yes

Yes No

No

No 執行核心交換法

圖3.4 確定性成本擾動法之執行架構

C0.i3

H0.i1

圖3.5 成本擾動公式的擾動結果示意圖 3.3.3 DNM 之細部設計

由執行架構可知,DNM 的執行績效會受到各個組件項目的影響,其組件包 括:起始解解法、核心交換方法、CαiHβi 、 K 、 L 、Cαi 的下降型態和Hβi 的下 降型態等等。以下將討論之後本研究在執行時所可能採用的控制參數和細部設 計。

(1) 起始解構建法

本研究將採用在3.1.1 節所提到的最遠插入法(NI)作為 DNM 法的起始解。

(2) 核心方法

本研究考慮K-Opt、Or-Opt和節點交換法(City Swap)等方法當成核心交換方 法。但由於3-Opt以上的節線交換很複雜,且計算時間太長,所以本研究暫時不 考慮3-Opt以上的節線交換法。另外Gu & Huang(1994)曾對這三種方法做過實驗 發現,節點交換法(City Swap)有較差的績效,所以本研究排除此種方法,僅考慮 2-Opt和Or-Opt為核心交換法。考慮DNM法需要在擾動後的成本空間和原始成本 空間上搜尋新解,在不同成本空間使用不同的搜尋方法以避免搜尋過程走回頭 路,落入原先的區域最佳解;另外為了節省搜尋時間,在擾動後的成本空間的搜 尋方法將採用Heider法[20]的選取策略且只執行一次完整的交換機制即停止,而 在原始成本空間則採用最佳改善法(Method of Best Improvement)。

所以本研究將進行兩種核心方法的實驗,即擾動後的成本空間上採用 Or-H,原始成本空間上採用 2-Opt;和在擾動後的成本空間上採用 2-H,原始成 本空間上採用Or-Opt。

(3) CαiHβi

首先將整個成本矩陣中的節線成本標準化,使所有長度的介於0 到 1 之間。

本研究初步測試的CαiHβi 中之α 和

β

比率介於整體節線的 5%到 100%之間,

以5%為一個增加單位。

(4) CαiHβi 的下降型態

CαiHβi 的下降型態上,本研究初步以直線型的下降型態為主。

(5) K 與 L

K 與 L 的相乘的數值越大,表示執行的次數越多,所花費的時間也會越長。

本研究初步實驗K× L=30、45 和 60 的原則,因此 K 與 L 的組合可以很多。在 執行時的不同組合代表不同的意義,若以組合(15× 來說明,表示內迴圈的3) Hβi 值以直線型態 3 次下降完畢,再開始下降外迴圈的Cαi 值,每下降一次外迴圈,

則重複進行內迴圈的下降動作,如此外迴圈分為 15 次的直線型態下降完畢,

)

(15× 的總次數為 45 次。 3

將上述的DNM 執行架構之組件項目和測試範圍整理如表 3.3,並分別在下 一章節進行實驗設計與參數測試。

表3.3 DNM 演算法的組件項目與測試範圍

組件項目 測試範圍

起始構建法 最遠插入法(FI)

擾動成本之核心交換法 Or-H 或(2-H) 原始成本之核心交換法 2-Opt 或(Or-Opt)

成本擾動比率值(Cαi ) α =5%~100%

Cαi 的下降型態 直線下降型態

增加成本比率值(Hβi )

β

=5%~100%

Hβi 的下降型態 直線下降型態

K 與 L K× L=30、45 和 60

第四章 DNM 應用於 TSP 之實驗設計與測試

本章將應用DNM法來求解TSP問題,並以2.6節的16個TSP測試例題,進行 DNM法的組件搭配測試和參數測試。本研究的測試是以軟體Mathematica5.0和 Visual C++撰寫解題程式,並在個人電腦Pentium(R)4 3.0GHz、1Gb RAM之 WindowsXP環境下執行。

4.1 DNM 法核心交換法執行方式之測試 4.1.1 傳統啟發式解法

本研究將以2.6 節中所蒐集到的 16 個例題進行測試,首先測試 3.3.3 節所提 之 傳 統 啟 發 式 解 法 以 作 為 後 續 比 較 的 基 準 , 執 行 方 式 為 「 最 遠 插 入 法 +2-Opt+Or-Opt」和「最遠插入法+Or-Opt+2-Opt」。其測試結果如表 4.1。

表4.1 傳統啟發式解法之測試結果 題號 例題名稱 已知最佳解 FI+2-Opt+Or-Opt

error(%)

FI+Or-Opt+2-Opt error(%)

1 gr24 1272 1.10 2.99

2 swiss42 1273 2.91 1.96

3 gr48 5046 2.38 2.38

4 hk48 11461 6.01 6.01

5 eil51 426 1.64 1.64

6 brazil58 25395 0.00 1.29

7 st70 675 5.33 5.33

8 pr76 108159 2.96 2.96

9 kroA100 21282 4.46 4.46

10 kroC100 20749 1.22 1.22

11 lin105 14379 3.87 3.87

12 gr120 6942 2.05 4.51

13 u159 42080 12.50 12.50

14 ts225 126643 7.33 7.33

15 lin318 42029 8.21 8.21

16 pcb442 50778 7.81 7.81

總平均誤差 4.36 4.66

16 個例題中得到已知最佳解之題目比例 1/16 0/16

在表4.1 中,第四欄為用傳統方法「FI+2-Opt+Or-Opt」所得到的誤差百分比,

其總平均誤差百分比為4.36%;第五欄為用傳統方法「FI+Or-Opt+2-Opt」所得到 的誤差百分比,其總平均誤差百分比為4.66%。

4.1.2 DNM 法初步測試

此小節將測試DNM 法的有效性,本研究將測試兩種不同的執行方式,

第一種執行方式是先進行「FI+2-Opt」,接著在擾動後的成本空間上採用 2-Opt,

原 始 成 本 空 間 上 採 用 2-Opt , 為 了 後 續 說 明 的 方 便 性 , 以 代 號

「FI+2-Opt+DNM(2-Opt+2-Opt)」表示;另一種執行方式為先進行「FI+Or-Opt」,

接著在擾動後的成本空間上採用 Or-Opt,原始成本空間上採用 Or-Opt,為了後 續說明的方便性,以代號「FI+Or-Opt+DNM(Or-Opt+Or-Opt)」表示。參數上先 固定為C0i.1H0.i1K× L =15×3和直線下降型態。其測試結果如表 4.2。在表 4.2 中,第四欄為「FI+2-Opt+DNM(2-Opt+2-Opt)」所得到各例題的誤差百分比,

其總平均誤差百分比為1.58%;第五欄為「FI+Or-Opt+DNM(Or-Opt+Or-Opt)」所 得到各例題的誤差百分比,其總平均誤差百分比為 2.02%。比較 4.1.1 節傳統的 啟發式解法,總平均誤差百分比分別從 4.36%和 4.66%下降到 1.58%和 2.02%,

表示DNM 法具有改善效果。

表4.2 DNM 法初步測試結果 題號 例題名稱 已知最佳解 FI+2-Opt+

DNM(2-Opt+2-Opt) error(%)

FI+Or-Opt+

DNM(Or-Opt+Or-Opt) error(%)

1 gr24 1272 0.00 0.00

2 swiss42 1273 1.41 2.91

3 gr48 5046 0.63 0.00

4 hk48 11461 1.03 0.44

5 eil51 426 1.64 1.64

6 brazil58 25395 0.00 0.76

7 st70 675 1.63 0.74

8 pr76 108159 0.82 0.76

9 kroA100 21282 0.41 2.59

10 kroC100 20749 2.03 1.04

11 lin105 14379 0.15 1.32

12 gr120 6942 2.30 1.77

13 u159 42080 2.01 1.63

14 ts225 126643 0.86 4.76

15 lin318 42029 5.37 5.20

16 pcb442 50778 4.91 6.79

總平均誤差 1.58 2.02

16 個例題中得到已知最佳解之題目 比例

2/16 2/16

4.1.3 修正DNM 法

有鑑於 4.1.2 節擾動後成本空間和原始成本空間搜尋均採用相同的方式,有 可能使搜尋過程走回頭路,落入原先的區域最佳解;另外為了節省搜尋時間,在 選取策略上亦做以下修正,在擾動後的成本空間的搜尋方法將採用Heider 法[20]

的選取策略且只執行一次完整的交換機制即停止,簡稱為 2-H 和 Or-H,而在原 始成本空間則依然採用最佳改善法。所以本研究將進行兩種核心方法的實驗,即 擾動後的成本空間上採用Or-H,原始成本空間上採用 2-Opt;和在擾動後的成本 空間上採用2-H,原始成本空間上採用 Or-Opt。以上兩種實驗測試,在參數上是 先固定為C0.i1H0.i1K× L =15×3和直線下降型態。其測試結果如表4.3。

表4.3 修正DNM 法之測試結果

題號 例題名稱 已知最佳解 FI+2-Opt+

DNM(Or-H+2-Opt) error(%)

FI+Or-Opt+

DNM(2-H+Or-Opt) error(%)

1 gr24 1272 0.00 0.00

2 swiss42 1273 0.00 0.00

3 gr48 5046 0.18 0.00

4 hk48 11461 0.41 0.08

5 eil51 426 1.41 1.64

6 brazil58 25395 0.00 0.02

7 st70 675 0.00 0.74

8 pr76 108159 0.00 0.07

9 kroA100 21282 0.33 0.79

10 kroC100 20749 1.74 0.50

11 lin105 14379 0.00 0.48

12 gr120 6942 1.18 1.74

13 u159 42080 1.13 1.66

14 ts225 126643 0.00 2.00

15 lin318 42029 2.26 4.08

16 pcb442 50778 4.72 5.10

總平均誤差 0.84 1.18

16 個例題中得到已知最佳解之題目 比例

7/16 3/16

表 4.2 中,第四欄為「FI+2-Opt+DNM(Or-H+2-Opt)」所得到各題的誤差百 分比,其總平均誤差百分比為0.84%;第五欄為「FI+Or-Opt+DNM(2-H+Or-Opt)」

所得到各題的誤差百分比,其總平均誤差百分比為 1.18%。比較 4.1.2 節未修正 之 DNM 法,總平均誤差百分比分別從 1.58%和 2.02%下降到 0.84%和 1.18%,

特別是「FI+2-Opt+DNM(Or-H+2-Opt)」的架構,可以在 16 個測試例題中找到 7 題已知最佳解,表示經過修正後的 DNM 法更具有改善效果,本研究後續將以

「FI+2-Opt+DNM(Or-H+2-Opt)」的架構進行參數測試。

4.2 DNM 法之參數測試

本小節將針對DNM法的四個控制參數,分別為CαiHβi 、 K 和 L ,進行一 連串的測試分析;其中可將CαiHβi 可視為一組參數, K 與 L 則視為另ㄧ組參 數。測試的例題仍然是2.6節所蒐集的16個TSP測試例題。

4.2.1 K 與 L 參數組合之測試

K 與 L 是控制DNM法測試長度的參數,即控制擾動的總次數。本研究初步 設計以 K 乘 L 分別為總次數30、45及60次為原則,因此在總次數為30次原則下,

可有下面六種組合,(K× L)=(15×2)、(10× 、3) (6× 、5) (5× 、6) (3×10)及 )

(2×15 ;在總次數為45次原則下,可有下面四種組合,(K× L)=(15×3)、(9× 、5) )

(5× 及9 (3×15);在總次數為60次原則下,可有下十種組合,(K× L)=(30×2)、 )

(20× 、3 (15×4)、(12× 、5) (10×6)、(6×10)、(5×12)、(4×15)、(3×20)及 )

(2×30 。

在此先固定另一組參數(C0i.05,H0i.05),以了解在不同擾動次數的組合方式對 DNM法的解題績效影響。對於每個例題開始皆先以FI+2-Opt的方式先搜尋,並 在擾動成本空間使用Or-H的方式進行鄰域搜尋,在原始成本空間使用2-Opt進行 鄰域搜尋。測試結果如表4.4所示。

在表4.4中,第三、四欄為參數 K 與 L 之不同組合;第五、六欄為16個例題 執行後,各題的平均誤差和標準差。由表4.4的結果可發現:不同的參數 K 與 L 組 合,對執行結果有所差異性存在,如果參數組合為 K 較 L 長,其平均誤差會優於 參 數 為 L 較 K 長 的 組 合 , 例 如(K× L)=(15×2) 的 平 均 誤 差 為1.64% , 而

) ( )

(L× K = 2×15 的平均誤差為1.99%。另外在總次數為30的所有組合,以組合編 號2(10× 表現較好;在總次數為45的所有組合,以組合編號13) (15× 表現較好;3) 在總次數為60的所有組合,以組合編號4(12× 表現較好。就總平均誤差而言,5) 總次數為30的六種組合方式,其總平均誤差為1.66%;總次數為45的四種組合方 式,其總平均誤差為1.64%;總次數為60的十種組合方式,其總平均誤差為1.20%。

表4.4 DNM 法之 K 與 L 參數組合測試結果(Ⅰ) 固定參數(C0i.05,H0i.05)

總次數 組合編號 K L 平均誤差(%) 標準差

1 15 2 1.64 1.52

2 10 3 1.25 1.32

3 6 5 1.75 1.39

4 5 6 1.57 1.24

5 3 19 1.79 1.41

6 2 15 1.99 1.69

30

總平均誤差 1.66

1 15 3 1.14 1.28

2 9 5 1.40 1.33

3 5 9 1.77 1.46

4 3 15 1.51 1.54

45

總平均誤差 1.46

1 30 2 1.18 1.16

2 20 3 1.06 1.05

3 15 4 1.35 1.16

4 12 5 0.95 1.19

5 10 6 1.24 1.25

6 6 10 1.13 1.33

7 5 12 1.21 1.25

8 4 15 1.55 1.52

9 3 20 1.16 1.18

10 2 30 1.18 1.37

60

總平均誤差 1.20

再以另一組參數(C0i.1,H0i.1)對上述的所有組合再進行測試,以了解上述結果 對另一組參數是否具有敏感性。測試結果如表4.5所示。

表4.5 DNM 法之 K 與 L 參數組合測試結果(Ⅱ) 固定參數(C0i.1,H0i.1)

總次數 組合編號 K L 平均誤差(%) 標準差

1 15 2 1.17 1.25

2 10 3 0.89 1.17

3 6 5 1.22 1.42

4 5 6 1.42 1.32

5 3 19 1.82 1.54

6 2 15 1.22 1.07

30

總平均誤差 1.29

1 15 3 0.84 1.27

2 9 5 0.89 1.07

3 5 9 0.85 1.18

4 3 15 0.85 1.19

45

總平均誤差 0.94

1 30 2 0.90 1.13

2 20 3 0.81 1.38

3 15 4 0.97 1.09

4 12 5 0.96 1.28

5 10 6 0.95 1.01

6 6 10 1.17 1.21

7 5 12 1.13 1.13

8 4 15 1.04 1.07

9 3 20 1.20 1.35

10 2 30 1.80 0.75

60

總平均誤差 1.21

由表4.5的結果可發現:在總次數為30的所有組合,以組合編號2(10× 表現3) 較好;在總次數為45的所有組合,以組合編號1(15× 表現較好;在總次數為603) 的所有組合,以組合編號2(20× 表現較好。就總平均誤差而言,總次數為30的3) 六種組合方式,其總平均誤差為1.29%;總次數為45的四種組合方式,其總平均 誤差為1.94%;總次數為60的十種組合方式,其總平均誤差為1.21%。

綜合以上結果可發現:在總次數為30的組合中,上述兩種情況下皆以組合編 號2(10× 有較好的結果,因此選擇3) (K× L)=(10×3)做為測試另一組參數組合

) ,

(Cαi Hβi 的標準;在總次數為45的組合中,上述兩種情況下皆以組合編號 1(15× 有較好的結果,因此選擇3) (K× L)=(15×3)做為測試另一組參數組合

) ,

(Cαi Hβi 的標準;在總次數為60的組合中,兩次所得到之較佳結果不一,推測可 能是測試情況較少,故無法推論出較佳的組合,所以採取兩次之綜合較佳結果

) ( )

(K× L = 20×3 做為測試另一組參數組合(Cαi,Hβi)的標準。由上述兩種不同的 參數組合(Cαi ,Hβi )可發現:不同的(Cαi,Hβi )組合對結果平均誤差的差異性頗大,

) ,

(Cαi Hβi 間的變化具有敏感性,顯示(Cαi ,Hβi )參數組合測試之必要性。

4.2.2 總次數30 次之C 與α H 參數組合測試 β

接著本研究將對另一組參數進行測試,Cαi 所代表的是例題 i 在所有節線成本 中的α 比率下節線成本的數值和Hβi 所代表的是例題 i 在Cαi 的數值內的所有節線 成本所要增加的長度數值,Hβi 的數值可包含所有節線成本中的

β

比率下節線成

接著本研究將對另一組參數進行測試,Cαi 所代表的是例題 i 在所有節線成本 中的α 比率下節線成本的數值和Hβi 所代表的是例題 i 在Cαi 的數值內的所有節線 成本所要增加的長度數值,Hβi 的數值可包含所有節線成本中的

β

比率下節線成

相關文件