国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于PSO的SVR波浪預(yù)測(cè)算法

2018-07-20 01:40:56劉捷劉薇
電腦知識(shí)與技術(shù) 2018年13期
關(guān)鍵詞:粒子群算法

劉捷 劉薇

摘要:為了進(jìn)行主動(dòng)波浪補(bǔ)償,克服大負(fù)載大慣量設(shè)備的控制滯后性,需要對(duì)波浪進(jìn)行提前預(yù)測(cè),又考慮到波浪運(yùn)動(dòng)的非線性因素,本文提出了一種基于粒子群(PSO,Particle Swarm Optimization)參數(shù)優(yōu)化的支持向量回歸(SVR,Support Vector Regression)的短期波浪預(yù)測(cè)算法。該算法以均方誤差(MSE,Mean Squared Error)為判據(jù),以PSO作為尋優(yōu)算法對(duì)SVR算法參數(shù)進(jìn)行尋優(yōu),得到最優(yōu)預(yù)測(cè)模型后進(jìn)行預(yù)測(cè)。仿真結(jié)果表明,相比于傳統(tǒng)的時(shí)間序列預(yù)測(cè)算法自回歸模型(AR,Auto Regressive),對(duì)于實(shí)際波浪的預(yù)測(cè)該方法有更高的預(yù)測(cè)精度。

關(guān)鍵詞:支持向量回歸;粒子群算法;主動(dòng)波浪補(bǔ)償

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)13-0229-03

1 引言

深海作業(yè)船只在海上的運(yùn)動(dòng)是一個(gè)非穩(wěn)態(tài)過程,其運(yùn)動(dòng)不僅受到三維隨機(jī)波浪的影響,還受到風(fēng)、流載荷的影響。在這種情況下,作業(yè)船只在進(jìn)行深海作業(yè)時(shí)處于搖晃狀態(tài),導(dǎo)致貨物、船體之間發(fā)生碰撞,會(huì)造成嚴(yán)重的人生和財(cái)產(chǎn)安全事故[1]。為了避免這些情況的發(fā)生,近年來,越來越多的船只會(huì)在工作平臺(tái)上安裝波浪補(bǔ)償裝置來抵消波浪運(yùn)動(dòng),使工作平臺(tái)保持穩(wěn)定。

由于海上工作平臺(tái)的負(fù)載和慣量較大,會(huì)導(dǎo)致在進(jìn)行主動(dòng)波浪補(bǔ)償時(shí)造成補(bǔ)償運(yùn)動(dòng)延時(shí),極大的影響補(bǔ)償效果。在這種情況下,為了提高補(bǔ)償精度,需要對(duì)波浪運(yùn)動(dòng)進(jìn)行短期預(yù)測(cè),提前預(yù)測(cè)出波浪運(yùn)動(dòng)趨勢(shì)并進(jìn)行控制補(bǔ)償。此外,深海作業(yè)船只在海上作業(yè)時(shí)其載況經(jīng)常發(fā)生變化,會(huì)引起其固有運(yùn)動(dòng)特性的變化,因此補(bǔ)償系統(tǒng)是一個(gè)參數(shù)時(shí)刻變化的非線性系統(tǒng)。如何將上述多種影響因素綜合考慮,建立較為準(zhǔn)確和實(shí)用的短期波浪預(yù)報(bào)模型,是本文的研究內(nèi)容。

目前常用的波浪預(yù)測(cè)模型有自回歸模型(AR,Auto Regressive),自回歸滑動(dòng)平均模型(ARMA,Auto Regressive and Moving Average Model)和滑動(dòng)平均模型(MA,Moving Average Model)等[2]。這些模型都基于對(duì)波浪的過去一段時(shí)間運(yùn)動(dòng)的觀測(cè),運(yùn)用時(shí)間序列分析建立模型來實(shí)現(xiàn)預(yù)測(cè)。但是,這些預(yù)測(cè)方法只在線性系統(tǒng)中有好的效果,不適用于非線性系統(tǒng)。

國外專家Sidar和Dodin利用卡爾曼濾波來實(shí)時(shí)預(yù)測(cè)波浪運(yùn)動(dòng),但是卡爾曼濾波預(yù)測(cè)法需要知道系統(tǒng)運(yùn)動(dòng)的精準(zhǔn)狀態(tài)運(yùn)動(dòng)數(shù)學(xué)式[3]。然而,當(dāng)液壓參數(shù)和環(huán)境改變了,狀態(tài)等式是難以精準(zhǔn)地給出。因此,盡管卡爾曼濾波能處理干擾并且計(jì)算簡單,但在實(shí)際運(yùn)用上很難達(dá)到理想效果。

