張永康, 李春祥, 鄭曉芬, 徐化喜
(1. 上海大學 土木工程系, 上海 200072; 2. 同濟大學 建筑工程系, 上海 200092;3. 上海飛虹鋼結構工程有限公司, 上海 200090)
基于混合人工蜂群和人工魚群優化的LSSVM脈動風速預測
張永康1, 李春祥1, 鄭曉芬2, 徐化喜3
(1. 上海大學 土木工程系, 上海 200072; 2. 同濟大學 建筑工程系, 上海 200092;3. 上海飛虹鋼結構工程有限公司, 上海 200090)
考慮人工蜂群(ABC)和人工魚群(AFS)算法的各自優勢,提出混合智能算法(ABC+AFS)優化選擇最小二乘支持向量機(LSSVM)參數的方法,以提高其脈動風速預測模型的性能。AFS算法有較強的全局尋優能力,混合智能算法以AFS算法中的人工魚尋優方式代替ABC算法中的引領蜂尋優方式,克服ABC算法易陷入局部最優的問題。同時,ABC算法中的正負反饋機制可以克服AFS算法的后期盲目尋優、收斂速度下降的問題。運用基于混合ABC、AFS優化的LSSVM對脈動風速進行了預測,并與基于ABC、AFS和粒子群(PSO)算法優化的LSSVM脈動風速預測結果進行了比較。數值結果表明,基于混合ABC+AFS優化的LSSVM脈動風速預測模型有更好性能,具有工程應用前景。
人工蜂群算法; 人工魚群算法; 混合智能優化; 最小二乘支持向量機; 脈動風速; 預測性能
在臺風作用下,大跨橋梁和高柔結構(例如:超高層建筑)會產生劇烈的抖振。為確保大跨橋梁和超高層建筑的正常運行以及在極端風事件下的安全,現在基本上都在這些結構上安裝結構健康監測(SHM)系統來是實時監測臺風風速風向和結構的動力響應。盡管如此,布置用于實測此類工程風速風向的風速儀是相當少的,絕大多數位置處的風速需根據少數點的實測記錄來進行條件模擬或預測獲得,以建立全尺度的實測風荷載信息。因此,發展先進的工程結構風速預測方法至關重要。
預測工程結構的脈動風速時程主要有持續預測法、支持向量機、時間序列法、人工神經網絡等方法[1]。其中的基于最小二乘支持向量機(Least Square Support Sector Machine,LSSVM)脈動風速預測模型最近有較大的發展[2-5]。但參數選擇直接影響LSSVM的預測性能。為減小參數選擇對LSSVM預測性能的影響,學者提出了使用粒子群優化(Particle Swarm Optimization,PSO)[6]、人工魚群(Artificial Fish Swarm, AFS)算法[7]和人工蜂群(Artificial Bee Colony, ABC)算法[8]等來優化LSSVM的參數。
然而,在上述智能算法中,PSO收斂速度快、參數設置少、實現簡單,但易于過早收斂,搜索精度較低;AFS算法對初值和參數選擇不敏感、魯棒性強、能克服局部極值,但后期搜索的盲目性較大,尋優精度較低;ABC算法具有正負反饋機制、參數設置簡單、協作能力強,但易于陷入局部最優。本文考慮到ABC和AFS算法的各自優勢,提出混合智能算法(ABC+AFS)來優化LSSVM的參數。在ABC算法中,引領蜂在鄰域搜索后,跟隨蜂在鄰域搜索。但兩者鄰域搜索沒有本質差別,屬重復工作,是ABC算法易陷入局部最優的根本原因。提出的混合智能算法(ABC+AFS),以AFS中的人工魚尋優方式代替ABC中的引領蜂尋優方式,能在可行解范圍內全局搜索,增加了ABC種群的多樣性,克服了ABC易于陷入局部最優的問題。而且,ABC的正負反饋機制可以克服AFS的后期尋優盲目性。
另一方面,現場實測風速數據是驗證預測算法的最直接資料。然而,實測風速數據耗時、耗力,且易受天氣和地形條件等因素的影響,還常常出現測出的數據不能用問題。因此,本文運用ARMA模型數值模擬出研究所需的脈動風速時程樣本數據庫來代替實測風速數據庫,并把模擬的脈動風速時程樣本數據庫劃分為訓練集和測試集。對訓練集學習訓練,而對測試集進行預測。根據測試集的預測值與測試集值的平均絕對誤差、均方根誤差以及相關系數,評價基于混合人工蜂群和人工魚群優化LSSVM的脈動風速預測性能,以驗證基于混合ABC和AFS優化LSSVM的高預測性能。
最小二乘支持向量機(LSSVM)是在支持向量機(SVM)的基礎上,采用誤差的二次平方項代替SVM中的不敏感損失函數,將不等式約束改成等式約束,把二次規劃問題轉化為求解線性方程組問題,以提高求解速度和收斂精度,并成功地應用于函數逼近、分類以及時間序列預測等方面。LSSVM原理如下:
f(x)=ωTφ(x)+b
(1)
根據結構風險最小化原理,此線性回歸問題可表示為一個等式約束優化問題。LSSVM目標函數為:
(2)
s.t.yi=ωTφ(xi)+b+ei(i=1,2,…,n)
(3)
式中:J為損失函數;γ為正則化參數且γ>0,ei為誤差變量。
將約束優化問題轉化為無約束優化問題的拉格朗日等式為:

(4)

將L分別對ω,b,ei,αi求偏導數,并令等于0得方程:
(5)

(6)
由式(6)求出α和b, 得到LSSVM回歸模型:
(7)

2.1 人工蜂群(ABC)算法

(8)

(9)

依據選擇概率大小,跟隨蜂選擇引領蜂跟隨。選擇概率越大,引領蜂被選中的概率越大,可表示為:

(10)
在ABC算法中,Limit是一個重要的控制參數。若某一個解xi被更新的次數達到Limit時,表明這個解陷入了局部最優。此時,需要放棄該食物源,把該食物源所對應的引領蜂變成偵察蜂,并根據式(11)隨機產生一個新解代替xi:
xi=xmin+φij(xmax-xmin)
(11)
式中:xmax,xmin是待優化參數的最大、最小值。
2.2 人工魚群(AFS)算法

(12)

(1) 覓食行為:設人工魚的當前狀態為Xi,在其感知范圍內隨機選擇一個狀態Xj。若Xj的狀態優于Xi,則根據式(13)向Xj的方向前進一步;否則重新隨機選擇狀態Xj。若嘗試try_number次后,仍然不滿足前進條件,則根據式(14)隨機移動一步。

(13)
Xi,next=Xi+rand()·step
(14)



(15)


(16)
(4) 隨機行為:設人工魚的當前狀態為Xi,在視野中隨機選擇一個狀態。隨機行為是覓食行為的一個缺省行為,即:
Xi,next=Xi+rand()·step
(17)
在標準的人工魚群算法中,公告板是用來記錄當前迭代次數下的最優解,并在每次迭代結束后,每條人工魚(可行解)將自身狀態與公告板進行比較,若優于公告板,則更新公告板。在覓食行為中,人工魚隨機選擇一個狀態,若該狀態優于當前狀態,則向該方向前進一步,這種方式導致算法收斂過慢;而在聚群和追尾行為中,如果前進條件不滿足,則要重新執行覓食行為,導致算法計算量大,運行時間長。為加快AFS算法收斂以及運行速度,王聯國等[9]提出了一種簡化的人工魚群算法。在覓食行為中,人工魚直接移動到在感知范圍內能找到的最優位置以加快算法收斂。在聚群和追尾行為中,分別用整個魚群的中心位置代替鄰域中心位置以及用魚群最優代替鄰域最優,避免了對鄰域極值以及當前魚與所有鄰域個體魚之間距離的計算,降低了算法的運行時間。
3.1 基于ABC+AFS優化LSSVM算法
混合ABC和AFS(ABC+ AFS)算法的基本思路簡述為:在ABC算法中,引領蜂和跟隨蜂皆根據式(8)進行鄰域搜索,兩者的行為無本質差別,這樣會導致人工蜂群開采能力的下降,使算法易于陷入局部最優。以AFS算法中人工魚代替ABC算法中引領蜂的作用將增加ABC算法種群的多樣性,可以克服ABC算法易于陷入局部最優的問題。同時,在ABC算法中,引領蜂、跟隨蜂和偵察蜂在群體協作過程中有正、負反饋機制,能克服AFS算法收斂速度慢、算法后期尋優盲目而致使精度下降的問題。
圖1給出了基于ABC+AFS優化的LSSVM脈動風速預測流程圖,具體闡述如下:
步驟1 設置ABC+AFS算法中人工魚數量NAF、跟隨蜂數量NC、人工蜂群閾值Limit、人工魚群感知范圍初始值以及最小值Visual和Visualmin、步長初始值以及步長最小值Step和Stepmin、人工魚群擁擠度δ、最大重復嘗試次數try_number以及算法最大迭代次數MCN。確定LSSVM參數σ和γ的范圍,隨機生成N個食物源(初始解),且N=NAF=NC。表1給出了ABC+AFS算法的參數初始值以及LSSVM參數的范圍。

