天天看點

粒子群綜述

摘要

粒子群優化(PSO)算法是一種新興的優化技術,其思想來源于人工生命和進化計算理論。粒子群優化通過粒子追随自己找到的最好解和整個群的最好解來完成優化。同其它進化算法相比,該算法簡單易實作,可調參數少,有更強的全局優化能力,已得到廣泛研究和應用。本文簡單介紹粒子群優化算法的基本原理及應用,分析該算法的起源、發展過程和當今的研究狀況。目前,該算法還有很多問題值得研究、改進,是優化領域的研究熱點。同時該算法具有很大的發展價值和空間,在群智能算法中具有重要的地位,能夠在相關産業創造價值,發揮作用。

關鍵詞: 粒子群優化算法 計算智能 群智能

目錄

摘要... 1

一、 粒子群優化算法... 1

1.1粒子群優化算法思想... 1

1.2算法更新規則... 1

二、粒子群優化算法的發展... 2

2.1 粒子群算法的起源... 2

2.2 粒子群優化算法的發展... 3

理論研究... 3

應用研究... 4

三、粒子群優化算法相關技術... 5

3.1 粒子群優化算法的改進... 5

3.1.1 改進PSO算法研究:... 5

3.1.2 混合智能優化算法的研究... 7

3.2粒子群算法與其他優化算法的比較... 7

四、 粒子群優化算法的應用... 9

五、總結... 10

參考文獻... 12

一、粒子群優化算法

粒子群算法,也稱粒子群優化算法或鳥群覓食算法(Particle Swarm Optimization),縮寫為PSO,是由J. Kennedy和R. C.

Eberhart等開發的一種新的進化算法(Evolutionary Algorithm -EA)。PSO算法屬于進化算法的一種,和模拟退火算法相似,它也是從随機解出發,通過疊代尋找最優解,它也是通過适應度來評價解的品質,但它比遺傳算法規則更為簡單,它沒有遺傳算法的“交叉”(Crossover)和“變異”(Mutation)操作,它通過追随目前搜尋到的最優值來尋找全局最優。這種算法以其實作容易、精度高、收斂快等優點引起了學術界的重視,并且在解決實際問題中展示了其優越性。

1.1粒子群優化算法思想

粒子群優化算法是一種基于群體的随機搜尋算法,其思想來源于人工生命和演化計算理論。Reynolds對鳥群飛行的研究發現,對于單獨的鳥來說,它在行動時僅僅是追蹤它有限數量的鄰居,但對于鳥群整體,最終的結果是整個鳥群好像在一個中心的控制之下行動,即複雜的全局行為是由簡單規則的互相作用引起的。

PSO即源于對鳥群捕食行為的研究,當一群鳥在随機搜尋食物時,如果這個區域裡隻有一塊食物,那麼找到食物的最簡單有效的政策就是搜尋目前離食物最近的鳥的周圍區域。另外,人們在行動時也通常是以他們自己及他人的經驗作為決策的依據,這就構成了PSO的一個基本概念[2]。PSO算法就是從這種模型中得到啟示而産生的,并用于解決優化問題,簡單來說,粒子群優化算法的基本思想是通過群體中個體之間的協作和資訊共享來尋找最優解的。

PSO算法通過抽象一種無品質的粒子來模拟鳥群中的單個鳥類個體,同時粒子被賦予兩個屬性:速度和目前位置,其中速度代表了粒子移動的快慢,而位置則決定了粒子下一步移動的方向。對于每一個粒子個體來說,它們都獨立的在搜尋空間中尋找最優解,并時刻記錄目前個體找到的極值點,而對于整個粒子群來說,每個粒子都會将個體的極值點與群體中的其他粒子個體進行共享,個體粒子找到最優的極值點作為整個粒子群的目前全局最優解,粒子群中的所有粒子根據個體極值和整個粒子群共享的目前全局最優解來調整自己的速度和位置。

1.2算法更新規則

PSO初始化為一群随機解,然後通過多次疊代找到最優解。其中每一個解都相當于一個獨立的粒子,而這些解共同構成上文所述的粒子群。所有的粒子都有一個被優化的函數決定的目前位置的适應值,并且有一個速度決定它們搜尋的速率。粒子通過跟蹤兩個“極值”即個體極值和全局極值來更新自己的速度與位置。在D維目标搜尋空間中,由種群數為m的粒子組成粒子群,其中,第i個粒子在第d維的位置為 ,其速度為,該粒子目前搜尋到的最優位置為 ,整個粒子群目前的最優位置為。速度與位置更新公式如下:

 (1)

(2)

在公式(1)中:為範圍内變化的随機數,和為加速系數,通常,。PSO的算法流程如下所述,架構如圖1所示:

圖1 PSO算法流程

(1)初始化粒子群,對于粒子群中的每一個粒子,初始化其速度與位置,将粒子的個體極值設定為目前位置,将目前粒子群中的所有粒子的最優解設定為全局極值

(2)在一輪疊代中,計算各個粒子的适應度函數值。

(3)對于每一個粒子個體,如果目前粒子的個體極值好于先前的個體極值,則更新個體極值。

