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