版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> JIU JIANG UNIVERSITY</p><p><b> 畢 業(yè) 論 文</b></p><p> 題 目 PSO算法及其應(yīng)用 </p><p> 英文題目 Particle Swarm Optimization Algorithm and Its Application
2、 </p><p> 院 系 信息科學(xué)與技術(shù)學(xué)院 </p><p> 專 業(yè) 信息管理與信息系統(tǒng) </p><p> 姓 名 </p><p> 班級學(xué)號 A073126 </p>
3、<p> 指導(dǎo)教師 </p><p><b> 二○一一年五月</b></p><p><b> 摘 要</b></p><p> 粒子群優(yōu)化是一種新興的基于群體智能的啟發(fā)式全局搜索算法,粒子群優(yōu)化算法通過粒子間的競爭和協(xié)作以實現(xiàn)在復(fù)雜搜索空間
4、中尋找全局最優(yōu)點。它具有易理解、易實現(xiàn)、全局搜索能力強(qiáng)等特點,倍受科學(xué)與工程領(lǐng)域的廣泛關(guān)注,已經(jīng)成為發(fā)展最快的智能優(yōu)化算法之一。論文介紹了粒子群優(yōu)化算法的基本原理,分析了其特點。論文中圍繞粒子群優(yōu)化算法的原理、特點與應(yīng)用等方面進(jìn)行綜述。然后對粒子群算法在無約束非線性函數(shù)極值尋優(yōu)、線性規(guī)劃、有約束非線性函數(shù)求極值等方面進(jìn)行了簡單的應(yīng)用。最后對其未來的研究提出了一些建議及研究方向的展望。 </p><p> 關(guān)鍵詞
5、:粒子群優(yōu)化算法,參數(shù),無約束,有約束,非線性函數(shù),線性規(guī)劃,最優(yōu)解 Abstract</p><p> Particle swarm optimization is an emerging global based on swarm intelligence heuristic search algorithm, particle swarm optimiz
6、ation algorithm competition and collaboration between particles to achieve in complex search space to find the global optimum. It has easy to understand, easy to achieve, the characteristics of strong global search abili
7、ty, and has never wide field of science and engineering concern, has become the fastest growing one of the intelligent optimization algorithms. This pap</p><p> Key words:Particle Swarm Optimization, Parame
8、ter, Unconstrained, Constraints, Nonlinear Functions, Linear Programming, Optimal Solution </p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> Abstract II
9、</p><p><b> 1 緒論</b></p><p> 1.1研究背景和課題意義(1)</p><p> 1.2國內(nèi)外粒子群算法的研究現(xiàn)狀(2)</p><p> 1.3應(yīng)用領(lǐng)域(3)</p><p> 1.4論文結(jié)構(gòu)(4)</p><p>
10、1.5本章小結(jié)(4)</p><p> 2 基本粒子群算法</p><p> 2.1粒子群算法的起源(5)</p><p> 2.2算法原理(6)</p><p> 2.3基本粒子群算法流程(7)</p><p> 2.4特點 (10)</p><p> 2.5本章小結(jié)
11、(10)</p><p> 3 PSO仿真實驗</p><p> 3.1 無約束非線性函數(shù)的背景信息(11)</p><p> 3.2 測試無約束非線性函數(shù)(11)</p><p> 3.3 測試并驗證有約束的線性函數(shù)(16)</p><p> 3.4 測試有約束的非線性函數(shù)(18)</p&g
12、t;<p> 3.5本章小結(jié)(19)</p><p> 4 粒子群群優(yōu)化算法的改進(jìn)策略</p><p> 4.1 粒子群初始化 (21)</p><p> 4.2 領(lǐng)域拓?fù)?21)</p><p> 4.3 混合策略(24)</p><p> 4.4本章小結(jié)(26)</p&g
13、t;<p> 總結(jié)與展望(27)</p><p><b> 致 謝(28)</b></p><p><b> 參考文獻(xiàn)(29)</b></p><p><b> 1 緒論</b></p><p> 1.1 研究背景和課題意義</p>
14、<p> 粒子群優(yōu)化算法是一種新興的基于群體智能的啟發(fā)式全局搜索算法,背景是人工生命,“人工生命”是來研究具有某些生命基本特征的人工系統(tǒng)。</p><p> 現(xiàn)在已經(jīng)有很多源于生物現(xiàn)象的計算技巧。例如,人工神經(jīng)網(wǎng)絡(luò)是簡化的大腦模型。遺傳算法是模擬基因進(jìn)化過程的。現(xiàn)在我們討論另一種生物系統(tǒng)——社會系統(tǒng)。也可稱做“群智能”(swarm intelligence)。這些模擬系統(tǒng)利用局部信息從而可能產(chǎn)生
15、不可預(yù)測的群體行為。</p><p> 粒子群優(yōu)化算法(簡稱PSO)也是起源于對簡單社會系統(tǒng)的模擬。最初設(shè)想是模擬鳥群覓食的過程。但后來發(fā)現(xiàn)PSO是一種很好的優(yōu)化工具。</p><p> 優(yōu)化是科學(xué)研究、工程技術(shù)和經(jīng)濟(jì)管理等領(lǐng)域的重要研究課題。粒子群優(yōu)化算法[1]是由Kennedy和Eberhart通過對鳥群、魚群和人類社會某些行為的觀察研究,于1995年提出的一種新穎的進(jìn)化算法。&l
16、t;/p><p> PSO是一種概念簡單, 收斂速度快的優(yōu)化算法, 它在解決各種問題和實際應(yīng)用中都具有獨特的優(yōu)勢。無論是在自身的數(shù)學(xué)基礎(chǔ)還是與其它優(yōu)秀的算法, 模型相結(jié)合上, 都有很大的發(fā)展空間。更重要的是PSO算法向我們展示了這樣一種思想: 使</p><p> 智慧出現(xiàn)而不是努力強(qiáng)迫智慧;模擬自然而不是力圖控制自然;尋求使事情簡單化而不是使它復(fù)雜化。</p><p&
17、gt; PSO算法是一種啟發(fā)式的優(yōu)化算法,其最大的優(yōu)點在于:</p><p> ?。?)易于描述,易于理解;</p><p> ?。?)對優(yōu)化問題定義的連續(xù)性無特殊要求;</p><p> ?。?)只有非常少的參數(shù)需要調(diào)整;</p><p> ?。?)算法實現(xiàn)簡單,速度快;</p><p> ?。?)相對其他演化算法
18、而言,只需要較小的演化群體;</p><p> ?。?)算法易于收斂,相比其他演化算法,只需要較少的評價函數(shù)計算就可以達(dá)到收斂;</p><p> (7)無集中控制約束,不會因個別的故障影響整個問題的求解,確保了系統(tǒng) 具備很強(qiáng)的魯棒性。</p><p> 雖然PSO算法發(fā)展迅速并取得了可觀的研究成果,但鑒于PSO的發(fā)
19、展歷史尚短,它在理論基礎(chǔ)與應(yīng)用推廣上都還存在一些缺陷,有待解決。本文通過對PSO算法進(jìn)行步驟和特點的歸納、分析后,將該算法用于解決無約束非線性函數(shù)、通過罰函數(shù)處理函數(shù)的約束,并用單純形法求出的結(jié)果驗證PSO算法求解的正確性,進(jìn)而求解有約束的非線性函數(shù)的最優(yōu)值。</p><p> 1.2 國內(nèi)外粒子群算法的研究現(xiàn)狀</p><p> 粒子群優(yōu)化算法本身具有概念簡單和易于實現(xiàn)的優(yōu)點,在短短
20、幾年中得到很人發(fā)展,迅速引起了國際上相關(guān)領(lǐng)域眾多學(xué)者的廣泛關(guān)注和研究,并在許多領(lǐng)域取得了成功的應(yīng)用。</p><p> 目前,粒子群優(yōu)化算法的研究大致可分為以下幾個領(lǐng)域[2]:算法的理論研究、算法的改進(jìn)研究以及算法的應(yīng)用研究。 </p><p> ?。?)粒子群優(yōu)化算法的理論研究</p><p> 研究一種算法首先要從它的原理進(jìn)行研究,研究粒子群算法就要首先研究
21、粒子之間是如何通過相互作用與運(yùn)動而最終達(dá)到全局優(yōu)化的。與生物社會特性基礎(chǔ)相比,PSO算法的數(shù)學(xué)基礎(chǔ)還相對薄弱,缺乏深刻且具有普遍意義的理論分析,因此對PSO算法數(shù)學(xué)基礎(chǔ)的研究非常重要。在PSO算法的理論研究方面,更多的研究者致力于研究算法的結(jié)構(gòu)和性能改善,包括參數(shù)分析,拓?fù)浣Y(jié)構(gòu),粒子多樣性保持,算法融合和性能比較等。</p><p> ?。?)粒子群優(yōu)化算法的改進(jìn)研究</p><p>
22、自Kennedy和Eberhart提出PSO算法,吸引了不少研究者。PSO算法的改進(jìn)研究是PSO算法研究的重要分支,關(guān)于PSO算法改進(jìn)的內(nèi)容十分龐大。PSO算法的改進(jìn)來自于它在實際應(yīng)用中出現(xiàn)的一些不完善的問題。其中最主要的是它容易產(chǎn)生早熟收斂、局部尋優(yōu)能力較差等。實際上這些缺點也是幾乎所有隨機(jī)算法的弊病。其中混合PSO是改進(jìn)研究的熱點,其發(fā)展非常迅速。除了將進(jìn)化算法中的選擇、交叉以及編譯算子引入PSO算法外,還有很多與其他經(jīng)典優(yōu)化技術(shù)相
23、結(jié)合的混合PSO算法。有人將它與模擬退火算法相混合,有些人將它與單純形法相混合。但是最多的是將它與遺傳算法的混合。根據(jù)遺傳算法的三種不同算子可以生成3種不同的混合算法。</p><p> 粒子群算法與選擇算子的結(jié)合,這里相混合的思想是:在原來的粒子群算法中,我們選擇粒子群群體的最優(yōu)值作為pg,但是相結(jié)合的版本是根據(jù)所有粒子的適應(yīng)度的大小給每個粒子賦予一個被選中的概率,然后依據(jù)概率對這些粒子進(jìn)行選擇,被選中的粒子
24、作為pg,其它的情況都不變。這樣的算法可以在算法運(yùn)行過程中保持粒子群的多樣性,但是致命的缺點是收斂速度緩慢。</p><p> 粒子群算法與雜交算子的結(jié)合,結(jié)合的思想與遺傳算法的基本一樣,在算法運(yùn)行過程中根據(jù)適應(yīng)度的大小,粒子之間可以兩兩雜交,比如用一個很簡單的公式:</p><p> w(新)=n×w1+(1-n)×w2</p><p>
25、 w1與w2就是這個新粒子的父輩粒子。這種算法可以在算法的運(yùn)行過程中引入新的粒子,但是算法一旦陷入局部最優(yōu),那么粒子群算法將很難擺脫局部最優(yōu)。</p><p> 粒子群算法與變異算子的結(jié)合,結(jié)合的思想:測試所有粒子與當(dāng)前最優(yōu)的距離,當(dāng)距離小于一定的數(shù)值的時候,可以拿出所有粒子的一個百分比(如10%)的粒子進(jìn)行隨機(jī)初始化,讓這些粒子重新尋找最優(yōu)值。</p><p> ?。?)粒子群算法的應(yīng)
26、用研究</p><p> PSO最早應(yīng)用于非線性連續(xù)函數(shù)的優(yōu)化和神經(jīng)元網(wǎng)絡(luò)的訓(xùn)練[15-16],后來也被用于解決約束優(yōu)化問題,Kennedy和Eberhart又提出了PSO的離散二進(jìn)制版本。用于解決組合優(yōu)化問題。Eberhart用PSO來分析人類的帕金森綜合癥等顫抖類疾病。很多研究者在神經(jīng)網(wǎng)絡(luò)訓(xùn)練、平面選址、函數(shù)優(yōu)化、多目標(biāo)優(yōu)化以及旅行商、車輛路徑優(yōu)化等領(lǐng)域,國內(nèi)學(xué)者也開展了相關(guān)研究。</p>&
27、lt;p><b> 1.3 應(yīng)用領(lǐng)域</b></p><p> 在眾多領(lǐng)域得到了廣泛應(yīng)用。本文將應(yīng)用研究分典型理論問題研究和實際工業(yè)應(yīng)用兩大類。</p><p> 典型理論問題包括:組合優(yōu)化、約束優(yōu)化、多目標(biāo)優(yōu)化、動態(tài)系統(tǒng)優(yōu)化等。例如:PSO最直接的應(yīng)用是函數(shù)優(yōu)化問題。包括多元函數(shù)優(yōu)化、帶約束優(yōu)化問題,研究發(fā)現(xiàn)。微粒群優(yōu)化算法在解決一些典型函數(shù)優(yōu)化問題時。
28、能夠取得比遺傳算法更好的優(yōu)化效果。此外,PSO還在各種復(fù)雜的優(yōu)化問題。動態(tài)優(yōu)化問題和多目標(biāo)優(yōu)化問題中得到成功應(yīng)用。</p><p> 實際工業(yè)應(yīng)用有:電力系統(tǒng)、濾波器設(shè)計、自動控制、數(shù)據(jù)聚類、模式識別與圖像處理、化工、機(jī)械、通信、機(jī)器人、經(jīng)濟(jì)、生物信息、醫(yī)學(xué)、任務(wù)分配等。例如在神經(jīng)網(wǎng)絡(luò)訓(xùn)練中,PSO是一種非常有潛力的神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法,它操作簡單,不僅用于訓(xùn)練網(wǎng)絡(luò)的權(quán)重,而且可以進(jìn)化網(wǎng)絡(luò)的結(jié)構(gòu)。結(jié)果均顯示利用PS
29、O訓(xùn)練神經(jīng)網(wǎng)絡(luò)是一種快速、高效的方法。</p><p><b> 1.4 論文結(jié)構(gòu) </b></p><p> 本文介紹了粒子群優(yōu)化算法的研究背景、課題意義以及該算法的當(dāng)前研究現(xiàn)狀。接著介紹了粒子群優(yōu)化算法的原理。在此基礎(chǔ)上對PSO算法做了一些仿真實驗,比如求解無約束非線性函數(shù)、有約束的線性函數(shù)以及有約束的非線性函數(shù)。最后結(jié)合大量文獻(xiàn)對PSO算法的改進(jìn)方向做了相應(yīng)
30、的總結(jié)和展望。</p><p><b> 1.5 本章小結(jié)</b></p><p> 本章初步初步介紹了粒子群優(yōu)化算法的研究背景和課題意義,通過相關(guān)文獻(xiàn)的搜索了解PSO算法的研究現(xiàn)狀和應(yīng)用領(lǐng)域。</p><p> 2 基本粒子群算法</p><p> 2.1 粒子群算法思想的起源</p><
31、p> 粒子群優(yōu)化(Particle Swarm Optimization, PSO)算法是Kennedy和Eberhart受人工生命研究結(jié)果的啟發(fā),通過模擬鳥群覓食過程中的遷徙和群聚行為而提出的一種基于群體智能的全局隨機(jī)搜索算法。1995年IEEE國際神經(jīng)網(wǎng)絡(luò)學(xué)術(shù)會議發(fā)表了題為“Particle Swarm Optimization”的論文,標(biāo)志著PSO算法誕生(注:國內(nèi)也有很多學(xué)者譯為“微粒群優(yōu)化”)。它與其他進(jìn)化算法一樣,也
32、是基于“種群”和“進(jìn)化”的概念,通過個體間的協(xié)作與競爭,實現(xiàn)復(fù)雜空間最優(yōu)解的搜索。同時,PSO又不像其他進(jìn)化算法那樣對個體進(jìn)行交叉、變異、選擇等進(jìn)化算子操作,而是將群體(swarm)中的個體看作是在D維搜索空間中沒有質(zhì)量和體積的粒子(particle)。每個粒子以一定的速度在解空間運(yùn)動,并向自身歷史最佳位置和鄰域歷史最佳位置聚集,實現(xiàn)對候選解的進(jìn)化。PSO算法具有很好的生物社會背景而易理解、參數(shù)少而易實現(xiàn),對非線性、多峰問題均具有較強(qiáng)的
33、全局搜索能力,在科學(xué)研究與工程實踐中得到了廣泛關(guān)注[4][5][6]。</p><p> 自然界中各種生物體均具有一定的群體行為,而人工生命的主要研究領(lǐng)域之一是探索自然界生物的群體行為,從而在計算機(jī)上構(gòu)建其群體模型。自然界中的鳥群和魚群的群體行為一直是科學(xué)家的研究興趣,生物學(xué)家Craig Reynolds在1987年提出了一個非常有影響的鳥群聚集模型[7],在他的仿真中,每一個個體遵循:</p>
34、<p> (1) 避免與鄰域個體相沖撞;</p><p> (2) 匹配鄰域個體的速度;</p><p> (3) 飛向鳥群中心,且整個群體飛向目標(biāo)。</p><p> 仿真中僅利用上面三條簡單的規(guī)則,就可以非常接近的模擬出鳥群飛行的現(xiàn)象。1990年,生物學(xué)家Frank Heppner也提出了鳥類模型[8],它的不同之處在于:鳥類被吸引飛到棲息地。
35、在仿真中,一開始每一只鳥都沒有特定的飛行目標(biāo),只是使用簡單的規(guī)則確定自己的飛行方向和飛行速度(每一只鳥都試圖留在鳥群中而又不相互碰撞),當(dāng)有一只鳥飛到棲息地時,它周圍的鳥也會跟著飛向棲息地。這樣,整個鳥群都會落在棲息地。</p><p> 1995年,美國社會心理學(xué)家James Kennedy和電氣工程師Russell Eberhart受對鳥類群體行為進(jìn)行建模與仿真的研究結(jié)果的啟發(fā),共同提出了粒子群算法Kenn
36、edy在他的書中描述了粒子群算法思想的起源。自20世紀(jì)30年代以來,社會心理學(xué)的發(fā)展揭示:我們都是魚群或鳥群聚集行為的遵循者。在人們的不斷交互過程中,由于相互的影響和模仿,他們總會變得更相似,結(jié)果就形成了規(guī)范和文明。人類的自然行為和魚群及鳥群并不類似,而人類在高維認(rèn)知空間中的思維軌跡卻與之非常類似。</p><p><b> 2.2 算法原理</b></p><p&g
37、t; PSO從這種模型中得到啟示并用于解決優(yōu)化問題。在PSO中,每個優(yōu)化問題的潛在解都是搜索空間中的一只鳥,稱之為粒子。所有的粒子都有一個由被優(yōu)化的函數(shù)決定的適應(yīng)度值(fitness value),每個粒子還有一個速度決定它們飛翔的方向和距離。然后粒子們就追隨當(dāng)前的最優(yōu)粒子在解空間中搜索。</p><p> PSO初始化為一群隨機(jī)粒子(隨機(jī)解),然后通過迭代找到最優(yōu)解。在每一次迭代中,粒子通過跟蹤兩個極值來更
38、新自己;第一個就是粒子本身所找到的最優(yōu)解,這個解稱為個體極值;另一個極值是整個種群目前找到的最優(yōu)解,這個極值是全局極值。另外也可以不用整個種群而只是用其中一部分作為粒子的鄰居,那么在所有鄰居中的極值就是局部極值。</p><p> 假設(shè)在一個D維的目標(biāo)搜索空間中,有N個粒子組成一個群落,其中第i個粒子表示為一個D維的向量</p><p> Xi=(xi1,xi2,…,xiD),i=1,
39、2…,N.</p><p> 第i個粒子的“飛行 ”速度也是一個D維的向量,記為</p><p> Vi=(vi1,vi2,…,viD),i=1,2…,N.</p><p> 第個粒子迄今為止搜索到的最優(yōu)位置稱為個體極值,記為</p><p> Pbest=(Pi1,Pi2,…,PiD),i=1,2…,N.</p>&l
40、t;p> 整個粒子群迄今為止搜索到的最優(yōu)位置為全局極值,記為</p><p> gbest=(gi1,gi2,…,giD),i=1,2…,N.</p><p> 在找到這兩個最優(yōu)值時,粒子根據(jù)如下的公式(2.1)和(2.2)來更新自己的速度和位置[12]:</p><p> vid=w* vid+ c1*r1*(Pid- xid)+c2*r2*(Pg
41、d-xid) (2.1) </p><p> xid= xid+ vid (2.2) </p><p&g
42、t; 其中:c1和c2為學(xué)習(xí)因子,也稱加速常數(shù)(acceleration constant),r1和r2為[0,1]范圍內(nèi)的均勻隨機(jī)數(shù)。式(2.1)右邊由三部分組成,第一部分為“慣性(inertia)”或“動量(momentum)”部分,反映了粒子的運(yùn)動“習(xí)慣(habit)”,代表粒子有維持自己先前速度的趨勢;第二部分為“認(rèn)知(cognition)”部分,反映了粒子對自身歷史經(jīng)驗的記憶(memory)或回憶(remembrance),
43、代表粒子有本身的思考能力,即向自身歷史最佳位置逼近的趨勢;第三部分為“社會(social)”部分,反映了粒子間協(xié)同合作與知識共享的群體歷史經(jīng)驗,代表粒子有向群體或鄰域歷史最佳位置逼近的趨勢,PSO算法中慣性權(quán)重、學(xué)習(xí)因子等參數(shù)的取值對算法的收斂性能起著非常重要的作用,王俊偉等[7]對慣性權(quán)重的取值進(jìn)行了較為詳細(xì)的探討。通常c1=c2=2。vid是粒子的速度,vid[-vmax,vmax],vmax是常數(shù),由用戶設(shè)定用來限制粒子的速度。和
44、是介于[0,1]之間的隨機(jī)數(shù)。</p><p> 2.3 基本粒子群算法流程</p><p><b> 算法的流程如下:</b></p><p> ?。?)初始化粒子群,包括群體規(guī)模N,每個粒子的位置Xi和速度Vi;</p><p> (2)計算每個粒子的適應(yīng)度值Fit[i];</p><p&g
45、t; ?。?)對每個粒子,用它的適應(yīng)度值Fit[i]和個體極值Pbest(i)比較,如果Fit[i]> Pbest(i),則用Fit[i]替換掉Pbest(i);</p><p> ?。?) 對每個粒子,用它的適應(yīng)度值Fit[i]和全局極值Pbest(i)比較,如果Fit[i]> Pbest(i)則用Fit[i]替Pbest(i);</p><p> ?。?)根據(jù)公式(2.1)
46、,(2.2)更新粒子的速度Vi和位置Xi;</p><p> ?。?)如果滿足結(jié)束條件(誤差足夠好或到達(dá)最大循環(huán)次數(shù))退出,否則返回②。</p><p> PSO算法流程圖如圖2-1所示。</p><p> 圖 2-1 PSO算法流程圖</p><p> 根據(jù)這樣的思想,matlab編寫的主要代碼如下:</p><p
47、> for i=1:SwarmSize </p><p><b> %隨機(jī)產(chǎn)生一個種群</b></p><p> X(i,:)=100*rands(1,2); </p><p> V(i,:)=rands(1,2); </p><p> fitness(i)=fun(X(i,:)); %計算適
48、應(yīng)度 </p><p><b> end</b></p><p> [bestfitness bestindex]=max(fitness); % 群體極值</p><p> gbest=X(bestindex,:); %全局最佳位置</p><p> xbest=X; %個體最佳<
49、/p><p> fitnessxbest=fitness; %個體最佳適應(yīng)度值</p><p> fitnessgbest=bestfitness; %全局最佳適應(yīng)度值</p><p><b> %迭代尋優(yōu)</b></p><p> for i=1:KK</p><p> f
50、or j=1:SwarmSize</p><p><b> %速度更新</b></p><p> V(j,:) = V(j,:) + c1*rand*(xbest(j,:) - X(j,:)) + c2*rand*(gbest - X(j,:));</p><p> V(j,find(V(j,:)>Vmax))=Vmax;</
51、p><p> V(j,find(V(j,:)<Vmin))=Vmin;</p><p><b> %種群位置更新</b></p><p> X(j,:)=X(j,:)+0.5*V(j,:);</p><p> X(j,find(X(j,:)>Xmax))=Xmax;</p><p>
52、; X(j,find(X(j,:)<Xmin))=Xmin;</p><p><b> %適應(yīng)度值</b></p><p> fitness(j)=fun(X(j,:)); </p><p><b> end</b></p><p> for j=1:SwarmSize</p&
53、gt;<p><b> %個體最優(yōu)更新</b></p><p> if fitness(j) > fitnessxbest(j)</p><p> xbest(j,:) = X(j,:);</p><p> fitnessxbest(j) = fitness(j);</p><p><b
54、> end</b></p><p><b> %群體最優(yōu)更新</b></p><p> if fitness(j) >fitnessgbest</p><p> gbest = X(j,:);</p><p> fitnessgbest = fitness(j);</p>
55、<p><b> end</b></p><p><b> end</b></p><p><b> end</b></p><p><b> 2.4 特點</b></p><p> (1)粒子群優(yōu)化算法初期,其解群隨進(jìn)化代數(shù)表現(xiàn)了更強(qiáng)
56、的隨機(jī)性,正是由于其產(chǎn)生了下一代解群的較大的隨機(jī)性,以及每代所有解的“信息”的共享性和各個解的“自我素質(zhì)”的提高。</p><p> (2)PSO的一個優(yōu)勢就是采用實數(shù)編碼,不需要像遺傳算法一樣采用二進(jìn)制編碼(或者采用針對實數(shù)的遺傳操作)。例如對于問題求解f=x12+x22+x32,粒子可以直接編碼為(x1 , x2 , x3),而適應(yīng)度函數(shù)就是f(x)。</p><p> (3)粒子
57、具有“記憶”的特性,它們通過“自我”學(xué)習(xí)和向“他人”學(xué)習(xí),使其下一代解有針對性的從“先輩”那里繼承更多的信息,從而能在較短的時間內(nèi)找到最優(yōu)解。</p><p> (4)與遺傳算法相比,粒子群優(yōu)化算法的信息共享機(jī)制是很不同的:在遺傳算法中,染色體互相共享信息,所以整個種群的移動是比較均勻地向最優(yōu)區(qū)域移動。在粒子群優(yōu)化算法中,信息流動是單向的,即只有g(shù)best將信息給其他的粒子,這使得整個搜索更新過程跟隨當(dāng)前解。&
58、lt;/p><p><b> 2.5 本章小結(jié)</b></p><p> 本章介紹了粒子群算法的起源,標(biāo)準(zhǔn)PSO算法的原理并結(jié)合流程圖附上了相應(yīng)的matlab代碼, 最后總結(jié)和分析了該算法的特點。</p><p><b> PSO仿真實驗</b></p><p> 3.1 無約束非線性函數(shù)的背景
59、信息</p><p> 非線性規(guī)劃是20世紀(jì)50年代才開始形成的一門新興學(xué)科。在工程、管理、經(jīng)濟(jì)、科研、軍事等方面都有廣泛的應(yīng)用,為最優(yōu)設(shè)計提供了有力的工具。</p><p> 無約束非線性函數(shù)指尋求n元實函數(shù)f在整個n維向量空間Rn上的最優(yōu)值點的方法。這類方法的意義在于:雖然實用規(guī)劃問題大多是有約束的,但許多約束最優(yōu)化方法可將有約束問題轉(zhuǎn)化為若干無約束問題來求解。 </p>
60、;<p> 無約束最優(yōu)化方法大多是逐次一維搜索的迭代算法。這類迭代算法可分為兩類。一類需要用目標(biāo)函數(shù)的導(dǎo)函數(shù),稱為解析法。另一類不涉及導(dǎo)數(shù),只用到函數(shù)值,稱為直接法。這些迭代算法的基本思想是:在一個近似點處選定一個有利搜索方向,沿這個方向進(jìn)行一維尋查,得出新的近似點。然后對新點施行同樣手續(xù),如此反復(fù)迭代,直到滿足預(yù)定的精度或迭代次數(shù)要求為止。根據(jù)搜索方向的取法不同,可以有各種算法。屬于解析型的算法有:</p>
61、<p> (1)梯度法:又稱最速下降法。這是早期的解析法,收斂速度較慢。</p><p> ?。?)牛頓法:收斂速度快,但不穩(wěn)定,計算也較困難。</p><p> (3)共軛梯度法:收斂較快,效果較好。</p><p> ?。?)變尺度法:這是一類效率較高的方法。其中達(dá)維登-弗萊徹-鮑威爾變尺度法,簡稱DFP法,是最常用的方法。</p>
62、<p> 屬于直接型的算法有交替方向法(又稱坐標(biāo)輪換法)、模式搜索法、旋轉(zhuǎn)方向法、鮑威爾共軛方向法和單純形加速法等。</p><p> 3.2 測試無約束非線性函數(shù)</p><p> 學(xué)習(xí)因子c1 、c2 是用于調(diào)整粒子自身經(jīng)驗和社會群體經(jīng)驗在整個尋優(yōu)過程中所起的作用的參數(shù)。 若c1 = 0 則粒子只有社會經(jīng)驗沒有自身經(jīng)驗,它的收斂速度可能很快,但在處理復(fù)雜問題,很有可
63、能陷入局部最優(yōu)解;若c2 =2 則粒子沒有集體共享信息,只有自身經(jīng)驗,個體間沒有交互,得到全局最優(yōu)解的幾率很小。因此c1 、c2 的取值在整個優(yōu)化過程中非常重要。若c1 、c2的值不適合,優(yōu)化設(shè)計就有可能無法收斂或陷入局部最優(yōu)解。標(biāo)準(zhǔn)的PSO算法中,c1 、c2的取值通常取c1 = c2 =2。</p><p> 例1. 函數(shù)f(x)=x12+x22對于適應(yīng)度函數(shù)fun對其參數(shù)c1 、c2做出不同方式的比較測試
64、其對函數(shù)結(jié)果影響。</p><p> 當(dāng)慣性權(quán)值不變,c1 = c2的情況下對c取不同的值1.5和2。</p><p> 當(dāng)c1 = c2 =1.5,w=1。迭代次數(shù)設(shè)置為500。</p><p> 程序(1)運(yùn)行結(jié)果為:</p><p> 最優(yōu)點gbest坐標(biāo)為:[8.5912e-005-0.00014124]</p>
65、<p> 最優(yōu)值fitnessgbest為:2.733e-008</p><p> 實驗結(jié)果圖形如圖3-1所示。</p><p> 圖3-1 當(dāng)c1 = c2 =1.5,w=1。迭代次數(shù)設(shè)置為500時的最優(yōu)個體適應(yīng)度</p><p> 為了避免隨機(jī)性,本人對此再做了20次實驗,最優(yōu)值fitnessgbest如表3-1所示。</p>
66、<p> 表 3-1 對最優(yōu)值20次實驗的統(tǒng)計結(jié)果</p><p> 當(dāng)c1 = c2 =2,w=1。迭代次數(shù)設(shè)置為500。實驗結(jié)果圖形如圖3-2所示。</p><p> 程序(2)的運(yùn)行結(jié)果為:</p><p> 最優(yōu)點gbest坐標(biāo)為:[4.6175e-0058.2108e-005]</p><p> 最優(yōu)值fit
67、nessgbest為:8.8739e-009</p><p> 圖 3-2 當(dāng)c1 = c2 =2,w=1。迭代次數(shù)設(shè)置為500的最優(yōu)個體適應(yīng)度</p><p> 為了避免隨機(jī)性,本人對此再做了20次實驗,最優(yōu)值fitnessgbest如表3-2所示。</p><p> 表 3-2 對最優(yōu)值20次實驗的統(tǒng)計結(jié)果</p><p> 在以
68、上仿真中,我們通過2個實驗實數(shù)的選擇分別對c1 、c2不同情況做出對比,驗證了當(dāng)w 不變,c1 = c2 =2時,該例的收斂性能比較好。</p><p> 例2. 測試無約束非線性函數(shù)對于適應(yīng)度函數(shù)fun的最優(yōu)值以及程序運(yùn)行的時間。</p><p> 設(shè)置c1 = c2 =2,w=1。粒子群個數(shù)設(shè)置為100。迭代次數(shù)設(shè)置為1000。</p><p> ?。?)1
69、00個10維粒子每一維的位置初始化過程如圖3-3所示。通過這10維粒子位置初始化的圖形可以觀察到粒子均勻地分布在[-5,5]之間。</p><p> 圖3-3 100個10維粒子每一維的位置初始化過程</p><p> (2)100個10維粒子每一維速度的初始化過程如圖3-4所示。通過這10維粒子速度的初始化的圖形可知道這10維粒子的速度大致分布在[-1,1]之間。</p>
70、<p> 圖3-4 100個10維粒子每一維速度的初始化過程</p><p><b> 程序的運(yùn)行結(jié)果為:</b></p><p> 迭代1000次所用時間:elapsed_time = 4.8900</p><p> 最優(yōu)點gbest坐標(biāo)為:[0.000581290.00482330.0012584-0.00140
71、95 -0.00085466 0.0049111 0.0021788 0.0022567 0.0015493 0.00034424]</p><p> 最優(yōu)值fitnessgbest為:6.4381e-005</p><p> 函數(shù)運(yùn)算后的實驗結(jié)果圖形如圖3-5所示。</p><p> 圖 3-5 函數(shù)f(X)=∑X2的實驗結(jié)果</p>
72、<p> 3.3 測試并驗證有約束的線性函數(shù)</p><p> 運(yùn)籌學(xué)中線性規(guī)劃求解的基本思路:從可行域的某個頂點出發(fā),判斷是否最優(yōu)。如不是,再找另一個使得目標(biāo)函數(shù)值更優(yōu)的頂點(迭代)。再判斷是否最優(yōu),直到找到一個頂點為其最優(yōu)解,或判斷出線性規(guī)劃問題無最優(yōu)解為止。</p><p> 例3. 求MAX z=1500*x1+2500*x2</p><p&
73、gt; s.t. 3*x1+2*x2<=65</p><p> 2*x1 +x2<=40</p><p><b> 3*x2<=75</b></p><p> x1 , x2>=0</p><p><b> 線性規(guī)劃解題步驟:</b></p>
74、<p> ?。?)找出一個初始基本可行解</p><p><b> ?。?)最優(yōu)性檢驗</b></p><p><b> (3)基變換</b></p><p> 用matlab編寫代碼,運(yùn)行的結(jié)果為:最優(yōu)值z= 70000,相應(yīng)的最優(yōu)解為x1=5, x2=25。 </p><p>
75、; 若用PSO算法處理上述問題,則需要處理約束,過去幾年中,在數(shù)值優(yōu)化方面研究者提出多種用進(jìn)化算法處理約束的方法,可分類如下:</p><p> (1)棄除不可行個體</p><p> (2)通過特定遺傳算子使種群保持在可行域內(nèi)</p><p> ?。?)把目標(biāo)函數(shù)和約束函數(shù)分開</p><p> ?。?)懲罰不可行個體</p&g
76、t;<p> 本文中采用的是第四種方法,即懲罰函數(shù)法中的外部罰函數(shù)法。</p><p> 罰函數(shù)法求解帶約束的非線形規(guī)劃問題的基本思想是:利用問題的目標(biāo)函數(shù)和約束函數(shù)構(gòu)造出帶參數(shù)的所謂增廣目標(biāo)函數(shù),把約束非線形規(guī)劃問題轉(zhuǎn)化為一系列無約束非線形規(guī)劃問題來求解。增廣目標(biāo)函數(shù)由兩個部分構(gòu)成,一部分是原問題的目標(biāo)函數(shù),另一部分是由約束函數(shù)構(gòu)造出的“懲罰”項,“懲罰”項的作用是對“違規(guī)”的點進(jìn)行“懲罰”。
77、罰函數(shù)法主要有兩種形式。一種稱為外部罰函數(shù)法,或稱外點法,這種方法的迭代點一般在可行域的外部移動,隨著迭代次數(shù)的增加,“懲罰”的力度也越來越大,從而迫使迭代點向可行域靠近;另一種成為內(nèi)部罰函數(shù)法,或稱內(nèi)點法,它從滿足約束條件的可行域的內(nèi)點開始迭代,并對企圖穿越可行域邊界的點予以“懲罰”,當(dāng)?shù)c越接近邊界,“懲罰”就越大,從而保證迭代點的可行性。</p><p> 對于例3,采用罰函數(shù)法處理約束。</p&
78、gt;<p> 運(yùn)行環(huán)境同樣是matlab,用PSO算法處理時,設(shè)置w=1, c1 = c2 =2。</p><p> 迭代次數(shù)為500次,種群規(guī)模為100,懲罰因子設(shè)為108,編寫代碼,運(yùn)行后結(jié)果為:最優(yōu)值z= 70000,相應(yīng)的最優(yōu)解為x1= 5 , x2=25。 </p><p> 運(yùn)行的圖像如圖3-6所示。</p><p> 圖3-6
79、用PSO算法處理有約束的線性函數(shù)</p><p> 與上面單純形法測試的結(jié)果完全吻合。 這證明了本論文中用罰函數(shù)處理該問題是可行的。 </p><p> 3.4 測試有約束的非線性函數(shù)</p><p> 非線性規(guī)劃(nonlinear programming):具有非線性約束條件或目標(biāo)函數(shù)的數(shù)學(xué)規(guī)劃,是運(yùn)籌學(xué)的一個重要分支。非線性規(guī)劃研究
80、一個n元實函數(shù)在一組等式或不等式的約束條件下的極值問題,且目標(biāo)函數(shù)和約束條件至少有一個是未知量的非線性函數(shù)。目標(biāo)函數(shù)和約束條件都是線性函數(shù)的情形則屬于線性規(guī)劃。</p><p> 例4. 求MAX z=1500*x1+2500*x2+ x1*x2</p><p> s.t. 3*x1+2* x1*x2<=65</p><p> 2*x1 +x2
81、<=40</p><p><b> 3*x2<=75</b></p><p> x1 , x2>=0</p><p> 用PSO算法處理時,設(shè)置w=1,c1 = c2 =2,種群規(guī)模為100,懲罰因子設(shè)為108。</p><p> 用matlab編寫代碼后,運(yùn)行后結(jié)果如表3-4所示。</p
82、><p> 表 3-4 例4的測試結(jié)果</p><p> 當(dāng)?shù)螖?shù)設(shè)置為500次時,運(yùn)行后的圖形如圖3-7所示。</p><p> 圖3-7用PSO算法處理有約束的非線性函數(shù)</p><p> 為了避免隨機(jī)性,在所有的參數(shù)未改變的情況下,再對該實驗做了20次,統(tǒng)計結(jié)果如表3-5所示。</p><p> 表 3-
83、5 對最優(yōu)值20次實驗的統(tǒng)計結(jié)果</p><p><b> 3.5 本章小結(jié)</b></p><p> 本章的主要工作是對PSO的仿真測試,測試的內(nèi)容有:學(xué)習(xí)因子的比較,無約束非線性函數(shù)求極值,驗證罰函數(shù)法處理有約束的線性函數(shù),最后,用罰函數(shù)法求解有約束的非線性函數(shù)。</p><p> 4粒子群優(yōu)化算法的改進(jìn)策略</p>&
84、lt;p> 由于PSO中粒子向自身歷史最佳位置和鄰域或群體歷史最佳位置聚集,形成粒子種群的快速趨同效應(yīng),容易出現(xiàn)陷入局部極值、早熟收斂或停滯現(xiàn)象。同時,PSO的性能也依賴于算法參數(shù)。為了克服上述不足,各國研究人員相繼提出了各種改進(jìn)措施。本文將這些改進(jìn)分為3類:粒子群初始化、鄰域拓?fù)浜突旌喜呗浴?</p><p> 4.1 粒子群初始化 </p><p> 研究表明,粒子群初始化
85、對算法性能產(chǎn)生一定影響[16]。為了初始種群盡可能均勻覆蓋整個搜索空間,提高全局搜索能力,Richard 和Ventura[17]提出了基于centroidal voronoi tessellations (CVTs)的種群初始化方法;薛明志等人[18]采用正交設(shè)計方法對種群進(jìn)行初始化;Campana 等人[19]將標(biāo)準(zhǔn)PSO迭代公式改寫成線性動態(tài)系統(tǒng),并基于此研究粒子群的初始位置,使它們具有正交的運(yùn)動軌跡;文獻(xiàn)認(rèn)為均勻分布隨機(jī)數(shù)進(jìn)行初
86、始化實現(xiàn)容易但尤其對高維空間效果差,并另外比較了3種初始化分布方法。 </p><p><b> 4.2 鄰域拓?fù)?</b></p><p> 根據(jù)粒子鄰域是否為整個群體,PSO分為全局模型和局部模型[20]。對于全局模型,每個粒子與整個群體的其他粒子進(jìn)行信息交換,并有向所有粒子中的歷史最佳位置移動的趨勢。Kennedy[21]指出,全局模型雖然具有較快的收斂速度
87、,但更容易陷入局部極值。為了克服全局模型的缺點,研究人員采用每個粒子僅在一定的鄰域內(nèi)進(jìn)行信息交換,提出各種局部模型。如Suganthan[23]引入一個時變的歐式空間鄰域算子:在搜索初始階段,將鄰域定義為每個粒子自身;隨著迭代次數(shù)的增加,將鄰域范圍逐漸擴(kuò)展到整個種群。性能空間指根據(jù)性能指標(biāo)(如適應(yīng)度、目標(biāo)函數(shù)值)劃分的鄰域,如文獻(xiàn)[24]采用適應(yīng)度距離比值(fitness-distance-ratio)來選擇粒子的相鄰粒子。社會關(guān)系鄰域
88、通常按粒子存儲陣列的索引編號進(jìn)行劃分[25],這也是研究最多的一種劃分手段,主要有:環(huán)形拓?fù)?ring or circle topology)、輪形拓?fù)?wheel topology)或星形拓?fù)?star topology)、塔形拓?fù)?pyramid topology)、馮-諾以曼拓?fù)?Von Neumann topology)以及隨機(jī)</p><p> 此外,還有其它一些主要對群體進(jìn)行劃分的鄰域結(jié)構(gòu)(本文暫稱
89、“宏觀鄰域”;則上述鄰域稱為“微觀鄰域”)。有相關(guān)文獻(xiàn)引入了子種群,子種群間通過繁殖(Breeding)實現(xiàn)信息交流。Kennedy提出了社會趨同(Stereotyping)模型,使用簇分析將整個粒子群劃分為多個簇,然后用簇中心代替帶收縮因子PSO中的粒子歷史最佳位置或群體歷史最佳位置。X.Li根據(jù)粒子相似性動態(tài)地將粒子群體按種類劃分為多個子種群,再以每個子種群的最佳個體作為每個粒子的鄰域最佳位置。Stefan Janson等人提出等級
90、PSO(hierarchical particle swarm optimizer,HPSO),采用動態(tài)等級樹作為鄰域結(jié)構(gòu),歷史最佳位置更優(yōu)的粒子處于上層,每個粒子的速度由自身歷史最佳位置和等級樹中處于該粒子上一個節(jié)點的粒子的歷史最佳位置決定。文獻(xiàn)采用主-仆模型(master–slaver model),其中包含一個主群體,多個仆群體,仆群體進(jìn)行獨立的搜索,主群體在仆群體提供的最佳位置基礎(chǔ)上開展搜索。文獻(xiàn)將小生境(niche)技術(shù)引入到
91、PSO中,提出了小生境PSO(Niching Particle </p><p> 在標(biāo)準(zhǔn)的PSO算法中,所有粒子僅僅向自身和鄰域的歷史最佳位置聚集,而沒有向鄰域內(nèi)其他個體(即使這些個體很優(yōu)秀)學(xué)習(xí),造成信息資源的浪費(fèi),甚至因此而陷入局部極值;考慮到此因素,Kennedy 等人提出了全信息粒子群(fully informed particle swarm, FIPS),在FIPS中,每個粒子除了自身和鄰域最佳歷
92、史位置外,還學(xué)習(xí)鄰域內(nèi)其他粒子的成功經(jīng)驗。 </p><p> 上述粒子間學(xué)習(xí)是在整個維空間中構(gòu)造鄰域進(jìn)行的,這樣當(dāng)搜索空間維數(shù)較高時往往容易遭受“維數(shù)災(zāi)(curse of dimensionality)”的困擾?;谶@方面的考慮,Van den Bergh等人提出了協(xié)作PSO(Cooperative PSO)算法,其基本思路就是采用協(xié)作行為,利用多個群體分別在目標(biāo)搜索空間中的不同維度上進(jìn)行搜索,也就是一個優(yōu)化
93、解由多個獨立群體協(xié)作完成,每個群體只負(fù)責(zé)優(yōu)化這個解矢量部分維上的分量。Baskar和Suganthan提出一種類似的協(xié)作PSO,稱為并發(fā)PSO(concurrent PSO, CONPSO),它采用兩個群體并發(fā)地優(yōu)化一個解矢量。近來,El-Abd 等人提出了等級協(xié)作PSO(hierarchal cooperative PSO)。 </p><p> 無論是粒子群在D-維的搜索還是多個粒子群在不同維上的協(xié)作搜索,
94、其目的都是為了每個粒子能夠找到有利于快速收斂到全局最優(yōu)解的學(xué)習(xí)對象。J.Liang 等人提出了一種既可以進(jìn)行D-維空間搜索、又能在不同維上選擇不同學(xué)習(xí)對象的新的學(xué)習(xí)策略,稱為全面學(xué)習(xí)PSO(Comprehensive Learning Particle Swarm Optimizer CLPSO)。與傳統(tǒng)PSO只向自身歷史最佳位置和鄰域歷史最佳位置學(xué)習(xí)不同,CLPSO的每個粒子都隨機(jī)地向自身或其它粒子學(xué)習(xí),并且其每一維可以向不同的粒子學(xué)
95、習(xí);該學(xué)習(xí)策略使得每個粒子擁有更多的學(xué)習(xí)對象,可以在更大的潛在空間飛行,從而有利于全局搜索。CLPSO的速度更新公式為: </p><p> Vij(t)=W Vij(t-1)+ ψr(PF(j) , j)-Xij(t-1) (4.1)</p><p> 其中ψ為加速因子,r為[0,1]內(nèi)的均勻隨機(jī)數(shù),PF(j)表示粒子i在第j維的學(xué)習(xí)對象,它通過下面的策略決定:
96、產(chǎn)生[0,1]內(nèi)的均勻隨機(jī)數(shù),如果該隨機(jī)數(shù)大于為粒子i預(yù)先給定的學(xué)習(xí)概率pci,則學(xué)習(xí)對象為自身歷史最佳位置;否則,從種群內(nèi)隨機(jī)選取兩個個體,按錦標(biāo)賽選擇(tournament selection)策略選出兩者中最好的歷史最佳位置作為學(xué)習(xí)對象。同時,為了確保粒子盡可能向好的對象學(xué)習(xí)而不把時間浪費(fèi)在較差的對象上,上述學(xué)習(xí)對象選擇過程設(shè)定一個更新間隔代數(shù)(refreshing gap),在此期間的學(xué)習(xí)對象保持上次選擇的學(xué)習(xí)對象不變。<
97、/p><p> 以上的各種鄰域結(jié)構(gòu),無論是微觀拓?fù)溥€是宏觀鄰域,也無論是在整個搜索空間進(jìn)行信息交流還是以空間的不同維分量為單位協(xié)作搜索,都不主動改變鄰域狀態(tài),而只是在給定的鄰域內(nèi)進(jìn)行學(xué)習(xí)交流,本文稱之為PSO的被動局部模型。還有一類局部模型就是主動改變粒子鄰域空間,避免碰撞和擁擠,本文稱之為PSO的主動局部模型。Blackwell 等人將粒子分為自然粒子和帶電粒子,當(dāng)帶電粒子過于接近時產(chǎn)生斥力,使之分開以提高粒子多
98、樣性;Lovbjerg 等人為每個粒子引入與相鄰粒子距離成反比的自組織危險度(self-organized criticality)指標(biāo),距離越近則危險度越高,當(dāng)達(dá)到一定閾值后,對該粒子進(jìn)行重新初始化或推開一定距離降低危險度,達(dá)到提高群體多樣性的目的;文獻(xiàn)提出一種帶空間粒子擴(kuò)展的PSO,為每個粒子賦一半徑,以檢測兩個粒子是否會碰撞,并采取隨機(jī)彈離、實際物理彈離、簡單的速度—直線彈離等措施將其分開。 </p><p&g
99、t;<b> 4.3 混合策略 </b></p><p> 混合策略就是將其它進(jìn)化算法或傳統(tǒng)優(yōu)化算法或其它技術(shù)應(yīng)用到PSO中,用于提高粒子多樣性、增強(qiáng)粒子的全局探索能力,或者提高局部開發(fā)能力、增強(qiáng)收斂速度與精度。這種結(jié)合的途徑通常有兩種:一是利用其它優(yōu)化技術(shù)自適應(yīng)調(diào)整收縮因子、慣性權(quán)值、加速常數(shù)等;二是將PSO與其它進(jìn)化算法操作算子或其它技術(shù)結(jié)合。文獻(xiàn)將螞蟻算法與PSO結(jié)合用于求解離散優(yōu)
100、化問題;Robinson等人和Juang將GA與PSO結(jié)合分別用于天線優(yōu)化設(shè)計和遞歸神經(jīng)網(wǎng)絡(luò)設(shè)計;還有人將種群動態(tài)劃分成多個子種群,再對不同的子種群利用PSO或GA或爬山法進(jìn)行獨立進(jìn)化;Naka等人將GA中的選擇操作引入到PSO中,按一定選擇率復(fù)制較優(yōu)個體;Angeline則將錦標(biāo)賽選擇引入PSO 算法,根據(jù)個體當(dāng)前位置的適應(yīng)度,將每一個個體與其它若干個個體相比較,然后依據(jù)比較結(jié)果對整個群體進(jìn)行排序,用粒子群中最好一半的當(dāng)前位置和速度替
101、換最差一半的位置和速度,同時保留每個個體所記憶的個體最好位置;El-Dib 等人對粒子位置和速度進(jìn)行交叉操作;Higashi將高斯變異引入到PSO中;Miranda等人則使用了變異、選擇和繁殖多種操作同時自適應(yīng)確定速度更新公式中的</p><p> 此外,其它一些搜索技術(shù)與PSO結(jié)合以提高算法的局部搜索能力,如有作者提出一種基于PSO和Levenberg-Marquardt的混合方法;還有人將PSO與單純形法、
102、序貫二次規(guī)劃、模擬退火、禁忌技術(shù)分別相結(jié)合。 </p><p> 還有作者引入其它一些機(jī)制,以改進(jìn)PSO的性能。如根據(jù)耗散結(jié)構(gòu)的自組織性,提出一種耗散粒子群優(yōu)化算法(dissipative PSO)。該算法通過附加噪聲持續(xù)為粒子群引入負(fù)熵(negative entropy),使得系統(tǒng)處于遠(yuǎn)離平衡態(tài)的狀態(tài),又由于群體中存在內(nèi)在的非線性相互作用,從而形成自組織耗散結(jié)構(gòu),使粒子群能夠“持續(xù)進(jìn)化”,抑制早熟停滯。也有作
103、者將自然進(jìn)化過程中的群體滅絕現(xiàn)象引入PSO,在微粒的位置和速度更新之后,按照一個預(yù)先定義的滅絕間隔重新初始化所有微粒的速度。還有通過模擬自然界的被動聚集(Passive Congregation)行為修改速度更新公式,實現(xiàn)種群內(nèi)信息充分共享,防止了微粒因缺乏足夠的信息而判斷失誤所導(dǎo)致陷入局部極小。此外,還有其它一些混合PSO。 </p><p> ?。?)高斯PSO:由于傳統(tǒng)PSO往往是在全局和局部最佳位置的中間
104、進(jìn)行搜索,搜索能力和收斂性能嚴(yán)重依賴加速常數(shù)和慣性權(quán)值的設(shè)置,為了克服該不足,Secrest等人[10]將高斯函數(shù)引入PSO算法中,用于引導(dǎo)粒子的運(yùn)動;GPSO不再需要慣性權(quán)值,而加速常數(shù)由服從高斯分布的隨機(jī)數(shù)產(chǎn)生。 </p><p> (2)拉伸PSO(Stretching PSO,SPSO):SPSO將所謂的拉伸技術(shù)(stretching technique)以及偏轉(zhuǎn)和排斥技術(shù)應(yīng)用到PSO中,對目標(biāo)函數(shù)進(jìn)行
105、變換,限制粒子向已經(jīng)發(fā)現(xiàn)的局部最小解運(yùn)動,從而利于粒子有更多的機(jī)會找到全局最優(yōu)解。 </p><p> 混沌粒子群優(yōu)化:混沌是自然界一種看似雜亂、其實暗含內(nèi)在規(guī)律性的常見非線性現(xiàn)象,具有隨機(jī)性、遍歷性和規(guī)律性特點。文獻(xiàn)利用混沌運(yùn)動的遍歷性以粒子群的歷史最佳位置為基礎(chǔ)產(chǎn)生混沌序列,并將此序列中的最優(yōu)位置隨機(jī)替代粒子群中的某個粒子的位置,提出混沌PSO(chaos particle swarm optimizati
106、on,CPSO)。除此之外,有相關(guān)文獻(xiàn)利用慣性權(quán)值自適應(yīng)于目標(biāo)函數(shù)值的自適應(yīng)PSO進(jìn)行全局搜索、利用混沌局部搜索對最佳位置進(jìn)行局部搜索,提出一種PSO與混沌搜索相結(jié)合的混沌PSO;有些作者則利用混沌序列確定PSO的參數(shù)(慣性權(quán)值和加速常數(shù)。</p><p> ?。?)免疫粒子群優(yōu)化:生物免疫系統(tǒng)是一個高度魯棒性、分布性、自適應(yīng)性并具有強(qiáng)大識別能力、學(xué)習(xí)和記憶能力的非線性系統(tǒng)。文獻(xiàn)將免疫系統(tǒng)的免疫信息處理機(jī)制(抗體
107、多樣性、免疫記憶、免疫自我調(diào)節(jié)等)引入到PSO中,分別提出了基于疫苗接種的免疫PSO和基于免疫記憶的免疫PSO。 </p><p> ?。?)量子粒子群優(yōu)化:主要是采用量子個體提出離散PSO和基于量子行為更新粒子位置。 </p><p> (5)卡爾曼PSO:利用Kalman濾波更新粒子位置。 </p><p> 主成分PSO:]結(jié)合主成分分析技術(shù),粒子不僅按照
108、傳統(tǒng)算法在n維的x空間飛行,而且還在m維的z空間同步飛行(m<n)。</p><p><b> 4.4 本章小結(jié) </b></p><p> 本章通過閱讀相關(guān)文獻(xiàn),總結(jié)了粒子群優(yōu)化算法的改進(jìn)策略,主要介紹了三種,即粒子群初始化、領(lǐng)域拓?fù)浜突旌喜呗浴?lt;/p><p> 對粒子群優(yōu)化算法的總結(jié)與展望</p><p&g
109、t; 粒子群優(yōu)化(PSO)是一種新興的基于群體智能的啟發(fā)式全局隨機(jī)搜索算法,具有易理解、易實現(xiàn)、全局搜索能力強(qiáng)等特點,為各個領(lǐng)域的研究人員提供了一種有效的全局優(yōu)化技術(shù)。但是,由于PSO畢竟是一種新興的智能優(yōu)化算法,在以下方面仍然值得進(jìn)一步研究。</p><p> ?。?)理論研究:雖然目前對 PSO 穩(wěn)定性和收斂性的證明已取得了一些初步成果,但自誕生以來其數(shù)學(xué)基礎(chǔ)一直不完備,特別是收斂性一直沒有得到徹底解決。因
110、此,仍需要對 PSO 的收斂性等方面進(jìn)行進(jìn)一步的理論研究。</p><p> ?。?)控制參數(shù)自適應(yīng):雖然對PSO參數(shù)的改進(jìn)策略等方面已取得了一定進(jìn)展,但仍然有很大的研究空間;特別是如何通過對參數(shù)自適應(yīng)調(diào)節(jié)以實現(xiàn)“探索”與“開發(fā)”之間的平衡這是一個令人很感興趣的課題。</p><p> ?。?)信息共享機(jī)制:基于鄰域拓?fù)涞腜SO局部模型大大提高了算法全局搜索能力,充分利用或改進(jìn)現(xiàn)有拓?fù)浣Y(jié)構(gòu)
111、以及提出新的拓?fù)洌M(jìn)一步改善算法性能,是一個值得進(jìn)一步研究的問題。同時,由于全局模型具有較快的收斂速度、而局部模型具有較好的全局搜索能力,對信息共享機(jī)制做進(jìn)一步研究,保證算法既具有較快的收斂速度、又具有較好的全局搜索能力,也是一個很有意義的研究方向。</p><p> ?。?)混合PSO:混合進(jìn)化算法是進(jìn)化算法領(lǐng)域的趨勢之一,與其它進(jìn)化算法或傳統(tǒng)優(yōu)化技術(shù)相結(jié)合,提出新的混合PSO算法,甚至提出基于PSO的超啟發(fā)式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 改進(jìn)PSO算法及其應(yīng)用.pdf
- 畢業(yè)論文--算術(shù)編碼算法及其應(yīng)用(含外文翻譯)
- 二分圖匹配算法及其應(yīng)用【畢業(yè)論文】
- 動態(tài)規(guī)劃算法應(yīng)用及其優(yōu)化---畢業(yè)論文
- 中國郵路問題及其算法-畢業(yè)論文
- lms及其改進(jìn)算法研究畢業(yè)論文
- 包含度及其應(yīng)用【畢業(yè)論文】
- 畢業(yè)論文正交矩陣及其應(yīng)用
- 改進(jìn)的PSO算法及其電機(jī)優(yōu)化中的應(yīng)用.pdf
- 常用算法分析及應(yīng)用實例---畢業(yè)論文
- 信息與計算科學(xué)畢業(yè)論文最小生成樹算法及其應(yīng)用
- lms算法畢業(yè)論文
- PSO優(yōu)化神經(jīng)網(wǎng)絡(luò)算法的研究及其應(yīng)用.pdf
- 凸函數(shù)及其應(yīng)用畢業(yè)論文
- 泰勒公式及其應(yīng)用畢業(yè)論文
- 泰勒級數(shù)及其應(yīng)用畢業(yè)論文
- 畢業(yè)論文(設(shè)計)抽屜原理及其應(yīng)用
- 畢業(yè)論文--正交試驗法及其應(yīng)用
- 匹配理論及其應(yīng)用-畢業(yè)論文
- 泰勒級數(shù)及其應(yīng)用畢業(yè)論文
評論
0/150
提交評論