(4)對于粒子群,計算出全局極值,如果目前的全局極值好于先前的全局極值,則更新全局極值。

(5)對每個粒子按照公式(1)和公式(2)更新速度和位置。

(6)觀察目前解是否達到預期,如果達到則輸出最優點,即全局極值,否則轉到(2),繼續下一輪疊代。

二、粒子群優化算法的發展

2.1 粒子群算法的起源

粒子群算法是解決優化問題的算法,優化問題問世以來廣泛受人們重視,研究其算法的求解也不斷發展。優化問題,是在滿足一定的限制條件下,尋找一組參數值或函數,使系統的某些性能名額達到最大或最小。根據建立所得到的優化系統,優化問題可以按不同标準分類,根據限制可分無限制優化與有限制優化;根據x是否随時間變化,可分靜态優化(即一般優化)和動态優化(最優控制)[13];根據x是否為随機變量,可以分為确定性優化與随機性優化[14]。

優化問題最初的求解算法有配方法、數形結合法和不等式法等,但這些方法隻能解決極少數的優化問題。随着導數的發現給優化問題的求解帶來了嶄新的工具,利用導函數求解最優化問題。但這些方法的一個根本缺陷是隻能求解一些比較簡單的、滿足一定條件的優化問題,對複雜的優化問題還是顯得無能為力。正是在這樣的條件下,進化算法應運而生。

随着科技與社會的發展,在求解優化問題的數值解法中出現了模拟生物群體行為特性,事物的發展與結構特性等而設計的優化數值算法,這類算法基本疊代式簡單,但一般疊代次數比較大。數字計算機出現,為簡單而重複的運算提供了保證,使這類算法迅速發展。

從20世紀90年代初,就産生了模拟自然生物群體(swarm)行為的優化技術,這就是進化算法或智能算法,目前主要有:人工神經網絡法( arti-cle neural network,ANN ),一定程度上模拟人腦的組織結構;模拟退火算法( simulated annealing,SA ),是源于實體學中固體物質的退火過程;禁忌搜尋算法( tabu search,TS ),是模拟人類記憶過程;遺傳算法( genetic algorithms,GA ),借鑒自然界優勝劣汰的進化思想;蟻群算法( antcolony optimization algorithm,ACO ) ,受自然界螞蟻的尋徑方式啟發;粒子群優化算法( particle swarm optimization ,PSO )是模拟鳥類的覓食行為。[15]

1995年基于對鳥群魚群的模拟,Ebarhart和Kennedy提出了粒子群優化算法。這類研究都被稱為群體智能(Swarm Intelligence)。通常單個自然生物并不是智能的,但是整個生物群體卻表現出處理複雜問題的能力,群體智能就是這些團體行為在人工智能問題中的應用。群體智能優化算法主要模拟了昆蟲、獸群、鳥群和魚群的群集行為,這些群體按照一種合作的方式尋找食物,群體中的每個成員通過學習它自身的經驗和其他成員的經驗來不斷地改變搜尋的方向。群體智能優化算法的突出特點就是利用了種群的群體智慧進行協同搜尋,進而在解空間内找到最優解。

粒子群優化算法(PSO)是基于群體智能的一種算法,最初是處理連續優化問題的,由于其簡單易行,可調參數少,有效,研究廣泛且發展迅速。可結合圖形給出算法的個體極值和整體極值的搜優運動過程。目前其應用已擴充到組合優化問題,得到了衆多學者的重視和研究[1]。

2.2 粒子群優化算法的發展

粒子群算法問世以來受到了廣泛的重視,吸引了各國學者的注意,經曆了許多變形和改進,為實際的工業應用指引了新的方向。從2003年IEEE第一屆國際群智能研讨會在美國召開後,關于PSO算法的研究和應用成果的論文逐年增加,ISI資料庫收錄有關PSO論文數量在一段時間内成指數增長趨勢,這展現了對PSO的研究成了智能算法領域的一大熱點。

由于算法形式簡潔,容易程式設計,經過十幾年的研究,粒子群優化算法不管在應用方面還是在優化性能方面都得到了很大的發展。PSO算法的研究主要集中在

理論研究

應用研究

兩個方面。在應用研究方面,則有很多根據具體情況,對算法進行改進,以滿足應用要求。在理論研究方面,目前PSO算法還沒有成熟的理論分析,部分研究者對算法的收斂性進行了分析,而部分研究者在算法的結構和性能改善方面進行研究,包括參數分析,拓撲結構,粒子多樣性保持,算法融合和性能比較等。

理論研究

(1)PSO算法收斂性分析一直是研究的難點,由于算法引入了随機變量,使得很多正常數學方法對其無效。但是任何算法的研究都不能停留在對性能的改進和應用上,算法要最終達到成熟,理論性的基礎研究是必不可少的。

