• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
98
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

題目:改良式蟻拓尋優法求解旅行者推銷員問題

系 所 別: 科 技 管 理 研 究 所 學號姓名: M09103032 吳育盈 指導教授: 謝 玲 芬 博士

中華民國九十三年六月

(2)
(3)
(4)
(5)
(6)

改良式蟻拓尋優法求解旅行者推銷員問題

學生:吳育盈 指導教授:謝玲芬

摘要

蟻拓尋優法(ant colony optimization ,簡稱 ACO)是模仿蟻群工作型態 所設計出的一種啟發式演算方法(heuristics algorithm),主要的目的是求解如 二次指派問題(quadratic assignment problem)、網路途程問題(network routing problem)、排程問題系統(job shop scheduling problem)、車輛途程問題(vehicle routing problem)、旅行銷售員問題(traveling salesman problems)…等組合最 佳化的問題。經由證實,ACO 在求解旅行銷售員(traveling salesman problems, 簡稱TSP)問題上有不錯的驗證成效,但是,目前尚無法完全降低螞蟻搜尋路 徑過程中,可能產生的過早收斂情形與停滯現象,只能以不同的更新方式間 接減少此情況,有鑑於此,本論文以全域更新法(global update)為搜尋範圍 的考量,擬定改善更新費洛蒙的機制,將螞蟻選擇行走下一個城市的兩大依 據-費洛蒙素(pheromone)與城市間距離,設定一個可控制的反差指數(contrast exponent)值,提出有別於其它 ACO 更新方法之反差指數全域更新法(Contrast Exponent Global Update),此目的主要是拉開蟻群行走途程的差異性,使後續 螞蟻不致於因走到差異性不大的較長途程,而產生了停滯不前的現象,並驅 使蟻群往較短途程走,而求得最短路徑解。

在驗證方面,本論文共分成兩個階段來進行,第一階段,取國際題庫 TSPLIB 之 St70 為測試的資料數據,並在使用同樣參數下比較全域更新法

(global update)與反差指數全域更新法(Contrast Exponent Global Update)

求解旅行者推銷員問題之執行後的差異,並從兩者的執行成效中找出可降低 搜尋路徑過長或過早收斂的關鍵因素;第二階段的驗證,則參考螞蟻循環較 佳更新法(iteration-best)與螞蟻排序較優更新法(

AS

rank)對費洛蒙的更新模 式,選出行走較短途程的優秀螞蟻,加入本論文所提出的反差指數值,同樣 從國際資料庫TSPLIP 中取 KroA100 及 KroA200 的執行數據,與螞蟻循環較 佳更新法(iteration-best)一同驗證執行成效並對照比較兩者執行後的差異,

證明本論文所提之反差指數全域更新法是可以加入其它 ACO 的更新模型,

並且可提高求解最短路徑。

關鍵字:旅行者推銷員問題、蟻拓尋優法、反差指數

(7)

Improvement of TSP Solution by Revised Ant Colony Optimization.

Student:Yu-Ying Wu Advisor:Ling-Feng Hsieh

Abstract

Ant Colony Optimization (ACO) is a general purpose heuristics algorithm in spire by the study of the behavior of Ant Colonies, it is based on a cooperative search paradigm that is applicable to the solution of combinatorial optimization problems, such as quadratic assignment problem, network routing problem, job shop scheduling problem, vehicle routing problem and Traveling Salesman Problems (TSP), etc.the savant to make a study of ACO from 1991【27】proposed a pheromone updating method for ACO system to promote solution quality of shortest path of Traveling Sales Problem. To reduce stagnation phenomenon and accelerate convergence for ACO, we designed a new pheromone updating method called Contrast Exponent Global updating method. The method is designed base on Global updating rules of ACO and is enhanced by two contrast exponents that can increase contrast of pheromone increment.

We verified the new model with St70 of TSPLIB. The average shortest path solution of TSP is found and the effect is getting better and better by increasing power of contrast exponents. The Global updating method can be applied to improve other ACO models. For instance the Iteration-Best and

AS

rank Model that also deposits pheromone to the best ants of iteration with Global updating method was selected to corroborate with Contrast Exponent Global updating method. we practice series of TSP experiment for Contrast Exponent the Global updating method by Contrast Exponent, we prove that the Contrast Exponent Global updating method not only reduce stagnation phenomenon and accelerate convergence, but also improve solution quality of shortest path of TSP.

Keywords: Travel Salesman Problem、 Ant Colony Optimization、Contrast

Exponent

(8)

誌謝

一陣陣蟬叫聲迴繞在鳳凰花的枝幹上,才驚覺日子已過了大半,矇矓的 遠山,縹緲似霧,夾雜著昏暗不明的路燈,熱切而熟悉的人聲,曾陪我渡過 八百多個日子的地方,如今記憶中只剩下一片模糊的幸福,退化成陰沈的淡 綠,如五月的湖水。

短短兩年,晃眼即過,還沒好好認識週遭的每一個人,便又要隨赴職場 奮鬥,要感謝的人太多,首要感謝的是吾師謝老師的耐心指教,沒有她的細 心指導,本論文無以如梓完成,還有炯彬、仕明、慶忠、家祥學長們的幫忙,

著實令人永誌難忘,特別要感謝的是珮瑜學姐,在我最需要樹立信心的時候,

給予我心靈上最大的慰藉,讓我有繼續往前走的勇氣,還有林老師、王老師、

陳老師等,曾接受到幫忙的人太多,無以計數,在此深表謝意,曾有的友伴 佩雯、孟沄、一斌等同窗之誼,為我的求學之路增添了幾許光彩。人與人的 相遇是偶然的緣份,每個偶然和偶然之間,雖淹沒舊的記憶,卻勾起了新的 思潮,最難忘的事情將永遠不會被時間的洪流所吞噬,在此曾有過的每一分、

每一秒的記憶都將永遠深植在我的心中。

人生的路途就是如此微妙,只因它沒有定則,即使事先描繪好的計劃,

在行徑每一處渡頭、每一個關口、每一個轉角,仍得稍停片刻,決定是否要 快步衝過,或是低頭躡足行走,每經一個抉擇,都意味著可能帶來的轉機與 蛻化的喜悅,無決毅精誠,就無以竟其功,每個階段,總有溫暖的太陽熙照,

也會有狂風颶雨交替而來,經歷一場又一場的生命歷鍊之後,免不了要修修 補補,在夜深人靜時,為自己的思想作調整,替昨天所行走過的步履量測,

再為明日的腳程鋪路。

吳育盈 謹識於中華科管所

中華民國93 年 6 月 21 日

(9)

目錄

摘要 ………i

Abstract………ii

誌謝………iii

目錄………iv

圖目錄………vi

表目錄………vii

數學符號總表 ………viii

第一章 緒論………1

1.1 研究背景與動機 ………2

1.2 研究目的 ………2

1.3 研究流程 ………3

1.4 研究範圍與限制 ………4

1.5 論文架構 ………4

第二章 文獻探討………5

2.1 非決定性多項式(NP-Complete)………5

2.2 旅行者推銷員問題(traveling salesman problem)………7

2.3 蟻拓尋優法的介紹(ant colony optimization)………11

2.3.1 蟻拓尋優法的演算方式介紹………14

2.3.2 歷年費洛蒙更新方法介紹………19

2.4 貪婪演算法………22

第三章 反差指數全域更新法的構建 ………26

3.1 反差指數全域更新法………26

3.1.1 反差指數的測試………27

3.1.2 加入反差指數值之其它 ACO 模式的測試 ………29

3.2 加入反差指數之其它 ACO 模型的比較 ………33

3.3 重要參數值的設定………34

第四章 驗證結果 ………36

4.1 St70 的測試結果與分析………36

4.2 KroA100 與 KroA200 的測試結果與分析………39

4.3 歸納結果與整理………42

第五章 結論與未來展望 ………44

5.1 結論………44

5.2 後續研究與建議………45

(10)

參考文獻………47

附錄 附表一TSPLB St70 城市座標表 ………51

附表二、TSPLB KroA100 城市座標表………52

附表三、TSPLB KroA200 城市座標表………54

附表四、螞蟻行走途程表………58

(11)

圖目錄

圖 1.1 研究流程圖………3

圖 2.1 推銷員拜訪站地圖………6

圖 2.2 自然界螞蟻覓食的行為圖 ………11

圖 2.3 自然界螞蟻覓食行為圖解 ………11

圖 2.4 有向圖形 ………24

圖3.1 St70 測試流程圖 ………28

圖3.2 α 與 β 的參數設定參考圖………34

圖4.1 序號 1~6 之反差指數趨勢圖 ………37

圖4.2 序號 7~11 之反差指數趨勢圖………38

圖4.3 序號 12-16 之反差指數趨勢圖………38

圖4.4 KroA100 之次代最佳及反差指數更新法求解趨勢圖 ………40

圖4.5 KroA200 之次代最佳及反差指數更新法求解趨勢圖 ………41

圖 5.1 反差指數研究領域關係圖 ………46

(12)

表目錄

表3.1 啟發式演算法執行 TSP 結果一覽表 ………30

表 3.2 Q-Learning 螞蟻演算法與基本螞蟻演算法執行比較表 ………32

表3.3 Ant-Q 全域最佳更新與次代最佳更新比較表………32

表4.1 St70 實驗結果分析表 ………37

表4.2 KroA100 實驗結果分析表 ………40

表4.3 KroA200 實驗結果分析表 ………41

