• 沒有找到結果。

中 華 大 學

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學"

Copied!
67
0
0

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

全文

(1)

中 華 大 學 碩 士 論 文

以多目標基因演算法最佳化規劃可重組式製 造工廠搬運機器人之路徑

Robot Path Planning in Reconfigurable Manufacturing Plant Using A Hybrid

Multi-objective Genetic Algorithm

系 所 別:資訊工程系碩士班 學號姓名:M09502070 盧金榮 指導教授:陳建宏 博士

中 華 民 國 九十九 年 八 月

(2)

摘 要

在新一代的可重組式製造工廠中,由於製造設施具有高度的可重組性和可擴充 性,也因此造成廠房設施和自動搬運系統再規劃的必要性。由於自動搬運系統性能之 好壞將嚴重影響整個工廠之效能,本篇論文提出了一個以多目標基因演算法為基礎之 最佳化路徑規劃方法,期能同時考量最短距離、路線平滑性、路線平緩性和安全距離 等四個目標,規劃出適合可重組式製造工廠自動搬運系統機器人之路徑。此一方法首 先先針對廠房設施佈置自動建立一個避障路徑知識庫,然後在基因演算法中使用了特 別的基因運算子去取代傳統運算子,並結合了避障路徑知識庫來快速修正路徑,以期 達到快速避障和快速收斂的效果。由數項實驗結果顯示,本論文所提出之方法可以同 時考量四項目標函數搜尋出多種路徑規劃方案以提供給決策者和系統使用,而且其結 果並不遜色於傳統只考量最短距離規劃之方法。

關鍵字: 多目標、基因演算法、路徑規劃、避障。

(3)

ABSTRACT

In the new era’s manufacturing system designs, reconfigurable manufacturing systems have higher flexibility and expandability than traditional manufacturing systems. Therefore, facility locations and automatic material transportation system may need to be re-planning due to the changes of reconfigurable manufacturing systems. Since the yields of manufacturing systems are highly affected by the performance of automatic material transportation system, this thesis investigated mobile robot path planning problems in the environment of reconfigurable manufacturing systems and formulated it as a multi-objective path planning problem, which considers the path distance, path smoothness, path slope and safety distance. A hybrid approach consists of an obstacle avoidance knowledge base and a multi-objective genetic algorithm is proposed to solve the multi-objective path planning problem in this thesis. First, an obstacle avoidance knowledge base is established according to the layout of facility locations. Hereafter, a multi-objective genetic algorithm, which hybrids with three specialized crossover operators, deletion operators and a repair procedure based on the obstacle avoidance knowledge base, is applied to solve the investigated problem. The experimental results demonstrated that the proposed approach can obtain a set of high-quality solutions quickly compared to an existing approach which only optimized the shortest distance.

Keywords: multi-objective, genetic algorithm, path planning, obstacle avoidance.

(4)

致謝

在研究所的日子中,雖然是辛苦及漫長,但是學到了許多課業上以及作研究的知 識。當然幕後的推手要感謝的是陳建宏老師一路上不厭其煩的指導,也才能完成此篇 論文。感謝家人一路上精神以及物質上的支持與鼓勵,也才能使我能完成學業。感謝 實驗室同學、學長、以及學弟妹,無論是平常課業與研究的討論,或是閒暇時間的談 天說笑,才能使得煩悶的心情得以紓解。感謝口試委員陳穎平博士、于天立博士抽空 前來聆聽我的口試論文,並給予寶貴的意見。也感謝女友在我這段煩悶時間的陪伴。

最後,還有一些朋友們在課餘時間的陪伴,我才能有動力去完成此篇論文。得以 迎接人生的另一個階段,真的很謝謝大家。

盧金榮 謹誌於 中華大學資訊工程研究所 民國九十九年八月

(5)

目錄

摘 要... i

ABSTRACT ... ii

致謝... iii

目錄... iv

表目錄... vi

圖目錄... vii

第一章 緒論... 1

1.1 研究背景與動機... 1

1.2 研究目的... 2

1.3 研究方法... 2

1.4 論文架構... 4

第二章 多目標基因演算法... 5

2.1 基因演算法(Genetic Algorithms)介紹... 5

2.1.1 染色體的編碼方式... 6

2.1.2 適應函數... 7

2.1.3 基因演算法之流程... 7

2.2 多目標最佳化問題介紹... 11

2.2.1 多目標問題定義... 12

2.2.2 多目標適應函數... 13

2.2.3 多目標演化式演算法之流程... 14

第三章 路徑規畫問題... 16

3.1 環境的表示方法... 16

3.1.1 座標表示法的介紹... 17

3.1.2 格點表示法的介紹... 17

3.2 機器人路徑的表示方法... 17

3.2.1 由起點至終點一格一格移動... 18

3.2.2 格點的路徑行走法... 18

3.3 避障礙的方法... 19

3.3.1 計算路徑與障礙物是否有交點... 19

3.3.2 計算障礙物與路徑角度... 19

3.3.3 計算路徑起點到終點所經障礙物交點來避障... 20

3.4 可重組式製造工廠搬運機器人之路徑規劃問題... 21

3.4.1 工廠環境與規劃路徑的表示法... 22

3.4.2 符號說明... 22

3.4.3 路徑規劃問題的四個目標函式... 23

第四章 以混合式多目標基因演算法最佳化規劃可重組式製造工廠搬運機器人之路徑.... 25

(6)

4.1 染色體表示說明... 25

4.2 路徑避障知識庫... 26

4.2.1 障礙物計算... 27

4.2.2 避障路徑知識庫的產生... 28

4.3 適應函數表示... 29

4.4 以混合式多目標基因演算法最佳化規劃可重組式製造工廠搬運機器人之路徑... 30

4.4.1 混合式多目標基因演算法(A Hybrid Multi-objective Genetic Algorithm)流程圖30 4.4.2 混合式多目標基因演算法之流程... 31

第五章 實驗結果與分析... 40

5.1 實驗設計... 40

5.2 參數設定... 40

5.3 環境 HY1 的路徑規劃... 40

5.4 環境 HY2 的路徑規劃... 43

5.5 環境 HY3 的路徑規劃... 45

5.6 環境 HY4 的路徑規劃... 47

5.7 實驗結果與分析... 50

第六章 結論與未來展望... 53

6.1 結論... 53

6.2 未來展望... 53

參考文獻... 54

(7)

表目錄

表 2.1 染色體編碼方式說明 ... 7

表 5.1 環境 HY1 的路徑規劃比較 ... 41

表 5.2 環境 HY2 的路徑規劃比較 ... 43

表 5.3 環境 HY3 的路徑規劃比較 ... 46

表 5.4 環境 HY4 的路徑規劃比較 ... 48

(8)

圖目錄

圖 1.1 研究方法流程圖 ………4

圖 2.1 基因演算法流程圖 ………9

圖 2.2 交配方式:(a)單點交配,(b)兩點式交配,(c)多點式交配 ………10

圖 2.3 突變方式:(a) 二進位型態突變 (b) 實數型態突變 ………...…11

圖 2.4 多目標演化式演算法流程圖 ………..15

圖 3.1 座標表示法 ………..17

圖 3.2 格點表示法 ………..17

圖 3.3 八個可行近的方向圖 ………..18

圖 3.4 格點的路徑行走圖形 ………..18

圖 3.5 計算障礙物與路徑的角度示意圖 ………..19

圖 3.6 計算障礙物與路徑的角度示意圖 ………..20