近年來越來越多的國內(nèi)外專家學(xué)者采用神經(jīng)網(wǎng)絡(luò)的方法探索自適應(yīng)的平臺(tái)運(yùn)動(dòng)極短期預(yù)報(bào)模型,實(shí)現(xiàn)對(duì)不同作業(yè)模式下的海洋平臺(tái)運(yùn)動(dòng)的極短期波浪預(yù)報(bào)。但是,采用神經(jīng)網(wǎng)絡(luò)的方法來進(jìn)行波浪預(yù)測(cè)時(shí),很容易發(fā)生過匹配現(xiàn)象。此外,神經(jīng)網(wǎng)絡(luò)算法需要處理大量的采樣數(shù)據(jù),這樣會(huì)導(dǎo)致計(jì)算復(fù)雜度的提高,增加計(jì)算時(shí)間,從而不能進(jìn)行實(shí)時(shí)補(bǔ)償[4]。

針對(duì)上述波浪預(yù)測(cè)的幾個(gè)特性,在對(duì)比分析了眾多國內(nèi)外波浪預(yù)測(cè)相關(guān)應(yīng)用文獻(xiàn)后,本文采用一種新的方法來進(jìn)行短期波浪預(yù)測(cè),這種新的算法是“基于PSO的SVR波浪預(yù)測(cè)算法”。

2 PSO算法簡介

PSO算法是一種尋優(yōu)算法,采用速度-位置搜索模型進(jìn)行尋優(yōu)。算法中對(duì)于每一個(gè)參與尋優(yōu)的粒子視為可主動(dòng)運(yùn)動(dòng)的個(gè)體,所有的個(gè)體統(tǒng)稱為群體;群體中第i個(gè)粒子在D維解空間的位置為Xi=(xi1,xi2,…,xiD)T,速度為Vi=(vi1,vi2,…,viD)T。當(dāng)前時(shí)刻的個(gè)體極值記為Pibest,全局極值記為gbest。在每次迭代中,粒子跟蹤個(gè)體極值、全局極值和自己前一時(shí)刻的狀態(tài)來調(diào)整當(dāng)前時(shí)刻的位置和速度[5],迭代公式如下:

Vi(k+1) = w*Vi(k) + c1*rand()*(Pibest-xi(k)) + c2*rand()*(gbest-xi(k))

(1)

Xi(k+1) = Xi(k) + Vi(k+1) (2)

其中,V(K),V(k+1),X(k),X(k+1)分別是粒子當(dāng)前時(shí)刻,下一時(shí)刻的速度和位置;rand()是[0,1]之間的隨機(jī)數(shù);c1,c2是學(xué)習(xí)因子,通常取為2;w是權(quán)重因子,為加快收斂速度,其值應(yīng)隨算法迭代的進(jìn)行而自動(dòng)減小,一般定義為:

w = wmin + (itermax-iter)*(wmax-wmin)/itermax (3)

其中,wmax,wmin分別為最大、最小權(quán)重因子,一般情況下分別取為0.9,0.4;iter為當(dāng)前迭代次數(shù),itermax為總的迭代次數(shù)。

3 SVR算法簡介

SVR算法是建立在支持向量機(jī)(SVM,Support Vector Machine)思想上的回歸算法,具有堅(jiān)實(shí)的理論基礎(chǔ),但是其理論優(yōu)勢(shì)得以實(shí)現(xiàn)的前提是要選取合適的回歸參數(shù)。對(duì)于SVR算法的ε-SVR模型,其數(shù)學(xué)表達(dá)式為[6]:

[minw,b,ξ,ξ*12wTw+Ci=1lξi+Ci=1lξ*i] (4)

約束條件:[wT?(xi)+b-zi≤ε+ξi,zi-wT?(xi)-b≤ε+ξ*i,ξi,ξ*i≥0,i=1,...,l.] (5)

經(jīng)過Karush-Kuhn-Tucker(KKT)條件的拉格朗日乘子法解為:

[minα,α*12(α-α*)TQ(α-α*)+εi=1l(αi+α*i)+i=1lzi(αi-α*i)]

(6)

約束條件:[eT(α-α*)=0,0≤αi,α*i≤C,i=1,...l.] (7)