(13)

數學符號總表

數學符號 意 義

G(N,E) 設一圖形 G,N 為所有城市的集合,E 為所有 城市間路徑的集合。

dij 從城市i 到城市 j 的距離。

dij dij 稱為非對稱(asymmetric)的旅行者推銷員問 題,指兩城市間的距離是受到方向性的限制。

dij=dij 稱為對稱(symmetric)的旅行者推銷員問題,

指兩城市間的距離不受方向性的限制。

2n 求解時間的計算量呈指數上升。

n

3 或 nk 求解時間的計算量呈 n 的次方上升。

n 城市數目。

Cij 從i 城市到 j 城市所耗用的成本,1 i n, n

j 1

0

Xij 1 1 表示可由 i 城市到 j 城市,0 表示無法由 i 城市 到j 城市,且1 i n,1 j n。

n 0 i

ij 1

X 此為確保每一個城市都被拜訪一次。

n 0

j Xij 1 此為確保每一個城市都被拜訪一次。

n s j

n s j

ij

ijX 1

C 避免旅行的途徑產生迴路,確保所走的路徑是

符合經濟性的。

m 設共有m 隻螞蟻。

ij

表示螞蟻的視覺能力,在此所代表的是兩個城 市間距離的倒數 1/dij,意指越近的城市越容易 看得見。

ij

表示螞蟻間群聚的行為,在此指蟻群行走過程 中沿途所所釋放的費洛蒙素。

與 控制費洛蒙 ij與城市 i 到城市 j 間路徑 ij的重

要關係程度,且 0 及 0 。

allowedk 此稱為允許集合(allowed local),指螞蟻所行 走的每個城市必需為可行走的範圍。

(14)

ρ 費洛蒙蒸發的權重係數,其值介於1 與 0 之間。

) t (

pijk 表示在時間(t 之內,螞蟻由城市 i 行走到下一) 個城市j 所依據的機率函數。

ik 螞蟻由城市 i 行徑所有城市 k 沿途所釋放的費 洛蒙素。

) 1 t

ij(

蟻群在t+1 的時間裡,由城市 i 到城市 j 陸續所 累積的費洛蒙素。

m 1 k

k

ij( ,tt 1) 自第k 隻螞蟻開始,共有 m 隻螞蟻在時間 t 與 1

t 的時間間距裡,從城市i 到城市 j 陸續所留 下之費洛蒙素。

) s , r (

AQ 指的是螞蟻由城市r 到城市 s 沿途所釋放的費 洛蒙素,並以 值予以適當的加權。亦可以 ij 表示之。

) s , r (

HE 城市r 到城市 s 的距離的倒數 1/dij,並以 值設 定其重要程度。此亦可以 ij 表示之。

) z , r (

AQ 表示螞蟻從城市 r 開始,陸續行走之共有 z 個城 市的費洛蒙素總合。

代表的是一個學習精神的折扣因子,指後續螞 蟻循此路徑的學習重要程度,此 值通常介於0 和1 之間。

q 表示一個由亂數取得的隨機值,且0 q 1。 q o 代表的是一個門檻值,且0 q0 1。

) 1

( 表示經由時間蒸發的費洛蒙素值。

old

ij(t) 先前蟻群沿途所留下且經由一段時間蒸發後,

所殘留之舊的費洛蒙素。

蟻群可行走的範圍。意思與allowedk同。

* ij

此是由所有搜尋路徑的螞蟻中,選出之尋得較 短路徑之優秀螞蟻的費洛蒙素參考值。

優秀螞蟻的數量。

Q 表費洛蒙素的累積量,為一常數值,通常將此

設置在1、10、100…等整數值。

W 表示為費洛蒙素累積量,與Q 的意思相同。

dij

/

Q 將費洛蒙素的累積量除上城市i 到城市 j 之間的 距離作為費洛蒙更新的依據。

(15)

L k 表第k 隻螞蟻行走路徑之沿途所釋放的費洛蒙 素總和。

Lk

Q 將費洛蒙素的累積量除上第k 隻螞蟻行走路徑

之沿途所釋放的費洛蒙素總和,來作為費洛蒙 更新的依據。

kgb

L /

W 從開始到目前為止的搜尋過程,由第k 隻螞蟻

從城市r 到城市 s 所留下的費洛蒙素。

kib

L /

W 截至目前為止,以螞蟻循環搜尋較短路徑的方

式,由行走最短路徑的第k 隻螞蟻所留下的費 洛蒙素。

Lu

Q ) u