2001年Van通過采用集合論的方法研究得出:隻有改進的PSO算法才可以保證算法的局部或全局收斂性。在此理論前提下,提出一種在時間無限下保證收斂到局部最優的改進算法,算法雖然保證了收斂性,但其優化效果并不理想。2002年Clerc等對PSO進化方程進行了分析,利用狀态轉移矩陣的政策研究單個粒子在進化中的運動軌迹,進而得到使單個粒子收斂的條件,但該分析方法忽略了粒子間作用和随機變量的作用。2003年Trelea運用動态系統理論對粒子群算法進行了分析,并給出了參數選取的指導規則。2004年Cui通過在基本粒子群算法基礎上,引入一種随機算法保證算法收斂到全局最優解。2004年曾建潮等提出了一種能保證以機率1收斂于全局最優解的PSO算法(随機PSO算法),該算法對其全局收斂性進行了理論分析,并提出了兩種停止進化粒子的重新産生方法。

2007年Jiang等對PSO算法的收斂性進行了分析,給出了算法的收斂條件。2008年Chen通過引入可控制的随機探索向量,來控制算法的收斂。2009年Latif通過引入分布因子,分析了算法的收斂性條件。2009年高雷阜等通過分析算法的收斂性,提出了基于混沌改進的粒子群算法。Rapaic等對算法的參數選取和收斂性進行分析,給出算法收斂條件下參數選取的準則。

衆多研究者對算法收斂性的分析,并在一定程度上給出了算法的收斂條件,但都是在簡化條件下的結論,這使得對收斂性的分析缺乏一般性。是以,如何證明算法是收斂到優化問題的最優解,是粒子群算法今後發展的一個趨勢。

(2)同時也由于PSO算法易陷入局部極值,進一步改進可以在一定程度上增強優化性能。研究PSO算法的性能改進,主要集中在各種機制的改進,得出一種新的算法,求解實際問題。

例如混合PSO算法(Hybrid

PSO),借鑒遺傳算法的思想,由于PSO搜尋過程很大程度上依賴Pbest和Gbest,它的搜尋區域受到了這兩個極值的限制。混合PSO算法就将PSO基本算法和遺傳算法的選擇機制相結合,以提高算法的性能。Angeline[17]将演化計算所采用的自然選擇機制引入PSO,提高算法的局部搜尋能力,但同時也削弱了全局搜尋能力;Noel等人[18]将梯度資訊引入PSO算法,主要是利用梯度資訊使算法搜尋到局部最優點,最大特點是不需要社會鄰居結構,可節省标準PSO算法需要比較的計算量,加快了收斂速度;Wachowiak等人[19]提出将Powell方法嵌入PSO算法中,以提高解的精度;Parsopoulos[20]等人提出采用非線性單純形方法(NSM)去初始化PSO;Shi[21]介紹了兩種混合GA和PSO的方法:PSO-GA并行混合進化算法(PCPHEA)和PSOCA串行混合進化算法(PCSHE),混合PSO算法由于局部搜尋能力增強,在一定程度上可找到最優點,且可克服早熟收斂問題,但是以增加計算時間為代價。

應用研究

從最初求解一些稍微簡單的問題到更為複雜的問題,其發展趨勢主要表現在:[16]

(1)PSO用于求解有限制的優化問題:2008年,劉偉等人基于參數方程利用粒子群算法求解含有等式限制的優化問題;2007年,曹春紅等人利用粒子群算法求解幾何限制問題;2008年,王金華等人利用粒子群算法求解限制離散優化問題;同年,魏靜菅等基于模糊利用粒子群算法求解限制優化問題。

(2)PSO用于随機優化問題的求解:2006年,趙培忻等人利用粒子群算法求解随機裝卸工問題;2007年,王芳等利用粒子群算法求解随機需求車輛路徑問題;同年,李紅梅等人研究了基于量子行為利用粒子群算法求解随機規劃問題;陸琳,譚清美等人進行了利用粒子群算法求解随機需求VRP問題的研究。

(3)PSO用于最優控制問題的求解:孫凱等利用粒子群優化算法求解航天器太陽帆闆伸展過程中,航天器姿态運動的最優控制問題;厲虹、張冰運用粒子群算法線上優化對模糊控制器的量化因子,獲得平衡控制器參數的最優值;關聖濤等提出一種基于粒子群優化算法的非線性模型預測控制,在滾動優化部分應用粒子群優化算法求解預測控制律,對非線性系統施加優化控,實驗效果良好;馬昌喜等利用粒子群算法求解城市環路交通協調控制系統,效果良好。

(3)用于多目标優化:莫願斌等利用粒子群算法求解多目标過程系統優化;賀益君等就補料分批生化反應器的動态多目标優化應用粒子群算法求解;張文明等針對水文模型的參數多目标優化應用粒子群算法求解;彭志平等針對協商僵局的多目标問題利用粒子群算法消解,其僵局解決能力明顯比現有的其他方法強。

從以上的分析可以看出,從應用角度看粒子群算法應用于求解越來越複雜的問題,同時對粒子群算法的改進也越來越精細,優化性能也大大加強,但對算法優化性能的改進還沒有結束,如何更精細、更簡潔地改進算法,提高其性能,用于求解更多更複雜的問題,仍是一個研究的熱點。[16]

三、粒子群優化算法相關技術

3.1 粒子群優化算法的改進

參考國内外研究文獻和工程實踐,基本PSO算法優缺點可以分别歸納如下:

基本PSO 的優點:

1)  

PSO算法沒有交叉和變異運算,依靠粒子速度完成搜尋,并且在疊代進化中隻有最優的粒子把資訊傳遞給其它粒子,搜尋速度快;

2)  

PSO算法具有記憶性,粒子群體的曆史最好位置可以記憶并傳遞給其它粒子;

3)  

需調整的參數較少,結構簡單,易于工程實作;

4)  

采用實數編碼,直接由問題的解決定,問題解的變量數直接作為粒子的維數。

基本 PSO 的缺點:

(1) 尋找到的最優解可能是局部最優解而不是全局最優解,容易陷入局部最優,導緻收斂精度低和不易收斂;

(2) 不能有效解決離散及組合優化問題;

(3) 不能有效求解一些非直角坐标系描述問題,如有關能量場或場内粒子運動規律的求解問題(這些求解空間的邊界大部分是基于極坐标、球坐标或柱坐标的);

(4) 算法搜尋初期收斂速度快而搜尋後期收斂速度變慢;

(5) 參數選擇的随機性。

為此,研究者們針對這些缺點對粒子群算法做了不同方面的改進。可以歸納為兩個方面:

一方面的研究是将各種先進理論引入到PSO算法,研究各種改進和PSO算法;

另一方面是将PSO算法和其它智能優化算法相結合,研究各種混合優化算法,達到取長補短、改善算法某方面性能的效果。

3.1.1 改進PSO算法研究:

(1)   

添加收斂因子

Clerc M等[4]将收斂引入粒子群算法中,對算法的收斂性進行了研究,改進了算法的速度更新方式,具體如下:

其中,j  = c1 + c2 >  4 。一般情況下,j 取4.1。收斂因子的引入可以控制粒子群算法的收斂,使得粒子有機會搜尋空間中不同的區域,并獲得高品質的粒子。針對算法早期的實驗和應用,普遍認為采用收斂因子模型時,Vmax參數無足輕重,而往往将Vmax設定為一個極大值,如100000。

實驗結果表明,它大大提高了粒子群算法的收斂速度和收斂精度。

在公開發表的文獻當中,關于PSO基礎研究的文獻相對較少,未發現有關 PSO收斂性、收斂速度估計等方面的數學證明。是以這方面的研究是PSO需要繼續完善的研究内容之一。

(2)   

慣性權重模型

文獻[22]建立了PSO算法的慣性權重模型,慣性權重的引入,提高了算法的全局搜尋能力。基于動力系統的穩定性理論分析了帶有慣性權重的粒子群算法模型的收斂性,提高了粒子群算法的收斂性。

——第k次疊代粒子i飛行速度矢量的第d維分量

——第k次疊代粒子i位置矢量的第d維分量

c1 ,

c2——加速度常數,調節學習最大步長

r1 ,

r2——兩個随機函數,取值範圍[0,1],以增加搜尋随機性

w——慣性權重,非負數,調節對解空間的搜尋範圍。

粒子速度更新公式包含三部分:第一部分為粒子慣性速度;第二部分為“認知”部分,表示粒子本身的思考,可了解為粒子i目前位置與自己最好位置之間的距離。第三部分為“社會”部分,表示粒子間的資訊共享與合作,可了解為粒子i目前位置與群體最好位置之間的距離。

(3)   

其他改進PSO模型

文獻[23]提出了帶鄰域操作的PSO模型,克服了PSO模型在優化搜尋後期随疊代次數增加搜尋結果無明顯改進的缺點。

文獻[24]提出将拉伸技術用于PSO最小化問題的求解,力圖避免PSO算法易陷于局部最小值的缺點。

文獻[25]提出了一種用适應度定标的方法對PSO算法進行改進,該算法在算法收斂的前提下能夠提高粒子間适應度的差異。

3.1.2 混合智能優化算法的研究

(1)   

協同粒子群算法

Vanden B F等人[5]提出了一種協同粒子群算法。

該方法的具體步驟為:假設粒子的維數為n,将整個粒子分為k個小部分,用K個互相獨立的粒子群分别在D維的目标搜尋空間中的不同次元方向上進行搜尋,算法分别對粒子的每個小部分分别進行優化,評價适應度值後合并成一個完整的粒子。

結果表明了算法在很多問題上有更快的收斂速度,取得了很好的結果。

(2)   

基于自然選擇機制的粒子群算法

Angeline P J[6]将自然界中的自然選擇機制引入粒子群算法中,形成基于自然選擇的粒子群算法。其核心思想為,當算法更新完所有的粒子後,計算粒子的适應度值并對粒子進行适應度值排序。然後根據排序結果,用粒子群體中最好的一半粒子替換粒子群體中最差的一半粒子,但是保留原來粒子的個體最優位置資訊。

實驗結果表明,自然選擇機制的引入增強了粒子的全局尋優能力,提高了解的精度。[7]

該改進算法的優點是提高了PSO算法的收斂速度,同時保證了一定的全局搜尋能力;不足之處是算法的收斂速度是以犧牲全局搜尋能力為前提的。