圖 3.7 計算路徑起點到終點所經障礙物交點之避障示意圖 ………..21

圖 4.1 固定長度染色體 ………..26

圖 4.2 不固定長度染色體 ………..26

圖 4.3 兩線段不相交 ………..27

圖 4.4 兩線段相交 ………..27

圖 4.5 線段與面不相交………..28

圖 4.6 線段與面相交 ………..28

圖 4.7 膨脹障礙物的安全距離………..28

圖 4.8 儲存安全距離的邊 ………..28

圖 4.9 多目標基因演算法流程圖 ………..30

圖 4.10 相同點單點交配法 ………32

圖 4.11 相同邊單點交配法 ………33

圖 4.12 相近點單點交配法 ………34

圖 4.13 隨機單點實數型突變 ………34

圖 4.14 隨機單點實數型突變圖 ………34

圖 4.15 點的修補 ………35

圖 4.16 點的修補圖 ………36

圖 4.17 線的修補圖 ………37

圖 4.18 出現迴路點的刪除 ………38

圖 4.19 多於中繼點的刪除 ………38

圖 4.20 多於中繼點的刪除圖 ………39

圖 5.1 環境 HY1 在參考文獻[10]的最點路徑 ………..41

圖 5.2 環境 HY1 的最短路徑圖……….42

圖 5.3 環境 HY1 的最大 smooth(p)值路徑圖 ………...42

(9)

圖 5.4 環境 HY1 的最小 smooth2(p)值路徑圖 ……….42

圖 5.5 環境 HY1 的最大 clear(p)值路徑圖 ………...43

圖 5.6 環境 HY2 在參考文獻[10]的最點路徑 ………..44

圖 5.7 環境 HY2 的最短路徑圖……….44

圖 5.8 環境 HY2 的最大 smooth(p)值路徑圖 ………...44

圖 5.9 環境 HY2 的最小 smooth2(p)值路徑圖 ……….45

圖 5.10 環境 HY2 的最大 clear(p)值路徑圖 ……….45

圖 5.11 環境 HY3 在參考文獻[10]的最點路徑 ………46

圖 5.12 環境 HY3 的最短路徑圖………...46

圖 5.13 環境 HY3 的最大 smooth(p)值路徑圖 ……….47

圖 5.14 環境 HY3 的最小 smooth2(p)值路徑圖 ………...47

圖 5.15 環境 HY3 的最大 clear(p)值路徑圖 ……….47

圖 5.16 環境 HY4 在參考文獻[10]的最點路徑 ………48

圖 5.17 環境 HY4 的最短路徑圖………...49

圖 5.18 環境 HY4 的最大 smooth(p)值路徑圖 ……….49

圖 5.19 環境 HY4 的最小 smooth2(p)值路徑圖 ………...49

圖 5.20 環境 HY4 的最大 clear(p)值路徑圖 ……….50

圖 5.21 HY1 四個目標值的盒鬚圖……….50

圖 5.22 HY2 四個目標值的盒鬚圖……….51

圖 5.23 HY3 四個目標值的盒鬚圖……….51

圖 5.24 HY4 四個目標值的盒鬚圖……….51

圖 5.25 四種地圖收斂情形的盒鬚圖 ………52

(10)

第一章 緒論

1.1 研究背景與動機

開車上路如何從起點到達目的地,一直都是駕駛相當想了解的一件事。而這件日 常生活常發生事可延伸探討的議題,可應用的層面亦是非常的廣泛。其原理基本上來 說,是起點到終點尋求一個較快速且穩定的道路,該怎麼走會較快速且方便。走哪條 路比較不會一下上坡一下下坡,一下上山一下下山等等類似的情況。甚至該怎麼走,

才不會走到一條不通的道路,或者是總在一個地區不停的打轉,如果有一套簡單有效 率的方法來計算及預測,豈不是能夠使人們更加的方便且亦可避開較危險的道路來行 走,這個課題就相當值得我們來探討。

在日常生活中,從人為的方面來探討,就如同我們開車一般,到底是該走平面道 路還是高速公路,可以既省時又方便的到達我們所要到達的目的呢? 又怎麼走才會是 較近的道路,而不到繞遠路呢?現在有許多類似這種路況導航的系統,陸陸續續的被 開發出來,例如我們可以在網路上 Google map 一下,事先查詢我們所需經過的路線,

而在哪一個點必須往哪一個方向行駛,對於那種路況不熟悉的駕駛人,無非是一種天 大的福音。而另一個相當好用的網站,雅虎奇摩地圖亦是一個相當方便的網路平台,

可提供駕駛人較方便的去找尋較理想中的路線。

而從運用科技的方面來說,現今駕駛人,最常使用的導航系統,最常聽到的無非 就是GPS 衛星導航系統,但是其效能往往沒預期的好,舉例來說,例如我要從甲地 到乙地,他所導航出來的路線就未必是最佳的路線。甚至,明明就要上高架橋,但是 導航系統卻導引一直在橋下繞圈圈,所以,此類的系統現在的路徑規劃還未趨穩定,

所以路徑規劃的問題,在現今能是一門相當值得研究的課題。

而在本研究中,如何在可重組式製造工廠的整體產能評估,自動搬運系統中搬運 機器人的路徑規劃是一項非常重要的研究主題。因為工件在搬運系統內所需的運輸時 間可能會高於製造系統的產品生產時間。因此如何在佈滿重要設施的工廠環境之中,

(11)

事先規劃出合理的路徑給搬運機器人從起點行進到終點是一件重要的生產準備工作。

在實際的情況下,根據不同工廠的性質,機器人運輸路徑的最佳化通常會考量一 些特定的成本目標函數,例如最短路徑、路徑平滑平緩度、路徑與設備之路徑搜尋花 費的最短時間、環境的設計…等等。本論文考量在新一代的可重組式製造工廠中,因 為製造設施具有高度的可重組性和可擴充性,所以自動搬運系統之路徑規劃必須具有 一定的彈性以容忍設施之變動,並且其路徑必須足夠平滑平緩且與設施保持一定的安 全距離。因此,本論文將這些系統考量設計成四種不同的目標函式:最短距離、路線 平滑性、路線平緩性和安全距離,以匹配可重組式製造工廠內自動搬運系統路徑規劃 之需求。

1.2 研究目的

行動機器人路徑規劃的問題,傳統的研究中,大部分是考慮起點到終點的最短路

徑距離。近年來,漸漸有人去討論,其路徑偏移的角度以及距離障礙物的距離。而在 本研究中,更增加去探討其另一個條件,亦即最少偏移角度的變異數。使其探討的條 件更具完整性。

而在傳統中利用最佳化的方式求解路徑規劃的問題上,大多是將多項目標轉換成 一單一目標,再以單目標最佳化的方式來進行求解,而較常見的方式有權重法 (Weighting)。決策者須以各目標之重要性而給予適當的權重值,然後進行求解。但是 缺點是,其結果可能因決策者所給予權重值的個人偏好,而導致其求出之解過於具主 觀意識,而有所瑕疵。本文所著重的目標是利用多目標最佳化演算法的特性以及優點 來解決行動機器人路徑規劃的問題,以利決策者能找出其最適合的方案。

1.3 研究方法

對於本研究欲探討利用多目標演化式演算法來求解機器人路徑規劃的問題,以下 列步驟程序進行:

(12)

一、 問題定義

針對本研究之研究背景與動機,選定其研究目標與主題,並利用多目標演化式進 行演化計算。

二、 相關文獻回顧

回顧其相關文獻,主要是針對一般移動機器人路徑規劃的介紹與探討和一些相關 研究的方法。