( 將所有螞蟻依照行走路徑的長短作名次的排

序, u 代表名次, 指的是要更新的螞蟻總數 再加 1。此表示費洛蒙的更新是依照名次的順 序作為新依據。

L*

Q 由行走較短路徑之優秀螞蟻群在城市r 到城市

s 間所添加的費洛蒙素來作為更新的依據。

代表行走最短行程的優秀螞蟻的數量。

* 此表優秀之意。

min 指將費洛蒙素的值設在某一下限範圍。

max 指將費洛蒙素的值設在某一上限範圍。

ν 設定成控制螞蟻行走距離的全域反差指數。

γ 設定成控制城市間距離的區域反差指數。

(16)

第一章 緒論

旅 行 者 推 銷 員 問 題(traveling salesman problem,簡稱 TSP)是屬 於一個組合最 佳化的 問題,它的難 題在於 求解過程所需 的時間 往往遠 超 過 可 以 容 忍 的 範 圍 , 因 此 , 許 多 學 者 紛 紛 提 出 不 同 演 算 法 方 式 來 解 決這類高難度 最佳化 求解問題。近 年來的 研究學者藉由 觀察自 然界物 理 的 現 象 , 嘗 試 應 用 這 些 自 然 法 則 來 解 決 人 類 世 界 中 各 式 各 樣 的 問 題 , 一 般 常 見 的 解 決 方 式 有 模 擬 退 火 法 (simulated annealing, 簡 稱 SA)、類 神 經 方 法(neural network,簡稱 NN)、塔 布 搜 尋 法(tabu search,

簡 稱 TS)、基 因 演 算 法(genetic algorithms,簡稱 GA)、蟻 拓 尋 優 法(ant colony optimization,簡稱 ACO)等,經由驗證,這些由物理現象所發 展的計算方式 雖無法 保證可得到百 分百正 確的解,但可 得的解 逼近於 最佳解,並且 可隨著 求解問題的不 同,在 不改變原始方 程式主 軸下作 一些變更,以 快速取 得求解成效, 這類的 求解方式又可 稱之為 啟發式 解 法 (heuristics algorithm)。啟發式解法不僅在計算上較為簡潔,它 的主要精神是 可以避 免數學規劃模 式需時 甚久、不夠效 率及避 免簡單 的 啟 發 式 解 法(simple heuristics)落入局部最佳解的缺失。

蟻 拓 尋 優 法(ACO)的靈感是源於自然界真實螞蟻覓食過程所衍 生 的 一 種 啟 發 式 演 算 法,自 1991 年由 Dorigo 和 Coloni 等人觀察自然 界 螞 蟻 覓 食 行 為 , 發 表 第 一 篇 文 章 Distributed Optimization by Ant Colonies【 34】 之 後 , 後 續 的 學 者 便 積 極 地 投 入 該 領 域 的 研 究 。 經 由 歷 年 實 驗 證 明 發 現 , 利 用 螞 蟻 往 返 覓 食 之 間 所 發 展 出 的 蟻 行 演 算 方 式 , 在 求 解 最 佳 組 合 化 的 問 題 上 均 有 不 錯 的 效 果 , 尤 其 在 求 解 旅 行 者 推 銷 員 問 題 上 可 得 到 近 似 較 佳 解 【38】。 本 論 文 以 蟻 拓 尋 優 法 ( ant colony optimal)的演算方式為基礎,以全域性(global)的搜尋範圍 作考量,擬定 改善蟻 拓尋優法中費 洛蒙的 更新機制,提 出一個 可減少 螞 蟻 在 探 索 路 徑 過 程 中 , 產 生 的 停 滯 現 象 與 過 度 收 斂 情 形 之 更 新 方 法 , 名 為 反 差 指 數 全 域 更 新 法 (contrast exponent global update),並 以求解旅行者 推銷員 問題來驗證本 論文所 提出更新方法 的求解 效果,

同 時 將 反 差 指 數 值 加 入 其 它 ACO 模式,驗證其同樣可達成求解最短 路 徑 的 效 果 。

(17)

1.1 研究背景與動機

為使蟻拓尋優 法在求 解過程時,減 少可能 產生的停滯現 象或過 早 收 斂 的 情 形,自 1991 年開始陸續已有研究專家提出各種更新費洛蒙機 制來改善此一 狀況, 更新方式依所 搜尋的 領域可分為兩 大類, 分別為 局 部 更 新 方 法 (local update)與全域更新方法( global update),因全 域 更 新 方 法 較 能 參 考 到 全 域 性 的 資 訊【34】,故 後 續 的 研 究 學 者 多 以 全 域性的搜尋作 為改良 費洛蒙的更新 方式, 然而,無論依 據那一 種更新 方式所作的改 善模式 ,由文獻資料 顯示, 以蟻拓尋優法 所求出 的 TSP 解仍有可能產 生程度 大小不一的停 滯現象 或過早收斂情 形,為 減少此 情 況 發 生 , 本 論 文 嘗 試 找 出 可 降 低 此 情 形 的 關 鍵 所 在 , 研 擬 出 一 套 以 全域更新方法 作為搜 尋最短路徑之 費洛更 新方式,並嘗 試將加 權指數 值 設 定 在 其 它 的 更 新 模 式,驗 證 其 適 當 地 以 反 差 指 數 值 加 權 其 它 ACO 的更新模式中 ,亦能 在求解旅行者 推銷員 問題上有不錯 的求解 效果。

1. 2 研究目的

本論文主要的 研究目 的,是從歷年 研究學 者相繼所提出 之蟻拓 尋 優法之費洛蒙 更新機 制中,針對蟻 群搜尋 路徑過程,目 前尚無 法完全 避免發生之過 早收斂 情形與停滯現 象問題 ,找出可降低 此情況 的關鍵 因 素 , 提 出 反 差 指 數 全 域 更 新 法(contrast exponent global update)的更 新 方 式 , 以 加 入 可 控 制 之 反 差 指 數 值 來 降 低 蟻 群 選 擇 錯 誤 路 徑 的 機 會,此不僅降 低了停 滯問題發生的 機率, 以權數的方式 來控制 蟻群行 走途程的重要 程度大 小,亦可驅使 後續蟻 群沿著前面已 找到較 短路徑 的螞蟻所留下 的費洛 蒙素行走,使 求解速 度提高,而 儘早發現 可行解。

本 論 文 所 提 出 的 方 法 , 用 在 旅 行 者 推 銷 員 問 題 上 可 求 得 最 短 路 徑 , 用 在 其 它 組 合 最 佳 化 問 題 上 , 例 如 二 次 指 派 問 題 (quadratic assign problem,簡稱 QAP)、工作站排程問題(job sop scheduling problem)、

路 徑 規 劃 問 題 (vehicle routing problem,簡稱 VRP)…等,找出問題 中 影 響 求 解 時 間 的 關 鍵 因 素,如 同 本 論 文 在 蟻 群 求 解 TSP 問題,加入 可控制之權數 以反應 其重要程度, 將可降 低實際應用上 可能產 生的不 確 定 性 問 題 。

(18)

1. 3 研究流程

實驗結果符合 理 論 所 預 期

歸 納 結 論 與 法 則 設定研究的領 域與問 題

否 文獻的回顧與 研究

模式的建立與 參數的 設定

程 式 撰 寫

實 驗 與 對 照 比 較

探 討 與 分 析

圖 1.1 研究流程圖

(19)

1.4 研究範圍與限制

一 般 的 更 新 模 式 都 以 配 合 全 域 更 新 法 為 基 礎 來 更 新 費 洛 蒙 素,本 論文的研究主 軸亦針 對全域更新法 作改善 ,並讓原本基 於全域 更新法 的 各 種 ACO 模型配合新的更新方式也可以得到改善。由於執行的時 間因素,在研 究的驗 證上,我們只 取中型 的國際題庫 TSPLP 之 St70 與 KroA100、KroA200 來對照比較歷年的實驗數據,並未選取 TSPLB 之大型問題作 為測試 資料,在反差 指數的 交叉組合上, 我們亦 僅設定 在 0 到 6 的加權值,然後配合本研究所提出的更新方式逐一驗證。此 外 , 自 1997 年 開 始 有 研 究 學 者 提 出 另 一 種 設 置 上 下 限 的 更 新 模 型

(max-min ant system,簡稱 MMAS)【47】,此領域因與傳統 ACO 的 更新方式迥然 不同, 因此,在驗證 比較上 ,我們只取 ACO 更新模型 的 範 圍 作 對 照 比 較,歷 年 文 獻 經 由 MMAS 所驗證出的效果,本論文則 僅 當 參 考 值 , 不 再 另 行 與 之 比 較 。

1. 5 論文架構

本論文共分成 五個章 節,第一章為 緒論, 說明本研究之 背景與 動 機、研究目的 、研究 方法與研究範 圍限制 ;第二章為文 獻探討 ,主要 介紹螞蟻理論 與歷年 來費洛蒙更新 方法的 介紹,及本論 文會用 到的法 則-貪婪法則(greedy method);第 三 章 為 反 差 指 數 全 域 更 新 法 的 建 構,

主要是提出本 論文的 驗證模式與蟻 拓尋優 法的參數值設 定範圍 ,並選 出歷年更新的 模式, 將本研究所提 出之反 差指數值加入 此 ACO 模型 的更新方式, 驗證其 執行效果;第 四章介 紹執行後的結 果與其 分析研 究 ; 第 五 章 則 針 對 本 論 文 的 執 行 驗 證 作 一 總 結 , 並 對 後 續 研 究 者 提 出 相關建議,最 後附上 參考文獻與附 錄,希 冀能對後續研 究人員 提供些 微 的 助 益 。

(20)

第二章 文獻探討

本 章 共 分 成 四 小 章 節 , 將 本 論 文 所 驗 證 使 用 之 蟻 拓 尋 優 法 的 領 域 與 求 解 TSP 的範圍及歷年的費洛蒙更新模式逐一作介紹。由於蟻拓尋 優 法 屬 一 NP-Complete 問題,故第一章節以一簡單旅行者推銷員問題

(traveling salesman problem,簡稱 TSP)將 NP 問題的屬性與分類作 一 概 要 介 紹;因 本 論 文 欲 以 TSP 當成所提出之反差指數費洛蒙更新方 法 (contrast exponent global)的驗證對象,故在第二章節裏,本論文 將 對 TSP 問題與其研究領域作一概要介紹;第三章則介紹歷年來研究 學者所提出之 蟻拓尋 優法及費洛蒙 的更新 模式。第四章 則介紹 貪婪演 算 法 (greedy method)的求解原理,本論文讓蟻群依據此求解原理,

同 時 利 用 螞 蟻 正 向 回 饋 的 精 神 (positive feedback)【40】讓後續蟻群 能依循前面螞 蟻行走 最短路徑時所 留下的 費洛蒙素,陸 續找到 最短路 徑 。

2 .1 非決定性多項式 NP-Complete

NP 是英文 nondeterministic polynomial 的縮寫,意思是「非決定 性 多 項 式 」。 屬 於 NP-Complete 裏 的 問 題 之 一 的 旅 行 者 推 銷 員 問 題 (traveling salesman problem), 不 僅 是 組 合 最 佳 化 問 題 中 最 具 代 表 性 的 , 亦 是 目 前 廣 為 人 們 所 討 論 的 研 究 對 象 , 本 論 文 以 一 簡 單 的 旅 行 者 推 銷 員 問 題 例 子 來 說 明 NP-Complete 的意義,首先,先以數學符號來 定 義 所 設 的 假 設 條 件 ;

一 、 設 有 一 圖 形 G,設 N 為所有城市的集合,E 為所有城市間路徑的 集 合 , 故 此 圖 可 表 示 成 G(N,E)。

二、在 此 例 中,設 共 有 A、B、C…G 共 7 個城市,城市之間不受方向 性 的 限 制 。

三 、 假 設 圖 形 中 任 意 城 市 i 與城市 j 可相互連通,兩者路徑距離可表 示 成d ,且兩城市的距離是屬於對稱(symmetric)的。 ij

四、推 銷 員 須 從 A 城市出發並設法用最短總距離拜訪其它的城市站之

(21)

後 再 回 到 原 點 A,過程中不可重覆拜訪同一個城市站。

當第一眼看到 此圖, 一般的直覺想 法是: 行經每站的路 徑或許 是 A B C D E F G A , 計 算 其 總 距 離 長 為 255

(35+30+40+40+20+30+30+30=255),但它是否是是最短總距離?對 7 個城市來說,我們可算出將會有 6!=720 條不同的組合排法可得到 路 徑 長 , 因 此 例 只 有 7 個城市,還不難算出它共有幾種的行走路徑組 合 , 但 計 算 數 目 若 為 20 個 城 市 , 由 )n