文獻[26]将進化算法中的交叉操作引入到PSO模型,提高了粒子間區域搜尋的能力。文獻[27]對遺傳算法中的變異和PSO相結合進行了研究,其主要思想為:将整個種群分成不同的2個小組,當一小組的粒子飛向目前的最優解時,另外一個小組向反方向飛行,以避免算法陷入局部最優。

(3)   

粒子群混合算法

粒子群混合算法是在粒子群算法中引入其它算法的一些比較好的思想,以提高粒子群算法的性能。文獻[28]、[29]對一種基于模拟退火和PSO的混合優化算法進行了研究,該混合算法與基本PSO算法相比較,提高了擺脫局部極值點的能力,并且提高了收斂速度和精度。同時,也有大量學者對PSO算法和免疫算法、禁忌搜尋算法、單純形法、自适應算法等等一系列智能算法相結合進行了研究,得出了大量的混合算法。這些混合智能優化算法的共同特點是借鑒各種算法自身的優點,研究它們的思想與PSO算法結合來提高PSO算法的性能,能夠和PSO算法優勢互補,揚長避短,得到了更好的效果。

總之,改進PSO和混合PSO的研究極大地提高了PSO算法的工程适用能力。

3.2粒子群算法與其他優化算法的比較

PSO和遺傳算法(GA)的相同點

(1)都屬于仿生算法。PSO主要模拟鳥類覓食、人類認知等社會行為而提出;GA主要借用生物進化中“适者生存”的規律。

(2)都屬于全局優化方法。兩種算法都是在解空間随機産生初始種群,因而算法在全局的解空間進行搜尋,且将搜尋重點集中在性能高的部分。

(3)都屬于随機搜尋算法。都是通過随機優化方法更新種群和搜尋最優點。PSO中認知項和社會項前都加有随機數;而GA的遺傳操作均屬随機操作。

(4)都隐含并行性。搜尋過程是從問題解的一個集合開始的,而不是從單個個體開始,具有隐含并行搜尋特性,進而減小了陷入局部極小的可能性。并且由于這種并行性,易在并行計算機上實作,以提高算法性能和效率。

(5)根據個體的适配資訊進行搜尋,是以不受函數限制條件的限制,如連續性、可導性等。

(6)對高維複雜問題,往往會遇到早熟收斂和收斂性能差的缺點,都無法保證收斂到最優點。

PSO和遺傳算法(GA)的不同點

(1)PSO有記憶,好的解的知識所有粒子都儲存,而GA沒有記憶,以前的知識随着種群的改變被破壞。

(2)在GA算法中,染色體之間互相共享資訊,是以整個種群的移動是比較均勻地向最優區域移動。PSO中的粒子僅僅通過目前搜尋到最優點進行共享資訊,是以很大程度上這是一種單項資訊共享機制,整個搜尋更新過程是跟随目前最優解的過程。在大多數情況下,所有粒子可能比遺傳算法中的進化個體以更快速度收斂于最優解。

(3)GA的編碼技術和遺傳操作比較簡單,而PSO相對于GA,不需要編碼,沒有交叉和變異操作,粒子隻是通過内部速度進行更新,是以原理更簡單、參數更少、實作更容易。

(4)在收斂性方面,GA己經有了較成熟的收斂性分析方法,并且可對收斂速度進行估計;而PSO這方面的研究還比較薄弱。盡管已經有簡化确定性版本的收斂性分析,但将确定性向随機性的轉化尚需進一步研究。

(5)在應用方面,PSO算法主要應用于連續問題,包括神經網絡訓練和函數優化等,而GA除了連續問題之外,還可應用于離散問題,比如TSP問題、貨郎擔問題、工作工廠中的房間排程等。

PSO和蟻群算法的相同點

群體智能算法家族的兩個重要成員就是粒子群算法與蟻群算法。基本思想都是模拟自然界生物群體行為來構造随機優化算法的,不同的是粒子群算法模拟鳥類群體行為,而蟻群算法模拟螞蟻覓食原理。

(1)都是一類不确定算法。不确定性展現了自然界生物的生物機制,并且在求解某些特定問題方面優于确定性算法。仿生優化算法的不确定性是伴随其随機性而來的,其主要步驟含有随機因素,進而在算法的疊代過程中,事件發生與否有很大的不确定性。

(2)都是一類機率型的全局優化算法。非确定算法的優點在于算法能有更多機會求解全局最優解。

(3)都不依賴于優化問題本身的嚴格數學性質。在優化過程中都不依賴于優化問題本身嚴格數學性質(如連續性,可導性)以及目标函數和限制條件精确的數學描述。

(4)都是一種基于多個智能體的仿生優化算法。仿生優化算法中的各個智能體之間通過互相協作來更好的适應環境,表現出與環境互動的能力。

(5)都具有本質并行性。仿生優化算法的本質并行性表現在兩個方面:仿生優化計算的内在并行性(inherent parallelism )和内含并行性(implicit parallelism ),這使得仿生優化算法能以較少的計算獲得較大的收益。

(6)都具有突出性。仿生優化算法總目标的完成是在多個智能體個體行為的運動過程中突現出來的。

