• 沒有找到結果。

改良式粒子群優化演算法於桁架結構最佳化設計之應用

N/A
N/A
Protected

Academic year: 2021

Share "改良式粒子群優化演算法於桁架結構最佳化設計之應用"

Copied!
103
0
0

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

全文

(1)

國立交通大學

土木工程學系碩士班

碩 士 論 文

改良式粒子群優化演算法於

桁架結構最佳化設計之應用

Application of an Improved Particle Swarm Optimization

Method in Optimization Design of Truss Structures

研 究 生:洪冠豪

指導教授:洪士林 博士

(2)

改良式粒子群優化演算法於

桁架結構最佳化設計之應用

研 究 生:洪冠豪 Student:Guan-Hao Hung

指導教授:洪士林 Advisor:Dr. Shih-Lin Hung

國 立 交 通 大 學

土 木 工 程 學 系 碩 士 班

碩 士 論 文

A Thesis

Submitted to Department of Civil Engineering

College of Engineering

National Chiao Tung University

In Partial Fulfillment of the Requirements

for the Degree of

Master of Science

in

Civil Engineering

August 2010

Hsinchu, Taiwan, Republic of China

(3)

I

改良式粒子群優化演算法於

桁架結構最佳化設計之應用

學生:洪冠豪 指導教授:洪士林 博士

國立交通大學土木工程學系碩士班

摘 要

最近十年,粒子群優化演算法(Particle Swarm Optimization, PSO)是一款在結 構最佳化設計問題上被探討的新方法。它是一種模擬群體智慧概念的仿生演算法, 粒子群先是以全域搜尋的方式在搜尋空間內移動並且蒐集資訊,再逐漸轉成局部 搜尋,最後則收斂到粒子群經驗中最好解的位置。粒子群優化演算法與其他仿生 演算法相比具有參數設定簡單與快速收斂的優點,但是太過快速收斂有可能造成 引導到局部最佳解。為了改善粒子群優化演算法在桁架結構最佳化設計問題上的 效能,本論文提出兩個策略有效率的控制粒子群收斂過程。第一個策略取名「邊 界移動法」,它是利用結構設計最佳解常位於搜尋空間內合理解與不合理解交界 的特性,將全域搜尋階段的粒子瞬間移動到鄰近的交界區,因此降低粒子群在不 重要區域搜尋的時間。第二個策略稱做「粒子飛離法」,將靠近收斂中心的粒子 隨機拋離有限的距離,使得粒子與收斂中心的距離在指定的搜尋半徑內均勻分布, 藉此避免粒子群過早收斂。為了測試改良式粒子群優化演算法在桁架結構最佳化 設計問題上的效能,數個經典的桁架設計問題在本論文中被測試。測試結果指出, 改良式粒子群優化演算法較傳統粒子群優化演算法能更有效率找到桁架設計最 佳解。 關鍵字: 粒子群優化演算法、仿生演算法、桁架結構最佳化設計

(4)

II

Application of an Improved Particle Swarm Optimization

Method in Optimization Design of Truss Structures

Student:Guan-Hao Hung Advisor:Dr. Shih-Lin Hung Department of Civil Engineering

College Engineering National Chaio Tung University

Abstract

The particle swarm optimization (PSO), simulating the flying of avian for

searching food, is one of bionic algorithms and a popular method for finding the optimal design of structures in the last decade. The convergence speed of PSO is fast for the PSO gradually turns global search into local search. In the early search stage of PSO, a population particles move in the different regions of search space to collects information. Then, the particles converge to the same search region to search solutions according to their best experience and the best solution of swarm. However, the PSO may converge to the local minimum if its convergence speed is too fast. Therefore, how to balance the global search and local search in the PSO is an important research issue. This work proposes two novel strategies to improve the capacity of PSO for solving truss optimization design problems. The first strategy is quickly moving the particle to the boundary between feasible and constrains region. The other strategy is forcing the particle to a random position with random distance which closes to convergence center. Four examples of optimal design of truss structures are employed to verify the performance of the proposed improved-PSO algorithm. The analytic results reveal that particles can move quickly in early search stage based on the first strategy. Moreover, based on the second strategy, particles can keep converging to the global minimum when bounding to local minimum. The analytic results also expose that the proposed PSO algorithm outperforms standard PSO algorithm in convergence speed and the obtained optimal solutions.

Keyword: particle swarm optimization (PSO), bionic algorithm, optimal design of

(5)

III

誌謝

在研究所中兩年的時間不算長也不算短,但卻已足夠讓人學會許多事情、獲 得許多成長。然而在這段期間內,真的是受了許許多多人的照顧及幫助,若不是 這些人,恐怕這本論文會難產;若不是這些人,恐怕學生是無法學習到這許多事 物;若不是這些人,恐怕學生的人生中就會缺少了這兩年的歡笑聲。 需要感謝的人太多太多了,首要感謝的是恩師洪士林教授,在萬般忙碌之中 還是給予學生最棒的指導與建議,讓學生像隻無頭蒼蠅般昏頭時也能相信一定不 會迷途,且教授的慈祥總能讓學生感到許多溫暖,真的很感謝能夠遇到洪士林教 授,也讓學生更加的堅信遇到一個對的老師對一個學生來說是多麼重要的事情; 感謝詹君治副教授的從旁指導以及許多建議,讓學生得以在兩年的期限內順利產 出這本論文,沒有因為惰性而延誤畢業的時間,也讓學生知道在重重的要求下都 是為了學生的成長;感謝黃炯憲教授及鄭復平副教授兩位口試委員,在百忙之中 抽空參加學生的口試,不但給了學生許多寶貴的意見,使本論文更加趨於完整, 也讓學生見識到教授們的細心、用心以及經驗的累積;感謝博士班子軒學長、勇 奇學長、玉邦學長以及碩士班志銘學長、彥伶學姐在這兩年間給予我的許多指導、 建議以及鼓勵,讓我學習了許多新的東西、見識了許多新的事物;感謝與我一同 抗戰的家宇、夙修、麗松,有你們當我的同屆戰友讓我感到十分開心,因為我的 人生中又多了三個不可抹滅的好朋友;感謝學弟妹阿槍、阿祥、孟軒及思伶,不 但可以一同覓食、一同出團、一同出遊,甚至在我忘了拔鑰匙的時候也能有個照 應(笑),更因為你們的關係讓研究室內增添了許多的歡笑及回憶;感謝我的家人, 在我就學的這段期間給予我莫大的鼓勵與期許,讓我知道我還有個「家」可以放 心停靠;感謝我的女友,雖然真的又傻又遲鈍,但卻也傻傻的一路陪著我,不管 在我生氣、落寞還是開心時,總是傻傻的對我好,真的很感謝妳。 感謝再感謝似乎是這篇致謝的重點,但卻又好像不是重點,因為要感謝的人 真的太多太多了,多到我其實不知道該把重點放哪邊。不過,我唯一且肯定知道 的是「感謝」!感謝周遭一切與我有關的人,因為你們才會有我;因為你們才會 讓我像個人一樣有喜怒哀樂;因為你們才會讓我學會成長。在此謹以此篇論文獻 給所有愛我及我愛的人。

(6)

IV

目錄

 

摘 要... I  Abstract ... II  誌謝... III  目錄... IV  表目錄... VI  圖目錄... VIII  符號說明... IX  第一章  緒論... 1  1.1 研究背景... 1  1.2 研究動機與目的... 2  1.3 研究步驟... 4  1.4 論文章節及架構... 5  第二章  文獻回顧... 6  2.1 粒子群優化演算法... 6  2.1.1 原始粒子群優化演算法... 6  2.1.2 慣性權重(Inertia Weight) ... 7  2.1.3 壓縮因子(Constriction factor) ... 9  2.1.4 被動聚集因子(Passive congregation) ... 9  2.1.5 粒子群蟻群優化演算法... 10  2.1.6 啟發式粒子群優化演算法... 11  2.1.7 啟發式粒子群蟻群優化演算法... 12  2.2 粒子群優化演算法流程... 13  第三章  研究方法... 15  3.1 桁架結構最佳化設計... 15  3.1.1 最佳化設計概念... 15  3.1.2 二維桁架結構分析... 16 

(7)

V 3.1.3 三維桁架結構分析... 19  3.2 改良式粒子群優化演算法... 20  3.2.1 改良式粒子群優化演算法概念... 20  3.2.2 邊界移動法... 21  3.2.3 粒子飛離法... 24 

3.2.4 飛回機制(Fly back mechanism) ... 27 

3.2.5 停止條件... 28  3.2.6 改良式粒子群優化演算法流程... 28  第四章  數值案例測試... 30  4.1 例一:平面 10 根桿件桁架結構(單載,載重情況一) ... 30  4.2 例二:平面 10 根桿件桁架結構(單載,載重情況二) ... 33  4.3 例三:空間 25 根桿件桁架結構(多載) ... 34  4.4 例四:空間 72 根桿件桁架結構(多載) ... 35  4.5 例五:空間 120 根桿件桁架結構(單載) ... 36  第五章  結論與建議... 40  5.1 結論... 40  5.2 建議與展望... 41  參考文獻... 43  附表... 46  附圖... 78 

(8)

VI

表目錄