e (n n 2 21 . 1

!

n 算 出 將 會 有

1017

21 . 1

!

19 種 的 路 徑 組 合 , 隨 著 城 市 數 目 越 大 , 可 行 走 的 路 徑 組 合 亦 將 隨 之 增 加 , 若 以 每 秒 鐘 排 一 次 , 所 計 算 出 的 的 組 合 排 法 時 間 將 會 有 3.84 x 109年 ( 一 年 約 為 3.15 x 107秒 ) , 如 此 的 求 解 過 程 是 過 於 龐大的,後續 的研究 學者便將此隨 著求解 問題條件的增 加,求 解時間 呈 倍 數 成 長 之 相 關 問 題 定 義 為 O(n)(order 即 O 縮寫的來源) ,即任 何 求 n 個數的和或 平 均值,其計 算量可縮 寫成 O(n)來表示之,例如對 旅 行 者 推 銷 員 問 題 而 言 , 若 有 n 個城市,則將會有(n-1)!的排法,便 可 定 其 計 算 量 為 O(n!)。至於求 解時間呈倍數的指數問題,一般 以 n3 與 2n來 表 示 ,2n表 示 計 算 量 呈 指 數 上 升 ,n3或 nk 表 示 計 算 量 呈 n 的次 方上升,以目 前的計 算工具而言, 呈次方 上升的計算量 會較求 解問題

圖 2.1 推銷員拜訪站地圖【 23】

(22)

個 呈 指 數 上 升 的 計 算 量 問 題 , 簡 化 為 一 個 呈 次 方 上 升 的 計 算 量 問 題 。 在 學 術 上 , 習 慣 將 此 相 關 求 解 問 題 分 成 二 類 【23】;

一 、P-complete 類:在一個求解參數為 n 的問題,若能找到可以以次 方 上 升 的 計 算 量 的 求 解 方 式 , 即 目 前 已 發 展 出 多 項 式 的 時 間 演 算 法 加 以 求 解 的 問 題 , 便 稱 之 為 P-complete ( P 為 英 文 多 項 式 Polynomial 第一個英文字)。

二 、NP-complete 類:在一個求解參數為 n 的問題,若不能找到可以 以 次 方 上 升 的 計 算 量 的 求 解 方 式 , 意 即 求 解 問 題 方 法 仍 為 指 數 時 間演算法之問 題。目 前仍未發展出 任何多 項式時間之演 算法。

綜 合 以 上 所 述 , 隨 著 求 解 問 題 條 件 增 加 , 其 求 解 的 時 間 亦 隨 之 變 大或呈倍數上 升的, 便可稱此求解 問題是 屬於一個 NP 的問題。若求 解的結果近乎 於完全 正確的解,我 們便稱 此問題為一 NP-Complete 的 問題;若求解 過程較 為繁複且所得 的結果 非正確的解, 而是傾 向可作 參考的最佳解 狀態,我們便稱此問 題是屬 於 NP-Hard 的問題。一般而 言 ,NP-Hard 與 NP-Complete 的解雖非完全為正確解,但通常均具有 對 照 與 參 考 的 價 值 。

2.2 旅行者推銷員問題

旅 行 者 推 銷 員 問 題 是 廣 泛 被 討 論 的 組 合 最 佳 化 的 問 題

(combinatorial optimization problem,簡稱 COP),較早是由 Hassler Whitney 於 1934 所提出【42】,它的求解方式是使推銷員在最短時間 內拜訪所有受 訪點之 最短總距離, 並限制 所有旅行城市 中之每 一城市 只能拜訪一次 且不可 重複,最後必 須回到 原起始點,此 又稱之 為漢彌 爾 頓(hamilitonian circuit)路線。典型的 TSP 問題是:假設有一地圖 顯 示 著 n 個 城市與各城市之間的路徑距離,有一推銷員開車到 n 個 指定的城市站 去推銷 貨物,他必須 在最短 的時間或行徑 最短總 距離之 內 , 拜 訪 所 有 應 被 拜 訪 的 城 市 站 再 回 到 原 點 , 且 不 可 重 覆 推 銷 同 一 個 城 市 。 整 理 如 下 所 述 ;

一、設 一 圖 形 G,其 N 為所有城市的集合,A 為所有城市間路徑的集 合 , 故 此 圖 可 表 示 成 G(N,A)。

二 、 假 設 圖 形 中 任 意 兩 個 城 市(,ij) N,arc(,ij) A, 城 市i 到城市 j 之 路徑可相互連 通,城 市與城市的距 離可表 示 成d 。 ij

(23)

三 、 若 兩 個 城 市 間 的 距 離 是 受 到 方 向 性 的 限 制 , 我 們 即 稱 此 為 非 對 稱

(asymmetric) 的 旅 行 者 推 銷 員 問 題 , 即dij dij。 若 城 市 之 間 不 受 方 向 性 的 限 制,我 們 便 稱 此 為 對 稱(symmetric)的旅行者推銷 員 問 題 , 即dij dij

四 、TSP 的求解目的是求出最短時間內拜訪所有點之最短總距離。

TSP 的數學模式【42】可表示如下;

n :城市數目。

C :從 i 城市到 j 城市所耗用的成本,ij 1 i n,1 j n。

0

Xij 1 ,1 i n,1 j n。

1:表示可由 i 城市到 j 城市。

0:表示無法由 i 城市到 j 城市。

Minimize:

n 0 i

n o

j CijXij (2.1)

Subject To:

n 0 i

ij 1

X (2.2)

n 0 j

ij 1

X (2.3)

n s j

n s j

ij

ijX 1

C (2.4)

n j 1 , n i 1 1 , 0

X

(2.5)

(24)

其 中 S 表城市集合 n 的一個子集合,且 S 不為空集合。在限制式

(2.2) 與 ( 2.3) 所 表 示 的 是 確 保 每 一 個 城 市 都 被 拜 訪 一 次 , 限 制 式

(2.4)是避免旅行的途徑產生迴路,確保所走的路徑是符合經濟性的。

求 解 TSP 問題的方法大致上可分為;

一 、 確 切 法 (exact algorithm);茲列舉幾項為代表。

(一)窮舉搜尋法(exhaustive search method)。

(二)分枝界限法(branch and bound method)。【11】

(三)動態規劃法(dynamic programming)。【7】

(四)切割平面法(cutting plane)。【15】

二 、 啟 發 式 解 法 (heuristic algorithm);

(一) 傳統啟發式解法;

1.路線構建模組(tour construction)。

(1) 最近鄰點法(nearest neighbor procedure)。【5】

(2) 差入法(insertion)。

(3) 節省法(savings method)。【10】

2.路線改善模組(Tour Improvement)。【18】

(1) K-opt 節線交換法。

(2) Or-opt 節線交換法。

(3) Lin & Kernighan 節線交換法。

3.綜合法(composite procedure)。【2】

(1) 起始解求解+2-opt。

(2) 起始解求解+3-opt。

(3) 起始解求解+2-opt+Or-opt。

(25)

(二)一般啟發式解法;茲列舉幾項為代表。

1. 模擬退火法(simulated annealing)。【17】

2. 門檻接受法(neural network)。【13】

3. 塔布搜尋法(tabu search)。【14】

4. 基因演算法(genetic algorithms)。【3】

5. 蟻拓尋優法(ant colony optimization)。【1】

經由文獻數據 得知, 啟發式解法雖 無法得 到百分百正確 的解, 但 結 果 往 往 傾 向 最 佳 解 , 並 比 傳 統 演 算 方 法 來 得 實 際 , 故 一 般 均 採 用 啟 發 式 的 方 法 來 求 解 TSP 問 題 , 其 中 尤 以 蟻 拓 尋 優 法 (ant colony optimization)在求解排列組合上均有不錯的效果【34】,而求解 TSP 問 題 時 , 可 從 一 國 際 資 料 庫 TSPLIB 取得可供驗證的數據,因此,後續 的研究學者較 常將蟻 拓尋優法用在 求解 TSP 的驗證上。

以 蟻 拓 尋 優 法 求 解 TSP 問題前,需先找出該演算法與所解問題之 間的關聯性,如此所 求出的解才不 致於偏 離問題的主軸,而 TSP 問題 與蟻拓尋優法 兩者的 限制條件正好 有相似 之處,蟻群覓 食的行 為過程 與旅行者拜訪 所有受 訪點的目的都 是希望 能在有限的時 間或成 本內達 成 總 路 徑 最 短 的 目 標 , 因 此 很 適 合 將 TSP 當成求解問題與測試之用。

在後續的研究 顯示, 蟻群的演算法 中有許 多不同的變更 模式, 幾乎都 是針對求解旅 行者推 銷員問題來作 改變的。以蟻拓尋優法 求解 TSP 問 題 前 , 須 先 設 定 三 個 條 件 ;

一 、 一 個 可 接 受 的 值 : 當 ACO 演算法在求解的過程中所得到的解已 符合所要求的 值,意 即一個足以滿 足求解 的品質時則可 以停止 運 算 。

二、執行固定 的遞迴 次數:為使螞 蟻能多 點搜尋最佳解 ,最好 將其設 定成每隻螞蟻 均須執 行固定的遞迴 數後才 可停止。

三、演 算 已 經 達 到 收 斂 狀 態 時 須 停 止:當 演算 持 續 運 作 一 段 時 間 之 後,

所 求 的 解 已 經 近 乎 沒 有 改 變 , 這 時 通 常 表 示 演 算 法 已 落 入 某 局 部 最 佳 解(local optimal)中,此時最好立即停止運算。

(26)

2 .3 蟻拓尋優法的介紹(ant colony optimization)

蟻 拓 尋 優 法(ant colony optimization)是一個嶄新的近似求解法 , 它的求解方式 是透過 自然界螞蟻搜 尋食物 的過程,利用 螞蟻的 觸角具 有 觸 覺 與 嗅 覺 之 功 能 , 尋 覓 彼 此 之 間 行 走 時 , 沿 途 所 遺 留 下 來 的 一 種 稱 之 為 「 費 洛 蒙 素 」(pheromone)的化學物質,如此達到相互傳達標 的 物 所 在 , 而 越 短 之 路 徑 將 使 螞 蟻 通 過 時 間 較 短 , 導 致 最 短 路 徑 上 累 積之費洛蒙量 越多, 最後利用正向 回饋(positive feedback)的精神,

使所有的螞蟻 趨於行 走最短路徑, 尋得目 標所在。【40】

圖 2.2 自然界螞蟻覓食的行為【34】

圖 2.2 所顯示的是螞蟻在自然界覓食的行為過程,我們將此圖設 定行走數值與 時間, 作進一步的分 析與解 說如下;

圖 2.3 自然界螞蟻覓食行為圖解【35】

蟻 巢

蟻 巢

蟻 巢

蟻 巢

障 礙 物 障 礙 物

障 礙 物 食 物

食 物

食 物

食 物

(27)

圖 2.3 之(a)所顯示的是初始情況 下,分 別有兩條路徑 D 與 C,

路 徑 的 距 離 分 別 為 D 等於 1 與 C 等於 0.5,且沒有任何螞蟻走過這兩 條路徑,因此 這兩條 路徑上沒有任 何分泌 物-費洛蒙素的存留。圖 2.3

(b)顯 示在 時間點 為零的 時候, 對任何 一隻螞 蟻而言 ,選擇 路徑 D 與 路 徑 C 的 可能 性 機率 是相 同 的, 所 以 會有 一半 的 螞蟻 選 擇 走路徑 D,而另一半則選擇走路徑 C。經過一段時間之後如圖 2.3 之(c)所 示,走 路 徑 C 的螞蟻因行走的路徑較短已率先抵到食物所在地,而走 路 徑 D 的螞蟻因行程較長故只走到該路徑的中途,當到達食物所在地 之 走 C 路徑的螞蟻搬運食物欲返回巢穴時,它們同樣有 D 和 C 兩條 路 徑 可 以 選 擇 , 但 因 路 徑 C 留存有分泌物-費洛蒙素,而路徑 D 的螞 蟻群則因蟻群 還在尋 覓行走的階段 而尚未 覓得食物,未 留下回 程的分 泌 物-費洛蒙素,這時選擇路徑 D 與路徑 C 的比率分別為 1 比 2,由此 我們可以判斷 大部份 的蟻群會選擇 比率為 2 的路徑 C 回家。第二次當 蟻 群 們 再 度 出 發 覓 食 時 , 選 擇 路 徑 D 與路徑 C 的比率就變成 2 比 4,

螞 蟻 選 擇 路 徑 C 的機會較大,整個過程持續進行一段時間之後,路徑 C 的費洛蒙素較路徑 D 的費洛蒙相對提高,最終使所有的螞蟻選擇走 上 路 徑 C,也就是兩條路徑中較短的一條。

螞 蟻 群 藉 由 彼 此 訊 息 的 傳 遞 機 制 , 讓 整 個 蟻 群 找 到 了 覓 食 路 徑 中 較短的一條,此稱之 為正向的回饋 精神(positive feedback)。在整個 覓 食 及 搬 運 路 徑 的 過 程 當 中 , 並 沒 有 任 何 一 隻 螞 蟻 知 道 哪 一 條 路 徑 較 短,但是透過 蟻群間 的訊息分享, 讓整個 群體系統逐漸 找出一 條最佳 路徑。由以上 的敘述 可知,蟻拓尋 優法的 特色有三;

一、確 實 的 回 饋 精 神(positive feedback):透過費洛蒙素的聯繫,使 得 蟻 群 之 間 能 夠 快 速 相 互 傳 達 訊 息 , 並 且 發 現 新 的 起 始 解 。

二 、 分 散 的 計 算 方 式 : 即 所 謂 的 多 點 搜 尋 , 可 在 已 知 解 的 範 圍 之 內 搜 尋 新 的 解 , 並 避 免 過 早 的 收 斂 。

三 、 使 用 貪 婪 法 則 (greedy algorithm):在發展起始解的時候,使用 貪心搜尋的方 式較能 提早發現可接 受的解 。

(28)

蟻 拓 尋 優 法 應 用 在 求 解 TSP 問題時,首先,須將自然界真實螞蟻 的覓食行為予 以人工 化,並使所求 問題本 身與蟻拓尋優 法符合 三項相 似 原 理 , 如 下 ;

一 、 求 解 問 題 本 身 必 須 是 可 以 以 路 徑 表 示 的 。

二 、 求 解 時 必 須 先 決 定 費 洛 蒙 素 的 分 泌 與 存 留 方 式 。 三 、 決 定 的 路 徑 必 須 是 以 選 擇 機 率 方 式 所 計 算 出 。

無論是以何種 螞蟻演 算模型求解旅 行者推 銷員問題,首 先須確 認 的 是,求 解 TSP 問題的城市數與蟻群數目兩者間有無關聯性,同時須 設 定 所 要 搜 尋 的 範 圍 與 步 驟 , 本 論 文 整 理 其 步 驟 如 下 ;

一 、 選 定 區 域 搜 尋 範 圍 並 已 知 有 n 個城市站,城市之間彼此有道路相 連 , 而 道 路 本 身 有 遠 近 距 離 之 分 。

二、假 設 共 有 m 隻螞蟻,每隻螞蟻必須拜訪 n 個城市,且不可重複拜 訪 相 同 的 城 市 , 最 後 必 須 回 到 原 所 在 的 城 市 。

三 、 由 於 自 然 界 中 的 螞 蟻 是 沒 有 視 覺 能 力 的 , 因 此 , 必 須 以 其 它 方 式 來輔助螞 蟻所要 依循 的方向, 在蟻拓 尋 優 法中, ij通 常 用 來 表 示 螞蟻的視覺能 力,此 所代表的是兩 個城市 間距離的倒數 ,意指 越 近 的 城 市 越 容 易 看 得 見 。 【15】

四 、 螞 蟻 之 間 的 群 聚 的 行 為 , 在 蟻 拓 尋 優 法 中 是 以 ij表 示 , 代 表 螞 蟻 在 時 間t 到t 1的間距內,參考先前蟻群 所遺留 下來的軌跡密 度值 作為行走的依 據,軌 跡密度值即沿 途蟻群 所釋放的費洛 蒙素。

五、設 與 兩個參數值,來控制費 洛蒙 ij及 城 市 i 與 j 之間路徑 ij的 重 要 關 係 程 度 , 且 0 及 0 。

六 、 螞 蟻 所 行 走 的 每 個 城 市 必 需 為 可 行 走 的 範 圍 , 此 稱 為 允 許 集 合

(allowed local)。

(29)

2.3.1 蟻 拓 尋 優 法 的 演 算 方 式 介 紹

較 早 提 出 蟻 拓 尋 優 演 算 方 法 的,是 由 Dorigo、Colorni、Maniezzo 等 人,在 1991 年提出仿自然界之螞蟻覓食行為應用在求解組合最佳化 問題時,具 有 不錯的 求解成果之螞 蟻系統(ant system,簡稱 AS)【34】,

奠 定 了 蟻 拓 尋 優 法 的 基 本 演 算 模 式 。 隨 後 1995 年由 Gambardella 和 Dorigo 等【35】提出,透過搜尋到較短路徑的螞蟻之經驗,使得後續 的 蟻 群 可 根 據 尋 得 較 短 路 徑 之 螞 蟻 沿 途 所 釋 放 費 洛 蒙 素 AQ(r,s)陸 續 也 找 到 最 短 路 徑, AQ(r,s)指的是螞蟻由城 市r 到城市 s 沿途所釋放的 費 洛 蒙 素 , 並 以 值 將 這 種 具 協 同 學 習 精 神 效 果 予 以 適 當 的 加 權 ,

) s , r (

AQ 也 就 是 後 續 研 究 學 者 通 稱 的 ij 值 。 利 用 費 洛 蒙 素 AQ(r,s) 所產生的蟻群 間正向 回饋精神,所 求解較 短路徑的效果 便稱之 為 Ant Q-value , 亦 即 作 者 所 提 出 的 Q-learning ; 往 後 更 由 Dorigo 和 Gambardella 將 AS 及 Ant-Q 的定義作一整合,統稱為蟻拓尋優法(ant colony optimization,簡稱 ACO)【38】,後續的研究學者便將螞蟻理 論 的 演 算 方 法 通 稱 為 蟻 拓 尋 優 法 ( 簡 稱 ACO)。除了 AS、Ant-Q、

ACO 演算模型外,近年較受注意的是將螞蟻行走的路徑優劣作一排序 後,再 進 行 更 新 的 螞 蟻 排 序 演 算 模 型( 簡 稱ASrank),以 及 將 費 洛 蒙 的 更 新 設 置 上 下 限 制 值 的 Max-Min AS 演算模型(簡稱 MMAS),以下 便 將 AS、Ant-Q、ACO 及 MMAS 的演算方法作逐一介紹;

一 、 基 本 螞 蟻 演 算 模 型 (ant system,簡稱 AS)

0

)]