(7)都具有自組織和進化性。具有記憶功能,所有粒子都儲存優解的相關知識。在不确定的複雜時代環境中,仿生優化算法可以通過自學習不斷提高算法中個體的适應性。

(8)都具有穩健性。仿生優化算法的穩健性是指在不同條件和環境下算法的實用性和有效性。由于仿生優化算法不依賴于優化問題本身嚴格數學性質和所求問題本身的結構特征,是以用仿生優化算法求解不同問題時,隻需要設計相應的評價函數(代價函數),而基本上無需修改算法的其他部分。但是對高維問題複雜問題,往往會遇到早熟收斂和收斂性能差的缺點,都無法保證收斂到最優點。

PSO和蟻群算法的不同

(1)粒子群算法。粒子群算法是一種原理相當簡單的啟發式算法,與其他仿生算法相比,它所需的代碼和參數較少。

粒子群算法通過目前搜尋到的最優點進行共享資訊,很大程度上這是一種單項資訊共享機制。

粒子群算法受所求問題維數的影響較小。

粒子群算法的數學基礎相對較為薄弱,目前還缺乏深刻且具有普遍意義的理論分析。在對收斂性分析方面研究還需進一步将确定性向随機性轉化。

(2)蟻群算法。蟻群算法采用了正回報機制,這是不同于其他仿生算法最為顯著的一個特點。

蟻群算法中那個個體隻能感覺局部資訊,不能直接利用全局資訊。

基本蟻群算法一般需要較長的搜尋時間,且容易出現停滞現象。

蟻群算法的收斂性能對初始化參數的設定較為敏感。

蟻群算法已經有了較成熟的收斂性分析方法,并且可對收斂速度進行估計。

四、粒子群優化算法的應用

PSO算法由于具有簡單、易于實作、設定參數少、無需梯度資訊等特點,其在連續非線性優化問題群組合優化問題中都表現出良好的效果,是以被應用到很多的領域。

PSO最早應用于神經元網絡的訓練,Kennedy和Eberhart成功地将其應用于分類XOR問題的神經網絡訓練;文獻[8]将PSO算法用于神經網絡內建,加強了神經網絡的泛化能力。

1999年Eberhart用PSO來分析人類的帕金森綜合症等顫抖類疾病。

文獻[9]将PSO算法用于解決優化網頁内容描述的問題中。

文獻[10]将離散PSO算法用于求解TSP問題;1999年Yoshida等用PSO優化各種離散個連續變量,控制核電機組輸出穩定電壓;2002年Abido等用PSO解決最優功率通量問題。

文獻[11]則将PSO算法用于軟體結構測試資料自動生成也取得了良好的效果。

而近兩年,PSO算法作為一種高效的智能優化算法,為關聯規則挖掘算法提供了一種全新的解決方案,近年來被廣泛應用于該領域。2020年,鐘倩漪[30]等對粒子群優化算法的基本原理及關聯規則的基本概念進行了詳細介紹,分析了粒子群優化算法在關聯規則挖掘中的研究,包括常用的資料轉換方法、編碼方式及評估名額,并與其它在關聯規則挖掘中被廣泛應用的算法進行了對比,總結了各自的優缺點及适用場景。

文章梳理歸納了粒子群優化算法在關聯規則挖掘中的應用領域,闡述了該算法在購物籃、金融、醫療、工業生産及風險評估領域中的應用優勢。最後通過對現存問題進行分析,讨論了進一步的研究方向。

2020年,張亮[31]等人使用模糊粒子群優化算法優化了無線傳感器網絡的部署,針對無線傳感器網絡部署中随機抛灑方式下,如何選擇部分節點參與建構網絡的問題,提出了一種基于模糊粒子群優化算法的無線傳感器網絡部署優化方法.

實驗結果表明:通過多次疊代,該方法的目标函數值能夠得到逐漸優化。能夠在節點數量和覆寫率之間取得較好的平衡,具有一定的優勢。同時能夠綜合考慮網絡使用的節點數量和對應的目标區域覆寫率,并通過隸屬度函數将連續值轉換為01值,進而決定對應的傳感器節點是否參與建構網絡。該方法在保持較高覆寫率的同時,使用的傳感器數量較少。

在解決複雜問題時,PSO算法被證明是一種有效的方法,在上述文獻中,已經應用于非線性規劃,同步發電機辯識,車輛路徑,限制布局優化,新産品組合投入,廣告優化,多目标優化等衆多問題中,也表現出了良好的效果。

早在2007年,Poli對PSO算法的應用做了一個相對比較全面綜述,他把PSO算法的應用領域分為26個不同類别,根據Xplore中搜尋到的1100篇有關PSO算法的文獻作資料統計,其中有700篇是有關PSO算法應用的。他把這些應用文獻歸納出以下應用領域:圖像與視訊分析;電子網絡分布;控制工程應用;電子應用;天線設計;電力系統:排程;設計;通訊設計與優化;生物醫藥;資料挖掘;模糊系統與控制;信号處理;神經網絡:組合優化;機器人;預測與預報;模型;故障診斷與恢複;傳感器網絡;計算機圖形與可視化;發機動設計或優化;冶金;音樂制作與遊戲;安全與軍事應用;财經與金融。