其中,Q為一矩陣,各個(gè)元素的值為Qij = K(xi,xj),K為核函數(shù)。對(duì)于處理非線性的問題,一般選用RBF核函數(shù),該核函數(shù)的數(shù)學(xué)表達(dá)為:

[K(x,y)=e-γx-y2] (8)

在約束條件(7)下獲得(6)式的最小值時(shí),解得α。再利用式(9)進(jìn)行擬合回歸。

[f(x)=w·?(x)+b=i=1n(α^-αi)k(xi,x)+b] (9)

通過式(6),(7),(8)可知,要進(jìn)行SVR預(yù)測(cè)需對(duì)參數(shù):不敏感損失系數(shù)ε、懲罰系數(shù)C以及RBF核函數(shù)中的寬度系數(shù)γ進(jìn)行參數(shù)選優(yōu)。其中,不敏感損失系數(shù)ε控制著回歸函數(shù)(9)式對(duì)樣本數(shù)據(jù)的不敏感區(qū)域的寬度,影響支持向量的數(shù)目,其值與樣本噪聲有密切關(guān)系;懲罰系數(shù)C反映了算法對(duì)超出ε管道的樣本數(shù)據(jù)的懲罰程度,影響模型的復(fù)雜性和穩(wěn)定性;寬度系數(shù)γ反映了支持向量之間的相關(guān)程度。由此可見:SVR模型的回歸能力取決于ε、c、γ這三個(gè)參數(shù)。因此,如何尋找一種精確、穩(wěn)定、快速的算法或方法來實(shí)現(xiàn)對(duì)這些參數(shù)的優(yōu)化選擇具有非常重要的意義[7]。

對(duì)此,本文提出以均方誤差(MSE, Mean Square Error)為判據(jù),如式(10),以PSO為尋優(yōu)算法對(duì)SVR的ε、c、γ這三個(gè)參數(shù)進(jìn)行尋優(yōu)。再通過實(shí)地采集到的船舶升沉數(shù)據(jù)對(duì)SVR進(jìn)行訓(xùn)練得出最優(yōu)模型,最后利用該模型對(duì)未來10個(gè)時(shí)間點(diǎn)進(jìn)行預(yù)測(cè)。

[MSE=1nk=1n[x^(k)-x(k)]2] (10)

式中,[x^(k)]為預(yù)測(cè)值,x(k)為實(shí)際值,n是預(yù)測(cè)的個(gè)數(shù)。

4 基于PSO的SVR波浪預(yù)測(cè)算法描述

步驟1:初始化PSO參數(shù)。確定種群個(gè)數(shù)m,最大迭代次數(shù)itermax,自我學(xué)習(xí)因子C1、C2,最大、最小權(quán)重因子Wmax、Wmin;

步驟2:由于ε、c、γ參數(shù)以2為底的指數(shù)增長可以更好地獲取合適的參數(shù)[8],以ε、c、γ的冪次作為PSO算法中的位置x1,x2,x3。再分別設(shè)置ε、c、γ位置上下限,與速度上下限;

步驟3:對(duì)m個(gè)粒子在位置上下限內(nèi)隨機(jī)分配初始種群位置;

步驟4:對(duì)每個(gè)粒子通過式(9)和(10)計(jì)算適應(yīng)度,與該粒子歷史最佳適應(yīng)度進(jìn)行對(duì)比取最佳值Pibest,更新粒子歷史最佳適應(yīng)度和最佳位置。

步驟5:取適應(yīng)度最好的粒子與群體最佳適應(yīng)度進(jìn)行對(duì)比,取最佳值作為群體極值gbest,更新群體最佳適應(yīng)度和最佳位置。

步驟6:按照式(1)、(2)、(3)進(jìn)行計(jì)算,更新每個(gè)粒子的位置、速度。

步驟7:重復(fù)步驟4~步驟6進(jìn)行迭代,直到迭代次數(shù)達(dá)到最大迭代次數(shù)或所得解不再變化時(shí),則終止迭代。

步驟8:以步驟7所得到的最佳位置即為ε、c、γ的最佳值,對(duì)未來10個(gè)時(shí)間點(diǎn)通過式(9)計(jì)算得到。完成整個(gè)波浪預(yù)測(cè)算法。

5 波浪數(shù)據(jù)采集