t ( [ )]

t ( [

)]

t ( [ )]

t ( [ )

t ( p

allowedk

k

ik ik

ij ij

k

ij otherwise

allowed

j k

(2.6)

(2.6)式之pkij(t)表 示 在 時 間(t 之內,螞蟻由城市 i 行走到下一個) 城 市 j 所 依 據 的 機 率 函數 。 此 機 率函 數 是 由螞 蟻 行 走 時沿 途 所 釋放的 費 洛 蒙 素 ik與 城 市 間 距 離 的d 所求得,並以權數 與 值來設定其重ij 要 程 度 大 小 , 蟻 群 所 行 走 的 範 圍 k 亦 必 須 是 可 行 走 的 , 以allowed 表k

(30)

) 1 t , t ( )

t ( . ) 1 t

( ij ij

ij (2.7)

m 1 k

k ij k

ij( ,tt 1) (t,t 1) (2.8)

(2.7)式表示的是,因螞蟻在搜尋 路徑的 過程中會不停 地移動 , 造成費洛蒙素 不斷地 更替與累積, 也可能 因時間與距離 等其它 因素產 生費洛蒙蒸發 的情況,故 以 ρ 表示蒸發 的權重係數,其值介 於 1 與 0 之 間。(2.8)式表示的是自第 k 隻螞蟻開始,共有 m 隻螞蟻在時間 t 與

1

t 的 時 間 間 距 裡 , 從 城 市i 到城市 j 所留下之費洛蒙素。【34】

二 、Ant Q-Learning 演算模型

Ant Q-Learning 的 演 算 模 型 是 AS 演 算 模 型 的 延 伸 , Ant Q-Learning 所強調的是透過蟻群間費洛蒙素的傳遞,達到互相搜尋較 短 路 徑 的 學 習 精 神 。 在 Q-learning 的 Ant Q 指的便是 AQ(r,s), 所 代 表 的 是 聚 集 的 學 習 精 神,亦 即 藉 由 螞 蟻 從 城 市i 到城市 j 延途所釋放的 費洛蒙素,傳 遞彼此 較短路徑的訊 息,此 亦稱之為是正 向回饋 的精神

(positive feedback)。【35】

otherwise q q if )

t ( P

)]