表 4-1 粒子群優化演算法於本研究中的參數設定 ... 46  表 4-2 例一,各桿件起始節點及終止節點之編號 ... 46  表 4-3 例一,各組設計斷面中所包含之桿件編號 ... 47  表 4-4 例一,桁架受力情形 ... 47  表 4-5 例一,不同粒子群優化演算法所找到的最佳設計斷面 ... 48  表 4-6 例一,最佳設計斷面經結構分析後之各節點位移 ... 48  表 4-7 例一,最佳設計斷面經結構分析後之各桿件應力 ... 49  表 4-8 例一,最佳設計斷面比較表 ... 50  表 4-9 例二,桁架受力情形 ... 51  表 4-10 例二,不同粒子群優化演算法所找到的最佳設計斷面 ... 51  表 4-11 例二,最佳設計斷面經結構分析後之各節點位移 ... 52  表 4-12 例二,最佳設計斷面經結構分析後之各桿件應力 ... 52  表 4-13 例二,最佳設計斷面比較表 ... 53  表 4-14 例三,各桿件起始節點及終止節點之編號 ... 54  表 4-15 例三,各組設計斷面中所包含之桿件編號 ... 54  表 4-16 例三,桁架受力情形 ... 55  表 4-17 例三,各組設計斷面中桿件之最大容許應力 ... 55  表 4-18 例三,不同粒子群優化演算法所找到的最佳設計斷面 ... 56  表 4-19 例三,最佳設計斷面經結構分析後之各節點位移 ... 57  表 4-20 例三,最佳設計斷面經結構分析後之各桿件應力 ... 58  表 4-21 例三,最佳設計斷面比較表 ... 59  表 4-22 例四,各桿件起始節點及終止節點之編號 ... 60  表 4-23 例四,各組設計斷面中所包含之桿件編號 ... 61  表 4-24 例四,桁架受力情形 ... 62  表 4-25 例四,不同粒子群優化演算法所找到的最佳設計斷面 ... 62  表 4-26 例四,最佳設計斷面經結構分析後之各節點位移(第一組載重) .... 63  表 4-27 例四,最佳設計斷面經結構分析後之各節點位移(第二組載重) .... 64 

(9)

VII 表 4-28 例四,最佳設計斷面經結構分析後之各桿件應力(第一組載重) .... 65  表 4-29 例四,最佳設計斷面經結構分析後之各桿件應力(第二組載重) .... 66  表 4-30 例四,最佳設計斷面比較表 ... 67  表 4-31 例五,各桿件起始節點及終止節點之編號 ... 68  表 4-32 例五,各組設計斷面中所包含之桿件編號 ... 70  表 4-33 例五,桁架受力情形 ... 70  表 4-34 例五,不同粒子群優化演算法所找到的最佳設計斷面 ... 70  表 4-35 例五,最佳設計斷面經結構分析後之各節點位移 ... 71  表 4-36 例五,最佳設計斷面經結構分析後之最大容許應力 ... 73  表 4-37 例五,最佳設計斷面經結構分析後之各桿件應力 ... 74  表 4-38 例五,最佳設計斷面經SAP2000 結構分析後之各節點位移 ... 75  表 4-39 例五,最佳設計斷面經SAP2000 結構分析後之各桿件應力 ... 77 

(10)

VIII

圖目錄

圖2-1 標準粒子群優化演算法的粒子速度及位置更新示意圖 ... 78  圖2-2 含被動聚集因子之粒子群優化演算法的粒子速度及位置更新示意圖 ... 78  圖2-3 粒子群優化演算法流程圖 ... 79  圖3-1 局部座標及整體座標下的二維桁架桿件示意圖 ... 80  圖3-2 局部座標及整體座標下的三維桁架桿件示意圖 ... 81  圖3-3 標準之粒子搜尋示意圖 ... 82  圖3-4 使用邊界移動法之粒子搜尋示意圖 ... 82  圖3-5 邊界移動法使用不同次數情況下的收斂情形 ... 83  圖3-6 邊界移動法使用不同次數情況下的收斂情形 ... 83  圖3-7 粒子飛離法示意圖 ... 84  圖3-8 飛離空間縮小的情形 ... 84  圖3-9 改良式粒子群優化演算法流程圖 ... 85  圖4-1 平面 10 根桿件桁架結構 ... 86  圖4-2 空間 25 根桿件桁架結構 ... 86  圖4-3 空間 72 根桿件桁架結構 ... 87  圖4-4 空間 120 根桿件桁架結構 ... 88  圖4-5 例一,不同的粒子群優化演算法收斂結果 ... 89  圖4-6 例一,三種改良式粒子群優化演算法之比較 ... 89  圖4-7 例二,不同的粒子群優化演算法收斂結果 ... 90  圖4-8 例三,不同的粒子群優化演算法收斂結果 ... 90  圖4-9 例四,不同的粒子群優化演算法收斂結果 ... 91  圖4-10 例五,不同的粒子群優化演算法收斂結果 ... 91 

(11)

IX

符號說明

a:最大容許應力除以各桿件應力中的最大值 :第i 根桿件的斷面積 :經由邊界移動法後得到之新的斷面積 b:最大容許位移除以各節點位移中的最大值 :基準空間的上限 :基準空間的下限 、 :學習因子 :被動聚集因子係數 :臨界長細比 D:變數數量 E:桿件材料的楊式係數 :外力點 :適應度函數 Fy:鋼材的降伏應力 :飛離空間 :整體座標下的桿件內力 :整體座標下完整的節點受力 :迭代數 :最大迭代數 :局部座標下的桿件勁度矩陣 :整體座標下的桿件勁度矩陣 :整體座標下的完整勁度矩陣 :第i 根桿件的桿件長度 n:桿件個數 m:自由度個數 :群體規模 :第 i 個粒子所經歷過的最佳位置向量

(12)

X :第i 個粒子的初始最佳位置向量 :所有粒子經歷過的最佳位置向量 :所有粒子的初始最佳位置向量 :局部座標下的桿件內力 :迴轉半徑 、 、 :為[0,1]之間的隨機均勻亂數 Ri:粒子群中隨機選擇的一個粒子 :反力點 :搜尋空間上限 :縮小後的搜尋空間上限 :搜尋空間下限 :縮小後的搜尋空間下限 :座標轉換矩陣 :第i 個粒子的速度向量 :最大速度 w:慣性權重 :第i 個粒子的位置向量 :第i 個粒子的初始位置向量 :局部座標下的節點位移 :第j 個自由度的位移 , :第j 個自由度的最大容許位移 :整體座標下的節點位移 :整體座標下完整的節點位移 :長細比 :第i 根桿件的材料密度 :第i 根桿件所受到的應力 , :第i 根桿件的最大容許應力

(13)

1

第一章

緒論

1.1 研究背景

最佳化(Optimization)是指在一個有許多限制和條件相互衝突的環境下,找 尋一個最適當答案的過程,而最適當的答案則表示最好的妥協。然而在實際應用 上,改進是相當重要的,甚至連極微小的改進都是非常值得的,因此才會有最佳 化設計的出現。最佳化設計是根據最佳化原理及方法,並綜合各方面的因素,以 「自動搜尋」或「人機配合」的方式,在計算機上進行自動或半自動設計,以選 出在現有條件下之最佳設計方案的一種現代設計方法【1】。最佳化的方法在許多 不同領域皆有廣泛的應用,如:數學、應用科學、工程、經濟、統計學及醫學等。 而在土木工程方面,通常則以最少的成本為目標來達到最佳化目的。 桁架結構為工程上常見的一種結構系統,其力學分析過程只需考慮到軸力, 因此結構設計過程較其它結構系統來的簡易。桁架結構最佳化通常可分為最佳桿 件斷面尺寸設計(Size optimization)、最佳結構配置(Configuration optimization)、 最佳拓璞設計(Topology optimization) 等三類,其中又以桿件斷面尺寸最佳化最 為普遍【2】。 在早期,最佳化設計大多利用梯度做為搜尋方向的資訊,對問題極值求解有 很好的計算效率。此種方法的特點在於初始點位,若初始點位在問題的全域最佳 解附近,則可以很快速的搜尋到全域最佳解;反之,則會陷入局部最佳解中而無 法跳脫【3】。因此,後來就有許多學者為了改善傳統梯度法的這項缺點,而陸續 發展出許多不需依賴梯度資訊的最佳化演算法,如:基因遺傳演算法(Genetic Algorithms, GA)(John Holland,1975) 、 模 擬 退 火 法 (Simulate Anneal, SA) (S.Kirkpatrick,1983)、禁忌搜尋演算法(Tabu Search, TS)(Glover,1986)、螞蟻演算 法(Ant Colony Optimization, ACO) (M. Dorigo,1992)、粒子群優化演算法(Particle Swarm Optimization, PSO)(J. KennedyR. & C. Eberhar,1995)及和諧搜尋演算法 (Harmony search, HS)(Geem et al,2001)等。上述這些新的演算法有一個共通點, 就是都能在不用梯度資訊的情況下,還能擁有比傳統梯度法更好的全域搜尋能力,

因此在無梯度資訊下也能找到比使用傳統梯度法要更好的最佳解【4】。粒子群優

(14)

