0?前言
??本系列文章主要針對粒子群算法進行介紹和運用,并給出粒子群算法的經(jīng)典案例,從而進一步加深對粒子群算法的了解與運用(預(yù)計在一周內(nèi)完成本系列文章)。主要包括四個部分:
- 粒子群算法概述
- 粒子群算法實現(xiàn)及基本應(yīng)用
- 粒子群算法在數(shù)學(xué)建模的應(yīng)用實例(一)
- 粒子群算法在數(shù)學(xué)建模的應(yīng)用實例(二)
- 粒子群算法的其他經(jīng)典案例(未確定)
1?概述
??粒子群算法也稱粒子群優(yōu)化算法(Particle Swarm Optimization, PSO),屬于群體智能優(yōu)化算法,是近年來發(fā)展起來的一種新的進化算法(Evolutionary Algorithm, EA)。群體智能優(yōu)化算法主要模擬了昆蟲、獸群、鳥群和魚群的群集行為,這些群體按照一種合作的方式尋找食物,群體中的每個成員通過學(xué)習(xí)它自身的經(jīng)驗和其他成員的經(jīng)驗來不斷地改變搜索的方向。群體智能優(yōu)化算法的突出特點就是利用了種群的群體智慧進行協(xié)同搜索,從而在解空間內(nèi)找到最優(yōu)解。
??PSO 算法和模擬退火算法相比,也是 從隨機解出發(fā),通過迭代尋找最優(yōu)解。它是通過適應(yīng)度來評價解的品質(zhì),但比遺傳算法規(guī)則更為簡單,沒有遺傳算法的“交叉”和“變異”,它通過追隨當前搜索到的最大適應(yīng)度來尋找全局最優(yōu)。這種算法以其 容易實現(xiàn)、精度高、收斂快 等優(yōu)點引起了學(xué)術(shù)界的重視,并在解決實際問題中展示了其優(yōu)越性。
2?粒子群算法的基本原理
??在粒子群算法中,每個優(yōu)化問題的解被看作搜索空間的一只鳥,即“粒子”。算法開始時首先生成初始解,即在可行解空間中隨機初始化粒子組成的種群
,其中每個粒子所處的位置
,都表示問題的一個解,并依據(jù)目標函數(shù)計算搜索新解。在每次迭代時,粒子將跟蹤兩個“極值”來更新自己, 一個是粒子本身搜索到的最好解
,另一個是整個種群目前搜索到的最優(yōu)解
。此外每個粒子都有一個速度
,當兩個最優(yōu)解都找到后,每個粒子根據(jù)如下迭代式更新:
- 速度向量迭代公式:
- 位置向量迭代公式:
??其中參數(shù)稱為是 PSO 的 慣性權(quán)重(inertia weight),它的取值介于[0,1]區(qū)間;參數(shù)
和
稱為是 學(xué)習(xí)因子(learn factor);而
和
為介于[0,1]之間的隨機概率值。
??實踐證明沒有絕對最優(yōu)的參數(shù),針對不同的問題選取合適的參數(shù)才能獲得更好的收斂速度和魯棒性,一般情況下,
取 1.4961,而
采用自適應(yīng)的取值方法,即一開始令
,使得 PSO 全局優(yōu)化能力較強;隨著迭代的深入,遞減至
,從而使得PSO具有較強的局部優(yōu)化能力。
3?粒子群算法的基本流程
Step 1 種群初始化:可以進行隨機初始化或者根據(jù)被優(yōu)化的問題設(shè)計特定的初始化方法,然后計算個體的適應(yīng)值,從而選擇出個體的局部最優(yōu)位置向量
和種群的全局最優(yōu)位置向量
。
Step 2 迭代設(shè)置:設(shè)置迭代次數(shù)
,并令當前迭代次數(shù)
;
Step 3 速度更新:更新每個個體的速度向量;
Step 4 位置更新:更新每個個體的位置向量;
Step 5 局部位置向量和全局位置向量更新:更新個體的
和種群的
;
Step 6 終止條件判斷:判斷迭代次數(shù)時都達到
,如果滿足,輸出
;否則繼續(xù)進行迭代,跳轉(zhuǎn)至Step 3。
對于粒子群優(yōu)化算法的運用,主要是對速度和位置向量迭代算子的設(shè)計。迭代算子是否有效將決定整個PSO算法性能的優(yōu)劣,所以如何設(shè)計PSO的迭代算子是PSO算法應(yīng)用的研究重點和難點。
4?對于權(quán)重慣量的理解
??參數(shù)之所以被稱之為慣性權(quán)重,是因為
實際反映了粒子過去的運動狀態(tài)對當前行為的影響,就像是我們物理中提到的慣性。如果
,從前的運動狀態(tài)很少能影響當前的行為,粒子的速度會很快的改變;相反,
較大,雖然會有很大的搜索空間,但是粒子很難改變其運動方向,很難向較優(yōu)位置收斂,由于算法速度的因素,在實際運用中很少這樣設(shè)置。也就是說,較高的
設(shè)置促進全局搜索,較低的
設(shè)置促進快速的局部搜索。
常用權(quán)重慣量選擇方式有:
- 自適應(yīng)權(quán)重法
- 隨機權(quán)重法
- 線性遞減權(quán)重法