表1 ABC+AFS算法的參數初始值以及LSSVM參數的范圍
步驟2 基于ARMA模擬脈動風速時程樣本,劃分為訓練集和測試集,并根據式(18)進行歸一化處理;

(18)
式中:xmin和xmax分別為輸入的最大值最小值。

步驟4 以人工魚代替引領蜂在可行解的范圍內進行覓食行為,并根據簡化的人工魚群模型更新自己的位置。計算每個人工魚適應度,并與公告板中最優值比較,更新公告板信息。
步驟5 跟隨蜂依據式(10)計算選擇概率以選擇食物源,并根據式(8)進行鄰域搜索,再根據貪婪原則更新食物源。計算食物源的適應度,更新公告板。
步驟6 判斷是否有食物源未被更新的次數達到了閾值Limit。若達到閾值,則放棄該食物源,并將與該食物源對應的跟隨蜂轉換為偵察蜂,根據式(11)產生新的食物源;否則,轉到步驟7。
步驟7 判斷是否達到最大迭代次數MCN(本文MCN=200,依據如圖2所示)。若達到MCN,輸出公告板記錄的最優解,算法結束;否則,轉步驟4。
3.2 數值比較驗證



圖2 迭代次數和適應度值的關系


表2 數值模擬參數



圖3 60 m和100 m處模擬脈動風速時程


圖4 60 m和100 m模擬值和目標值功率譜的對比圖
由圖4可看出,在60 m和100 m處,脈動風速的模擬功率譜與目標功率譜基本吻合。圖5表明,自相關函數的模擬值和目標值也能很好地吻合;在延遲時間為零時,相關性達到最大,表明原始脈動風速樣本的可靠性。現分別取60 m和100 m高度處的前500 s風速數據為訓練集,后100 s為測試集,嵌入維數m=10,建立基于ABC+AFS優化LSSVM的脈動風預測模型,以對測試集進行預測。為了比較,分別給出了基于ABC、AFS和PSO優化LSSVM的脈動風速預測結果。圖6為基于ABC+AFS、ABC、AFS和PSO優化LSSVM的預測風速幅值與實際風速幅值對比。圖7為基于ABC+AFS、ABC、AFS和PSO優化LSSVM的預測風速與實際風速自相關函數對比。


圖5 模擬值和目標值自相關函數的對比圖


圖6 在60 m和100 m處, 預測風速與實際風速的幅值對比


圖7 在60 m和100 m處,預測風速與實際風速自相關函數的對比

從表3和表4可看出,在預測精度方面,在60 m和100 m高度處ABC+AFS-LSSVM模型對脈動風速預測值與實際值的平均絕對誤差(MAE)以及均方根誤差(RMSE)最小,且較PSO-LSSVM、AFS-LSSVM和ABC-LSSVM模型的預測精度有明顯的提高。在相關性方面,ABC+AFS-LSSVM模型在60 m和100 m高度處脈動風速預測值與實際值的相關系數值(R)均大于0.9(相關系數R>0.8表示相關性較強),表明預測值與實際值具有很強相關性。在訓練時間方面,PSO-LSSVM、ABC-LSSVM模型耗時短,但預測精度不高;ABC+AFS-LSSVM模型耗時較AFS-LSSVM模型有較大的改善,且能保證預測精度。

表3 測試集性能指標
表4 ABC+AFS-LSSVM預測模型測試集性能指標提高的百分比
Tab.4 Increased percentage of prediction performance index of ABC+AFS algorithm based LSSVM for testing data set

