林偉民
摘要:粒子群算法跟其他進(jìn)化算法相比,有很多先進(jìn)之處,如原理簡(jiǎn)單、掌握容易,也比較容易操作,算法執(zhí)行時(shí)所需要的參數(shù)也很少,所以粒子群算法一經(jīng)提出,很受歡迎。當(dāng)在算法中加入的參數(shù)比較多時(shí),就會(huì)在一定程度上影響到算法原來(lái)的優(yōu)越性,因此,算法的參數(shù)越少,那么算法的性能就會(huì)隨之得到提高,所以該文采用了無(wú)速度算法來(lái)對(duì)原算法進(jìn)行優(yōu)化。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的算法在收斂速度以及收斂精度上比傳統(tǒng)的粒子群算法更優(yōu),能改善早熟收斂問(wèn)題。
關(guān)鍵詞:粒子群算法;優(yōu)化;無(wú)速度
中圖分類號(hào):TP393? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)19-0095-03
Speedless Particle Swarm Optimization Algorithm based on Iterative Equation
LIN Wei-min
(Yancheng Polytechnic College, Yancheng 224005, China)
Abstract: Compared with other evolutionary algorithms, particle swarm optimization has many advantages. For example, the principle is simple, easy to master, and relatively easy to operate, and few parameters are required for algorithm execution. So the particle swarm algorithm was very popular once it was proposed. When more parameters are added to the algorithm, it will affect the original superiority of the algorithm to a certain extent. Therefore, the fewer the parameters of the algorithm, the better the performance of the algorithm. So this article uses a speedless algorithm to optimize the original algorithm. Experimental results show that the improved algorithm is better than the traditional particle swarm algorithm in terms of convergence speed and convergence accuracy, and can improve the problem of premature convergence.
Key words: particle swarm algorithm; optimization; no speed
1 背景
粒子群算法是一種經(jīng)典的元啟發(fā)式算法 [1],于1987年由C. Reynolds學(xué)者研究提出,主要源自對(duì)鳥類覓食行為的研究。發(fā)現(xiàn)了其中的3條規(guī)律:
(1)覓食期間鳥不會(huì)相撞,也就是避免粒子群中粒子之間的觸碰。
(2)覓食過(guò)程中鳥之間的飛行速度要接近,也就是在粒子群中粒子之間的飛行速度要相當(dāng)。
(3)個(gè)體覓食時(shí)會(huì)不斷靠向中心位置,也就是粒子在飛行時(shí)會(huì)向粒子群的中心靠攏。
后來(lái),Eberhart 和Kennedy兩人基于C. Reynolds的研究結(jié)論,與1995年提出了一種粒子群優(yōu)化算法(particle swarm optimization,PSO)。該算法對(duì)前算法的基礎(chǔ)上對(duì)其參數(shù)進(jìn)行了簡(jiǎn)化,使得算法的原理更加簡(jiǎn)單且容易實(shí)現(xiàn)[2]。一直被用于解決各種優(yōu)化問(wèn)題,關(guān)注度很廣。如電力系統(tǒng)優(yōu)化[3]、模糊控制優(yōu)化[4]、圖像處理[5]、信號(hào)處理[6]等領(lǐng)域。PSO算法也存在許多不足,在迭代時(shí)粒子群體的多樣性不斷降低,使得算法很容易陷入局部最優(yōu)解、出現(xiàn)早熟收斂或者是收斂速度到后期時(shí)會(huì)變慢等不足。為解決粒子群的上述問(wèn)題,很多研究人員對(duì)粒子群優(yōu)化算法進(jìn)行了研究與改進(jìn),一般都是針對(duì)算法的參數(shù)設(shè)置、拓?fù)浣Y(jié)構(gòu)或者進(jìn)化公式進(jìn)行改進(jìn),還有一些則利用了其他一些算法的優(yōu)點(diǎn)來(lái)對(duì)算法進(jìn)行優(yōu)化。最具代表性的幾種PSO優(yōu)化算法有:多環(huán)拓?fù)浣Y(jié)構(gòu)的粒子群優(yōu)化算法、帶壓縮因子的粒子群優(yōu)化算法、混沌粒子群優(yōu)化、自適應(yīng)粒子群優(yōu)化算法等。這些算法雖然可以改進(jìn)粒子群的一些缺點(diǎn),但算法的參數(shù)還是相對(duì)較多,而參數(shù)較多就會(huì)影響到算法的優(yōu)越性。針對(duì)粒子群算法的參數(shù)問(wèn)題,本文對(duì)算法的公式參數(shù)進(jìn)行研究,提出了一種新的算法:基于迭代方程的無(wú)速度粒子群優(yōu)化算法。改善了算法的尋優(yōu)能力,提高了算法的效率。
2 粒子群算法的原理
可以先設(shè)想鳥群是如何覓食的。某處有塊食物,沒(méi)有鳥知道它在哪。它們可以預(yù)知自己離食物的距離。那覓食的最優(yōu)策略如下:首先搜尋目前離食物最近的鳥的位置;然后再根據(jù)自己的飛行經(jīng)驗(yàn)判斷食物所在的位置;PSO正是從這種模型中得到啟發(fā),其基礎(chǔ)是社會(huì)共享。
在粒子群優(yōu)化算法中,可以把優(yōu)化問(wèn)題中的每一個(gè)可行解看作搜索區(qū)域中的一只鳥,并且粒子自身是沒(méi)有體積與重量的。每個(gè)粒子飛行在解區(qū)域中,每個(gè)粒子的飛行方向與距離由其速度決定。首先給解空間中的每個(gè)粒子初始化一個(gè)隨機(jī)位置和隨機(jī)飛行速度,由目標(biāo)函數(shù)確定一個(gè)適應(yīng)值。然后根據(jù)每個(gè)粒子的速度、已知的全局最優(yōu)位置gbest和粒子個(gè)體的最優(yōu)位置pbest來(lái)依次判斷各個(gè)粒子的位置。并且通過(guò)逐代搜尋找到最優(yōu)值。