波浪作用在船舶上會(huì)造成橫搖、縱搖、升沉、橫蕩、縱蕩和艏搖六個(gè)維度上的運(yùn)動(dòng)。升沉運(yùn)動(dòng)是船舶在進(jìn)行深海作業(yè)時(shí)搖晃最劇烈的運(yùn)動(dòng),是波浪補(bǔ)償首先要解決的問題,因此,本文以船舶垂直方向上的升沉運(yùn)動(dòng)作為單維度的波浪運(yùn)動(dòng)進(jìn)行仿真實(shí)驗(yàn)。為了保證預(yù)測(cè)算法的有效性,我們通過實(shí)船實(shí)驗(yàn)的方法采集實(shí)驗(yàn)所需波浪數(shù)據(jù),最后用實(shí)際波浪數(shù)據(jù)與預(yù)測(cè)數(shù)據(jù)相對(duì)比,檢查算法的準(zhǔn)確性。

首先,實(shí)船實(shí)驗(yàn)需要選擇合適的船進(jìn)行試驗(yàn)。由于船體會(huì)對(duì)波浪起到過濾作用,船體越大,過濾作用越明顯。為了獲取較為明顯的波浪運(yùn)動(dòng),我們采用長度約為20米左右的小船進(jìn)行實(shí)船實(shí)驗(yàn)。其次,為了獲取較明顯的波浪數(shù)據(jù),需要在海況較高的情況下進(jìn)行數(shù)據(jù)采集。每年的7、8月左右是我國東南沿海常刮臺(tái)風(fēng)的季節(jié)。為此,我們于8月下旬在福建莆田某海域于臺(tái)風(fēng)來臨前夕駕船進(jìn)行實(shí)船數(shù)據(jù)采集。到達(dá)指定海域后關(guān)閉所有引擎使船在海面上處于自由漂浮狀態(tài),這時(shí),船舶的運(yùn)動(dòng)能真實(shí)反映船舶的波浪運(yùn)動(dòng)。在船的重心位置上安裝運(yùn)動(dòng)參考單元(MRU,motion reference unit)來感知船舶的橫搖、縱搖和升沉等姿態(tài)信息,最后用計(jì)算機(jī)對(duì)這些數(shù)據(jù)進(jìn)行采集。

波浪的運(yùn)動(dòng)周期約為0.3Hz,采用采樣間隔大于波浪周期10倍的5Hz頻率進(jìn)行采樣,保證采用數(shù)據(jù)有效。圖1所示為采集到的升沉數(shù)據(jù)曲線片段,共有166個(gè)采樣數(shù)據(jù),總時(shí)長為32s,共約11.5個(gè)波浪周期。由圖形看到,采集到的數(shù)據(jù)平滑周期均勻,故認(rèn)為該段采集數(shù)據(jù)為有效數(shù)據(jù)。

6 仿真結(jié)果及分析

對(duì)圖1中的波浪升沉數(shù)據(jù)分別進(jìn)行AR預(yù)測(cè)和本文介紹的預(yù)測(cè)算法。算法均以150個(gè)點(diǎn)進(jìn)行訓(xùn)練,預(yù)測(cè)后10個(gè)點(diǎn)。最后用預(yù)測(cè)點(diǎn)與原始點(diǎn)進(jìn)行對(duì)比,利用(10)式求出均方誤差,比較兩算法預(yù)測(cè)效果。

圖2為利用本文介紹的算法進(jìn)行預(yù)測(cè)。圖中藍(lán)色曲線代表原始波浪值,紅色曲線代表利用SVR模型進(jìn)行回歸的數(shù)據(jù),綠色曲線代表預(yù)測(cè)的數(shù)據(jù)點(diǎn)。從圖中可以看出,紅色曲線與藍(lán)色曲線重合,表明訓(xùn)練出來的SVR模型與波浪數(shù)據(jù)吻合;綠色曲線與藍(lán)色曲線幾乎重合,表明該算法能正確預(yù)測(cè)出波浪走勢(shì)。

圖3為利用經(jīng)典的時(shí)間序列AR模型進(jìn)行預(yù)測(cè),圖中,藍(lán)線為原始數(shù)據(jù),綠線為預(yù)測(cè)數(shù)據(jù)。從圖中可以看出,預(yù)測(cè)數(shù)據(jù)只能大致能反映出波浪趨勢(shì),預(yù)測(cè)準(zhǔn)確度不高,并且隨著時(shí)間的推移,預(yù)測(cè)精度越來越低。

利用(10)式分別計(jì)算出兩種算法的均方誤差,本文算法的MSE=11.4901,AR預(yù)測(cè)算法的MSE=562.2088。可以看出本文介紹的算法預(yù)測(cè)準(zhǔn)確率遠(yuǎn)遠(yuǎn)大于AR算法。

