本發(fā)明涉及一種應(yīng)用于船舶主汽輪機系統(tǒng)中的改進的船舶主汽輪機預(yù)測優(yōu)化控制方法。
背景技術(shù):
船舶主汽輪機作為船舶的動力裝置,船舶主汽輪機的動態(tài)性能是決定船舶本身性能好壞的重要指標(biāo)。船舶主汽輪機的轉(zhuǎn)速控制作為一個典型的過程控制系統(tǒng)中,系統(tǒng)的輸出往往存在滯后現(xiàn)象,如當(dāng)船舶主汽輪機進氣閥發(fā)生變化時,船舶主汽輪機轉(zhuǎn)速的變化只能在一段時間之后觀測到。加之船舶在實際航行過程中,由于突發(fā)任務(wù)或者海況發(fā)生變化時,船舶必須具有很好的機動性能才能及時到達指定地點,完成作戰(zhàn)、偵查、設(shè)伏等任務(wù),因此對汽輪機轉(zhuǎn)速控制具有極高的要求,但是由于汽輪機的大慣性特點,傳統(tǒng)的控制方法很難滿足控制需求,并且控制效果差,這是目前船舶主汽輪機轉(zhuǎn)速控制的主要問題,需要一種較有效的控制方法。傳統(tǒng)控制方法是采用PID控制算法雖然能夠起到一定的控制效果,但是隨著時代發(fā)展這一算法越來越難以滿足實際需求。船舶主汽輪機系統(tǒng)中的改進的新型預(yù)測優(yōu)化控制方法針對船舶汽輪機的特點而設(shè)計,可以提高控制器的控制效果。
中國博士論文全文庫,公開的“船舶汽輪機智能控制研究”等文獻中涉及的技術(shù)方案,主要側(cè)重采用神經(jīng)網(wǎng)絡(luò)、支持向量機對汽輪機模型進行辨識,然后結(jié)合預(yù)測控制方法設(shè)計控制器,缺點是模型復(fù)雜、計算量大,實際應(yīng)用困難。本發(fā)明著重采用新型滾動優(yōu)化預(yù)測控制算法解決汽輪機控制過程中出現(xiàn)的問題,針對性的研究。
技術(shù)實現(xiàn)要素:
本發(fā)明目的在于提供一種能夠減少傳統(tǒng)控制中的響應(yīng)時間長、大超調(diào)等缺點,并提高能量利用效率的船舶主汽輪機預(yù)測優(yōu)化控制方法。
本發(fā)明的目的是這樣實現(xiàn)的:
(1)建立船用船舶主汽輪機轉(zhuǎn)速滾動優(yōu)化預(yù)測控制所需要的系統(tǒng)模型:
z(k+1)=Az(k)+BΔu(k)+CΔr(k+1);
(2)對系統(tǒng)的控制步長Ny、輸出的預(yù)測步長Nu,0<Nu≤Nu,Ny和Nu都為正整數(shù)、離散化采樣周期Ts、輸出期望r(k)和相關(guān)給定和狀態(tài)值的初值進行設(shè)定;
(3)滾動優(yōu)化,構(gòu)造當(dāng)前系統(tǒng)控制算法的目標(biāo)函數(shù):
s.t.Δu(k+j)=0,j≥Nu
根據(jù)當(dāng)前相關(guān)數(shù)據(jù)計算后Ny步內(nèi)的狀態(tài)預(yù)測值及系統(tǒng)輸出值和當(dāng)前最優(yōu)輸出;
(4)將當(dāng)前輸出的實際測量值與給定值比較得到誤差e(k),并將數(shù)據(jù)送給控制器;當(dāng)前最優(yōu)輸入當(dāng)前狀態(tài)值系統(tǒng)輸出值利用傳遞函數(shù)對狀態(tài)值和輸出值進行更新如果輸出給定值發(fā)生變化,Δr也要更新;
(5)重復(fù)步驟(3)、步驟(4)進行迭代運算,獲得系列狀態(tài)值。
所述步驟(1)中,構(gòu)建船舶主汽輪機滾動優(yōu)化預(yù)測控制具體方法:
根據(jù)船舶主汽輪機轉(zhuǎn)速狀態(tài)空間模型:
y=Ccx
得到系統(tǒng)離散化模型:
x(k+1)=Adx(k)+Bdu(k)
y(k)=Cdx(k)
引入增量算子Δ=1-z-1對離散模型處理得到:
Δx(k+1)=AdΔx(k)+BdΔu(k)
Δy(k)=CdΔx(k)
重新選取狀態(tài)矢量
z(k)=[ΔxT(k) e(k)]T,
構(gòu)建船舶主汽輪機預(yù)測優(yōu)化控制模型:
z(k+1)=Az(k)+BΔu(k)+CΔr(k+1)
式中:
e(k)=y(tǒng)(k)-r(k),r(k)是主汽輪機轉(zhuǎn)速的參考值,稱為輸出期望,e(k)為誤差值。
所述步驟(2)中,需要設(shè)定的初值參量為:
控制步長Ny、輸出的預(yù)測步長Nu,0<Nu≤Nu,Ny和Nu都為正整數(shù),離散化采樣周期Ts、輸出期望r(0)。
根據(jù)權(quán)利要求1所述的船舶主汽輪機滾動優(yōu)化預(yù)測控制方法,其特征在于,所述步驟(3)中設(shè)當(dāng)前時刻為k,滾動優(yōu)化所求的參量為:
從k+1時刻起的Ny步內(nèi)的狀態(tài)預(yù)測值
及從當(dāng)前時刻k起系統(tǒng)的最優(yōu)控制量
Z=Fz(k)+ΦΔU+MΔR
U=-(ΦTQΦ+L)-1ΦTQ[Fz(k)+MΔR]
其中:
ΔR=[Δr(k) Δr(k+1) … Δr(k+Ny-1) Δr(k+Ny)]T。
所述的步驟(4)包括:將當(dāng)前輸出的實際測量值與給定值比較,得到的誤差e(k)進入控制器,
當(dāng)前最優(yōu)輸入當(dāng)前狀態(tài)值系統(tǒng)輸出值利用傳遞函數(shù)對狀態(tài)值和輸出值進行更新:
最優(yōu)輸入:
系統(tǒng)狀態(tài)值:
系統(tǒng)輸出值:
Δy(k+1)=CdΔx(k+1)
如果輸出給定值發(fā)生變化,ΔR也要更新。
本發(fā)明具有的有益效果在于:
與傳統(tǒng)船舶主汽輪機控制方法相比,本發(fā)明改進了預(yù)測控制算法的目標(biāo)函數(shù),再通過目標(biāo)函數(shù)滾動優(yōu)化過程中:實現(xiàn)了系統(tǒng)響應(yīng)的快速性,可以使輸出盡快達到給定值上;目標(biāo)函數(shù)在保證輸出在給定值上的同時,減少超調(diào)量,也盡最大可能的消除輸出在給定值附近出現(xiàn)小幅抖震的可能;還有一點與傳統(tǒng)控制算法相比,目標(biāo)函數(shù)限制了輸入值突變跳躍的可能,節(jié)省系統(tǒng)消耗;目標(biāo)函數(shù)是可調(diào)的,滿足不同工況下系統(tǒng)性能的要求;目標(biāo)函數(shù)的參數(shù)選取采用遺傳算法,做到了控制過程滾動優(yōu)化。整個控制技術(shù)結(jié)構(gòu)簡單明確,沒有涉及到大量計算,并且控制算法簡單。本發(fā)明在保證提供精確有效的系統(tǒng)信息前提下,具有很好的控制效果。
附圖說明
圖1為本發(fā)明流程框圖;
圖2為基于船舶主汽輪機轉(zhuǎn)速滾動優(yōu)化預(yù)測控制技術(shù)示意圖;
圖3為船舶主汽輪機系統(tǒng)作用示意圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明做進一步描述。
一種船舶主汽輪機滾動優(yōu)化預(yù)測控制技術(shù),包括:
步驟1:建立船用船舶主汽輪機轉(zhuǎn)速滾動優(yōu)化預(yù)測控制所需要的系統(tǒng)模型z(k+1)=Az(k)+BΔu(k)+CΔr(k+1);
步驟2:假設(shè)當(dāng)前時刻為k,對系統(tǒng)的控制步長Ny、輸出的預(yù)測步長Nu(0<Nu≤Nu,Ny和Nu都為正整數(shù))、離散化采樣周期Ts、輸出期望r(k)和相關(guān)給定和狀態(tài)值的初值進行設(shè)定;
步驟3:滾動優(yōu)化,構(gòu)造當(dāng)前系統(tǒng)控制算法的目標(biāo)函數(shù)J;
其中的加權(quán)值Qj,Lj是通過遺傳算法尋優(yōu)得到的;
從后面輸入值的表達式就可以看出來,Qj,Lj取值的大小一定程度上決定了輸入值的大小。因此以往經(jīng)驗取值是取0或1,這樣取值是為了減少計算量;但是這樣就會使系統(tǒng)控制效果無法達到最優(yōu)。為了能夠得到最優(yōu)的控制效果,必須對Qj,Lj值尋優(yōu),尋優(yōu)過程采用遺傳算法控制,具體如下:
a)確定Qj,Lj每個參數(shù)的大致范圍和編碼;
b)隨機產(chǎn)生n個個體構(gòu)成的初始種群P(0);
c)將種群中各個體解碼成對應(yīng)參數(shù)值,用此參數(shù)求代價函數(shù)值J及適應(yīng)函數(shù)值f,取
d)應(yīng)用復(fù)制、交叉和變異算子對種群P(t)進行操作,產(chǎn)生下一代種群P(t+1);
e)重復(fù)步驟c)和d),直至參數(shù)Qj,Lj收斂達到預(yù)定指標(biāo)。
為了便于計算,目標(biāo)函數(shù)變換為:
J=ZTQZ+ΔUTLΔU
假設(shè)當(dāng)前時刻為k,根據(jù)當(dāng)前時刻相關(guān)數(shù)據(jù)計算從第k+1時刻起的Ny步內(nèi)的狀態(tài)預(yù)測值Z及系統(tǒng)最優(yōu)控制輸出U,具體方法如下:
Z=Fz(k)+ΦΔU+MΔR
U=-(ΦTQΦ+L)-1ΦTQ[Fz(k)+MΔR]
步驟4:將當(dāng)前輸出的實際測量值與給定值比較,得到的誤差e(k)進入控制器。當(dāng)前最優(yōu)輸入當(dāng)前狀態(tài)值系統(tǒng)輸出值利用傳遞函數(shù)對狀態(tài)值和輸出值進行更新如果輸出給定值發(fā)生變化,ΔR也要更新
具體如下:最優(yōu)輸入:
系統(tǒng)狀態(tài)值:
系統(tǒng)輸出值:
Δy(k+1)=-FΔy(k)+HΔu(k-S)
步驟5:重復(fù)步驟3、步驟4進行迭代運算,獲得一系列狀態(tài)值。
步驟1:建立船舶主汽輪機轉(zhuǎn)速滾動優(yōu)化預(yù)測控制技術(shù)模型z(k+1)=Az(k)+BΔu(k)+CΔr(k+1);
具體方法如下:
以船舶主汽輪機轉(zhuǎn)速滾動優(yōu)化預(yù)測控制技術(shù)為例,主汽輪機轉(zhuǎn)速控制器在船舶蒸汽動力系統(tǒng)中的作用示意如圖2所示。
船舶主汽輪機預(yù)測優(yōu)化控制器的控制任務(wù)是控制船舶主汽輪機轉(zhuǎn)速保持在給定值上。被控對象是主汽輪機轉(zhuǎn)速值y(t)(rad/s),輸入是飽和蒸汽流量u(t)(kg/s),主汽輪機轉(zhuǎn)速給定值為r(t)(rad/s)。
船舶主汽輪機轉(zhuǎn)速狀態(tài)空間模型:一般表示為:
船舶主汽輪機轉(zhuǎn)速離散狀態(tài)空間模型:
引入增量算子Δ=1-z-1對船舶主汽輪機轉(zhuǎn)速離散狀態(tài)空間模型處理得到:
Δx(k+1)=AdΔx(k)+BdΔu(k)
Δy(k)=CdΔx(k)
重新選取狀態(tài)矢量z(k)=[ΔxT(k)e(k)]T,構(gòu)建船舶主汽輪機預(yù)測優(yōu)化控制模型:z(k+1)=Az(k)+BΔu(k)+CΔr(k+1)
式中:e(k)=y(tǒng)(k)-r(k),r(k)是主汽輪機轉(zhuǎn)速的參考值,文中稱為輸出期望,e(k)又被稱為誤差值。
步驟2:假設(shè)當(dāng)前時刻為k,對系統(tǒng)的控制步長Ny、輸出的預(yù)測步長Nu(0<Nu≤Nu,Ny和Nu都為正整數(shù))、離散化采樣周期Ts、輸出期望r(k)和相關(guān)給定和狀態(tài)值的初值進行設(shè)定;
將狀態(tài)Z(0)初值的統(tǒng)計特性為:
步驟3:滾動優(yōu)化,構(gòu)造當(dāng)前系統(tǒng)控制算法的目標(biāo)函數(shù),具體如下:
s.t.Δu(k+j)=0,j≥Nu
采用遺傳算法對Qj,Lj進行尋優(yōu),具體如下:
設(shè)定目標(biāo)函數(shù),
a)確定Qj,Lj每個參數(shù)的大致范圍和編碼;
b)隨機產(chǎn)生n個個體構(gòu)成的初始種群P(0);
c)將種群中各個體解碼成對應(yīng)參數(shù)值,用此參數(shù)求代價函數(shù)值J及適應(yīng)函數(shù)值f,取
d)應(yīng)用復(fù)制、交叉和變異算子對種群P(t)進行操作,產(chǎn)生下一代種群P(t+1);
e)重復(fù)步驟c)和d),直至參數(shù)Qj,Lj收斂達到預(yù)定指標(biāo)。
假設(shè)當(dāng)前時刻為k,根據(jù)當(dāng)前時刻相關(guān)數(shù)據(jù)計算從第k+1時刻起的Ny步內(nèi)的狀態(tài)預(yù)測值Z及系統(tǒng)最優(yōu)控制輸出U,具體方法如下:
Z=Fz(k)+ΦΔU+MΔR
U=-(ΦTQΦ+L)-1ΦTQ[Fz(k)+MΔR]
u(k)=[1 0 … 0 0]U
將當(dāng)前輸出的實際測量值與給定值r(k)比較,得到的誤差e(k)進入控制器。當(dāng)前最優(yōu)輸入當(dāng)前狀態(tài)值Z(k)、系統(tǒng)輸出值利用傳遞函數(shù)對狀態(tài)值和輸出值進行更新如果輸出給定值發(fā)生變化,ΔR也要更新,具體如下:
最優(yōu)輸入:
系統(tǒng)狀態(tài)值:
Z(k)=Z(k+1)
系統(tǒng)輸出值:
步驟5:重復(fù)步驟3、步驟4進行迭代運算,獲得一系列狀態(tài)值。