三、 問題模式建立

針對本研究探討的可重組式製造工廠搬運機器人之路徑規劃進行數學模式的建 構。

四、 撰寫程式

本研究利用 C 語言進行多目標基因演算法之程式撰寫,以求取最佳解或近似解。

五、 結果分析

利用不同的實驗地形進行測試,並探討其路徑規劃的結果及分析其產生的路徑的 各個目標值。

六、 結論

最後將針對本研究的結果進行最後的總結,並對機器人路徑規劃及其演算法提供 部分意見及想法。

其研究方法流程圖如圖 1.1 所示:

(13)

圖 1.1 研究方法流程圖

1.4 論文架構

本研究總共分為六個章節,分別為緒論、文獻回顧、研究方法、實驗分析以及結 論等章節。第一章緒論部份主要是介紹整個研究背景、研究動機以及研究目的與流 程。第二章的部份為國內外相關於移動機器人路徑規劃的研究探討以及回顧,並對各 學者所使用的方式做簡單分析與說明。第三章為研究方法的論述,並說明最佳化演算 法的演化過程以及使用方式。第四章為說明本研究的模式建立,並說明如何應用最佳 化演算法運用於規劃可重組式製造工廠搬運機器人之路徑的問題上。第五章為實驗結 果與分析,說明整個實驗的數據資料與實驗結果。第六章為本研究之結論,並說明未 來可行改善的研究方向。

問題定義

結論 相關文獻回顧

問題模式建立

撰寫程式

結果分析

(14)

第二章 多目標基因演算法

最初由 John Holland 於 1975 年首先發表的基因演算法(Genetic Algorithms,簡 稱 GAs),又被稱之為遺傳演算法或是基因遺傳演算法。主要是基於模擬自然界之間 的演化過程,並透過這樣的演化過程建立一種最佳化的搜索機制。現今的基因演算其 大多應用於解決最佳化的問題上,而經多年的發展與改良,基因演算法已被證實為有 效解決最佳化問題的方法之ㄧ。

2.1 基因演算法(Genetic Algorithms)介紹

John Holland 於 1975 年提倡達爾文進化論中所提的「物競天擇,適者生存,不 適者淘汰。」的理論,來仿效自然界的演化法則,物種在惡劣或不斷改變的環境下,

為了生存,會自然而然的進行演化的過程。因而能存活下來的,就代表其適應力強,

具較好的基因,而不適合的,就會漸漸地遭受淘汰的命運。因此,物種將會依照環境 的狀況,一代一代的繁衍下去,一代比一代更適合其居住的環境,而基因演算法,就 是基於這樣的方式來進行演化的過程。現今,基因演算法已被廣泛的應用在許多不同 的領域,例如:機器人行進路線、旅行銷售員問題(Traveling Salesman Problem, TSP)、以 及一些最佳化的問題等等。

在基因演算法中,是由一群個體(Individual)或染色體(Chromosome)所組成的,我 們稱之為族群(Population)。而每一個染色體的基因在開始演化之前都是由亂數所產生 的,而族群大小可依照問題的複雜度而自行訂定。依照其設定的目標函式(Objective function)或是適應函數(Fitness function)計算出每個個體的適應程度(Fitness value),而 較高適應值的個體能有較高的機率生存至下一代,而較低適應值的個體就有較高的機 率遭到淘汰。

而基因演算法中,不可或缺的三個步驟,分別是選擇(Selection)、交換(Crossover) 及突變(Mutation)。選擇的機制是選出擁有較高適應值的染色體。交換的機制則是使

(15)

一對染色體有一定的機率在所設定的位置上做交換基因的動作。而突變的機制則是使 染色體能跳脫區域最佳解(Local optimum),進而找到較佳的解答。在下面的內容,我 們會做更詳細的說明。

2.1.1 染色體的編碼方式

基因演算法染色體(Chromosome)的編碼方式大致可分為幾種類型,分別是二進位 型態(Binary)編碼、整數型態(Integer)編碼、實數型態(Real value)編碼、文字型態編碼 以及符號型態編碼等形態,其中又以二進位型態編碼、整數型態編碼以及實數型態編 碼最為常見。以下我們將說明這三種常見的編碼類型。

1. 二進位型態編碼

二進位型態的編碼方式,其編碼型態只使用 0 與 1 這兩種符號來進行編碼,

只需要將其排列出來的基因加以定義清楚即可。要達成這樣的定義並不困難,將 整數或是浮點數轉成二進位表示法或是將其位元拿來代表某種意義也是相當的 容易,所以二進位型態的編碼方式是最常被拿來使用的。

2. 整數型態與實數型態編碼

在大自然中,有許多問題大多是以整數或是實數型態來表示其中的參數,

所以我們可以直接使用整數或是實數型態的編碼來進行運算,不需要再進行形 態轉換的這個步驟,不但可以省去編碼的運算時間,也可以提高系統運算的精 準度。

我們可以發現基因演算法在編碼或是解碼的時候,會耗費許多的時間,尤其是當 問題複雜度過高或是參數過多的時候。不過,不論是解決何種型態的最佳化問題,都 必須選出最適當的編碼方式來進行編碼,這樣才可以計算出較精準的最佳解,而不至 於求解出不合理的解答。

(16)

二進位型態 0000(0) 0001(1) 0011(3) 0111(7)

整數型態 0 1 3 7

實數型態 0 -4.8 1/7 π

表 2.1 染色體編碼方式說明

2.1.2 適應函數

適應函數是用來評估每個個體(Individual)對於問題的適應程度來做為依據,所以 在使用基因演算法解決問題之前,都必須針對問題的特性以及要求來設計其符合的適 應函數(Fitness function)。例如,求取 f(x)的最大值,則適應函數可以定義為:

=

= n

i

xi

x f

1

)2

1 ( )