s , r ( HE [ )]

s , r ( AQ [ max

s arg o

k ij )

r ( J

u k (2.9)

由 (2.9)式可知,螞蟻選擇行走下一個城市 s,是先算出各路徑 的 機 率 , 再 取 亂 數 來 決 定 實 際 行 走 的 城 市 , 在(2.9)式中的 AQ(r,s)代 表 的 是 費 洛 蒙 素,HE(r,s)則 是 城 市r 到城市 s 的距離的倒數,並以 與 值 適 當 地 設 定 兩 者 的 重 要 程 度 。 q 代 表 的 是 一 個 門 檻 值 , 且o

1 q

0 0 ,q 則表 示一 個 由亂 數 取得 的 隨機 值 ,且0 q 1, 若 q 值 小 於q , 則 螞 蟻 將 依 據o AQ(r,s) HE(r,s) 所 算 出 的 值 中 之 最 大 者 作 為 選 擇 下 一 個 城 市 行 走 , 這 是 因 為AQ(r,s) HE(r,s) 所 算 出 的 值 越 大 , 表 示 城 市s 被 選 為 下 一 個 行 走 城 市 的 機 率 就 越 大 , 若 q 值 大 於q , 則 依o

) t (

Pijk 所 算 出 的 機 率 值 決 定 行 走,Pijk(t)就是由(2.6)式所求出。在此 , Ant Q-Learning 提出了一個新的狀態轉移規則(transition rule)來控制

(31)

螞 蟻 收 斂 與 探 索 的 程 度 , 如 (2.9)式,隨著q 值設得越大,o q qo的 機率將越大, 下一隻 螞蟻直接循著 先前螞 蟻所走的較佳 路徑之 可能性 就 越 高 , 如 此 將 使 收 斂 的 速 度 加 快 , 減 少 因 探 索 行 為 所 可 能 產 生 的 停 滯 不 前 的 現 象,因 此,將q 值調整在最適當的值才能得到較好的求解。 o

) z , r ( AQ Max )

s , r ( AQ )

s , r ( AQ ) 1 ( ) s , r (

AQ z J(s) (2.10)

(2.10)式表示螞蟻的學習精神是由 AQ(r,s)所 組 成, AQ(r,s)是 螞 蟻 由 城 市r 到城市 s 所累積的費洛蒙素,其中包含因蒸發所殘留的費 洛 蒙 , 在 此 式 中 所 代 表 的 是 指 費 洛 蒙 未 蒸 發 的 係 數 ,(1 )表 示 經 由 時 間 蒸 發 的 費 洛 蒙 素 值 , 此 外 , AQ(r,z)表 示 螞 蟻 從 城 市 r 開 始 , 陸 續 行 走 之 共 有z 個城市的費洛蒙素總合, 值所代表的是一個學習精 神 的 折 扣 因 子 , 指 後 續 螞 蟻 循 此 路 徑 的 學 習 重 要 程 度 , 此 值 通 常 介 於 0 和 1 之間, 值越大表示此路徑值得後續蟻群學習程度就越大,

值 得 蟻 群 選 擇 去 行 走 , 反 之 則 越 小 。

三 、 蟻 群 聚 集 演 算 模 型 (ant colony system,簡稱 ACS;又稱 ACO)

ACS 的演算法是依據 AS 與 Ant-Q 的演算基礎所提出,後續學者 亦 將 AS 與 Ant-Q 的結合通稱為蟻拓尋優法(ant colony optimal,簡稱 為 ACO),它最大的特色是讓螞蟻在探索路徑的過程中,使用局部更 新 的 方 式 (local update)來更新蟻群間的費洛蒙值,如此將使蟻群快 速 尋 得 局 部 較 短 路 徑 解 。 【38】

otherwise q q if )

t ( P

)]

t ( [ )]