2 迭代的運算來搜尋全域最佳解,其主要特色在於較少的參數設定及收斂速度快, 且具有分散式搜尋、記憶性及容易與其他演算法結合等特性,故粒子群優化演算 法極具求解組合最佳化問題的潛力【4】。

1.2 研究動機與目的

粒子群優化演算法是一種前期為全域搜尋,而後期轉為局部搜尋的最佳化演 算法,因此若在前期的全域搜尋中沒有獲得較佳的搜尋資訊,則粒子群會容易因 收斂過快,過早進入局部搜尋導致陷入局部最佳解中而無法跳脫。 為了改善粒子群的這種問題,自1995 年粒子群優化演算法被提出後,已有 許多學者提出一些參數來修改它。Shi 等人【5】於 1998 年提出了慣性權重(Inertia Weight)的想法,藉由慣性權重的加入來改變粒子本身的移動速度,使粒子能在 全域搜尋及局部搜尋兩者間,取得一個較佳的平衡點,使能更有效的找到全域最 佳解。結果顯示其慣性權重的值在0.9 至 1.2 之間,雖然需要較多的迭代次數, 但卻能有較佳的搜尋效果。另外,根據文獻【5】資料表示,當慣性權重的值為 1.2 時的迭代次數是 0.8 時的 3 倍,顯示當慣性權重越大,其時間成本也會相對 增加,但作者在文中只針對一個例子來做測試,因此若要有慣性權重對搜尋特性 其更完整的了解,就應多測試各種不同的例子【5】。 郭信川等人【1】於2004年提到,Shi和Eberhart【6】在2001年針對粒子群優 化演算法的發展概況與應用方面做一較完整的整理,文中對於改良的粒子群優化 演算法分慣性權重(Inertia Weight)、壓縮因子(Constriction Factors)及軌跡動態系 統(Tracking Dynamic System)等三類來探討,而在相關的文獻【6、7、8】研究中, 則大多都以慣性權重為探討的重點。 He等人【9】於2004年提出了被動聚集因子(passive congregation)的想法,即 在粒子的速度更新中,增加了一個被動聚集的部分。這個部分代表了粒子群中任 一粒子對其他粒子的影響。其結果顯示,藉由被動聚集因子的加入,使粒子群能 在搜尋過程當中,由於認知學習及社會學習部分的值為零或一很小的數,而導致 粒子的搜尋停滯時,該方法能夠改善粒子的停滯不前,使粒子具有較大搜尋能力, 增加找到最佳解的機率。 另外,亦有學者將粒子群優化演算法與其他最佳化演算法融合使用。Shelokar

(15)

3

等人【10】於 2007 年提出了 PSACO(Particle Swarm Ant Colony Optimization)演 算法,PSACO 為一種結合粒子群優化演算法及蟻群演算法之混合式演算法,其 主要構想為結合粒子群的全域搜尋特性及蟻群的局部搜尋特性。該演算法的最佳 解尋找過程分為兩部分,第一部分為個別粒子以粒子群優化演算法的速度更新機 制,來促使粒子做全域搜尋,其後粒子再以蟻群演算法的賀爾蒙引導機制,對各 粒子當前的所在位置附近進行局部搜尋。其結果顯示,加入蟻群演算法的賀爾蒙 引導機制後,能明顯改善粒子群優化演算法的效能,使其不但能有效地執行全域 搜尋,並且達到最佳解或接近最佳解。 Li 等人【11】於 2007 年提出了一種結合粒子群優化演算法及和諧搜尋演算

法的混合式演算法,稱為HPSO(Heuristic Particle Swarm Optimizer)。粒子在搜尋

空間中飛行搜尋時,常會因粒子飛出搜尋空間,而需要花費一些時間(迭代次數) 來使粒子飛回到搜索空間中做有效的搜尋,因此造成一些多餘的浪費。故 Li 等 人的主要想法為粒子群在飛行搜尋過程中,配合使用和諧搜尋來再生這些飛出搜 尋空間的粒子,使其能更充分地利用粒子的搜尋行為,有效地提升粒子的搜尋效 率。其結果顯示,相較於PSO 及 PSOPC,HPSO 於搜尋前期擁有更快速的收斂 速度且具有很好的搜尋結果。

Kaveh 等人【12】更於 2009 年提出了 HPSACO 演算法,HPSACO 為一種結

合粒子群優化演算法、蟻群演算法及和諧搜尋演算法的混合式演算法。就如同 PSACO 之概念,第一步以粒子群優化演算法來對問題做全域搜尋,第二步則以 蟻群演算法來做各粒子周圍的局部搜尋,但不同於PSACO 的是,HPSACO 又加 入了和諧演算法來處理一些飛出搜尋範圍的粒子,使其減少粒子在搜尋範圍之外 所造成不必要的時間成本浪費。結果顯示 HPSACO 不但於前期就具有很好的收 斂速度,且因蟻群演算法的緣故,亦能擁有很不錯的最佳解,大幅的改善粒子群 優化演算法的效能。 這些學者不論是藉由修改粒子群優化演算法,或者是與其他最佳化演算法結 合使用,不外乎就是希望可以使粒子群擁有較大的機率來跳脫出局部最佳解,或 者配合利用各種演算法的優點,如多點局部搜尋或邊界問題的處理,使粒子能找 到更多可能的解。 因此在本研究中,亦希望能發展一種改良式的粒子群優化演算法,使其能具

(16)

4 有下列的能力: 一、 以改良後的粒子群優化演算法來解決結構最佳化問題。 二、 使改良後的粒子群優化演算法具有半全域搜尋之特性。 三、 使改良後的粒子群優化演算法具有更快的收斂速度,並同時擁有更 佳的精度。

1.3 研究步驟

本研究的研究過程步驟簡述如下: 1. 蒐集粒子群優化演算法及其應用在桁架方面的相關資料及文獻 資料蒐集分成兩部分:在粒子群優化演算法方面,蒐集國內外粒子群優 化演算法及其應用在桁架方面的相關期刊、論文及研討會等資料,以瞭 解目前學術界對此問題的研究狀況及成果;而在另一方面,基於演算法 撰寫之需求,蒐集其所需用到之指令集和工具書,以利演算法之撰寫。 2. 建立粒子群優化演算法及結構矩陣之演算法,並加入新的概念將其設計 組合。 本研究之最佳化設計主要係針對桁架結構之桿件斷面尺寸進行調整,因 此需先確認並建立粒子群優化演算法,以及桁架結構之結構矩陣演算法。 但因同時考慮其束制條件時,演算法執行的步驟、流程及新的概念都會 成為影響效能及成果的關鍵,故需將演算法給予適當的設計組合以達到 期望之結果。 3. 進行數值案例分析,並適當調整演算法。 透過數個文獻中所提的桁架最佳化設計問題,對本人所撰寫好的演算法 進行測試與分析,以驗證改良後演算法的可行性,並適當調整演算法的 參數、流程及錯誤發生處。 4. 撰寫論文 最後彙整本研究之相關理論、成果、結論與參考文獻後,將其整理並撰 寫成論文。

(17)

5

1.4 論文章節及架構

本研究之論文架構分為五個章節,各章節的內容如下所述: 第一章為緒論,說明本研究的背景、動機、目的及研究步驟。 第二章為文獻回顧,一開始先介紹粒子群優化演算法,從原始粒子群優化演 算法開始,再慢慢的回顧粒子群優化演算法的演化,演化的趨勢大約可分成兩種 類別,一種是針對粒子群優化演算法本身的參數或概念來做調整及修改,另一種 則是與其他最佳化演算法結合使用,而這兩種類別的方法其主要概念都是要補強 粒子群優化演算法自身的強健性,最後則介紹標準粒子群優化演算法搜尋最佳解 的完整流程。 第三章為研究方法,首先介紹桁架結構最佳化設計的概念及結構分析的過程, 接著介紹在本研究中所提出改良式粒子群優化演算法的概念,及所使用到的兩個 新的策略,同時也介紹本研究中處理最佳化邊界問題的方法,最後則是介紹改良 後粒子群優化演算法其搜尋最佳解的完整流程。 第四章為數值案例測試,蒐集數個桁架結構最佳化設計文獻中的經典案例, 並根據本研究所提出的改良式粒子群優化演算法進行數值案例測試,藉此驗證本 研究中所提出的兩個策略,相較於標準的粒子群優化演算法,能有效的改善粒子 群的收斂速度及解的品質。 第五章為結論與建議,從本文中數個數值案例最佳化後的結果做一些結論, 並針對不同粒子群優化演算法的收斂結果,來討論本研究中所提出的兩個策略對 於結構最佳化問題之所以能改良的原因,最後則介紹本研究結束之後的未來展望。

(18)

6

第二章

文獻回顧

2.1 粒子群優化演算法

2.1.1 原始粒子群優化演算法

粒 子 群 優 化 演 算 法(Particle Swarm Optimization, PSO)是由 Eberhart 和

