日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基本粒子群算法(PSO)的改进

發布時間:2025/4/16 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基本粒子群算法(PSO)的改进 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本PSO的改進

雖然粒子群在求解優化函數時,表現了較好的尋優能力;通過迭代尋優計算,能夠迅速找到近似解;
但基本的PSO容易陷入局部最優,導致結果誤差較大。

兩個方面
1.將各種先進理論引入到PSO算法,研究各種改進和PSO算法;(混沌技術,神經網絡技術,自適應技術)
2.將PSO算法和其它智能優化算法相結合,研究各種混合優化算法,達到取長補短、改善算法某方面性能的效果。

近時期粒子群改進策略主要體現的方面:
1.PSO算法的慣性權重模型,通過慣性權重的引入,提高了算法的全局搜索能力;
2.帶鄰域操作的PSO模型,克服PSO模型在優化搜索后期隨迭代次數增加搜索結果無明顯改進的缺點;
3.協同PSO算法,用K個相互獨立的粒子群分別在D維的目標搜索空問中的不同維度方向上進行搜索;



藍色的曲線:w=0.8,黃色的曲線:w=0.6紅色的曲線:w=0.4
從上式可以看出,w越大,微粒飛行速度越大,微粒將以
較大的步長進行全局搜索;w越小,則微粒步長小,
趨向于精細的局部搜索。
同時,從右圖也可以看出w=0.8時,微粒以更少的迭代次數取得全局最優;w=0.6時,迭代次數其次,
w=0.4時,迭代次數相對較多。

雖然較大的權重因子有利于跳出局部最小值,便于全局搜索,
而較小的慣性因子則有利于對當前的搜索區域進行精確局部搜索,
以利于算法收斂;但是w過大容易導致“早熟收斂”與算法后期
在全局最優解附近產生振蕩的現象。

w的改進
一般方法是把Wmax逐漸變成Wmin;
1.權重線性遞減的PSO算法


自適應權重粒子群優化算法適應度曲線

2.自適應權重的PSO算法

f表示微粒當前的目標函數值。
當各微粒的目標值趨于一致或趨于局部最優時,將使慣性權重增大,而各微粒的目標值比較分散時,使慣性權重減小,同時對于目標函數值優于平均目標值的微粒,其對應的慣性權重因子較小,從而保留了該微粒,反之對于目標函數值差于平均目標值的微粒,其對應的慣性權重因子較大,使得該微粒向較好的搜索區域靠攏。(附圖)

慣性權重線性遞減PSO算法適應度曲線

3.隨機權重策略的PSO算法

隨機地選取值,使得微粒歷史速度對當前速度的影響是隨機的。
為服從某種隨機分布的隨機數,從一定程度上可從兩方面克服 w的線性遞減所帶來的不足。
隨機權重策略的PSO算法對于多峰函數,能在一定程度上避免陷入局部最優。

[隨機權重策略的PSO適應度曲線]

4.增加收縮因子的PSO算法



壓縮因子 比慣性權重系數w更能有效地控制與約束微粒的飛行速度,同時也增強了算法的局部搜索能力。

帶壓縮因子的的PSO算法適應度曲線


由上面兩個圖,可以看出慣性常數方法通常采用慣性權值隨更新代數增加而遞減的策略,在算法后期由于慣性權值過小,會失去微粒的探索新區域的能力,而壓縮因子方法則不存在此不足。

CONCLUTIONS
PSO算法的搜索性能取決于其全局搜索與局部改良能力的平衡,這很大程度上依賴于算法的參數控制,包括N,Vmax,M,w,c1,c2等;

微粒種群數目N:N設置較小時,算法收斂速度快,但是容易陷入局部最優;N設置較大時,算法收斂速度相對較慢;導致計算時間大幅增加,而且群體數目N增至一定的水平時,再增加微粒數目不再有顯著的效果。

參考取值:一般設N為10~50之間,對于比較復雜的問題,微粒數目N可以取100以上;

最大速度Vmax:決定搜索的力度;Vmax過大,粒子運動速度快,微粒探索能力強,但容易越過最優的搜索空間,錯過最優解;如果Vmax較小,微粒的開發能力強,容易進入局部最優,可能會使微粒無法運動足夠遠的距離以跳出局部最優,從而也可能找不到解空間的最佳位置。(跟w的取值規則一樣)。

慣性權值w:w越大,微粒飛行速度越大,微粒將會以更長的步長進行全局搜索;w較小,則微粒步長小,趨向于精細的局部搜索;因此,我們采用動態改變w的值;在搜索初期設w取一個較大值,然后隨著迭代次數的不斷增加,逐漸降低w的值;從而達到全局最優。

ways:隨機調整,線性遞減,非線性遞減,模糊自適應。

學習因子c1,c2:c1,c2具有自我總結和向優秀個體學習的能力,從而使微粒向群體內或領域內的最優點靠近。c1,c2分別調節微粒向個體最優或者群體最優方向飛行的最大步長,決定微粒個體經驗和群體經驗對微粒自身運行軌跡的影響。學習因子較小時,可能使微粒在遠離目標區域內徘徊;學習因子較大時,可使微粒迅速向目標區域移動,甚至超過目標區域。因此,c1和c2的搭配不同,將會影響到PSO算法的性能。

ways:一般令c1+c2=4;其實c1=2附近的迭代次數較小,在兩個端點0和4附近的迭代次數較大,大致呈現出對稱性;在倆端點處搜索失敗率較大;通常,越接近端點,失敗率越高。但并不是所有情況都是c1=c2=2時才有最優解。

r1,r2是[0,1]之間的隨機數。

最大迭代次數M:算法停止迭代條件。

另外,隨著變量范圍和維數的增加,搜索空間呈幾何級擴張,迭代次數相應增加,優化函數越復雜,所需的計算量越大,迭代次數也越多。

參數的選擇影響算法的性能和效率,也是一個值得優化的問題。在實際應用中,沒有選擇參數的通用方法,只能憑經驗選取。大量的仿真實驗發現,參數對算法性能的影響有一定的規律可尋。例如:w=0.7298,c1=c2=1.49618是一組較為出色的參數組合。

謝謝大家~~~~~~
歡迎大家和我一起討論,一起進步。
有需求可聯系本人郵箱qinwei1005@foxmail.com

總結

以上是生活随笔為你收集整理的基本粒子群算法(PSO)的改进的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。