一、基于粒子群算法的尋優(yōu) 數(shù)學(xué)物理中的很多問題歸結(jié)為解非線性方程。 解決方程求根的傳統(tǒng)方法: 牛頓法弦割法拋物線法牛頓下山法 傳統(tǒng)方法的缺點(diǎn):收斂性和結(jié)果與初始值的選取有較大關(guān)系,依賴于背景知識,算法缺少通用性。 歷史: 1995年,Kennedy等以鳥類群體行為進(jìn)行建模仿真的思想啟發(fā),提出了粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法。 算法優(yōu)點(diǎn): 群體智能內(nèi)在并行性迭代格式簡單可快速收斂到最優(yōu)解所在區(qū)域 應(yīng)用: 函數(shù)優(yōu)化神經(jīng)網(wǎng)絡(luò)訓(xùn)練模糊控制系統(tǒng) 1.1基本粒子群算法 PSO基于群體的隨機(jī)優(yōu)化,通過一組隨機(jī)解初始化,通過迭代搜尋最優(yōu)解。PSO模擬社會。每個可能產(chǎn)生的解表述成群里的一個微粒,每個微粒有自己的位置向量和速度向量,以及一個由目標(biāo)函數(shù)決定的適應(yīng)度。所有微粒在搜索空間中以一定速度飛行,通過追隨當(dāng)前搜索到的最優(yōu)值來尋找全局最優(yōu)值。 PSO模擬社會采用以下三條簡單規(guī)則對粒子個體: 1. 飛離最近的個體,以免碰撞2. 飛向目標(biāo)3. 飛向群體的中心 反應(yīng)群體行為:鳥類被吸引飛向棲息地。在仿真開始,每只鳥均無特定的目標(biāo)進(jìn)行飛行,直到有一只鳥飛到棲息地,當(dāng)設(shè)置的期望棲息比期望留在鳥群中具有較大的適應(yīng)性時,每只鳥都離開群體而飛向棲息地,隨后就自然形成了鳥群。 數(shù)學(xué)模型:設(shè)在S維目標(biāo)搜索空間,有m個粒子組成一個群體,其中第i個粒子表示為一個S維向量 將Xi代入目標(biāo)函數(shù)就可以算出其適應(yīng)度。根據(jù)適應(yīng)度大小衡量解的優(yōu)劣。第i個粒子的飛翔速度是S維向量,記為 記第i個粒子至今搜索到的最優(yōu)位置為 整個粒子群至今搜索到的最優(yōu)位置為 f(x)是最小化的目標(biāo)函數(shù),則微粒i的當(dāng)前最好位置由下式確定: Kennedy用下列公式對粒子進(jìn)行操作 其中: 學(xué)習(xí)因子 和 為非負(fù)常數(shù)。 和 為相互獨(dú)立的偽隨機(jī)數(shù),服從 上的均勻分布。 為常數(shù) 從以上進(jìn)化方程可見,c1調(diào)節(jié)粒子向自身最好位置方向的步長,c2調(diào)節(jié)粒子向全局最好位置方向的步長。Vis用來降低進(jìn)化過程中粒子離開搜索空間的可能,一般設(shè)定 Y.Shi對上式修改: 式中,動力常數(shù)w為非負(fù)數(shù),控制前一速度對當(dāng)速度的影響。w大時,前一速度影響大,全局搜索能力較強(qiáng);w較小時,前一速度影響較小,局部搜索能力較強(qiáng)。通過調(diào)整w大小跳出局部極小值。 終止條件根據(jù)具體問題取最大迭代次數(shù)或粒子群搜索到的最優(yōu)位置滿足的預(yù)定最小閾值。 初始化過程: 1. 設(shè)定群體規(guī)模m。2. 對任意i、s,在[-Xmax,Xmax]內(nèi)服從均勻分布產(chǎn)生Xis;3. 對任意的i、s,在[-Vmax,Vmax]內(nèi)服從均勻分布產(chǎn)生Vis;4. 對任意的i,設(shè)Yi=Xi。 PSO算法步驟如下: 1. 初始化一個規(guī)模為m的粒子群,設(shè)計(jì)初始位置和速度。2. 計(jì)算每個粒子的適應(yīng)度。3. 對每個粒子將其適應(yīng)度和其經(jīng)歷的最好位置Pis的適應(yīng)值進(jìn)行比較,若較好,則將其作為當(dāng)前最好 位置。4. 對每個粒子將其適應(yīng)值和全局經(jīng)歷過的最好位置Pgs的適應(yīng)度進(jìn)行比較,若較好,則將其作為當(dāng)前 的全局最好位置。5. 根據(jù)方程對粒子的速度和位置進(jìn)行更新。6. 如果滿足終止條件,則輸出解;否則返回第二步。 |
|