結合本文參考的文獻,可以看出PSO具有很大的發展價值和發展空間,算法能夠用于多個領域并創造價值,在群智能算法中具有重要的地位,同時也能夠在相關産業創造價值,發揮作用。

下面具體分析在産業中的作用(1)模式識别和圖像處理。PSO算法已在圖像分割、圖像配準、圖像融合、圖像識别、圖像壓縮和圖像合成等方面發揮作用。(2)神經網絡訓練。PSO算法可完成人工神經網絡中的連接配接權值的訓練、結構設計、學習規則調整、特征選擇、連接配接權值的初始化和規則提取等。但是速度沒有梯度下降優化的好,需要較大的計算資源。一般都算不動。(3)電力系統設計,例如:日本的Fuji電力公司的研究人員将電力企業某個著名的RPVC(Reactive Power and Voltage Control)問題簡化為函數的最小值問題,并使用改進的PSO算法進行優化求解。(4)半導體器件綜合,半導體器件綜合是在給定的搜尋空間内根據期望得到的器件特性來得到相應的設計參數。(5)其他的一些相關産業。包括自動目标檢測、生物信号識别、決策排程、系統識别以及遊戲訓練等方面也取得了一定的研究成果。

五、總結

PSO是一種新興的有潛力的基于群智能的演化計算技術。自從2002年PSO算法被引進國内,已經有很多學者對PSO進行了研究。雖然已經取得了一些研究成果,但是仍然有許多問題值得關注。

PSO算法有很多優點,它是一類不确定算法,展現了自然界生物的生物機制,并且在求解某些特定問題方面優于确定性算法。它是機率型的全局優化算法。非确定算法的優點在于算法能有更多機會求解全局最優解。不依賴于優化問題本身的嚴格數學性質。是一種基于多個智能體的仿生優化算法。PSO算法中的各個智能體之間通過互相協作來更好的适應環境,表現出與環境互動的能力,具有本質并行性,包括内在并行性和内含并行性。具有自組織和進化性以及記憶功能,所有粒子都儲存優解的相關知識。

PSO算法雖然是一種有效的優化工具,但同樣有其不足,如疊代後期搜尋能力不夠,早熟收斂等。是以,如何将其他算法的優秀思想引進PSO算法,以彌補其不足是一個重要方向;将PSO算法與實際問題結合,将會有力的推動PSO算法的發展。[12]主要研究方向有以下幾個方面:

PSO算法的改進:标準PSO算法主要适用于連續空間函數的優化問題,如何将PSO算法應用于離散空間優化問題,特别是一類非數值優化問題,将是PSO算法的主要研究方向。另外,充分吸引其他進化類算法的優勢,以改進PSO算法存在的不足也是值得研究的問題。

PSO算法的理論基礎分析:由于PSO算法本身來源于生物群展現象,到目前為止,PSO算法的算法基理和數學基礎研究還很不成熟,存在許多不完善之處。如何利用有效的數學工具對PSO算法的運作行為、收斂性以及計算複雜性進行分析也是目前的研究熱點之一。

PSO算法與其他進化算法的比較研究:目前,進化算法的研究在理論和應用兩方面都得到迅速發展,效果顯著。其中研究的比較成熟的有遺傳算法、蟻群算法等,而PSO算法是一個新興的群體智能算法,目前己成為進化算法的一個重要分支,如何從多方面比較各種算法進而得到各自的特長和不足,如何吸引其他進化類算法的優勢來彌補PSO算法的不足也是目前研究的熱點之一。

通過對粒子群優化算法的基本概念、改進和應用的了解,我充分領悟了其中的奧義,即群體智能和進化計算。

人類通過對自然界的觀察可以總結出更好更多的算法來分析自然界的奧秘。就對于粒子群優化算法而言,由于單個算法總有其優勢、也有其缺陷,是以,人們希望通過多個算法的混合,以發揮各自的優勢,克服單個算法的不足,進而提出各種混合算法。

科學與工程實踐中的許多問題都可以歸結為優化問題。是以如何将粒子群優化算法與實際問題結合,将會有力的推動粒子群優化算法的發展。

在衆多研究者的不斷努力下,我相信粒子群優化算法将會越來越完善,發展和應用前景會更加光明。

參考文獻

[1]Fukuyama Y. Fundamentals of particle swarm

techniques [A]. Lee K Y , El2Sharkawi M A. Modern

Heuristic Optimization Techniques With Applications to Power Systems [M]. IEEE

Power Engineering Society , 2002. 45~51

[2]楊維,李歧強.粒子群優化算法綜述[J].中國工程科學,2004,6(5):87-94.

[3]黃少榮.粒子群優化算法綜述[J].計算機工程與設計,2009,30(8):1977-1980.

[4]Clerc M,Kennedy,Télécom F. The particle swarm-explosion, stability,and convergence in a multidimensional complex

space[J].Evolutionary Comput

ation,IEEE,2002,6(1):58-73.

[5]Vanden B F,Engelbrecht