t ( [ max

s arg o

k ij

ij ) ij

r ( J

u k (2.11)

) 1 t , t ( )

t ( . )

t

(

ijk

m

1 k old ij new

ij (2.12)

(2.11)式的演算方式與(2.9)相同,唯一不同的地方在於(2.11)

式 中 的 費 洛 蒙 素 ij並 未 給 予 設 定 權 重 值 。(2.12)式所指的則是蟻群搜

(32)

蟻 群 沿 途 所 留 下 且 經 由 一 段 時 間 蒸 發 後 , 所 殘 留 之 舊 的 費 洛 蒙 素

old

ij(t) ,加上由總數 m 隻螞蟻在 t 到 t+1 的時間間距內,經城市 i 到 城 市 j 所 累 積 的 費 洛 蒙 素 , 所 計 算 出 來 的 費 洛 蒙 素 的 總 合 , 此 以

m 1 k

k

ij( ,tt 1)表 示 之 。

四 、 螞 蟻 排 序 演 算 模 型 (ASrank

螞蟻排序演算 模型是 近年較受到後 續學者 注意與討論的 範圍, 此 模型與其它模 型最大 的差別在於選 擇更新 方式的不同, 螞蟻排 序演算 模型的更新方 式又可 分成精英螞蟻 更新法(ASelite)與 螞 蟻 排 序 較 優 更 新 法 (ASrank),兩者的更 新方式均由 目前所有 搜尋路徑的 螞蟻中, 依 照其所求 得的距離 長 短作一優 劣排序後 , 再選擇行 走較短的 前w 隻螞 蟻來作更新, 如此, 將不會因行走 較長距 離的螞蟻被考 慮到更 新的範 圍 內 , 而 產 生 過 早 停 滯 的 現 象 。【31】

其它 j if 0

] [ ] [

] [ ] [ ) t ( p

h

ih ih

ij ij k

ij (2.13)

* ij ij ij

ij(t 1) (t) (2.14)

m 1 k

k ij

ij (2.15)

0 其它 L

Q

k k

ij (2.16)

0L 其它 Q

* *

ij (2.17)

(33)

(2.13)式的計算方法與(2.6)相同,在此則不另加敘述,其中 所 代 表 的 是 蟻 群 可 行 走 的 範 圍。(2.14)式表示的是費洛蒙素 ij(t,t 1)是 由 蟻 群 在 時 間t 與t 1的間距 裏陸續所累積 的, 為 一 蒸 發 係 數 值, ij

(2.15)式所求得,共由 m 隻螞蟻所求得的費洛蒙素總合,其中 ijk是 採 用 全 域 更 新 方 法 所 求 得 , 如 (2.16)。在此要注意的是 ij*值 , 此 是 由所有搜尋路 徑的螞 蟻中,選出之 尋得較 短路徑之優秀 螞蟻的 費洛蒙 素 參 考 值 , 計 算 方 法 如 (2.17) 式, 表 優 秀 螞 蟻 的 數 量 。 將 行 走 途 程 較 短 的 優 秀 螞 蟻 ij*列 入 更 新 的 參 考 值 , 主 要 的 目 的 是 協 助 其 它 蟻 群 走 向 更 佳 的 途 徑 。

五、設 上 下 限 值 之 螞 蟻 系 統 演 算 法(Max-Min ant system,簡稱 MMAS)

0

)]

t ( [ )]

t ( [

)]

t ( [ )]

t ( [ )

t ( p

allowedk

k

ik ik

ij ij

k

ij otherwise

allowed

j k

(2.18)

best ij ij

ij(t 1) (t) (2.19)

max ij

min

ij(t 1) (t 1) (2.20)

MMAS 讓螞蟻依機率 值作為選擇下 一個城 市的依據,與 ACO 的

演 算 方 式 是 一 樣 的,如(2.6)所示,其與 ACO 最大的差別在於 MMAS 只選出行走途 程較短 之最優秀螞蟻 來作更 新(2.19),此是為了降低使 用多隻螞蟻搜 尋路徑 時所可能產生 的停滯 不前現象,同 時將費 洛蒙素 的 限 制 在 一 個 範 圍 內 更 新,此 稱 為 Max-Min,更新的設置範圍可依問 題的屬性來設 定,如 此,主要是為 了引導 後續蟻群的探 勘行為 ,增加 搜 尋 到 較 短 路 徑 的 機 會 。【47】

由於蟻拓尋優 法在求 解最佳組合上 有不錯 的效果,因此 後續研 究 人 員 紛 紛 將 此 應 用 在 各 式 各 樣 的 組 合 問 題 上 , 如 二 次 指 派 問 題

quadratic assign problem,簡稱 QAP)中的 AS-QAP、MMAS-QAP、

HAS-QAP【28】,與工作站之排程問題(job-sop scheduling problem)

【29】的 AS-JSP、路徑規劃之路敬規劃問題(vehicle routing problem)

(34)

的ASrank+2-opt【30】…等。另外,對於蟻拓尋優法的更新方式之 ij的 設 定 , 大 致 上 可 分 為 全 域 更 新 方 法 (global update) 與局 部更 新方法

(local update)兩大類,在下一個章節,本論文將介紹截至目前為止,

有關全域更新 法與局 部更新法的費 洛蒙更 新領域的模式 。

2.3.2 歷 年 費 洛 蒙 更 新 方 法 介 紹

螞蟻在搜尋的 過程當 中,為避免螞 蟻群行 走同一條路徑 而喪失 了 探 索 其 它 路 徑 的 機 會 , 主 要 的 解 決 方 式 , 便 是 在 累 積 的 費 洛 蒙 ij更 新 上 作 調 整。自 1992 年陸續已有研究專家提出各種強化更新費洛蒙素 的方式,主要 依搜尋 的範圍分為兩 大類;

一 、 局 部 更 新 方 法 (local update);

(一)螞蟻密度模式(ant density model):以之前有多少螞蟻走過作 為 第k 隻螞蟻選擇行走下一個城市的依據。【34】

0 其它 ) Q

1 t , t

k(

ij (2.21)

Q:指在時間 t 到時間 t 1之 內,螞 蟻 從 城 市i 到城市 j 所留下 的費洛蒙素。依據歷 年的研究數據 顯 示,Q 通常表一常數值,

通 常 將 此 設 置 在 1、10、100…等整數值。

(二)螞蟻質量模式(ant quality model):以城市之間的距離作為螞 蟻選擇行走下 一個城 市的依據;【34】

0 其它 d

Q )

1 t ,t

( ij

k

ij (2.22)

dij

/

Q : 在 時 間t 到t 1的間距裡 ,由第k 隻螞蟻從城市 i 到城 市 j 所留下的費洛蒙素,d 指螞蟻行走城市 i 到城市 j 之間的ij 距 離 。Q 為費洛蒙素累積量。

(35)

二 、 全 域 更 新 方 法 (global update);

( 一 )螞 蟻 週 期 模 式(ant Cycle):以所有螞蟻走過全部路徑的總 和 作 為 行 走 下 一 步 的 依 據 ;【34】

0 其它 L

Q )

1 t ,t

( k

k

ij (2.23)

Lk

Q :L 表示由第 k 隻螞蟻走過所有城市路徑之沿途所釋k 放 的 費 洛 蒙 素 總 和 。Q 為費洛蒙素累積量。

1. 全域性較佳更新模式(global-best):從開始到目前為止的 搜尋過程,依 所行走 最短路徑的第k 隻螞蟻所留下的費洛 蒙 素 來 作 更 新 ;【35】

0 其它

) s , r (

AQ Lkgb

W

(2.24)

kgb

L /

W : 從 開 始 到 目 前 為 止 的 搜 尋 過 程 , 由 第k 隻 螞蟻從 城 市r 到城市 s 所留下的費洛蒙素。W 表示為費洛蒙素累積 量 , 與Q 的意思相同。 AQ(r,s)表 由 城 市r 到城市 s 所沿途 所釋放的費洛 蒙素, 此亦與 ij的 意 思 相 同 。

2. 螞蟻循環較佳方式(iteration-best):到目前為止,以螞蟻 循環搜尋路徑 的過程 中,由行走最 短路徑 的第k 隻螞蟻所 留 下 的 費 洛 蒙 素 ;【35】

0 其它

) s , r (

AQ Lkib

W

(2.25)

kib

L /

W :截至目 前為止 ,以 螞蟻循環 搜尋較 短路 徑過程,

由 行 走 最 短 路 徑 的 第k 隻螞蟻所留下的費洛蒙素。 W 的意

(36)

思 與Q 相同,表費洛蒙素累積量。 AQ(r,s)表 由 城 市r 到城 市s 所沿途所釋放的費洛蒙素,此等同於前面所提的 ij。 3. 螞蟻排序較優更新法(ASrank): 此 更 新 法 是 將 名 次 問 題 考

慮進去,是依 照螞蟻 行走的距離長 短,用 名次方式作優 劣 排 序 後 , 再 作 更 新 ;【31】

0 其它

u

ij Lu

Q ) u

( (2.26)

Lu

Q ) u

( :將 所 有 螞 蟻 依 照 行 走 路 徑 的 長 短 作 名 次 的 排 序,

u 表名次, 指要更新的螞蟻總數再加 1,此表示費洛蒙的 更新是依照名 次的順 序作為新依據 。

4. 精英螞蟻更新法(ASelitise):以 行 走 路 徑 最 短 的 優 秀 螞 蟻 在 城市之間所添 加的費 洛蒙素作為更 新方式 ;【31】

0 其它

*

ij L*

Q (2.27)

L*

Q : 由 行 走 較 短 路 徑 之 優 秀 螞 蟻 群 在 城 市r 到城市 s 間,

所 添 加 的 費 洛 蒙 素 作 為 更 新 的依 據 。 代 表 行 走 最 短 行 程 的優秀螞蟻的 數量。 *在此表示為 優秀之 意。

(二)設置上 下限值 之費洛蒙素更 新方法 (Max-Min update role):此方法與其它 ACO 更新方式略有不同,其主要是 將沿途螞蟻所 釋放的 費洛蒙素設置 上下限 值,以防止費 洛 蒙素產生的過 少或過 多情形玵發生 過早收 斂與停滯的現 象 。【41】

max ij

min

ij(t 1) (t 1) (2.28)

(37)

min:將費洛蒙 素設在某 一下限範圍,若費洛 蒙素在時間t 與t 1的 間 距 裡 小 於 或 等 於 所 設 的 下 限 值 , 則 ij的 量 等 於

min下 限 值 。

max: 將 費 洛 蒙 素 的 值 設 在 某 一 上 限 範 圍 , 若 費 洛 蒙 素 在 時 間t 與t 1的間距裡大於 或等於所設的 上限值,則 ij的 量 等 於 max的 上 限 值 。

依 文 獻 資 料 顯 示 , 以 全 域 更 新 方 法 為 搜 尋 範 圍 的 螞 蟻 週 期 (ant cycle)更新方法較能參考到全域性的資訊,讓費洛蒙素遍佈了不錯的 參 考 值 與 探 索 其 它 路 徑 的 機 會 , 但 是 全 域 性 的 更 新 過 程 , 仍 有 可 能 參 考到搜尋較長 路徑之 螞蟻,將其更新 到費 洛蒙路徑的資 訊裏, 而影響 到 後 代 的 更 新 結 果 , 使 求 解 增 加 了 路 徑 成 本 及 過 早 停 滯 現 象

(stagnation),為減少發生此情形,1997 年由 Stϋtzle 和 Hoos 發表,

針對費洛蒙素 的更新 值作變化,將費洛蒙 素的更新方式 設置上 下限值

(Max-Min update role)【46】,以避免蒸發的問題使得費洛蒙素的值 過 度 縮 小 , 亦 可 避 免 因 過 度 擴 大 費 洛 蒙 值 而 產 生 停 滯 現 象 , 使 探 索

(exploration) 其 它路 徑 的 功 能 更 為顯 著, 此 方 法 通 稱 為設 置上 下 限 值 的 螞 蟻 演 算 模 型 (Max-Min Ant System,簡稱 MMAS),它與一般 ACO 更新方法的區別,主要在於 MMAS 對沿途所留下的軌跡密度值 設 置 了 極 大 值( max)與 極 小 值( min)的 限 制,ACO 則針對蟻群探索 的 優 劣 作 更 新 。 MMAS 引 進 了 特 殊 的 軌 跡 平 滑 機 制 ( trail-smoothing mechanism),即螞蟻行經較長時間而產生停滯現象時,可根據線性比 例來調整當前 路網中 的軌跡強度,對 於城 市間距離d 的軌跡強度可按ijmaxij(t)的 差 值 按 比 例 增 大 。

2.4 貪婪演算法

貪 婪 演 算 法(greedy method)【22】指在面對每個抉擇的時候都作 出眼前看似最 好的決 策,決策一旦 作出就 不可再作更改 ,此作 出貪婪 決 策 的 依 據 , 我 們 便 稱 之 為 貪 婪 法 則 (greedy criterion)。貪婪演算法 的 精 神 在 於 每 一 步 面 臨 選 擇 時,永 遠 都 在 眾 多 選 擇 中 選 其 對 已 身 最 有 利 的 決 定 , 並 能 因 選 擇 局 部 最 好 的 解 而 引 導 後 續 的 選 擇 亦 達 到 更 好 , 可 稱 作 是 以 上 往 下(top-down)的 方 式 逐 步 構 造 最 佳 解 。 在 最 小 擴 張 樹

(38)

法 【42】即是一個很典型的貪婪演算法,同時亦被廣泛應用在求解最 短 路 徑 問 題(shortest problem)、背包問題(knapsack problem)、排程 問 題 (scheduling)…等。

在 螞 蟻 搜 尋 路 徑 的 過 程 當 中 , 我 們 便 可 利 用 貪 婪 法 則 的 精 神 , 使 蟻群選擇下一 站城市 時,依據前面 螞蟻走 過所陸續累積 的費洛 蒙素強 弱 來 決 定 行 走 , 在 此 必 須 注 意 的 是 , 貪 婪 演 算 法 並 不 能 保 證 所 得 到 最 終效果會是最 優的, 它的目的是在 有限的 時間或其它的 成本限 制下求 得 局 部 最 佳 解 。 貪 婪 搜 尋 的 原 則 是 :

一 、 選 出 目 前 所 有 路 徑 活 動 中 最 早 完 成 的 , 即 行 走 距 離 較 短 , 可 快 速 求 得 解 的 活 動 。

二、盡可能地 挑出行 走據點之最短 距離。

三 、 選 擇 所 耗 時 間 最 短 、 成 本 最 低 的 。

貪 婪 演 算 法 較 常 應 用 的 領 域 之 一 是 求 解 最 短 路 徑 (shortest paths), 此 與本 論文 以蟻 拓 尋優 法求 解 旅 行者 推 銷員 問題 的 目 的頗 為 相似,故以下 以求解 最短路徑之簡 單例子 ,闡述貪婪演 算法的 運作過 程 , 首 先 定 義 假 設 條 件 ;

一 、設 有 一 有 向 圖 形 G(N,A),N 為所有城市的集合,A 為所有城市 間 路 徑 的 集 合 , 此 設 共 有 6 個城市站。

二、圖形中任 意兩城 市各自有距離 成本( 如 圖 2.6)。

三 、 設 起 始 城 市 為 1。

四 、 目 的 求 起 始 城 市 至 城 市 站 3 的最短總路徑成本。

(39)

若 以 一 般 求 解 最 短 路 徑 (shortest path)法,由圖 2.4 逐一演練所 有 可 行 路 徑,可 計 算 出 共 有 A、B、C、D 四種繞行方式,各自行走的 路 徑 成 本 為 ;

A. 1 3 = 總路徑成本 45

B. 1 2 3 = 總路徑成本 50+10=60

C. 1 4 5 2 3 =總路徑成本 20+15+20+10=55 D. 1 4 5 3 =總路徑成本 20+15+35=70

由 上 列 可 知 繞 行 最 短 路 徑 為 A,其總路徑成本為 45。貪婪法則的 作法則是以當 前與下 一站的最短距 離來選 擇作為到達下 一站的 依據。

根 據 貪 婪 法 則 的 原 理 , 最 終 所 得 到 的 解 為 ; 1 4 = 總路徑成本 10

1 4 5 = 總路徑成本 20+15=25 1 4 5 2 =總路徑成本 20+15+20=45

1 4 5 2 3 =總路徑成本 20+15+20+10=55

由 上 列 可 看 出,利 用 貪 婪 法 則 所 求 算 出 最 短 路 程 為 55,與一般求 解最短路徑方 法所求 出的總路徑成 本為 45,兩者的最終結果的差異性 並不是很大。 一般求 解較短路徑方 式,是 至少必須將每 個城市 站的距

圖 2.4 有向圖形

(40)

離都一一求算 過後,才知道最短路 徑為何,以圖 2.4 的城市數目而言,

或許尚能求算 得出每 種路徑組合, 一旦城 市數目增加, 則可能 相對地 增加求算的時 間。貪 婪法則在此提 供一套 可快速求得近 似解的 方式,

在 求 解 過 程 中 , 如 例 子 所 示 , 均 以 當 前 與 下 一 站 之 最 短 距 離 來 作 為 選 擇 到 達 的 依 據 , 求 解 相 對 可 減 少 許 多 。

(41)

第三章 反差指數全域更新法的構建

本章節共分成 四小章 節,主要敘述 本論文 提出的反差指 數全域 更 新 法 (contrast exponent global update)應用在旅行者推銷員的研究架 構 。 第 一 小 節 介 紹 本 論 文 提 出 更 新 方 法 的 源 由 ; 第 二 小 節 介 紹 如 何 驗 證反差指數更 新法能 提高求解最短 路徑的 成效,並將反 差指數 值加入 其 它 ACO 更新模型後的測試方式;第三小節介紹反差指數更新法選 擇螞蟻循環較 佳更新 法的源由與驗 證的方 式;第四小節 則介紹 蟻拓尋 優法之參數設 定的方 向與設置錯誤 所可能 產生的影響。

本論文的研究 方法,分成兩個階段 來進行,第一階 段為測試階 段,

主 要 是 驗 證 本 論 文 所 提 出 之 反 差 指 數 全 域 更 新 法 (contrast exponent global update)求解 TSP 的過程中,是否能如預期地提升求解最短路 徑 的 效 果 , 並 嘗 試 找 出 目 前 所 有 蟻 拓 尋 優 法 的 更 新 模 型 中 , 尚 無 法 完 全避免的過早 收斂情 形與停滯現象 之關鍵 因素,同時驗 證本論 文以指 數的方式來設 定蟻群 行走距離長短 優劣的 權重,增加後 續螞蟻 傾向最 短路徑行走, 是可以 達到快速求解 的效果 。透過費洛蒙 的作用 ,我們 將可瞭解到費 洛蒙素 是如何幫助執 行系統 累積經驗以進 行螞蟻 之間的 溝通,同時引 導下一 隻螞蟻選擇較 短路徑 解。經由第一 階段的 測試,

確認反差指數 可提高 求解最佳的路 徑解之 後,本論文將 在第二 階段的 測 試 中,根 據 螞 蟻 循 環 最 佳 更 新 模 式(iteration-best)的原理與螞蟻排 序 較 優 更 新 法(ASrank)的精神,選 出經 由蟻群 循環行走路徑 後的前 6 隻 行 走 距 離 較 短 的 優 秀 螞 蟻,加 入 反 差 指 數(contrast exponent)值作 費 洛 蒙 素 的 更 新 , 並 從 TSPLIB 的 國 際 題 庫 中 選 出 較 大 執 行 數 據 KroA100 與 KroA200,驗證反差指數值加入其它 ACO 更新模型後,

同 樣 是 可 以 提 升 求 解 TSP 的效果的。

3.1 反差指數全域更新法

由 於 全 域 更 新 (global update)的 搜尋 考 量與本 論文 所要 的目 標 式較能有相對 應的關 係,因此,本 論文仍 以廣泛的路徑 範圍作 考量,

基於全域性搜 尋的法 則,建構出 另一種費 洛蒙素的更新 方法,名 為「 反 contrast exponent global update),將螞蟻走過所

(42)

有的路徑加入 一個可 控制的加權指 數,同 時視城市與城 市間距 離的重 要性來決定給 予多少 權重指數,目 的是要 拉大較短路徑 與較長 路徑之 間費洛蒙素的 反差, 避免螞蟻因行 走到費 洛蒙釋放比例 差異不 大之較 長 的 路 徑 , 而 間 接 影 響 到 後 續 螞 蟻 選 擇 了 錯 誤 的 路 徑 , 藉 由 反 差 指 數 值拉大路徑的 差異性 可減少增加蟻 群求解 較短路徑的時 間。更 新方式 如 下 所 示 ;

0 其它 d L

Q )