Kennedy【13、14】於 1995 年所提出的一種具有群體智慧概念的仿生演算法。 粒子群優化演算法的起源為Eberhart 和 Kennedy 兩位學者經由觀察鳥類的覓食行 為得到啟發,進而將其模擬成一最佳化演算法,藉由個體與個體間一些互動的規 則,從而產生出特殊的群體行為,來達到最佳化的目標。 粒子群優化演算法的主要概念為假設有一鳥群於存在食物的空間中隨機飛 行覓食,一開始並不知道最佳的覓食地點在哪個位置,所以每隻鳥兒則憑藉著各 自以往的經驗或直覺,飛往他們覺得較佳的地點進行覓食,而當某些鳥兒發現了 更好的覓食地點而前去覓食時,其他的鳥兒則會像接收到信息般一同飛往更好的 覓食地點進行覓食【15】。 在粒子群優化演算法的模擬理論中,將「粒子(particle)」模擬成解空間中的 一隻鳥,每個粒子所在的位置,都是最佳化問題的一個解,每個解都可對應一個 答案,稱之為「目標函數值(objective function value)」或「適應值(fitness value)」 【1、16】。每個粒子都擁有其各自的速度,利用本身以往的速度、各自經歷過的 最佳解(稱做 pbest)及群體經歷過的最佳解(稱做 gbest)來做為更新的依據,依此決 定粒子的移動方向及移動距離,來調整粒子當前的位置,並依靠各粒子所在位置 的適應值來判別目前找到解的好壞,利用這樣的機制在解空間中做反覆的迭代搜 尋,以找到最佳化後的解答。【4、17】假設有一 N 維(N 個變數)的最佳化問題, 則粒子群優化演算法中速度及位置的更新法則如(2-1)及(2-2)式所示。 (2-1) (2-2) 其中: :第 i 個粒子的速度向量(註: 中每個元素都有上界) :第i 個粒子的位置向量

(19)

7 :第 i 個粒子所經歷過的最佳位置向量 :所有粒子經歷過的最佳位置向量 :迭代數 、 :學習因子 、 :為[0, 1]之間的隨機均勻亂數 其中學習因子 及 則分別代表將粒子推向各自及群體所經歷過最佳解的 權重。其值較低時,即允許粒子在到達各自或群體所經歷過的最佳解之前,可在 目標區域外做較多次的徘徊搜尋,增加搜尋到全域最佳解的機率,但需花費較多 的運算及時間成本;其值較高時,即允許粒子以較快的速度前往各自或群體所經 歷過的最佳解,可節省一些不必要的運算及時間以提高收斂速度,但卻容易因此 導致粒子突然衝過全域最佳解而發生找不到的狀況。而許多文獻【6、13】中則 建議將 及 的值取為2,故本研究中即沿用該數值。 對於(2-1)式可分成三個部分來解讀,第一部分為粒子先前的慣性,即自身先 前的速度;第二部分為「認知(cognition)」部分,表示粒子本身的思考;第三部 分為「社會(social)」部分,表示粒子間的訊息共享及相互合作。【1、18】故粒子 群優化演算法的核心即是利用這三部分加以線性組合來更新粒子速度及位置,並 算出適應值以完成問題的最佳化。其粒子的速度及位置更新示意圖如圖2-1 所示。 自從粒子群優化演算法被提出後,就因為該演算法只有少數的參數需要做調整, 且粒子的收斂速度很快,因而吸引了許多學者的關注。這些學者針對該演算法做 了一些相關的測試,也從粒子群的收斂特性中發現了一些問題,所以學者們做了 些相關的研究,希望能藉由對粒子群優化演算法加以改良,進而提升求解的速度 及解的品質。學者們也因此而陸續找出了一些改善的方法,改善的方法大致上可 分成兩個類別,一是藉由增加參數來修改標準粒子群優化演算法的更新機制,使 其擁有更完善的搜尋能力;另一則是將粒子群優化演算法與其他最佳化演算法一 同使用,配合著最佳化演算法各自的優點相輔相成,藉此來找到全域最佳解。 2.1.2 慣性權重(Inertia Weight) Shi 等人【5】於 1998 年提到,將粒子群優化演算法在更新粒子速度時所使 用到的(2-1)式分成三部分來看,則第一部分為粒子本身先前的速度,即本身以往

(20)

8 的記憶。其功用就在於開發搜尋空間,也就是擴展粒子的搜尋空間,藉此增加粒 子搜尋到全域最佳解的機率。若沒有此項,則粒子群會因此而無法記憶先前的速 度,只能靠著自身所經歷過的最佳位置及所有粒子所經歷過的最佳位置來做移動 與搜尋,使得粒子會很快的往這兩個位置的加權中心來做收斂,而落在加權中心 上的粒子,則會因速度變為零而停止搜尋的動作,這使得該粒子群優化演算法變 的像是一種局部搜尋的演算法,故(2-1)式中第一部分的加入,使得粒子群優化演 算法能擁有全域搜尋之能力,讓演算法成為一種全域搜尋之演算法。在解最佳化 問題過程中,很難肯定的說局部搜尋演算法或全域搜尋演算法哪個比較好,只能 說該最佳化問題比較適合用這兩種演算法中的哪一個,也就是說在眾多的最佳化 問題中,兩種演算法各有各適合使用的地方。因此 Shi 等人【5】提出了一個稱 做慣性權重(Inertia Weight)的想法,在加入慣性權重w後,粒子群優化演算法中 的速度更新公式則由(2-1)式修正為如下所示: (2-3) 其中: w:慣性權重 慣性權重來自於速度遞減的觀念,當慣性權重較大時,粒子第k+1 代的速度 會較接近第k 代的速度,因此粒子的搜尋方向較為穩定,而搜尋過程中則變成較 注重於全域搜尋,但也因粒子本身具有較高的自由搜尋能力,使粒子群能擁有較 高的多樣性。不過當慣性權重過大時,則會容易造成粒子群散佈在搜尋空間中, 導致粒子群無法收斂至最佳解;反之若慣性權重較小時,粒子第k+1 代的速度則 會由三個部分來共同影響,因而造成粒子在搜尋過程中的速度方向較不穩定,此 時粒子所搜尋到的解則有可能因多樣性不足而無法保證該解為問題之最佳解【19、 20】。 因此使用慣性權重的最大問題就是在於如何定出一個較為合理的數值,使粒 子能夠在全域搜尋與局部搜尋中取得一個較佳的平衡。因此Shi 等人【21】於 1998 年提出常數式的慣性權重之後,於同年亦接著提出線性遞減式的慣性權重,其主 要概念為在搜尋前期時給予較大的慣性權重,讓粒子能擁有較大的速度以進行全 域搜尋,其後隨著代數增加而使慣性權重遞減,使其慢慢的降低粒子速度,讓粒

(21)

9 子從全域搜尋漸漸的轉為局部搜尋,藉此達到收斂的效果。故慣性權重可以為一 大於零的常數,也可以為一對於時間之正線性或非線性函數,藉由慣性權重的加 入來改變粒子本身的移動速度,使粒子能在全域搜尋及局部搜尋兩者間,取得一 個較佳的平衡點,使能更有效的找到全域最佳解。而此後的相關研究,則將加入 慣性權重後的粒子群優化演算法視為標準粒子群優化演算法來做為研究並加以 比較。 2.1.3 壓縮因子(Constriction factor) Clerc【22】於1999年時,針對粒子群優化演算法的收斂情形,提出了一個 稱做壓縮因子(Constriction factor)的想法,此種含壓縮因子的粒子群優化演算法 稱為CPSO(Constriction Particle Swarm Optimization)。為了增加粒子群的局部搜尋 能力,藉由使用壓縮因子來縮短各粒子的移動速度,並藉此控制粒子的位置,使 粒子在整個搜尋過程中,能夠加強並改善粒子的局部搜尋能力。在使用壓縮因子 後一開始的研究及應用中,粒子的最大速度被認為是不重要的,因此不需要特別 的選擇並設定它,但Eberhart等人【23】在後續的研究及應用中,證實了如果在 使用壓縮因子的情況下想要有更好的最佳解,就必須限制粒子的最大速度,而依 靠經驗法則所得到的最佳情況即為粒子的最大速度剛好為粒子的最大搜尋空間。 另外Eberhart等人【23】亦表示了使用慣性權重的粒子群優化演算法,只要將一 些參數做適當的調整,則該速度的更新公式即與使用壓縮因子之粒子群優化演算 法的速度更新公式相同,也就是說此種使用壓縮因子的方法,是為慣性權重方法 下的一種特例。 2.1.4 被動聚集因子(Passive congregation) He 等人【9】於 2004 年藉由一些有關群體動物行為的文獻【24】中發現, 群體動物中的成員可以經由鄰近的成員來得到一些必要或重要的訊息,進而產生 一些對應的行為,不一定需藉由直接接收到某訊息後才會產生相對應的反應,也 就是說群體內的每一個個體,對於群體內的其他個體皆含有隱藏性的資訊或訊息, 可以幫助每一個個體判斷或進行某些行為,因此 He 等人【9】則藉由此種現象 並基於標準粒子群優化演算法下,提出了被動聚集因子(passive congregation)的構

(22)

10

