張永康, 李春祥, 鄭曉芬, 徐化喜
(1. 上海大學(xué) 土木工程系, 上海 200072; 2. 同濟(jì)大學(xué) 建筑工程系, 上海 200092;3. 上海飛虹鋼結(jié)構(gòu)工程有限公司, 上海 200090)
基于混合人工蜂群和人工魚群優(yōu)化的LSSVM脈動風(fēng)速預(yù)測
張永康1, 李春祥1, 鄭曉芬2, 徐化喜3
(1. 上海大學(xué) 土木工程系, 上海 200072; 2. 同濟(jì)大學(xué) 建筑工程系, 上海 200092;3. 上海飛虹鋼結(jié)構(gòu)工程有限公司, 上海 200090)
考慮人工蜂群(ABC)和人工魚群(AFS)算法的各自優(yōu)勢,提出混合智能算法(ABC+AFS)優(yōu)化選擇最小二乘支持向量機(jī)(LSSVM)參數(shù)的方法,以提高其脈動風(fēng)速預(yù)測模型的性能。AFS算法有較強(qiáng)的全局尋優(yōu)能力,混合智能算法以AFS算法中的人工魚尋優(yōu)方式代替ABC算法中的引領(lǐng)蜂尋優(yōu)方式,克服ABC算法易陷入局部最優(yōu)的問題。同時(shí),ABC算法中的正負(fù)反饋機(jī)制可以克服AFS算法的后期盲目尋優(yōu)、收斂速度下降的問題。運(yùn)用基于混合ABC、AFS優(yōu)化的LSSVM對脈動風(fēng)速進(jìn)行了預(yù)測,并與基于ABC、AFS和粒子群(PSO)算法優(yōu)化的LSSVM脈動風(fēng)速預(yù)測結(jié)果進(jìn)行了比較。數(shù)值結(jié)果表明,基于混合ABC+AFS優(yōu)化的LSSVM脈動風(fēng)速預(yù)測模型有更好性能,具有工程應(yīng)用前景。
人工蜂群算法; 人工魚群算法; 混合智能優(yōu)化; 最小二乘支持向量機(jī); 脈動風(fēng)速; 預(yù)測性能
在臺風(fēng)作用下,大跨橋梁和高柔結(jié)構(gòu)(例如:超高層建筑)會產(chǎn)生劇烈的抖振。為確保大跨橋梁和超高層建筑的正常運(yùn)行以及在極端風(fēng)事件下的安全,現(xiàn)在基本上都在這些結(jié)構(gòu)上安裝結(jié)構(gòu)健康監(jiān)測(SHM)系統(tǒng)來是實(shí)時(shí)監(jiān)測臺風(fēng)風(fēng)速風(fēng)向和結(jié)構(gòu)的動力響應(yīng)。盡管如此,布置用于實(shí)測此類工程風(fēng)速風(fēng)向的風(fēng)速儀是相當(dāng)少的,絕大多數(shù)位置處的風(fēng)速需根據(jù)少數(shù)點(diǎn)的實(shí)測記錄來進(jìn)行條件模擬或預(yù)測獲得,以建立全尺度的實(shí)測風(fēng)荷載信息。因此,發(fā)展先進(jìn)的工程結(jié)構(gòu)風(fēng)速預(yù)測方法至關(guān)重要。
預(yù)測工程結(jié)構(gòu)的脈動風(fēng)速時(shí)程主要有持續(xù)預(yù)測法、支持向量機(jī)、時(shí)間序列法、人工神經(jīng)網(wǎng)絡(luò)等方法[1]。其中的基于最小二乘支持向量機(jī)(Least Square Support Sector Machine,LSSVM)脈動風(fēng)速預(yù)測模型最近有較大的發(fā)展[2-5]。但參數(shù)選擇直接影響LSSVM的預(yù)測性能。為減小參數(shù)選擇對LSSVM預(yù)測性能的影響,學(xué)者提出了使用粒子群優(yōu)化(Particle Swarm Optimization,PSO)[6]、人工魚群(Artificial Fish Swarm, AFS)算法[7]和人工蜂群(Artificial Bee Colony, ABC)算法[8]等來優(yōu)化LSSVM的參數(shù)。
然而,在上述智能算法中,PSO收斂速度快、參數(shù)設(shè)置少、實(shí)現(xiàn)簡單,但易于過早收斂,搜索精度較低;AFS算法對初值和參數(shù)選擇不敏感、魯棒性強(qiáng)、能克服局部極值,但后期搜索的盲目性較大,尋優(yōu)精度較低;ABC算法具有正負(fù)反饋機(jī)制、參數(shù)設(shè)置簡單、協(xié)作能力強(qiáng),但易于陷入局部最優(yōu)。本文考慮到ABC和AFS算法的各自優(yōu)勢,提出混合智能算法(ABC+AFS)來優(yōu)化LSSVM的參數(shù)。在ABC算法中,引領(lǐng)蜂在鄰域搜索后,跟隨蜂在鄰域搜索。但兩者鄰域搜索沒有本質(zhì)差別,屬重復(fù)工作,是ABC算法易陷入局部最優(yōu)的根本原因。提出的混合智能算法(ABC+AFS),以AFS中的人工魚尋優(yōu)方式代替ABC中的引領(lǐng)蜂尋優(yōu)方式,能在可行解范圍內(nèi)全局搜索,增加了ABC種群的多樣性,克服了ABC易于陷入局部最優(yōu)的問題。而且,ABC的正負(fù)反饋機(jī)制可以克服AFS的后期尋優(yōu)盲目性。
另一方面,現(xiàn)場實(shí)測風(fēng)速數(shù)據(jù)是驗(yàn)證預(yù)測算法的最直接資料。然而,實(shí)測風(fēng)速數(shù)據(jù)耗時(shí)、耗力,且易受天氣和地形條件等因素的影響,還常常出現(xiàn)測出的數(shù)據(jù)不能用問題。因此,本文運(yùn)用ARMA模型數(shù)值模擬出研究所需的脈動風(fēng)速時(shí)程樣本數(shù)據(jù)庫來代替實(shí)測風(fēng)速數(shù)據(jù)庫,并把模擬的脈動風(fēng)速時(shí)程樣本數(shù)據(jù)庫劃分為訓(xùn)練集和測試集。對訓(xùn)練集學(xué)習(xí)訓(xùn)練,而對測試集進(jìn)行預(yù)測。根據(jù)測試集的預(yù)測值與測試集值的平均絕對誤差、均方根誤差以及相關(guān)系數(shù),評價(jià)基于混合人工蜂群和人工魚群優(yōu)化LSSVM的脈動風(fēng)速預(yù)測性能,以驗(yàn)證基于混合ABC和AFS優(yōu)化LSSVM的高預(yù)測性能。
最小二乘支持向量機(jī)(LSSVM)是在支持向量機(jī)(SVM)的基礎(chǔ)上,采用誤差的二次平方項(xiàng)代替SVM中的不敏感損失函數(shù),將不等式約束改成等式約束,把二次規(guī)劃問題轉(zhuǎn)化為求解線性方程組問題,以提高求解速度和收斂精度,并成功地應(yīng)用于函數(shù)逼近、分類以及時(shí)間序列預(yù)測等方面。LSSVM原理如下:
f(x)=ωTφ(x)+b
(1)
根據(jù)結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理,此線性回歸問題可表示為一個(gè)等式約束優(yōu)化問題。LSSVM目標(biāo)函數(shù)為:
(2)
s.t.yi=ωTφ(xi)+b+ei(i=1,2,…,n)
(3)
式中:J為損失函數(shù);γ為正則化參數(shù)且γ>0,ei為誤差變量。
將約束優(yōu)化問題轉(zhuǎn)化為無約束優(yōu)化問題的拉格朗日等式為:
(4)
將L分別對ω,b,ei,αi求偏導(dǎo)數(shù),并令等于0得方程:
(5)
(6)
由式(6)求出α和b, 得到LSSVM回歸模型:
(7)
2.1 人工蜂群(ABC)算法
(8)
(9)
依據(jù)選擇概率大小,跟隨蜂選擇引領(lǐng)蜂跟隨。選擇概率越大,引領(lǐng)蜂被選中的概率越大,可表示為:
(10)
在ABC算法中,Limit是一個(gè)重要的控制參數(shù)。若某一個(gè)解xi被更新的次數(shù)達(dá)到Limit時(shí),表明這個(gè)解陷入了局部最優(yōu)。此時(shí),需要放棄該食物源,把該食物源所對應(yīng)的引領(lǐng)蜂變成偵察蜂,并根據(jù)式(11)隨機(jī)產(chǎn)生一個(gè)新解代替xi:
xi=xmin+φij(xmax-xmin)
(11)
式中:xmax,xmin是待優(yōu)化參數(shù)的最大、最小值。
2.2 人工魚群(AFS)算法
(12)
(1) 覓食行為:設(shè)人工魚的當(dāng)前狀態(tài)為Xi,在其感知范圍內(nèi)隨機(jī)選擇一個(gè)狀態(tài)Xj。若Xj的狀態(tài)優(yōu)于Xi,則根據(jù)式(13)向Xj的方向前進(jìn)一步;否則重新隨機(jī)選擇狀態(tài)Xj。若嘗試try_number次后,仍然不滿足前進(jìn)條件,則根據(jù)式(14)隨機(jī)移動一步。
(13)
Xi,next=Xi+rand()·step
(14)
(15)
(16)
(4) 隨機(jī)行為:設(shè)人工魚的當(dāng)前狀態(tài)為Xi,在視野中隨機(jī)選擇一個(gè)狀態(tài)。隨機(jī)行為是覓食行為的一個(gè)缺省行為,即:
Xi,next=Xi+rand()·step
(17)
在標(biāo)準(zhǔn)的人工魚群算法中,公告板是用來記錄當(dāng)前迭代次數(shù)下的最優(yōu)解,并在每次迭代結(jié)束后,每條人工魚(可行解)將自身狀態(tài)與公告板進(jìn)行比較,若優(yōu)于公告板,則更新公告板。在覓食行為中,人工魚隨機(jī)選擇一個(gè)狀態(tài),若該狀態(tài)優(yōu)于當(dāng)前狀態(tài),則向該方向前進(jìn)一步,這種方式導(dǎo)致算法收斂過慢;而在聚群和追尾行為中,如果前進(jìn)條件不滿足,則要重新執(zhí)行覓食行為,導(dǎo)致算法計(jì)算量大,運(yùn)行時(shí)間長。為加快AFS算法收斂以及運(yùn)行速度,王聯(lián)國等[9]提出了一種簡化的人工魚群算法。在覓食行為中,人工魚直接移動到在感知范圍內(nèi)能找到的最優(yōu)位置以加快算法收斂。在聚群和追尾行為中,分別用整個(gè)魚群的中心位置代替鄰域中心位置以及用魚群最優(yōu)代替鄰域最優(yōu),避免了對鄰域極值以及當(dāng)前魚與所有鄰域個(gè)體魚之間距離的計(jì)算,降低了算法的運(yùn)行時(shí)間。
3.1 基于ABC+AFS優(yōu)化LSSVM算法
混合ABC和AFS(ABC+ AFS)算法的基本思路簡述為:在ABC算法中,引領(lǐng)蜂和跟隨蜂皆根據(jù)式(8)進(jìn)行鄰域搜索,兩者的行為無本質(zhì)差別,這樣會導(dǎo)致人工蜂群開采能力的下降,使算法易于陷入局部最優(yōu)。以AFS算法中人工魚代替ABC算法中引領(lǐng)蜂的作用將增加ABC算法種群的多樣性,可以克服ABC算法易于陷入局部最優(yōu)的問題。同時(shí),在ABC算法中,引領(lǐng)蜂、跟隨蜂和偵察蜂在群體協(xié)作過程中有正、負(fù)反饋機(jī)制,能克服AFS算法收斂速度慢、算法后期尋優(yōu)盲目而致使精度下降的問題。
圖1給出了基于ABC+AFS優(yōu)化的LSSVM脈動風(fēng)速預(yù)測流程圖,具體闡述如下:
步驟1 設(shè)置ABC+AFS算法中人工魚數(shù)量NAF、跟隨蜂數(shù)量NC、人工蜂群閾值Limit、人工魚群感知范圍初始值以及最小值Visual和Visualmin、步長初始值以及步長最小值Step和Stepmin、人工魚群擁擠度δ、最大重復(fù)嘗試次數(shù)try_number以及算法最大迭代次數(shù)MCN。確定LSSVM參數(shù)σ和γ的范圍,隨機(jī)生成N個(gè)食物源(初始解),且N=NAF=NC。表1給出了ABC+AFS算法的參數(shù)初始值以及LSSVM參數(shù)的范圍。
表1 ABC+AFS算法的參數(shù)初始值以及LSSVM參數(shù)的范圍
步驟2 基于ARMA模擬脈動風(fēng)速時(shí)程樣本,劃分為訓(xùn)練集和測試集,并根據(jù)式(18)進(jìn)行歸一化處理;
(18)
式中:xmin和xmax分別為輸入的最大值最小值。
步驟4 以人工魚代替引領(lǐng)蜂在可行解的范圍內(nèi)進(jìn)行覓食行為,并根據(jù)簡化的人工魚群模型更新自己的位置。計(jì)算每個(gè)人工魚適應(yīng)度,并與公告板中最優(yōu)值比較,更新公告板信息。
步驟5 跟隨蜂依據(jù)式(10)計(jì)算選擇概率以選擇食物源,并根據(jù)式(8)進(jìn)行鄰域搜索,再根據(jù)貪婪原則更新食物源。計(jì)算食物源的適應(yīng)度,更新公告板。
步驟6 判斷是否有食物源未被更新的次數(shù)達(dá)到了閾值Limit。若達(dá)到閾值,則放棄該食物源,并將與該食物源對應(yīng)的跟隨蜂轉(zhuǎn)換為偵察蜂,根據(jù)式(11)產(chǎn)生新的食物源;否則,轉(zhuǎn)到步驟7。
步驟7 判斷是否達(dá)到最大迭代次數(shù)MCN(本文MCN=200,依據(jù)如圖2所示)。若達(dá)到MCN,輸出公告板記錄的最優(yōu)解,算法結(jié)束;否則,轉(zhuǎn)步驟4。
3.2 數(shù)值比較驗(yàn)證
圖2 迭代次數(shù)和適應(yīng)度值的關(guān)系
表2 數(shù)值模擬參數(shù)
圖3 60 m和100 m處模擬脈動風(fēng)速時(shí)程
圖4 60 m和100 m模擬值和目標(biāo)值功率譜的對比圖
由圖4可看出,在60 m和100 m處,脈動風(fēng)速的模擬功率譜與目標(biāo)功率譜基本吻合。圖5表明,自相關(guān)函數(shù)的模擬值和目標(biāo)值也能很好地吻合;在延遲時(shí)間為零時(shí),相關(guān)性達(dá)到最大,表明原始脈動風(fēng)速樣本的可靠性。現(xiàn)分別取60 m和100 m高度處的前500 s風(fēng)速數(shù)據(jù)為訓(xùn)練集,后100 s為測試集,嵌入維數(shù)m=10,建立基于ABC+AFS優(yōu)化LSSVM的脈動風(fēng)預(yù)測模型,以對測試集進(jìn)行預(yù)測。為了比較,分別給出了基于ABC、AFS和PSO優(yōu)化LSSVM的脈動風(fēng)速預(yù)測結(jié)果。圖6為基于ABC+AFS、ABC、AFS和PSO優(yōu)化LSSVM的預(yù)測風(fēng)速幅值與實(shí)際風(fēng)速幅值對比。圖7為基于ABC+AFS、ABC、AFS和PSO優(yōu)化LSSVM的預(yù)測風(fēng)速與實(shí)際風(fēng)速自相關(guān)函數(shù)對比。
圖5 模擬值和目標(biāo)值自相關(guān)函數(shù)的對比圖
圖6 在60 m和100 m處, 預(yù)測風(fēng)速與實(shí)際風(fēng)速的幅值對比
圖7 在60 m和100 m處,預(yù)測風(fēng)速與實(shí)際風(fēng)速自相關(guān)函數(shù)的對比
從表3和表4可看出,在預(yù)測精度方面,在60 m和100 m高度處ABC+AFS-LSSVM模型對脈動風(fēng)速預(yù)測值與實(shí)際值的平均絕對誤差(MAE)以及均方根誤差(RMSE)最小,且較PSO-LSSVM、AFS-LSSVM和ABC-LSSVM模型的預(yù)測精度有明顯的提高。在相關(guān)性方面,ABC+AFS-LSSVM模型在60 m和100 m高度處脈動風(fēng)速預(yù)測值與實(shí)際值的相關(guān)系數(shù)值(R)均大于0.9(相關(guān)系數(shù)R>0.8表示相關(guān)性較強(qiáng)),表明預(yù)測值與實(shí)際值具有很強(qiáng)相關(guān)性。在訓(xùn)練時(shí)間方面,PSO-LSSVM、ABC-LSSVM模型耗時(shí)短,但預(yù)測精度不高;ABC+AFS-LSSVM模型耗時(shí)較AFS-LSSVM模型有較大的改善,且能保證預(yù)測精度。
表3 測試集性能指標(biāo)
表4 ABC+AFS-LSSVM預(yù)測模型測試集性能指標(biāo)提高的百分比
Tab.4 Increased percentage of prediction performance index of ABC+AFS algorithm based LSSVM for testing data set
預(yù)測模型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優(yōu)化LSSVM的脈動風(fēng)速預(yù)測算法?;旌蟽?yōu)化結(jié)合ABC和AFS兩種智能優(yōu)化算法的優(yōu)勢,克服了ABC算法易于陷入局部最優(yōu)以及AFS算法訓(xùn)練時(shí)間長、收斂速度慢的問題。數(shù)值結(jié)果表明,ABC+AFS-LSSVM的脈動風(fēng)速預(yù)測模型在MAE、RMSE、R三個(gè)性能指標(biāo)方面均優(yōu)于ABC-LSSVM、AFS-LSSVM和PSO-LSSVM模型;在訓(xùn)練時(shí)間和收斂速度上,ABC+AFS-LSSVM模型比AFS-LSSVM模型有較大的改善。因此,基于混合ABC+AFS優(yōu)化LSSVM的脈動風(fēng)速預(yù)測算法可應(yīng)用于實(shí)際脈動風(fēng)速預(yù)測,可根據(jù)歷史脈動風(fēng)速數(shù)據(jù)預(yù)測未知的脈動風(fēng)速,為結(jié)構(gòu)抗風(fēng)設(shè)計(jì)提供完整的脈動風(fēng)速時(shí)程。
[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] 李春祥, 遲恩楠. 基于優(yōu)化組合核和Morlet小波核的LSSVM脈動風(fēng)速預(yù)測方法[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] 李春祥, 遲恩楠, 何亮, 等. 基于時(shí)變ARMA和EMD-PSO-LSSVM算法的非平穩(wěn)下?lián)舯┝黠L(fēng)速預(yù)測[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] 張弦, 王宏力. 基于粒子群優(yōu)化的最小二乘支持向量機(jī)在時(shí)間序列預(yù)測中的應(yīng)用[J].中國機(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] 王聯(lián)國,洪毅,趙付清,等.一種簡化的人工魚群算法[J]. 小型微型計(jì)算機(jī)系統(tǒng), 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
國家自然科學(xué)基金(51378304)
2016-03-04 修改稿收到日期:2016-08-22
張永康 男,碩士生,1990年10月生
鄭曉芳 女,博士,1963年1月生
TU311
A
10.13465/j.cnki.jvs.2017.15.030