施 顥
(江蘇省地理基礎地理信息中心,江蘇 南京 210013)
在地理學研究中會經常涉及大量復雜的非線性數學模型,如Gompertz,Richards 模型等。其形式較為復雜,不易獲得其參數估計,限制了模型的實際應用和發展。目前,較為常用的參數估計方法如牛頓迭代法的計算公式復雜,需進行多次迭代,誤差較大,易限于局部最優解;直接搜索法、梯度法和變尺度法等通常只對某一類特定問題才有效,且對模型的限制條件較強。王新生[1]提出采用模擬退火算法進行非線性地學模型參數估計,取得了較好的結果。
本文提出一種粒子群與人工魚群組合優化算法,利用人工魚群算法[2-4]的全局收斂性和粒子群算法的易實現性、局部快速收斂性,協同搜索,提高算法的全局收斂速度。實踐表明PSO-AFSA 算法收斂速度快,求解精度高,可以運用到非線性地學模型的參數估計中。
在D維搜索空間中,粒子群算法將每一個可能解表示為一個粒子,在算法初始階段,隨機生成每個粒子的位置和速度,假設單個粒子所處的位置為xi,飛行速度為Vi,Pi為所有粒子的最優位置,Pg為全部粒子中的最優解。所有粒子經過不斷迭代,更新位置和速度,趨向最優解,更新方程如下所示:

式中,k為粒子群算法迭代的次數;r1和r2是在[0,1]之間均勻分布的隨機數;w代表慣性權重系數;C1和C2是正常數,稱之為學習因子或者加速因子。粒子群中每個個體從初始狀態按公式(1)~(2)進行迭代計算,直到符合最優解。
人工魚群算法通過模擬魚群覓食、聚群和追尾行為,達到尋優的目的,尋優原理為:在算法初始階段,隨機初始化N個人工魚個體分布于解空間,每條人工魚的狀態為向量Xi=(x1i,x2i,x3i,…,xni),在此解空間中存在一個全局極值和數個局部極值,食物濃度函數F(X)=是在X位置的適應值或合理函數值,在不斷的迭代搜尋過程中,每條人工魚按搜索條件S={Xj|‖Xi-Xj‖<Visual}向極值較大的區域移動并聚集。隨后通過調整人工魚個體的視野和步長獲得最優解。
本文利用粒子群算法的快速局部收斂性和人工魚群算法較好的全局收斂性,將兩種群體智能算法結合起來,使新的算法能快速收斂,得到最優解,是一種性能較優的優化算法。
該算法的操作步驟如下:
(1)隨機初始化N個個體,得到人工魚群group1,設定人工魚群各參數:可視域Visual,人工魚移動步長Step,擁擠度因子σ。
(2)隨機初始化N個個體,得到粒子群group2,設定粒子群各參數:加速度參數C1和C2,慣性權重系數w。
(3)人工魚群group1和粒子群group2按各自的適應度函數算出每個個體的適應度函數值。判斷兩個種群所有個體的適應度值是否都滿足邊界條件,不滿足則重新生成,直至group1和group2中所有個體滿足邊界條件。
邊界條件的設定為:計算出初始化狀態下每個種群中每個個體的適應度值后,選擇適應度值最小的一個作為評判標準,為Fmin其余所有個體必須滿足:

式中,Fmin為初始化狀體下兩種群中適應度值最小的個體。
(4)group1執行人工魚群算法,得到新的種群group′1;group2執行粒子群算法,得到新的種群group′2,并將兩個群體中適應度值最小的個體數值作為最優解賦給公告板Best。
(5)從group′1和group′2中各選取適應度最差的5%的個體,以概率p趨向最優解Best,更新其數值。

式中,p取值范圍是[0,0.2]。
(6)循環判斷公告板上的最優解Best 是否小于設定的誤差限。若是,輸出最優解,否則,將新種群group′1和group′2執行各自對應算法進行更新,直到Best 小于誤差限為止。
多元非線性回歸模型的形式一般可表示為:

式中,y∈R1,x∈Rn,θ∈Rp,p為參數個數,f(x,θ)為非線性函數。
非線性參數估計的問題可以轉換為求參數θ的最小二乘估計,使得對于任何的θ都有≤S(θ)。
為了驗證人工魚群與粒子群組合優化算法的性能,選取典型的S-生長模型進行參數估計。各模型公式如下:
(1)Gompertz 模型

(2)Logistic 模型

(3)Weibull Type 模型

模型觀測數據[4],如表1 所示。

表1 S-生長模型觀測數據
算法在matlab 下編程實現,參數設置如下:人工魚群和粒子群個體數都為N=50,人工魚視野范圍Visual=10,移動步長Step=2,擁擠度因子δ=0.618,粒子群的加速度因子C1和C2都取為1.2,跳躍概率P=0.2,連續運行20 次計算平均值,以θ的最小二乘估計和殘方差作為評價指標,。求解結果如表2—4 所示。

表2 Gompertz 函數計算結果

表3 Logistic 函數計算結果

表4 Weibull Type 函數計算結果
從表2—4 的計算結果來看,PSO-AFSA 的參數求解精度優于方開泰[2]和Ratkowsky[3]模型的求解精度,與王新生[1]的求解結果十分接近,且PSO-AFSA 不需考慮非線性方程的形式是否可微或形式復雜,可以直接進行參數估計,計算耗時短,不易限于局部最優解,說明人工魚群和粒子群組合優化算法應用在非線性地學模型參數求解中是有效的。
傳統非線性地學模型參數估計的計算方法復雜,易限于局部最優解,文章利用人工魚群算法的全局收斂性和粒子群算法的局部收斂性,加入跳躍因子和邊界搜索條件,提出了一種粒子群和人工魚群組合優化算法。實例計算表明,該算法求解速度快、精度高,不管方程是否可微或形式復雜,都不影響求解,可以運用到非線性地學模型參數估計中。