想 , 此 種 含 被 動 聚 集 因 子 的 粒 子 群 優 化 演 算 法 稱 為 PSOPC(Particle Swarm

Optimization with Passive Congregation)。在加入被動聚集因子後,標準粒子群優 化演算法中的速度更新公式則由(2-3)式修正為如下所示: (2-4) 其中: Ri:粒子群中隨機選擇的一個粒子 :被動聚集因子係數 :為[0,1]之間的隨機均勻亂數 被動聚集因子的概念來自於群體動物的行為而得,He 等人【9】藉由此種行 為,於標準粒子群優化演算法的速度更新公式中增加了一個被動聚集的部分。這 個部分代表了粒子群中任一粒子對其他粒子的影響。讓粒子速度的更新機制由原 先的三個部分修正為如(2-4)式所示,由四個部分來共同影響,其粒子的速度更新 示意圖如圖2-2 所示。後來的許多學者在相關的研究中也都會將含被動聚集因子 的粒子群優化演算法與學者們各自所提出的改良式粒子群優化演算法一同做比 較及討論。 2.1.5 粒子群蟻群優化演算法 Shelokar 等人【10】於 2007 年時提到 Angeline 在文獻【25】中表示,粒子 群優化演算法在搜尋效能上有兩個特性,第一個特性是粒子群優化演算法的速度 更新機制相較於其他的進化演算法,能更快速的搜尋到一合理之優質解;第二個 特性是如果粒子群在平衡狀態下,也就是位於收斂中心時,粒子群會因速度變緩 而很難再去搜尋到其他有可能為更佳解的答案,因此停滯了最佳解的更新。於是 Shelokar 等人【10】基於上述第一個特性,採用了粒子群優化演算法的全域搜尋 能力,並基於上述第二個特性,Shelokar 等人【10】選擇了蟻群演算法來彌補粒 子群優化演算法局部搜尋的弱點,因此Shelokar 等人【10】提出了一種結合粒子 群優化演算法及蟻群演算法的混合式演算法,稱為粒子群蟻群優化演算法 (Particle Swarm Ant Colony Optimization, PSACO)。該演算法為一種基於標準粒 子群優化演算法概念的改良式混合演算法,其最佳解尋找過程分為兩部分進行,

(23)

11 第一部分為個別粒子以粒子群優化演算法的速度更新機制,來促使粒子做全域搜 尋,其後粒子再以蟻群演算法的賀爾蒙引導機制,對各粒子當前的所在位置附近 進行局部搜尋,進而提升搜尋到全域最佳解的機率及品質,以這兩步驟持續進行 疊代的搜尋,藉此得到全域最佳解。 2.1.6 啟發式粒子群優化演算法 Li 等人【11】於 2007 年提到,在大多數的結構最佳化問題中都含有許多束 制條件,但傳統的數學最佳化演算法卻很難用來處理這些含有束制條件的結構最 佳化問題,其後陸續有許多處理這些束制條件的方法被提出,而其中最常被使用 的就是懲罰函數(penalty functions)的方法【26】。然而也有文獻【27,28】指出, 就如同使用其他處理束制條件的方法一樣,使用懲罰函數的方法也有它的缺點, 其中最主要的缺點有二,第一是在使用懲罰函數時必須增加一些調整用的參數至 演算法中,才能控制懲罰的大小以達到想要的目標;第二就是這些參數加入之後, 還必須將其調整到使目標函數及懲罰函數達到一個平衡為止,才能算是一個適當 的懲罰函數。如果不能提供適當的懲罰係數,那問題在最佳化過程中將會不容易 得到其最佳解,但是在使用懲罰函數時要如何定義一個適當的懲罰係數,往往都 是最困難也最不容易達到的。因此有學者【26】則提出另一種處理含束制條件之 邊界問題的新方法,稱為飛回機制(fly-back mechanism)。且 Li 等人指出文獻中 【26】也提到在含束制條件的結構最佳化設計中,全域最佳解通常都會靠近或在 合理解的邊界上,也因此當粒子群一開始隨機初始在合理解的區域中,並在合理 解的範圍內進行搜尋,粒子會因為越來越靠近合理解的邊界,而有機會越過邊界 並搜尋到一不合理解。在這種情況下會有兩種情形發生,一種是因為違反了最佳 化問題具體的限制而發生的不合理解,另一種則是因為違反了變數上下限的限制 而發生的不合理解。 Li 等人【11】則提到,由於在大多數結構最佳化設計中,尤其是一些大型或 者複雜的結構,找到一個滿意解所花費的時間也是一個主要考量的因素,故如何 減少搜尋到全域最佳解的時間也是個很重要的問題。因此Li 等人【11】於 2007 年提出了一種結合粒子群優化演算法及和諧搜尋演算法的混合式演算法,稱為 HPSO(Heuristic Particle Swarm Optimizer)。其概念在於粒子於搜尋空間中飛行搜

(24)

12 尋時,常會因粒子飛出合理解區域,而發生了上述兩種情形並需要花費一些時間 (迭代次數)來使粒子飛回到搜索空間中做有效的搜尋,因此造成一些多餘的浪費。 故 Li 等人【11】希望粒子群在飛行搜尋的過程中,使用飛回機制來處理最佳化 問題的具體限制,並配合和諧搜尋演算法來處理違反變數上下限之粒子,藉此再 生這些粒子使其能更充分地利用粒子的搜尋行為,有效地提升粒子的搜尋效率。 2.1.7 啟發式粒子群蟻群優化演算法 Kaveh 等人【12】於 2009 年時提到,標準粒子群優化演算法如何在全域搜 尋及局部搜尋中取得一個平衡是有一定的難度【25】。因此為了改善標準粒子群 優化演算法的這種問題,有些學者試著將粒子群優化演算法與其他演算法一同使 用,型成不同的混合式演算法,例如Shelokar 等人【10】於 2007 年將粒子群優 化演算法與蟻群演算法混合而成的粒子群蟻群優化演算法(PSACO),以粒子群優 化演算法進行全域搜尋後,再使用蟻群演算法對每個粒子的所在位置附近進行局 部搜尋,也就是取兩者之優點將其一同使用以找到全域最佳解;以及Li 等人【11】 於2007 年將粒子群優化演算法與和諧搜尋演算法混合而成的啟發式粒子群優化 演算法(HPSO),在粒子群搜尋過程中,配合使用和諧搜尋演算法來處理最佳化 問題的束制條件問題,以增加粒子群的搜尋效率,並同時降低搜尋到最佳解的時 間。因此Kaveh 等人【12】則於 2009 年提出了結合粒子群優化演算法、蟻群演 算法及和諧搜尋演算法的混合式最佳化演算法,稱為啟發式粒子群蟻群優化演算 法(Heuristic Particle Swarm Ant Colony Optimization, HPSACO)。其主要的構想為 結合粒子群優化演算法的全域搜尋能力、蟻群演算法的局部搜尋能力以及和諧搜 尋演算法處理束制條件問題的能力等各種優點於一身,使其能在整個搜尋過程中 都能夠利用各種最佳化演算法的優點來促使粒子達到最佳解的搜尋。不同於 Shelokar 等人【10】所提出的粒子群蟻群優化演算法,啟發式粒子群蟻群優化演 算法除了多了和諧搜尋演算法來處理束制條件的問題外,另一個不同的地方就是 最佳化演算法中所使用的粒子群優化演算法。粒子群蟻群優化演算法所根據的是 標準粒子群優化演算法,而啟發式粒子群蟻群優化演算法所根據的則是含被動聚 集因子的粒子群優化演算法,Kaveh 等人【12】表示,He 等人【9】於 2004 年 提出含被動聚集因子之粒子群優化演算法的同時,也以數個基準函數來測試該演

(25)

13 算法的成效,其測試結果也明顯的表示含被動聚集因子的粒子群優化演算法相較 於標準粒子群優化演算法,能擁有更好的收斂速度同時,也擁有更高的準確性。 以啟發式粒子群優化演算法搜尋最佳解的過程如下所述,粒子於一開始隨機 產生之後,經由粒子群優化演算法的速度更新機制來使粒子移動到下一個位置以 進行全域搜尋的動作,隨後即判斷粒子是否有違反束制條件,如果有違反束制條 件,則使用飛回機制或和諧搜尋演算法來重生粒子的位置,接著在每個粒子的所 在位置附近進行蟻群演算法,搜尋附近是否有更佳的問題解,接著再一次的判斷 粒子是否有違反束制條件,如果有違反束制條件,則再一次的使用飛回機制或和 諧搜尋演算法。持續這樣的循環使其能在每一次的迭代中,都能讓粒子進行充分 的搜尋,直至達到終止條件或者找到全域最佳解為止。

2.2 粒子群優化演算法流程

標準粒子群優化演算法的演算程序說明如下,其流程圖如圖2-3 所示【6】: 1. 給定相關設計資料:群體規模(M)、最大速度( )、最大迭代數( )、 慣性權重( )、學習因子( 、 )、目標函數、限制函數及結構系統的相 關資料。 2. 在解空間中隨機產生粒子群的初始位置 及初始速度 。 3. 對各粒子所在位置的解做結構矩陣分析,並根據目標函數及限制函數計 算初始位置的適應值 ,且令 為各粒子的初始位置 ,而 則為所有 中之最佳解。如(2-5)及(2-6)式所示。 , 1,2, … , (2-5) , 1,2, … , (2-6) 其中: :第i 個粒子的初始最佳位置向量 :所有粒子的初始最佳位置向量 :第i 個粒子的初始位置向量 :群體規模 4. 將各粒子所求出來的 及 ,代入(2-3)式中來更新各粒子下一代的搜