預測模型ABC+AFS-LSSVMMAERMSERMAERMSERPSO-LSSVM41%36%13%40%33%14%AFS-LSSVM34%30%11%26%22%8%ABC-LSSVM30%27%8%22%20%6%60m100m
提出一種基于混合ABC+AFS優化LSSVM的脈動風速預測算法。混合優化結合ABC和AFS兩種智能優化算法的優勢,克服了ABC算法易于陷入局部最優以及AFS算法訓練時間長、收斂速度慢的問題。數值結果表明,ABC+AFS-LSSVM的脈動風速預測模型在MAE、RMSE、R三個性能指標方面均優于ABC-LSSVM、AFS-LSSVM和PSO-LSSVM模型;在訓練時間和收斂速度上,ABC+AFS-LSSVM模型比AFS-LSSVM模型有較大的改善。因此,基于混合ABC+AFS優化LSSVM的脈動風速預測算法可應用于實際脈動風速預測,可根據歷史脈動風速數據預測未知的脈動風速,為結構抗風設計提供完整的脈動風速時程。
[1] MONFARED M, RASTEGAR H, KOJABADI H M. A new strategy for wind speed forecasting using artificial intellingent methods[J]. Renewable Energy, 2002, 27(2):163-174.
[2] SUYKENS J A K, VANDEWALLE J. Least squares support vector machine classifiers[J]. Neural Processing, 1999, 9(3): 293-300.
[3] YING D U, LU J P, LI Q. Short-term wind speed forecasting of wind farm based on least square-support vector machine[J]. Power System Technology, 2008, 32(15):62-66.
[4] 李春祥, 遲恩楠. 基于優化組合核和Morlet小波核的LSSVM脈動風速預測方法[J]. 振動與沖擊, 2016,35(18):52-57.
LI Chunxiang, CHI Ennan. Forecasting fluctuating wind velocity using optimized combination kernel and Morlet wavelet kernel based LSSVM[J]. Journal of Vibration and Shock, 2016,35(18):52-57.
[5] 李春祥, 遲恩楠, 何亮, 等. 基于時變ARMA和EMD-PSO-LSSVM算法的非平穩下擊暴流風速預測[J]. 振動與沖擊, 2016,35(17):33-38.
LI Chunxiang, CHI Ennan, HE Liang, et al. Prediction of nonstationary downburst wind velocity based on time-varying ARMA and EMD-PSO-LSSVM algorithms[J]. Journal of Vibration and Shock, 2016,35(17):33-38.
[6] 張弦, 王宏力. 基于粒子群優化的最小二乘支持向量機在時間序列預測中的應用[J].中國機械工程, 2011, 22(21): 2572-2576.
ZHANG Xian, WANG Hongli. The application of least squares support vector machine based on Particle Swarm Optimization in the forecasting of time series[J]. China Mechanical Engineering, 2011, 22(21): 2572-2576.
[7] NESHAT M, SEPIDNAM G, SARGOLZAEI M, et al. Artificial fish swarm algorithm:a survey of the state-of-the-art, hybridization, combinatorial and indicative applications[J]. Artificial Intelligence Review, 2014, 42: 965-997.
[8] KARABOGA D, AKAY B. A comparative studay of artificial bee colony algorithm[J]. Applied Mathematics and Computation, 2009, 214(14): 108-132.
[9] 王聯國,洪毅,趙付清,等.一種簡化的人工魚群算法[J]. 小型微型計算機系統, 2009, 30(8): 1663-1667.
WANG Lianguo, HONG Yi, ZHAO Fuqing, et al.Simplified artificial fish swarm algorithm[J]. Journal of Chinese Computer Systems, 2009, 30(8): 1663-1667.
Fluctuating wind velocity prediction using LSSVM based on hybrid intelligent optimization of ABC and ABF
ZHANG Yongkang1, LI Chunxiang1, ZHENG Xiaofen2, XU Huaxi3
(1. Department of Civil Engineering, Shanghai University, Shanghai 200072, China;2. Department of Structural Engineering, Tongji University, Shanghai 200092, China;3. Shanghai Feihong Steel Structure Engineering Co. Ltd.,Shanghai 200090, China)
Considering advantages of the artificial bee colony(ABC)and the artificial fish swarm (AFS) algorithms, a hybrid intelligent optimization algorithm called ABC+AFS algorithm was used to optimize parameters of the least square support vector machine (LSSVM) in order to improve its performance of predicting fluctuating wind velocity. Due to AFS algorithm having a better ability of skipping over local optima, the searching optima mode of artificial bees in ABC algorithm was replaced with that of artificial fishes in AFS algorithm to overcome problems of ABC algorithm being easily to fall into local optima. Concurrently, the positive and negative feedback mechanism in ABC algorithm was used to overcome problems of blindly searching optima and convergent speed dropping in the late period of AFS algorithm. LSSVM based on the ABC+AFS algorithm was used to predict fluctuating wind velocity. The results were compared with those using LSSVM based on ABC, AFS, and PSO algorithms, respectively. The numerical results showed that LSSVM based on the ABC+AFS algorithm has a better performance of predicting fluctuating wind velocity and a bright prospect of engineering application.
artificial bee colony (ABC); artificial fish swarm (ABF); hybrid intelligent optimization; least square support vector machine (LSSVM); fluctuating wind velocity; prediction performance
國家自然科學基金(51378304)
2016-03-04 修改稿收到日期:2016-08-22
張永康 男,碩士生,1990年10月生
鄭曉芳 女,博士,1963年1月生
TU311
A
10.13465/j.cnki.jvs.2017.15.030