7 結(jié)論

為了進(jìn)行主動(dòng)波浪補(bǔ)償,克服大負(fù)載大慣量設(shè)備的控制滯后性,需要對(duì)波浪進(jìn)行提前預(yù)測(cè)。為了提高預(yù)測(cè)的準(zhǔn)確性,本文提出了一種基于PSO的SVR預(yù)測(cè)方法。為了驗(yàn)證算法的有效性,通過實(shí)船實(shí)驗(yàn)采集波浪數(shù)據(jù),利用升沉波浪數(shù)據(jù)分別驗(yàn)證本文預(yù)測(cè)算法和AR預(yù)測(cè)算法的預(yù)測(cè)準(zhǔn)確率。通過對(duì)比發(fā)現(xiàn),本文提出的算法準(zhǔn)確率遠(yuǎn)遠(yuǎn)大于AR預(yù)測(cè)算法。由于波浪數(shù)據(jù)為實(shí)船實(shí)驗(yàn)采集到的波浪數(shù)據(jù),新算法預(yù)測(cè)準(zhǔn)確率很高,因此本文提出的算法有很強(qiáng)的實(shí)用性。

參考文獻(xiàn):

[1] Jorg Neupert, Tobias Mahl etal, A Heave CompensationApproach for Offshore Cranes, 2008 American ControlConference, 2008,16(1):538-543.

[2] Peng Xiuyan, Zhang Xiaoshuang, Zhao Xiren, DiagonalRecurrent Neural Network Algorithm for Extreme ShortPrediction of Ship Motion, Journal of System Simulation, 2002,14(5):641-643.

[3] Sidar,M. and Doolin,B. F. On the feasibility of real timeprediction of aircraft carrier motion at sea,NASA Tech.Memo,1975(X62):45,95.

[4] Shi Bu-hai, Xian Ling, Active Heave Compensation Prediction Research for Deep Sea Homework Crane based on KPSO-SVR, 33rd Chinese Control Conference, 2014:7637-7642.

[5] 楊梁,徐保國. 基于粒子群算法的基因工程菌發(fā)酵分批補(bǔ)料控制[J]. 計(jì)算機(jī)測(cè)量與控制,2005,13(3).

[6] Chih-Chung Chang and Chih-Jen Lin, A Library for Support Vector Machines, 2013:6-7.

[7] 熊偉麗,徐保國. 基于PSO的SVR參數(shù)優(yōu)化選擇方法研究[J]. 系統(tǒng)仿真學(xué)報(bào),2006,18(9):2442-2445.

[8] Chih-Wei Hsu, Chih-Chung Chang, and Chih-Jen Lin, A Practical Guide to Support Vector Classification, 2016:7-8.

猜你喜歡
粒子群算法
幾種改進(jìn)的螢火蟲算法性能比較及應(yīng)用
基于支持向量機(jī)的短期電力負(fù)荷預(yù)測(cè)
基于云計(jì)算平臺(tái)的資源調(diào)度優(yōu)化研究
一種基于高維粒子群算法的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化研究
基于PSODE混合算法優(yōu)化的自抗擾控制器設(shè)計(jì)
蟻群算法的運(yùn)用及其優(yōu)化分析
電力市場交易背景下水電站優(yōu)化調(diào)度研究
基于粒子群算法的產(chǎn)業(yè)技術(shù)創(chuàng)新生態(tài)系統(tǒng)運(yùn)行穩(wěn)定性組合評(píng)價(jià)研究
無線傳感器網(wǎng)絡(luò)聯(lián)盟初始結(jié)構(gòu)生成研究
交通堵塞擾動(dòng)下多車場車輛路徑優(yōu)化
商(2016年5期)2016-03-28 18:10:26
酒泉市| 克山县| 长丰县| 江川县| 明星| 阳春市| 长乐市| 策勒县| 兴宁市| 灌云县| 伊吾县| 大庆市| 嘉鱼县| 迭部县| 太保市| 托克逊县| 成武县| 北流市| 青铜峡市| 崇礼县| 平谷区| 桦川县| 黄浦区| 车致| 永仁县| 贵港市| 东辽县| 乌鲁木齐县| 安吉县| 丹东市| 九寨沟县| 新昌县| 安仁县| 涡阳县| 金堂县| 塔城市| 平顶山市| 霍州市| 武川县| 健康| 普兰县|