( ,每個個體經由適應函數所計算出的值越高,就表示該個體的適應

能力程度越高,生存下來的機率也就越大,相對地也越容易將其基因延續到下一代。

2.1.3 基因演算法之流程

基因演算法基本主要是依靠選擇(Selection)、交配(Crossover)、與突變(Mutation) 三個運算單元來模擬自然界的演化過程,進而快速有效的找出有用的資訊,而這有用 的資訊,就是我們所想要求得最佳化過程所產生之解答。

首先,在算法一開始的時候必須先產生出一組群體(Population)的染色體,而每一 條染色體的產生方式基本上是由亂數產生,然後依據問題所設計的適應函數(Fitness function)進行評估每條染色體的適應程度(Fitness value),接著進行上述的選擇、交配、

突變三個基本的運算單元進行運算,來進行演化的過程,直到滿足終止的條件為止。

如此的演化過程,族群中就有較高的機率出現適應程度較高的染色體,就可能會是我 們所需要的解答。不過,基因演算法並不能保證找到的解答一定是真正的最佳解,但 一定會找到近似最佳解的解,以達成解決問題的目的。圖 2.1 為基因演算法流程圖。

(17)

1. 選擇

在基因演算法中,選擇就好比是扮演天擇的這個角色,是根據每一條染色體的適 應程度,來判別出該染色體被選重的機率,所以適應程度較低的染色體將有較大的機 率遭到淘汰,因此下一代的群體有較高的機率提高其適應程度。而在選擇的機制中,

常見的有隨機選擇法(Random selection)、輪盤式選擇法(Roulette wheel selection),二 元競爭式選擇法(Binary tournament selection)三種。隨機選擇法是以隨機挑選的方式做 為選擇的方法,所以每一條染色體被挑選到的機率會是一樣的。而輪盤式選擇法則是 先計算出每條染色體的適應值,然後依據每條染色體在整個群體中,所佔有的適應值 百分比的比率,做為被選擇到的機率。因此,適應值越高的染色體,被挑選到的機率 也會越高,此種選擇法也是被拿來廣泛使用的一種選擇的機制。而最後一種要介紹 的,則是競爭式選擇法。其方法是先由群體中,隨機挑選出數個染色體來進行競爭的 動作,將其適應度較高的染色體挑選出來,如此重複地直到挑選的染色體與群體的數 目相同為止。

2. 交配

交配是隨機挑選兩條母代的染色體進行交配,彼此互換部分的基因,進而產生兩 條新的染色體,其目的是希望能夠繼承上一代優秀的基因,進而繁衍出更優秀的染色 體。但是也並不是所有的染色體都需要進行交配,而是先設定一個交配率(Probability of crossover)作為門檻值,由此機率來決定是否要進行交配。而最常見的交配機制為 單點交配(One-point crossover)、兩點式交配(Two-point crossover)、以及多點式交配 (Multi-point crossover)。

(1) 單點交配:

單點交配是從長度為 N 的染色體中,選擇一點當作切點,然後將其右側字串進 行互換的動作。如圖 2.2 (a)。

(2) 兩點式交配:

兩點式交配是從長度為 N 的染色體中,隨機選取兩點當交配點,並交換此兩點

(18)

當中字串的所有字元的動作。如圖 2.2 (b)。

(3) 多點式交配:

多點式交配是從長度為 N 的染色體中,選取多段位置作為交換的區塊,並交換 區塊內所有字元的動作。如圖 2.2 (c)。

圖 2.1 基因演算法流程圖 設計適應函數

決定編碼方式

隨機產生初始群體 代數G=0

評估個體適應程度

選擇

交配

突變

是否滿足終止條件

結束 開始

取代 G=G+1

是 否

(19)

圖 2.2 交配方式:(a)單點交配,(b)兩點式交配,(c)多點式交配

3. 突變

在自然界中,物種會經過演化過程繁衍出新的物種,而這種與上述交配過程不同 的是其產生的過程,並不是依靠兩個母代的染色體交換產生,而是自行產生適應環境 差異性的變化,這個過程我們稱之為突變。因此,利用突變的過程可以使原有的染色 體,有一定的機率產生新的特性,亦可避免演化的結果侷限在某一個特定的區塊上 面,進而增加演化的速度。而突變也跟交配一樣,需設一個門檻值,也就是突變率 (Probability of mutation),來決定是否要進行突變的動作。一般來說,突變機率並不會 設的太大,因為太大的突變率,會造成搜尋過程中變動過大,而產生亂走(Random walk) 的現象發生。而最常見的突變機制為二進位型態突變與實數型態突變。

(1) 二進位型態突變:

二進位型態的突變,就是將染色體中的位元,由 1 轉變為 0,由 0 轉變為 1 的 過程。如圖 2.3(a)。

(2) 實數型態突變:

母代 子代 A=0101|01 A’=010111 B=1010|11 B’=101001

(a) 單點交配(One-point) 母代 子代 A=01|01|01 A’=011001 B=10|10|11 B’=100111

(b) 兩點式交配(Two-point) 母代 子代 A=|0|10|1|0|1| A’=110001 B=|1|01|0|1|1| B’=001111 (c) 多點式交配(Multi-point)

(20)

實數型態的突變,則是將染色體中實數的位元,用亂數選取另一個實數來替 代。如圖 2.3(b)。

圖 2.3 突變方式:(a) 二進位型態突變 (b) 實數型態突變

2.2 多目標最佳化問題介紹

隨著時代的進步,資訊及科技的發展,我們不難在現實的生活中,發現許多需要 依靠著最佳化理論來解決一些生活上很實用的問題。但是也許這些問題是非常困難及 複雜的。所以,相較之下,單單依靠單目標最佳化問題去求解單目標最佳解是不夠的,

因為情況往往是隨著多個條件的改變,而使的整體的狀況也跟著改變。所以能滿足多 個因素的研究方向,是一個值得拿來探討的方向,而多目標(Multi-objective)的問題就 在此被拿來討論及探討。而所謂的多目標,顧名思義就是沒辦法只使用一個目標函式 (Objective function),來表達問題及滿足問題的需求。所以,在多目標最佳化的問題 中,往往需要最佳化多個目標的目標函式,但是每一個目標也許會相互競爭、相互影 響 , 甚 至 相 互 衝 突 , 此 種 的 最 佳 化 問 題 , 就 是 我 們 所 謂 的 多 目 標 最 佳 化 問 題 (Multi-objective optimization problems,MOOPs)。

近年來,多目標演算法已被證實能夠有效地搜尋出多個目標解,也被廣泛的使用 在許多最佳化的問題上。多目標最佳化的問題,通常是最大化(Maximization)或是最 小化(Minimization)其不相同目標的目標函式。然而,在多目標最佳化的問題中,最佳 解通常不會只有一個,通常為滿足決策者所定義多個目標的解集合(Solution set)。然

突變點 突變點 A = 0 1 0 1 0 1 A’ =0 1 0 1 1 1

(a) 二進位型態突變

突變點 突變點 A = 2 1 5 6 3 8 A’ =2 1 5 4 3 8

(b) 實數型態突變

(21)

而在這組最佳解中,每一個的解,都不輸給其他的解,而這組解集合,我們稱之為 Pareto 最佳解集合(Set of Pareto-optimal Solution),又稱為非劣解(Non-dominated Solutions)。

2.2.1 多目標問題定義

一個多目標最佳化的問題,顧名思義就是包含了不只一個的目標函式。而其所求 出之解集合,通常不保證能使每一個目標函式,都達到最佳的解答。因為有些目標函 式,它們之間有可能是互相牽制或是有所衝突的。舉一個日常生活中,簡單的例子來 說好了,假設我們要組一台電腦,就站在我們消費者的立場而言,當然是功能越強大、

價格越便宜的,能夠吸引我們的目光。但是,往往功能強大的,其價格往往比較昂貴,

而價格便宜的,其功能性往往就比價格貴的來的差一些。這個就是所謂的牽制及衝突 了。所以,不可能每一個目標,都能達到最佳化的解果,所以必定會存在二組或是多 組的最佳解。這幾組解答,通常會有一個目標值勝過對方,但或許再另一個目標值就 輸給對方,所以每一個解答都擁有著不輸給其他解答的特性,這一組的解答,我們稱 之為 Pareto 最佳解集合 (Set of Pareto-optimal Solutions) 。

一般而言,多目標最佳化的問題,通常是將多個目標最大化或最小化的過程,可 能問題希望第一個目標達到最大化的動作,而第二個目標也許就是希望達到最小化的 動作。然而,對於每一個目標而言,都可以用一個目標函式來表示,並且每個目標函 式,可能會擁有許多的目標參數,其定義如(2-1)式所示:

X x x x x T S

X f X f X f X f X F Minimize Maximize

m

n

=

) ,...

, , .(

.

)}.