(26)

14 尋速度 ,並利用此更新後的速度,代入(2-2)式以更新各粒子下一代 的位置 。 5. 對更新位置後的每個粒子,再進行結構矩陣分析,配合目標函數及限制 函數計算 1代的適應值 後,與各粒子自身最佳解的適應值 及所有粒子中最佳解的適應值 做比較,繼而更新 及 ,如(2-7)及(2-8)式所示。 , , 1,2, … , , , 1,2, … , (2-7) , , 1,2, … , , , 1,2, … , (2-8) 6. 若演算法滿足終止條件時(如:搜尋次數達最大迭代數),則停止搜尋, 否則需重複步驟4 至 6,直到滿足終止條件為止。

(27)

15

第三章

研究方法

3.1 桁架結構最佳化設計

3.1.1 最佳化設計概念 基本上,一項工程設計的進行必須經由工程師依照相關規範及其他規定,配 合著工程師的專業知識、以往的經驗累積以及該工程所要求的功能需求,來做出 符合該工程之設計。在工程設計中,一個符合所有應滿足之束制條件的設計,即 為一個可行設計。而大多時候的工程設計皆同時擁有多種或無限多種的可行設計, 在這麼多的可行設計中,都分別有各種程度不同的差異,以及設計結果的優劣之 分,而所謂的最佳化設計,就是利用一系列有系統的方法,在這些可行設計中尋 求最適合者。 最早的結構最佳化設計概念,是在1904 年由 Michell【29】提出的桁架理論 中所出現。一般而言,結構最佳化設計可因設計目標的不同而將其區分成三個領 域,分別是尺寸最佳化設計(Size optimization design)、形狀最佳化設計(Shape optimization design)及拓樸最佳化設計(Topology optimization design)等。尺寸最佳 化主要改變結構中的斷面大小;型狀最佳化主要改變節點連接的位置;而拓璞最 佳化則主要改變結構中的材料分配,包含節點以及桿件數目。尺寸最佳化設計於 1960 年由 Schmit【30】提出後,成為了這三個領域中最早被發展的一支。 一般而言,結構最佳化的三個領域中,以尺寸最佳化設計屬最為普遍,而尺 寸最佳化設計的操作就是針對一已知外型之結構物,在滿足應力、位移或變形等 束制條件下,透過改變桿件斷面的寬度、厚度或斷面積等方式,使該結構達到我 們所設定的最小總重或最小成本等設計目標。對於桁架結構而言,其設計目標通 常就是求該桁架總重之最小值,而控制目標函數值的限制函數,則是各桿件所受 到的應力需在該桿件的最大容許應力內,以及各自由度的位移需在該自由度的最 大容許位移內。對於一個具有 n 根桿件及 m 個自由度的桁架結構而言,假設所 有桿件及自由度皆需滿足最大容許應力及最大容許位移之限制,則目標函數及限 制函數可分別表示成如(2-1)、(2-2)及(2-3)式所示。 目標函數: ∑ (3-1)

(28)

16 限制函數: , , 1,2, … , (3-2) , , 1,2, … , (3-3) 其中: :第 i 根桿件的材料密度 :第i 根桿件的斷面積 :第 i 根桿件的桿件長度 :第 i 根桿件所受到的應力 , :第i 根桿件的最大容許應力 :第j 個自由度的位移 , :第j 個自由度的最大容許位移 3.1.2 二維桁架結構分析 在桁架結構分析部分,採用直接勁度法來分析該桁架結構的整體勁度、節點 位移及桿件應力。其分析步驟如下所敘: 由材料力學的觀念可知,單一桿件內力與節點位移的關係如下: (3-4) 由圖3-1 所示,(3-4)式展開後為 L EA 0 0 0 0 0 1 0 1 -0 0 0 0 0 1 -0 1 (3-5) 其中: ~ :局部座標下的桿件內力 ~ :局部座標下的節點位移 E:桿件材料的楊式係數 A:桿件斷面積

(29)

17 L:桿件長度 由圖 3-1 中可推得桿件內力於局部座標及整體座標間轉換的關係如(3-6)及(3-7) 式所示:         cos sin -0 0 sin cos 0 0 0 0 cos sin -0 0 sin cos (3-6)         cos sin 0 0 sin -cos 0 0 0 0 cos sin 0 0 sin -cos (3-7) 其中: ~ :整體座標下的桿件內力 因此由(3-6)式可定義座標轉換矩陣 如下:         cos sin -0 0 sin cos 0 0 0 0 cos sin -0 0 sin cos (3-8) 並由(3-6)及(3-7)式可推得 (3-9) 再由圖3-1 中亦可得知局部座標與整體座標下節點位移的關係如下: (3-10) 由(3-5)及(3-6)式可得 (3-11) 將(3-10)式代入(3-11)式,可得 (3-12) 將(3-12)式等號兩邊同乘 ,可得

(30)

18 (3-13) 其中 為一根桿件在整體座標下之勁度矩陣,矩陣內容如下: L EA (3-14) 再將各桿件所求出來的 ,依照自由度的編號,放置並加總到相對應的位置, 即可組合成完整結構在整體座標下之勁度矩陣 ,矩陣內容如下: (3-15) 其中: :完整結構在整體座標下之勁度矩陣 m:自由度的個數 將每個節點上所受的力及位移,按照自由度列成行向量,並配合 矩陣後,可 將其表示成如(3-13)式之格式如下: (3-16) 其中: :所有節點所受力之行向量 :所有節點所受位移之行向量 m:自由度的個數 若再將(3-16)式以外力點及反力點來區分的話,則可表示成如下: (3-17)

(31)

19 其中: :外力點 :反力點 因為支承點不會有位移,所以(3-17)式中的 0,因此(3-17)式可簡寫如下: (3-18) (3-19) 將(3-18)式等號兩邊同乘 ,即可得到節點位移如下: (3-20) 求出節點位移之後,將(3-13)式代入(3-11)式中,即可得到桿件之內力如下: (3-21) 最後再將(3-21)式中所得到的桿件內力,除上桿件的斷面積,即可得到桿件所受 到的應力如下: (3-22) 最後,即可將(3-20)及(3-22)式所求得之節點位移及桿件應力,拿來與最大容許位 移及最大容許應力比較,檢查該組桿件斷面是否滿足束制條件。 3.1.3 三維桁架結構分析 三維桁架結構與二維桁架結構的直接勁度法觀念,主要差異在於節點的自由 度數目。二維桁架結構的節點自由度為2,但三維桁架結構的節點自由度為 3, 如圖3-2 所示。且由圖 3-2 中可推得在局部座標及整體座標下桿件內力的關係如 下所示: 0 0 0 0 0 0 (3-23)

(32)

20 其中: :桿件與X 軸夾角之 cos 值,即 :桿件與Y 軸夾角之 cos 值,即 :桿件與Z 軸夾角之 cos 值,即 因此可由(3-23)式定義座標轉換矩陣 如下: 0 0 0 0 0 0 (3-24) 而一根桿件在整體座標下的勁度矩陣 則如下: EA L (3-25) 除了上述的式子外,其餘的分析計算過程則與二維桁架結構相似,故在此就不再 加以贅述。

3.2 改良式粒子群優化演算法

傳統的標準粒子群優化演算法憑藉著圖2-3 之流程來使粒子趨向並得到最佳 解,但如1.2 節所述,粒子群若沒有於前期的全域搜尋中獲得較佳的搜尋資訊, 則會因過早進入局部搜尋階段,而容易陷入局部最佳解中並無法脫離,因此將在 本節中介紹本研究所提出的改良式粒子群優化演算法。 3.2.1 改良式粒子群優化演算法概念 在結構最佳化設計中,最佳解通常會位於解空間中合理解(feasible region)與 不合理解(infeasible region)的邊界上,因此粒子群一開始雖然是均勻隨機分佈在 解空間中,但是在搜尋最佳解的過程當中,粒子群會逐漸趨向合理解與不合理解 的邊界。在這個過程當中,粒子是先經過結構矩陣分析後,讓得到的結果成為下 一次搜尋的資訊,然後將粒子移動至新的位置,再重複結構矩陣的運算。利用此 循環一代又一代慢慢的將粒子推向合理解與不合理解的邊界,最後才得到問題的

(33)