1 t ,t

(

vk ij

k

ij (3.1)

ij v

ij d L

Q : 以 ν 和 γ 的指數值來控制第 k 隻螞蟻走完所有路徑總和

所留下的費洛 蒙素與 城市之間的距 離。

L :表第 k 隻螞蟻行走路徑之沿途所釋放的費洛蒙素總和。 k

d :表城市 i 到城市 j 的距離。 ij

ν:設定成控制螞蟻行走距離的全域反差指數。

γ:設定成控制城市間距離的區域反差指數。

(3.1)式表示全域更新法可視為反差指數全域更新方法的一個特例, 當 γ 為 0 與 ν 為 1 時,反差指數全域更新法則將等同於全域更新法,

隨 著 γ 值 與 ν 值 的 遞 增,將可得到反差指數對提升最短路徑的求解效 果 。

3.1.1 反 差 指 數 的 測 試

在第一階段的 研究測 試,首先,本 論文以 20 隻螞蟻之間的互動來 制 定 整 個 系 統 的 催 化 過 程 , 並 以 國 際 題 庫 TSPLP 之 St70 作為執行的 數據,為了能 使螞蟻 行走的總路徑 受到反 差指數的控制 而能搜 尋到較 短路徑,本論 文把所 提出的反差指 數全域 更新方法中之 全域反 差指數 ν 值和區域反差指數 γ 值設成從 0 到 6,並以交叉組合的方式,找出可 得 較 短 路 徑 的 反 差 指 數 值 。

(43)

執 行 St70 的流程圖如下;

選 定 程 式 庫

ACO 參數設定

比較全域更新 法與反 差指數更新法 的結果 執行完成、記 錄完整 數 據

執 行 程 式 設定反差指數

數據進階分析 與歸納 反差指數特性 完成所有反差

指 數 組 態

圖 3.1 St70 測試流程圖 是

參考文獻

相關文件

• One technique for determining empirical formulas in the laboratory is combustion analysis, commonly used for compounds containing principally carbon and

substance) is matter that has distinct properties and a composition that does not vary from sample

Dynamic programming is a method that in general solves optimization prob- lems that involve making a sequence of decisions by determining, for each decision, subproblems that can

Because simultaneous localization, mapping and moving object tracking is a more general process based on the integration of SLAM and moving object tracking, it inherits the

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005..

The remaining positions contain //the rest of the original array elements //the rest of the original array elements.

There is no general formula for counting the number of transitive binary relations on A... The poset A in the above example is not

• Java is one of general-purpose programming languages, supporting the object-oriented programming (OOP) paradigm.. • Java was first released by Sun Microsystems back in 1995 and is