( ),..., ( ), ( ), ( { ) ( /

3 2 1

3 2

1 (2-1)

其中 X 稱之為決策向量 F(X) 目標向量。

由上面的內容中提到,在多目標最佳化的問題中,不會只存在單一的解答,而會 是一組解集合,而那組解集合中,每一個解答都會是一樣的好,就是我們上述內容中 的 Pareto 最佳解集合,從 Pareto 的理論中,我們假設有 n 個望大(Maximization)的目

(22)

標,而其中X1X2扮演兩個決策的向量,其表示式如下:

i: fi

( )

X1fi

( )

X2 ∧∃j: fj

( )

X1fj

( )

X2 (2-2) 稱之 X1 支配 (Dominate) X2(X1f X2)。另一種情況為:

i: fi

( )

X1fi

( )

X2 (2-3) 則稱之為 X1 弱支配 (Weakly dominate) X2 (X1fX2)。

2.2.2 多目標適應函數

在單目標最佳化的問題中,所追求的是單一目標的最佳化,所以大多是直接使用 目標函式當作適應函數(Fitness function),以評估染色體的好與壞。而在多目標最佳化 的問題中,由於必須同時滿足多個目標函式的最佳化,所以無法像單目標最佳化問題 一樣,直接使用目標函式來當作適應函數。而傳統上,多目標最佳化適應函數的機制,

大致可分為 Pareto-based 的方式以及 Non-Pareto 的方式兩種,其說明如下:

1. Pareto-based 的方式:

這是一種利用 Pareto 最佳化的概念,創造出能處理多目標最佳化的評估機 制。Horn、Nafpliotis 以及 Goldberg[11]在 1994 年提出 NPGA(Niched Pareto Genetic Algorithm) , 作 者 是 藉 以 Pareto 支 配 的 概 念 並 結 合 競 爭 式 選 擇 (Tournament Selection)的方法,但是其缺點是此方法的選擇法及集合的數量,較 容 易 影 響 演 算 法 的 效 能 。 在 同 年 間 ,Srinivas 以 及 Deb[30]提 出 NSGA(Non-dominated Sorting Genetic Algorithm),其方法是以 Goldberg[7]所提 出的 Pareto 排名法(Pareto Ranking)的觀念為基礎,並且結合了適應值分享的理 論(Fitness Sharing)。但是其缺點是,很多適應值可能都會相同,因而會影響演算 法 演 化 收 斂 的 速 度 。Zitler[38]在 1999 年 提 出 了 SPEA(Strength Pareto Evolutionary Algorithm),是利用多目標背包問題以及六個測試函式做實驗,其 效能皆勝過 NPGA、NSGA 等其他六個多目標基因演算法。

(23)

2. Non-Pareto 的方式:

Non-Pareto 是以一種特別的評估方式 , 來處理多目標最佳化的方法 。 Schaffer[21]於 1984 年提出 VEGA(Vector Evaluated Genetic Algorithm),其方法 是分別對每個目標函式去做評估,這樣的方式不但簡單且容易了解,但是其缺 點是結果往往會傾向於某一個目標函式。 Hajela 以及 Lin[12] 於 1992 提出 HLGA( Hajela’s and Lin’s Genetic Algorithm),其方法是將所有的目標函式以權重 (Weighted-Sum)的方式來轉換成單一個目標來實行最佳化,但是其缺點是往往權 重的分配容易受到人為主觀的意識,而導致最佳化的結果有所偏差。

2.2.3 多目標演化式演算法之流程

近年來,多目標演化式演算法(Multi-objective evolutionary algorithm, MOEA)已經 被認定為一個非常適合解決多目標最佳化(Multi-objective Optimization)問題的演算 法 , 因 為 多 目 標 演 化 式 演 算 法 有 著 能 夠 在 合 理 的 空 間 中 依 次 搜 尋 多 個 非 劣 解 (Non-dominated Solutions)集合的特性,所以能夠正確快速地找到我們所需要的解答。

如圖2.4 為多目標演化式演算法的流程圖。

(24)

圖 2.4 多目標演化式演算法流程圖 隨機產生初始群體

代數G=0

計算各目標函式值

評估個體適應函數

進行演化的過程

<選擇、交配、突變>

是否滿足終止條件

結束 開始

取代 G=G+1

(25)

第三章 路徑規畫問題

在現今的環境中,我們常常遇到許多關於路徑規劃(Path planning)的問題。而機 器人路徑規劃則為環境演算法中[1]一個相當值得拿來探討的問題。不同的環境,通 常會適合應用在不同的演算法上。近年來,陸續有相當多的學者對於行動機器人路徑 規劃的研究做過不同的探討,例如旅行家問題[22][23][29]即為最著名之路徑最佳化問 題。但是如果將旅行家問題延伸應用在機器人路徑規劃問題上,只尋求最短合理路徑 的解答對於可重組式製造工廠路徑規劃的要求來說卻是不足的。而依照其實現方法,

則可分為固定長度二元字串表示法 (Fix-length binary strings)[28] 以及可變長度二元 字串表示法 (Variable-length binary strings)[32]。依照其表示方法,則可分為以座標的 方式表示[16]以及以格點(Girds)[36][37]的方式表示。依照機器人的行走方法又可分為 由起點至終點一格一格移動[9][14]以及格點結合座標的圖形表示方法[10]。依照避障 礙的方法,可分為平面掃描演算法(PSA)加上轉角工作演算法(CWA)[24] 以及計算路 徑與障礙物是否有交點與計算障礙物與路徑的角度[6]…等方法。近年來,路徑規劃 的 問 題 , 已 被 拿 來 應 用 於 許 多 不 同 的 演 算 法 上 , 例 如: 基 因 演 算 法 (Genetic algorithm)[2][21][33]、類神經網路(Neural network)[8][19][26][27],模糊理論的邏輯 (Fuzzy logic) [4][20][35],以及一些常見的演算法上。

3.1 環境的表示方法

機器人環境的表示方法,大致上以座標表示法以及格點表示法,這兩種最為常 見。座標表示法,一開始就得紀錄點的座標值,而格點表示法,雖然一開始只需記錄 格點的數字,但進行運算時仍須轉換成座標值來計算,各有其優缺點。以下,我們將 比較兩種表示方式的方法。

(26)

3.1.1 座標表示法的介紹

座標表示法,就是一開始就記錄座標點,運算或計算全都以座標的方式表示,比 起格點表示法,少了一段轉換的過程,但或許計算會比較複雜一些。如圖3.1 所示。

圖 3.1 座標表示法

3.1.2 格點表示法的介紹

比起座標表示法,需要多一道座標轉換的工作,但在一些計算或變化的過程中,

也許會比較簡單,也是一個常見的表示法。如圖3.2 所示。

圖 3.2 格點表示法

3.2 機器人路徑的表示方法

機器人路徑規劃中,其行走的方法,大致可以分為兩種,一種是由起點至終點一 格一格移動,而另外一種則是格點結合座標的圖形表示方法,在下面的章節,會一一

(27)

介紹其特性。

3.2.1 由起點至終點一格一格移動

這種方法是機器人由起點開始,其行進可分為八個方向,一次移動一個單位,如 圖 3.3,而其機率則依其地圖呈現以及作者喜好而定。此種方式,機器人必定不會落 在環境所設定的障礙物上,但可能必須花費較多的搜尋時間,來完成此搜尋,而如果 環境較大或是較複雜,則會變的沒有效率[9]。

圖 3.3 八個可行近的方向圖

3.2.2 格點的路徑行走法

Hu 以及 Yang 提出一個簡單又有效率的方式,使用格點的圖形表示方法。他們 提出以整數基因的表示法,去取代以座標為主的浮點數的表示法,以代表機器人行進 的路徑,如圖 3.4。在這種設計之下,機器人的移動並不受到改變和限制,但是卻能 以較簡單的方式來表示染色體的結構以及進行基因演算法的運算過程。

圖 3.4 格點的路徑行走圖形

1 2

3

4 5

6 7 8

(28)

3.3 避障礙的方法

在規劃路徑遇到障礙物的情況之下,傳統上的解決方法是計算路徑與障礙物是否 有交點。近年來則是有計算障礙物與路徑角度來產生一段合理的有效路徑來避開障礙 物以及計算路徑起點到終點所經障礙物交點來避障。以下,我們會分別介紹這三種的 避障方法。

3.3.1 計算路徑與障礙物是否有交點

一般來說,在規劃路徑遇到障礙物的情況之下,傳統上的解決方法是計算路徑與 障礙物是否有交點。如果發現存在交點,則表示規劃的路徑會遇到障礙物,反之,則 不會遇到障礙物。如果有遇到障礙物,傳統的解決方式則是隨機選擇環境上的其中一 個點來當作新的路徑點,以期達到能夠避開障礙物。

3.3.2 計算障礙物與路徑角度

Guo 以及 Yang[6] 於 2008 年提出一個避障礙物的策略,他們是以計算障礙物與 路徑的角度來產生一段合理的有效路徑來避開障礙物。以圖 3.5 為例,點Oi,j 到點

1 ,j+

Oi ,會經過斜線所代表的障礙物區域,計算障礙物端點以及路徑與x 軸的夾角,

如果點Oi,j 到點Oi,j+1 與 x 軸的夾角均小於θk ,jU 以及θk ,jL或是均大於θk ,jU 以及

L j

θk , ,則代表不會經過障礙物,反之,則會經過障礙物。

圖 3.5 計算障礙物與路徑的角度示意圖

L j

θ

k ,

1 ,j+

Oi

y

x

j

Oi,

U j

θ

k , αj,j+1i ci,jk

k j

ci,

(29)

若是判斷有經過障礙物,則會隨機的方式選擇一個點,當作為一個插入點,直到 被判斷為一條合理的路徑為止。以圖3.6 為例,亦是用角度來判斷,α j ,ri皆大於θk ,jU 以及θk ,jL,因此rj,j+1 就為被判斷為一個合理插入的點,所以,路徑就會由不合理的

j

Oi, ÆOi,j+1路徑變為合理的Oi,jÆrj,j+1ÆOi,j+1路徑,則完成避障的動作。

圖 3.6 計算障礙物與路徑的角度示意圖

3.3.3 計算路徑起點到終點所經障礙物交點來避障

這個避障的方法,是先確定起點以及終點所在的座標位置。先記錄其x 軸座標以 及y 軸座標,分別以 xi,yi表示。固定xi的值,將垂直於xi的yi當作染色體的值,下 去做基因演算法的運算,最後將會求出其最佳解的值[5]。如圖3.6 所示,從起點 Start 到終點Goal 會經過兩個障礙,會先尋求能避過第一個障礙,在 Start 到終點 Goal 的 線段上隨機選擇在第一個障礙之前的一個x 座標點 x1,並求出垂直於 x1且最小能避 開障礙物距離的點 y1,然後再繼續由座標點(x1,y1),當一個開始的點,繼續去判斷 是否能避開第二個障礙,依此類推,便能求出起點到終點的一段合理的路徑規畫。

j

Oi,

1 ,j+

Oi

x y

U j

θ

k ,

L j

θ

k , i

r

α

j , 1 ,j+

rj

(30)

圖 3.7 計算路徑起點到終點所經障礙物交點之避障示意圖

3.4 可重組式製造工廠搬運機器人之路徑規劃問題

在可重組式製造工廠的整體產能評估中,因為工件在搬運系統內所需的運輸時間 可能會高於製造系統的產品生產時間。因此如何在佈滿重要設施的工廠環境之中,事 先規劃出合理的路徑給搬運機器人從起點行進到終點是一件重要的生產準備工作。本 篇論文提出了一個以多目標基因演算法為基礎之最佳化路徑規劃方法,期能同時考量 最短距離、路線平滑性、路線平緩性和安全距離等四個目標,規劃出適合可重組式製 造工廠自動搬運系統機器人之路徑。此一方法首先針對廠房設施佈置自動建立一個避 障路徑知識庫,然後在基因演算法中使用了特別的基因運算子去取代傳統運算子,並 結合了避障路徑知識庫來快速修正路徑,以期達到快速避障和快速收斂的效果。由數 項實驗結果顯示,本論文所提出之方法可以同時考量四項目標函數搜尋出多種路徑規 劃方案以提供給決策者和系統使用,而且其結果並不遜色於傳統只考量最短距離規劃 之方法。

而可重組式製造工廠的環境,我們將設定一個起始點,以及一個終點。從起點到 終點,我們就稱之為一段路徑。而一開始,所有的路徑皆為亂數產生。我們使用格點 結合座標的圖形表示方法,它是一個簡單又有效率的方式。並以整數基因的表示法,

去取代以座標為主的浮點數的表示法,以代表機器人行進的路徑,如圖3.4 所示。在

Start

Goal

X

Y x

o’

x1

y1

xi

yi

yn

xn

O

(31)

這種設計之下,機器人的移動並不受到改變和限制,但是卻能以較簡單的方式來表示 染色體的結構以及進行基因演算法的運算過程。

另外在此問題中,我們將對可重組式製造工廠環境的設定加以限制並定義如下:

1. 路徑點與路徑點的距離計算,使用歐幾里得距離公式來計算。

2. 所有的路徑,以能避開障礙物的這個方向,為最高的指導原則。

3. 路徑的結果與知識庫的建立過程息息相關,而知識庫就是避開障礙物的方法。

3.4.1 工廠環境與規劃路徑的表示法

行動機器人的路徑規劃問題,其目的是在有設施障礙的環境之下,去找到一條從 起點到終點的合理路徑。因此本論文中假設工廠環境為格點環境。舉例來說,圖 3.4 展示了一個 10 x 10 的格點環境。點與點所形成的線段,就形成一條路徑。所以,從 起點到終點,這些路俓的點,便可編譯成一串格點的整數。以圖3.4 的例子來說,路 徑的字串可以編譯為(0,36,66,74,84,99)。

3.4.2 符號說明

為了清楚的將重組式製造工廠環境問題模式化,並對下列之符號予以說明並定 義:

●i:i ∈{1,2,3,…,n}。

mi:搬運機器人所在的位置索引編號。

d(mi, mi+1):搬運機器人所在的第i個位置與第i+1個位置的距離。

d(mi-1, mi):搬運機器人所在的第i-1個位置與第i個位置的距離。

θi:是代表mi點與mi+1點所形成線段與mi+1點與mi+2點所形成線段,所形成的夾

角。而且θi

[ ]

0,π 。

ob:重組式製造工廠環境障礙物所在的位置索引編號。

ci:是代表障礙物到所有偵測目標點的距離。

(32)

3.4.3 路徑規劃問題的四個目標函式

本篇論文中所探討的問題是機器人搬運工件的路徑規劃。自動搬運系統之路徑規 劃必須具有一定的彈性以容忍設施之變動,並且其路徑必須足夠平滑平緩且與設施保 持一定的安全距離。因此,本論文將這些系統考量設計成四種不同的目標函式:最短 距離、路線平滑性、路線平緩性和安全距離,以匹配可重組式製造工廠內自動搬運系 統路徑規劃之需求。

本篇論文的問題中,我們假設路徑P 中存在 N 個節點(m1,…,mN)。四種不同的目 標函式分別可以用下列的數學方程式定義如下:

1. 最短距離:

Dist(p)所代表的是機器人行進路徑的總長,使其最小化,其數學方程[3] [5][10]

[18] [21] [34]:

( )=

n=11 ( , +1)

i d mi mi

p

dist (3-1)

2. 路線平滑性:

Smooth(p) 所代表的是機器人行進路徑的平滑性,使其最大化,其數學方程式如 下[21][34]:

)}