21 最佳解。 我們知道粒子於搜尋前期是經由一步步的移動才會趨向合理解與不合理解 的邊界,在這一步步的過程中,粒子其實停留了很多不必要的位置,也做了很多 無謂的結構矩陣運算,浪費了不少時間成本。然而,既然我們知道粒子一定會往 合理解與不合理解的邊界過去,那何不於一開始隨機產生粒子群後,就直接將粒 子們送往合理解與不合理解的邊界上呢? 此外,由於粒子群的群體行為,會促使所有粒子逐漸趨向各自及群體所經歷 過最佳解的加權中心位置,導致粒子群由前期的全域搜尋在後期轉變為局部搜尋, 也因此喪失了問題解的多樣性。倘若粒子群不是收斂在全域最佳解的附近,而是 落在局部最佳解的周圍,則粒子群就會很難找到全域最佳解。 基於上述兩個標準粒子群優化演算法的問題,本研究提出了兩個相應的策略 來將其做修正,取名後分別為「邊界移動法」及「粒子飛離法(fly away)」。針對 粒子的移動問題,採用邊界移動法將前期全域搜尋階段的粒子瞬間移動到鄰近的 邊界上,使粒子群能有效降低在不重要區域的搜尋時間;並使用粒子飛離法將靠 近收斂中心的粒子隨機拋離有限的距離,使得粒子在收斂中心與指定的搜尋半徑 內均勻分布,藉此避免粒子群因過早收斂而喪失問題解的多樣性,失去找到全域 最佳解的可能性。針對這兩項策略,於下一節中做更詳盡的說明。 3.2.2 邊界移動法 在結構最佳化設計中,我們知道最佳解通常是位於合理解與不合理解的邊界 上,因此我們將這塊區域視為重要區域,而越遠離這塊區域的地方則視為不重要 區域。在搜尋前期於解空間中隨機分佈的粒子群,會花費一些時間逐步更新各自 及群體所經歷過的最佳解,使粒子群由不重要區域逐漸趨向重要區域,如圖3-3 所示。因此本研究中提出了一種取名為「邊界移動法」的策略,該策略的主要構 想為使前期全域搜尋階段的粒子能在短時間內就可快速移動到鄰近的重要區域 上,藉此降低粒子群於不重要區域裡的搜尋時間及一些不必要的運算,該示意圖 如圖3-4 所示。 以結構矩陣做結構分析時,很重要的一個方程式如(3-26)式所示: (3-26)

(34)

22 其中: :節點所受的外力矩陣 :結構之整體勁度矩陣 :節點變位矩陣 由(3-26)式我們知道 ,且由(3-25)式亦可知 ,可得 (3-27) 同時由(3-22)式中,亦可得到 (3-28) 由(3-27)及(3-28)式我們得知,當桁架結構中所有桿件的斷面積同時發生線性 改變時,各節點的位移及各桿件的應力也會呈現線性改變。另外,由於桁架結構 的尺寸最佳化設計中,需在結構的任一節點位移達到最大容許位移或任一桿件應 力達最大容許應力等條件下,得到一組最經濟斷面,即為最佳設計斷面。對於一 個具有 n 根桿件及 m 個自由度的桁架結構而言,邊界移動法的主要概念步驟如 下: 1. 將一開始隨機產生之粒子,進行結構矩陣分析並求出該組斷面相對應的各節 點位移及各桿件應力。 2. 將最大容許應力除以各桿件應力中的最大值,可得到一比值如下所示: , , 1,2, … , (3-29) 其中: , :第i 根桿件的最大容許應力 :第 i 根桿件的應力 3. 將最大容許位移除以各節點位移中的最大值,可得到另一比值如下所示: , 1,2, … , (3-30) 其中: :節點的最大容許位移

(35)

23 :第j 個自由度的位移 4. 將該組桿件斷面積除以比值 及 的較小者,即可得到一組更新後的斷面積 如下所示: ⁄ , , , (3-31) 其中: :經由邊界移動法後得到之新的斷面積 :桿件的斷面積 5. 更新桿件的斷面積後,藉由(2-3)及(2-2)式來更新粒子下一代的速度及位置, 並做完結構矩陣分析,再重複步驟2 至 5,直到迭代次數達邊界移動法之使 用代數為止。 在經過上述邊界移動法的步驟後,可使一開始均勻隨機分布在解空間中的粒 子群,在很短的時間內直接移動到離該粒子最近的合理解與不合理解之邊界上, 有效的增加前期的收斂速度並減少不必要的運算。此外,由於邊界移動法是為了 讓粒子於搜尋前期可以很快速的移動至合理解與不合理解的邊界上,藉此降低粒 子於搜尋前期時在不重要區域中的搜尋時間,因此當粒子群整體相當靠近收斂中 心時,卻仍然使用此策略的話,則有可能會減緩甚至阻止粒子收斂至收斂中心。 所以在這個考慮下,本人在此做了一個測試,其設定如下所示: 1. 以標準粒子群優化演算法為測試標準。 2. 使用 10 根平面桁架做為測試案例。 3. 使用邊界移動法的次數分別為不使用、1 次、5 次、10 次及 20 次等五 種案例。 4. 每種案例皆個別獨立執行 30 次,取最常出現的收斂類型為該種案例的 代表,藉此比較邊界移動法的最佳使用次數。 圖 3-5 及圖 3-6 所示即為標準粒子群優化演算法以 10 根平面桁架為測試案 例,在邊界移動法使用不同次數下的收斂情形。由圖中可以看出粒子群優化演算 法在加入邊界移動法後,其初始的適應值相對於沒有使用邊界移動法的粒子群優 化演算法是好許多的,而隨後幾次迭代搜尋的收斂速度也會因此而有大幅的提升, 讓粒子群在開始搜尋後沒多久的時間內,即找到一定程度的問題解。

(36)

24 在這個測試中,我們得知若於第一代搜尋時使用邊界移動法,可以有效的降 低初始的適應值,而其中使用5 次、10 次及 20 次邊界移動法的測試案例,則於 第一代搜尋後仍然以很快的收斂速度在進行搜尋,並且獲得更好的問題解。然而, 由於是以隨機亂數來產生初始位置的關係,所以在使用這三種次數限制做測試時, 都有機率可以在很少的迭代次數中就獲得很好的問題解,但是在各自經過30 次 的獨立測試後,發現使用20 次的邊界移動法時,平均上能有比較好的收斂結果, 因此在本研究中,邊界移動法的使用代數則設定為只在演算法開始搜尋時的前 20 代為止。 3.2.3 粒子飛離法 粒子群優化演算法的一大特色為擁有很快的收斂速度,能在該更新機制下很 快的引導粒子趨向各自及群體所經歷過最佳解的加權中心位置,但也因為擁有這 樣快速的收斂速度,導致粒子群在收斂過程中容易忽略了一些重要資訊並且喪失 問題解的多樣性。在文獻中也指出,粒子群優化演算法容易因為它的快速收斂, 使得粒子群落入局部最佳解中,並因失去問題解的多樣性而無法跳脫【18】。 在許多關於粒子群優化演算法的文獻中,大部分的學者為了使粒子群能擁有 跳脫局部最佳解的能力,而對標準粒子群優化演算法做了修改。在1.2 節中提過, 學者對於粒子群優化演算法的主要調整方法有二,第一種方法是針對(2-3)式下去 做調整,亦即改變粒子的移動速度,增加一隨機亂數,讓粒子有機率能依靠這項 亂數值來增加問題解的多樣性,使其能跳脫出局部最佳解;另一種方法則是將粒 子群優化演算法結合其他最佳化演算法,截取演算法各自的長處來加以共同利用, 藉此補強粒子群優化演算法的強健性,使其較不容易因陷入局部最佳解中而失去 搜尋能力。 本研究中提出的另一個策略取名為「粒子飛離法」,其主要構想是針對粒子 群於搜尋期間,因為快速收斂而失去了問題解的多樣性,同時也有可能錯過了全 域最佳解而收斂至局部最佳解中。因此為了加強找到全域最佳解的機率,使用粒 子飛離法將靠近收斂中心的粒子隨機拋離有限的距離,使得粒子在收斂中心與指 定的搜尋半徑內均勻分布,藉此可避免粒子群因收斂過快的問題而喪失問題解的 多樣性,導致粒子群困在局部最佳解中。

(37)

25 與其他文獻不同的是,其他文獻是針對粒子的速度下去做修正,而粒子飛離 法的主要概念則是針對粒子的位置直接做修正,其示意圖如圖3-7 所示且主要的 步驟如下所示: 1. 設定一個基準空間,即執行粒子飛離法的空間。 粒子飛離法的概念是為了阻止粒子的收斂,亦即為了增加問題解的多樣 性而想出的一種策略。所以假如粒子尚位於離收斂中心很遠的地方,也就是 問題解還具有多樣性時,就對粒子進行該策略,則會因為粒子還具有多樣性 而失去了該策略的意義。因此需要以收斂中心為基準設定一個基準空間,使 粒子飛進這個基準空間後才會有一固定機率啟動這個策略。在本研究中,對 於一個D 維的最佳化問題,其基準空間的設定如下: , , , , … , , (3-32) , , 0.1 , , 1,2, … , , , , , … , , (3-33) , , 0.1 , , 1,2, … , 其中: :基準空間的上限 :基準空間的下限 :搜尋空間上限 :搜尋空間下限 Pg:所有粒子所經歷過的最佳位置向量 k:迭代數 2. 設定一個飛離空間,即粒子飛離時的最大空間。 粒子群在執行粒子飛離法時,是隨機飛到一個有限距離的地方,而這個 有限距離地方的最遠處所包圍起來的空間,即為粒子的飛離空間。 由於希望粒子在搜尋過程中能在不失粒子多樣性的同時,也能集中在較 可能出現全域最佳解的附近做搜尋,因此假如讓粒子一直飛離至完整的解空 間中,雖然能夠增加粒子的多樣性,但卻也會造成粒子的分散而無法集中搜

(38)