A P.Using cooperative particle swarm optimization to

train product unit neural Networks[C]. IEEE International Joint Conference on

Neural Networks, Washington D C,USA, 2001.

[6]Angeline P J.Evolutionary

optimization versus particle swarm optimization: Philosophy and performance

differences[J]. Lecture Notes in Computer Science,1998:601-610.

[7]趙乃剛,鄧景順.粒子群優化算法綜述[J].科技創新導報,2015,12(26):216-217.

[8]劉宇,覃征,盧江,等 .多模态粒子群內建神經網絡[J].計算機研究與發展,2005,42( 9):15191526.

[9]Alfredo Milani, Valentino Santucci. Optimizing Web Content Presentation: a online PSO approach [ C ]

. 2009 IEEE/WIC/ACM International Conference on Web

Intelligence and Intelligent Agent Technology,

2009: 2629.

[10]Niasar N. Salmani,Perdam M. M,Shanbezade,Mohajeri. Discrete

fuzzy particle swarm optimization for solving traveling salesman problem[C].International Conference on

Information and Financial Engineering, ICIFE

2009, 2009:162165.

[11]李愛國,張豔麗.基于PSO的軟體結構測試資料自動生成方法[J].計算機工程,2008,34(6):93-94

[12]楊偉新,張曉森.粒子群優化算法綜述[J].甘肅科技,2012,28(5):88-92.

[13]楊志鵬,朱禮立,和楊志鵬。粒子預警優化的研究與發展。計算機工程與科學,2007,7(6):61-64。

[14]Liu Baoding and Zhao Ruiqing.Stochastic Decision and Fuzzy Deci-sion. Beijing: Tsinghua University Press ,2001.

[15]Kennedy J and Eberhart RC.

Particle swarm optimization.Proceed-inga

of IEEE International Conference on Neural Networks. Piscat-away

NJ:EEE,1995;1942-

1948.

[16]莫願斌,劉賀同,陳德钊,粒子群優化算法的發展趨勢 TP 183; TQ 015.9; 06-39:A,1001-4160(2009)04-430-434

[17]Angeline P. Using selection to improve

particle swarm optimizatior. Proceeding of I

CNN\'99.Washington,USA,1999:84 -89.

[18] Noel MM and Jeannette TC. Simulation of a newhybrid particle swarin

optimization algorithm. Proceedings of the Thirty-Sixth South-eastern Symposium

on System Theory ,2004;

150 - 153.

[19]Wachowiak

MP,Smolfkova R and Zheng Y , ert

al. An approach to multimodal biomedical image registration utilizing particle swarn optimization. IEEE Transactiona

on Evolutionary Computation,2004,8(3);289 - 301.

[20]Victoire TAA and Jeyakumar AE. Hybrid PSO- s QP for economic dispatch with

valve- point effect. Electric Power Systems Research,2004, 71(1):51-59.

[21]Shi x,La Y and Zhou C,er al. Hybrid evolutionary

algorithms based on PSOand GA. Proceedings of IEEE

Congress on Evolution-ary Computation(

CEC),Canbella,Australia,2003:2393- 2399.

[22]Shi Y H. Ebehart RC A M odified Particle

Swam Optimier[C]IEEE Intemat

ional Confe rence on Evoltonary Cam putation A nchorage EEE,1998

[23]Suganthan

P N. Particle Swam Optin izer

w ih Neighborhood Operator[ C]M Proceed ing s of Cong ress on

Evolutionary Com putatio 1999.

[24]Parsopou

bs K E Stietching Tecnique br Ob taining Global M in in ies through Particle Sw amoptin ization[ C] Proceed ings of the W orkshop onPSO. lnd ianapolis

Purdue school of Eng ineering

andTechnobgyNPUI2001.

[25]Lovbjeng

M,R asmussen T K, K rink T Hybrid Particle Swam

Optimizer with Breedling and Sulpopulations[

C]# Proc of the third Genetic and Evelutionary

Computation conference 200 1

[26]Lovbjerg

M, Rasmussen Tk et al H yb inl

Partic le Swam Optinization

with Breeding and Subpopu lat

ions[ C]IEEE In temationa l Conference on EvohtionaryCom puta tion San Diega EEE200Q

[27]馮駿,薛雲燦,江金龍.一種新的改進粒子群算法研究 [J]﹒河海大學常州分校學報,200620( 1) : 10-13

[28] Angelne P J Using selection

to improve particle swam optimization[J].Institute of

Electrical and Electronics Engineers 1998,( 5): 84- 89

[29]李甯,孫德寶,岑翼則,等.帶變異算子的粒子群優化

算法[J.計算機工程與應用,200440( 17): 12-14

[30]鐘倩漪,錢謙,伏雲發,馮勇.粒子群優化算法在關聯規則挖掘中的研究綜述[J/OL].計算機科學與探索:1-18[2020-12-25].http://kns.cnki.net/kcms/detail/11.5602.TP.20201211.1444.004.html.

[31]張亮,黃郡.基于模糊粒子群優化算法的無線傳感器網絡部署優化研究[J].傳感器與微系統,2021,40(01):23-25+29.