, ( ), , ( ) min{

(

1

1 +

=

i i i i

i

i d m m d m m

m

s θ

(3-2)

smooth(p)=maxni=21s(mi) (3-3)

3. 路線平緩性:

Smooth2(p) 所代表的是機器人行進路徑的平緩性,使其最小化,其數學方程式 如下:

)}

, ( ), , ( ) min{

(

1

1 +

=

i i i i

i

i d m m d m m

m

s θ

(3-2)

(33)

)) ( min(var )

(

2 p in21s mi

smooth = = (3-4)

4. 安全距離

Clear(p) 所代表的是機器人行進中,與所有障礙物所保持的距離,使其最大化,

其數學方程式如下:

(

i

)

i d ob m

c = , (3-5)

(

i

)

n

i c

p

clear( )=max min =21 (3-6)

(34)

第四章 以混合式多目標基因演算法最佳化規劃可 重組式製造工廠搬運機器人之路徑

在一開始的路徑規劃研究中,大多的研究都止於單目標的研究方面。而最初是使 用固定長度的二元字串的染色體編碼方式來進行路徑規劃。不過往往效果不好,所以 近年來學者紛紛以不固定長度染色體以及多目標方面的探討去取代傳統固定長度以 及單目標的研究作為其方向。但是在可重組式製造工廠的整體產能評估中,考量在新 一代的可重組式製造工廠中,因為製造設施具有高度的可重組性和可擴充性,所以自 動搬運系統之路徑規劃必須具有一定的彈性以容忍設施之變動,並且其路徑必須足夠 平滑平緩且與設施保持一定的安全距離。因此,本論文將這些系統考量設計成四種不 同的目標函式:最短距離、路線平滑性、路線平緩性和安全距離,以匹配可重組式製 造工廠內自動搬運系統路徑規劃之需求。在本論文中,我們應用多目標基因演算法來 求解路徑規劃最佳化問題。針對可重組式製造工廠設施之高變動性,我們假設可以推 估其大致的設施變動範圍,然後考量現有設施變動範圍自動建立一個避障路徑知識 庫。除此之外,在基因演算法中,我們採用了特別的基因運算子: 突變(mutation operation)、修補(refine operation)、刪除(deletion operation)的幾個運算來取代傳統基因 演算法運算子,並結合了避障路徑知識庫來快速修正路徑,以達到快速避障和快速收 斂的效果。

4.1 染色體表示說明

在利用多目標基因演算法之前,必須根據問題的需求來設計出一種適合的染色體 (Chromosome)編碼方式。染色體路徑實現的方法,大致可分為固定長度的染色體,以 及可變長度的染色體。傳統上大部分基本的問題,大多是以固定長度的染色體來表 示,但有些特定的問題會以可變長度的染色體來實做效果會較佳。以下,我們將比較 兩種路徑實現的方法。

一般來說,大部分的問題,都可以用固定長度染色體的分是來表示,只需依環境

(35)

所需的要求,設定染色體的長度即可,屬於靜態固定長度的型態。例如:一般演算法 的比較或是固定佈點等的問題上。如圖4.1所示。而另一種染色體的表達方式則為長 度不均的染色體,多適用於較複雜的演算法或是複雜的環境之中。例如:路徑的表示…

等。

在本問題中,必須考慮長度不均染色體的情況。每條染色體的長度並不相同,以 配合本問題的幾項演算法策略的運算。其中每一個基因代表一個格點的位置,每一個 格點分別可代表一組整數x ,y座標。而其初始的染色體是隨機產生的。如圖4.2所示。

圖 4.1 固定長度染色體

圖 4.2 不固定長度染色體

4.2 路徑避障知識庫

在行動機器人路徑規劃的過程中,如何避開障礙是一件非常重要的議題。因為如 何快速且有效的避開障礙會影響演算法的收斂速度與路徑規劃的結果良劣與否。所以 我們必須設計有效率的方法來快速且有效的避開障礙。在下面的內容中,我們將逐一 介紹如何計算障礙物是否存在,然後根據運算結果建立路徑的避障知識庫以供多目標 基因演算法使用。

0 1 2 3 5 6 255 0 2 3 4 255

0 1 2 4 5 8 4 255 0 1 2 5 255

0 1 2 3 5 6 255 0 1 3 4 5 6 255 0 2 3 4 7 8 255 0 1 2 3 4 5 255

(36)

4.2.1 障礙物計算

這個方法是根據數學方法最小外接矩形法(Minimum Enclosing Rectangular)[39]

來判斷線段之間是存在交點。它是運用包含矩形的方法(包含多邊形(polygon)或弧形 (Arc)之最小矩形,不規則矩形)是否相交來判斷線段與矩形相不相交與否。以下是其 方法說明:

設任意四點A,B,C,D,其座標值分別為(a1, a2), (b1, b2), (c1, c2), 及(d1, d2)。若座標 值符合方程式(4-1)(4-2)(4-3)(4-4)式下列情形之一時,則 AB 與 CD 兩條線段必定不相 交。如圖4.3 所示。否則會相交,如圖 4.4 所示。

(1) MIN (c1,d1) > MAX (a1,b1) (4-1) (2) MIN (a1,b1) > MAX (c1,d1) (4-2) (3) MIN (c2,d2) > MAX (a2,b2) (4-3) (4) MIN (a2,b2) > MAX (c2,d2) (4-4) 其中MIN 與 MAX 分別表示取最小值和最大值。

圖 4.3 兩線段不相交 圖 4.4 兩線段相交

將最小外接矩形法(Minimum Enclosing Rectangular)由線與線延伸至線與面的作 法,假設一個面ABCD,其座標值分別為(a1, a2), (b1, b2), (c1, c2), 及(d1, d2),而平面上 一線段為E,F,其座標值分別為(e1, e2), (f1, f2)。若座標值符合方程式(4-5)(4-6)(4-7)(4-8) 式下列情形之一時,則面ABCD 與線段 EF 必定不相交,代表可以避過障礙物,如圖 4.5 所示。否則會相交,代表不可以避過障礙物,如圖 4.6 所示。

(1) MIN (a1,b1, c1,d1) > MAX (e1, f1) (4-5) (2) MIN (e1, f1) > MAX (a1,b1, c1,d1) (4-6) A(a1, a2) C(c1, c2)

D(d1, d2) B(b1, b2)

A(a1, a2) C(c1, c2)

D(d1, d2) B(b1, b2)

(37)

(3) MIN (a2,b2, c2,d2) > MAX (e2, f2) (4-7) (4) MIN (e2, f2) > MAX (a2,b2, c2,d2) (4-8) 其中MIN 與 MAX 分別表示取最小值和最大值。

圖 4.5 線段與面不相交 圖 4.6 線段與面相交

4.2.2 避障路徑知識庫的產生

在上述的內容中,我們介紹障礙物的判定方法。接下來我們將建立一個避障路徑 知識庫,將避障路徑事先儲存在資料庫中,使得多目標基因演算法在規劃路徑遇到多 障礙物的情況之下,可以利用避障路徑知識庫的內容來修正其所規劃的路徑,以達到 快速有效的路徑建構。

建立避障路徑知識庫的主要的二個步驟如下:

步驟一:膨脹所有障礙物的安全距離,如圖4.7 所示。

步驟二:儲存所有障礙物安全距離的邊L1(P1, P2),L2(P2, P3),…,Ln(Pn, P1),如 圖4.8。

圖 4.7 膨脹障礙物的安全距離 圖 4.8 儲存安全距離的邊 E(e1, e2)

A(a1, a2) C(c1, c2)

D(d1, d2) B(b1, b2) F(f1, f2)

E(e1, e2) A(a1, a2) C(c1, c2)

F(f1, f2) D(d1, d2) B(b1, b2)

(38)

4.3 適應函數表示

在多目標基因演算法中,由於必須同時滿足多個目標函式最佳化,所以利用適應 函數來表示,在此用來評估每個不同的解答對於問題的適應程度來做為依據,所以我 們採用一個基於Pareto理論基礎所設計出的評估函數GPSIFF(Generalized Pareto-base Scale- Independent Fitness Function)[13]於本文的演算法中,其GPSIFF的數學方程式如 下:

c q p Y

F( )= − + (4-9)

其中X為目前評估的個體(Individual), p 為目前的個體 X 中能支配的個體數目,

q 為目前的個體 X 中被支配的個體數目,而 c 為一正整數,通常來說,為了保證所 求出的適應值能為一正整數,則c通常都會設為母體(Population)的大小。

(39)

4.4 以混合式多目標基因演算法最佳化規劃可重組式 製造工廠搬運機器人之路徑

4.4.1 混合式多目標基因演算法(A Hybrid Multi- objective Genetic Algorithm)流程圖

混合式多目標基因演算法(A Hybrid Multi-objective Genetic Algorithm)流程圖:

圖 4.9 多目標基因演算法流程圖 隨機產生初始群體

代數G=0

計算四個目標函式值

評估個體適應函數

突變

是否滿足終止條件

結束 開始

取代 G=G+1

是 二元競爭式選擇

三種交配法

刪除 點、線的修補 避障知識庫的產生

(40)

4.4.2 混合式多目標基因演算法之流程

本篇文章中使用了以下的一些基因運算,包含選擇(Selection operation),三種特 殊的交配法(Crossover operation),突變(Mutation operation),修補(Repair operation),

以及刪除(Deletion operation)的運算。

1. 選擇

在本研究中,選擇的機制是利用二元競爭式選擇法(Binary tournament selection)。

2. 交配

隨機一點交配的交配法(one-point random crossover)[28]有可能會使結果產生迴路 或是不合理的路徑。為了去避免這種情況,Li, Zhang, Yin, 以及 Wang 提出及使用三 種以知識庫為基礎的(knowledge-based)單點交配法(one-point crossover) [17][25],我們 在本文中亦使用這三種交配法。

(1) 相同點單點交配法(crossover at the location of the common node)

以下我們舉一個特別的例子,可以簡單且清楚地說明這個交配的方法。假設,母 代的兩條染色體分別是V1(0,30,33,47,98,99)以及V2(0,5,35,33,83,99)。我們可以很明顯 的看出兩條染色體有相同的點為33。所以,我們選擇33當作其交配的點,其產生的子 代就為V1(0,30,33,83,99)以及V2(0,5,35,33,47,98,99)。如圖4.10所示。

(a) V1 母代染色體圖形 (b) V2 母代染色體圖形

(41)

(c) V1 子代染色體圖形 (d) V2 子代染色體圖形 圖 4.10 相同點單點交配法

(2) 相同邊單點交配法(crossover at the location of the interconnected)

接下來,另外一種特殊的交配法,不同於上面的相同點單點交配法,其交配的方 法 如 下 。 假 設 , 母 代 的 兩 條 染 色 體 分 別 是 V1(0,7,15,46,47,97,99) 以 及 V2(0,5,35,33,83,99)。我們可以很明顯的看出 V1 有潛在的點 15 與 V2 點 5 與點 35 所 形 成 的 邊 , 可 構 成 一 直 線 。 所 以 , 我 們 在 V2 插 入 點 15 , 而 V2 就 變 成 (0,5,15,35,33,83,99) , 在 將 其 作 相 同 點 的 單 點 交 配 , 其 產 生 的 子 代 就 為 V1(0,7,15,35,33,83,99)以及 V2(0,5,15,46,47,97,99)。如圖 4.11 所示。

(a) V1 母代染色體圖形 (b)V2 母代染色體圖形

(42)

(c) V1 子代染色體圖形 (d) V2 子代染色體圖形 圖 4.11 相同邊單點交配法

(3) 相近點單點交配法(crossover at the location of the potential node)

接下來,另外一種特殊的交配法,不同於上面的兩種交配法,其交配的方法如下。

假設,母代的兩條染色體分別是V1(0,7,26,46,47,98,99)以及 V2(0,5,35,33,83,99)。我們 可以很明顯的看出兩條染色體有相近的點為46 以及 35。所以,我們在點 46 插入點 35 及 點 35 後 面 插 入 點 46 , 而 形 成 新 的 兩 條 染 色 體 (0,7,26,46,35,47,98,99) 及 (0,5,35,46,33,83,99) , 在 依 其 作 相 近 點 的 交 配 其 產 生 的 子 代 就 為 V1(0,7,26,46,35,33,83,99)以及 V2(0,5,35,46,47,98,99)。如圖 4.12 所示。

(a) V1 母代染色體圖形 (b)V2 母代染色體圖形

(43)

(c) V1 子代染色體圖形 (d) V2 子代染色體圖形 圖 4.12 相近點單點交配法

3. 突變

突變是隨機選擇一個點並且以不相同的點加以取代。突變的主要工作是造成族群 解的差異性。所以,突變完後,其結果並不一定要比突變前來的好。如圖 4.13、圖 4.14 所示。

圖 4.13 隨機單點實數型突變

(a) 突變前 (b) 突變後 圖 4.14 隨機單點實數型突變圖

4. 修補

突變點 突變點 A = 0 5 35 33 83 99 A’ =0 5 35 42 83 99

參考文獻

相關文件

Proceedings of the Fifth International Conference on Genetic Algorithms, Morgan kaufmann Publishers, San Mateo, California, pp.110~117, 1996. Horn, J., “Finite Markov Chain Analysis

Cheng-Chang Lien, Cheng-Lun Shih, and Chih-Hsun Chou, “Fast Forgery Detection with the Intrinsic Resampling Properties,” the Sixth International Conference on Intelligent

(英文) The Sixth International Conference on Intelligent Information Hiding and Multimedia Signal Processing (IIHMSP 2010). 發表 論文

Shih and W.-C.Wang “A 3D Model Retrieval Approach based on The Principal Plane Descriptor” , Proceedings of The 10 Second International Conference on Innovative

[16] Goto, M., “A Robust Predominant-F0 Estimation Method for Real-time Detection of Melody and Bass Lines in CD Recordings,” Proceedings of the 2000 IEEE International Conference

Wells, “Using a Maze Case Study to Teach Object-Oriented Programming and Design Patterns,” Proceedings of the sixth conference on Australasian computing education, pp. Line, “Age

Harma, “Automatic identification of bird species based on sinusoidal modeling of syllables,” in Proceedings of IEEE International Conference on Acoustics, Speech,

Li, The application of Bayesian optimization and classifier systems in nurse scheduling, in: Proceedings of the 8th International Conference on Parallel Problem Solving