26 尋可能性較大的區域,導致可能無法找到全域最佳解;又假如讓粒子一直飛 離在一小區域中,則雖然能做集中搜尋,但卻可能會有多樣性不足的問題發 生,因此也失去了粒子飛離法的用意,故需要設定一個適當的粒子飛離空間。 在本研究中,對於一個 D 維的最佳化問題,且每一維搜尋空間的上下限分 別為smax 及 smin,其飛離空間的設定如下: , , , , … , , (3-34) 其中: k:迭代數 :搜尋空間上限 :搜尋空間下限 為了達到上述的目的,這個適當的飛離空間在本研究中則設定為一線性 縮小的空間,然而飛離空間如果一直無限制的縮小,到最後粒子一樣會失去 其多樣性,也就失去了使用粒子飛離法的意義,故需設定一個最小的限度來 限制飛離空間的持續縮小,使其不會因飛離空間無限制的縮小而發生上述問 題,因此在本研究中所使用限制條件則設定為當粒子群的迭代數達最大迭代 數的 80%時,飛離空間剛好為最初搜尋空間的 20%。另外由於飛離空間在 縮小的同時也就意味著將捨棄一些搜尋空間,使粒子群能夠更集中的搜尋某 個區塊,因此本人希望在縮小飛離空間前,能有一小段時間進行較完整的全 域搜尋,使其能夠在進行局部搜尋之前,可以充分獲得相關的資訊,提升搜 尋到最佳解的機率,故本研究中則設定粒子飛離法在執行之後,當粒子群的 迭代數達最大迭代數的20%時,才開始執行飛離空間的縮小。其飛離空間縮 小的情形如圖3-8 所示,而縮小的關係式則如下所示: , , ⁄2 , , ⁄2 (3-35) 0.8 0.6 , , ⁄2 , , ⁄2 (3-36)

(39)

27 0.8 0.6 3. 設定一個啟動機率,即粒子於基準空間中執行粒子飛離法的機率。 雖然設定了一基準空間,使得粒子飛進基準空間後才會執行粒子飛離法, 但如果粒子一飛進基準空間後即一定執行粒子飛離法,則粒子會因一直飛離 收斂中心而導致無法收斂,因此也一樣會有找不到全域最佳解的可能性。所 以需設定一個啟動機率,讓粒子於基準空間內,可以以一定的機率來執行粒 子飛離法。由於考慮到粒子的收斂速度很快,因此在本研究中這個啟動機率 設定為0.2,即 20%。 在經過上述粒子飛離法的步驟後,可使原先粒子群因過早收斂而喪失問題解 的多樣性,並失去找到全域最佳解之可能性的問題加以改善。另外,由於粒子飛 離法的加入,使得原先粒子群優化演算法的搜尋特性有了些不同的改變,即由全 域搜尋轉為局部搜尋的特性,改變成由全域搜尋轉為半全域與局部共存的搜尋模 式,藉此加強或改善粒子群的搜尋品質。

3.2.4 飛回機制(Fly back mechanism)

在含束制條件的最佳化問題中,會有另一個重要問題就是束制條件的邊界問 題。在許多含束制條件之最佳化問題的文獻中,最常見也是目前最為廣泛用來處 理邊界問題的方法就是懲罰函數(Penalty Function)法。 然而一些實驗結果表示,懲罰函數的結果會將位於不合理解空間裡的粒子重 置到該粒子所經歷過的最佳位置,所以有時候反而會制止粒子搜尋至全域最佳解, 因此懲罰函數的使用會降低粒子群優化演算法的搜尋效率【26】。為了改善粒子 群優化演算法在使用懲罰函數時的問題,He 等人【26】於 2004 年提出了另一種 處理邊界問題的方法,稱為「飛回機制(fly back mechanism)」。

如3.2.1 節中所提到在結構的最佳化設計時,最佳解往往都在合理解與不合 理解的邊界上,然而不只是結構最佳化設計,許多最佳化的問題也都有此特性, 因此粒子在搜尋最佳解的過程當中,很有可能因為速度過快衝過了合理解的邊界, 使得問題解成為不合理解【26】。 粒子飛回機制的構想為當粒子在合理解的空間飛行搜尋時,雖然有最大速度 的限制,但依然會有因為速度過快而飛出合理解邊界的可能,然而一旦有粒子飛

(40)

28 出合理解邊界,即飛入不合理解區域時,粒子飛回機制將會強迫使粒子返回前一 次的位置,以確保粒子仍然為合理解,而粒子在經由這個動作之後,於下一次的 搜尋中又有機會可以到達或更靠近邊界,藉此提升搜尋到全域最佳解的機率。 一些實驗結果顯示,這種飛回機制對於處理含束制條件的最佳化問題,比起 其他處理邊界問題的技術,更能在較少的迭代次數中取得較好的問題解,因此這 種飛回機制很適合用來處理含束制條件之最佳化邊界的問題【26】。故本研究中 亦引用了這種飛回機制來處理最佳化的邊界問題。 3.2.5 停止條件 在粒子群優化演算法這種需經過疊代搜尋後才能得到最佳解的最佳化演算 法中,要啟動演算法的搜尋很容易,但要如何使其停止以及什麼時候停止卻是一 個很重要部份,在這個部分中,常見的停止條件有下列幾種: i. 一固定之最大迭代數。 ii. 連續某一定量之迭代數皆沒有得到更好的問題解。 然而在本研究中所使用的停止條件是為上述第一種方法,也就是當粒子群優 化演算法啟動並開始迭代搜尋後,必須迭代至一個預設的最大迭代數後才會停止 搜尋,在本研究中則設定此最大迭代數為400 代。 3.2.6 改良式粒子群優化演算法流程 改良式粒子群優化演算法的演算程序,因為加入了兩個新的改良策略,因此 與2.2 節中所介紹的標準粒子群優化演算法的演算程序略有不同,改良式粒子群 優化演算法的演算程序說明如下,其流程圖如圖3-9 所示: 1. 給定相關設計資料:群體規模(M)、最大速度( )、最大迭代數( )、 慣性權重( )、學習因子( 、 )、目標函數、限制函數、結構系統的相 關資料、邊界移動法的使用代數、粒子飛離法的基準空間及飛離空間。 2. 在解空間中隨機產生粒子群的初始位置 及初始速度 。 3. 對各粒子所在位置的解做結構矩陣分析,並求得該組斷面下各桿件應力 及各節點位移,與其相對應之最大容許應力及最大容許位移的比例 、 後,即可使用邊界移動法將粒子瞬間移動至合理解與不合理解的邊界上,

(41)

29 以加速粒子的收斂。 4. 根據目標函數及限制函數計算該位置的適應值 ,且令 為各 粒子的初始位置 ,而 則為所有 中之最佳解。如(2-3) 及(2-4)式所示。 5. 將各粒子所求出來的 及 ,代入(2-1)式中來更新各粒子下一代的搜 尋速度 ,並利用此更新後的速度,代入(2-2)式以更新各粒子下一代 的位置 。 6. 利用兩個條件判斷粒子更新後的位置 是否滿足粒子飛離法的執行 條件,判斷條件如下所示: i. 粒子的位置是否落於粒子飛離法的基準空間內。 ii. 是否達到啟動機率。 若 滿足上述兩個條件後,則執行粒子飛離法讓粒子飛離至飛離空間 中的任一隨機位置,並使這個位置為該粒子的 。 7. 對更新位置後的每個粒子,再進行結構矩陣分析,配合目標函數及限制 函數計算 1代的適應值 後,與各粒子自身最佳解的適應值 及所有粒子中最佳解的適應值 做比較,繼而更新 及 ,如(2-5)及(2-6)式所示。 8. 若演算法滿足終止條件時(如:搜尋次數達最大迭代數),則停止搜尋, 否則需重複步驟3 及 5 至 8,直到滿足終止條件為止。

數據

表 4-5 例一,不同粒子群優化演算法所找到的最佳設計斷面
表 4-8 例一,最佳設計斷面比較表
表 4-19 例三,最佳設計斷面經結構分析後之各節點位移  各節點位移(in)
表 4-21 例三,最佳設計斷面比較表
+7

參考文獻

相關文件

本案件為乳癌標準化化學藥物治療與個人化化學治 療處方手術前化學治療療效比較之國內多中心研 究,於 2008 年 8 月 1 日由

在不影響主流課程結構下,接納和 認識學生的不同文化背境,有效地 把不同學生族群的文化元素(如節

最佳解裡面如果沒有greedy choice的話, 則想辦法 把最佳解裡面的一些東西和greedy choice互換. 結 果發現這個新解跟greedy choice一樣好

微算機原理與應用 第6

介面最佳化之資料探勘模組是利用 Apriori 演算法探勘出操作者操作介面之 關聯式法則,而後以法則的型態儲存於介面最佳化知識庫中。當有

二個 ZigBee 的頻段是 1、第三個 ZigBee 的頻段也是 1 ,那麼 第一個 ZigBee 就和第二三個 ZigBee 無發互相傳送資料但是第 二個和第三個

Keywords: light guide plate, stamper, etching process, Taguchi orthogonal array, back-propagation neural networks, genetic algorithms, analysis of variance, particle

我們提出利用讀取器與讀取器間的距離為參數來優化利用分層移除讀取器之方法的最佳 化技術 Distance Based Optimization for Eliminating Redundant Readers (DBO) ,此方法完全