本發(fā)明涉及輸水工程,具體為一種基于非線性模型預(yù)測(cè)控制算法的明渠閘門調(diào)控方法。
背景技術(shù):
1、隨著人口的增加和農(nóng)業(yè)的發(fā)展,農(nóng)業(yè)用水需求不斷增長(zhǎng),尤其是在水資源時(shí)空分布不均的地區(qū),確??煽?、穩(wěn)定的供水對(duì)促進(jìn)農(nóng)業(yè)可持續(xù)發(fā)展至關(guān)重要。然而,陳舊的設(shè)備和設(shè)計(jì)不當(dāng)?shù)墓喔裙┧到y(tǒng)給保持渠池水位和流量的穩(wěn)定帶來(lái)了挑戰(zhàn),導(dǎo)致系統(tǒng)供水效率下降。因此,需對(duì)灌溉渠池進(jìn)行現(xiàn)代化改造以確保更加穩(wěn)定的水位和流量,提高農(nóng)業(yè)用水安全。通常來(lái)說(shuō),為避免明渠灌溉系統(tǒng)(ocis)中水位大幅變化帶來(lái)的潛在安全隱患,閘門上游大多采用人工操作來(lái)調(diào)節(jié)水位。然而在渠池水網(wǎng)發(fā)生復(fù)雜水情時(shí),人工操作的表現(xiàn)并不佳,這使渠池水位的自動(dòng)化控制成為現(xiàn)在研究的重點(diǎn)。目前已開(kāi)發(fā)出的自動(dòng)化控制算法多種多樣,從一開(kāi)始的以比例積分時(shí)滯模型(pid)為重點(diǎn)的分布式反饋控制算法;進(jìn)而發(fā)展到以模型預(yù)測(cè)控制(mpc)為重點(diǎn)的集中式反饋控制算法和線性二次型調(diào)節(jié)器(lqr);后來(lái)逐步演變?yōu)橹悄芸刂?。其中mpc因其具備反饋機(jī)制和實(shí)時(shí)滾動(dòng)預(yù)測(cè)能力,已被證明適用于復(fù)雜分水變化情況下灌溉渠池的實(shí)時(shí)水位控制。
2、mpc指的是一大類算法,通常由內(nèi)部預(yù)測(cè)模型、目標(biāo)函數(shù)優(yōu)化、約束和滾動(dòng)優(yōu)化策略組成,其中內(nèi)部預(yù)測(cè)模型的預(yù)測(cè)精度會(huì)極大地影響控制算法的性能。1871年,圣維南方程(sves)被提出并應(yīng)用于描述明渠中的一維流動(dòng),但sves難以與反饋機(jī)制直接耦合并進(jìn)行實(shí)時(shí)結(jié)果修正,無(wú)法被直接用作控制算法的內(nèi)部預(yù)測(cè)模型。而使用離散差分法求解sves的數(shù)值模型負(fù)荷又相對(duì)較大,因此出現(xiàn)了各種簡(jiǎn)化模型。構(gòu)建適合灌溉渠池的內(nèi)部預(yù)測(cè)模型通常涉及兩種方法:一種是將sves離散化和線性化,構(gòu)建線性狀態(tài)矢量空間:例如由線性化sves衍生的單進(jìn)單出(siso)模型;另一種建模方法則完全不同于sves,它直接利用渠池水位和流量的動(dòng)態(tài)特性來(lái)構(gòu)建水位-流量關(guān)系的計(jì)算模型:例如積分遲滯(id)模型、積分零遲滯(idz)模型。若將id模型作為mpc的內(nèi)部預(yù)測(cè)模型,并加入控制間隔約束和水位軟約束,可以在不影響水位調(diào)節(jié)的情況下縮短閘門調(diào)節(jié)時(shí)間。盡管這種模型已被廣泛使用,但它對(duì)渠池的物理特征做了許多線性假設(shè),當(dāng)水位非線性特征明顯時(shí),它無(wú)法準(zhǔn)確反映真實(shí)的物理過(guò)程;另一方面,模型控制器生成的調(diào)節(jié)指令所生成的控制動(dòng)作并不嚴(yán)格遵循與流量的線性關(guān)系,這會(huì)導(dǎo)致內(nèi)部預(yù)測(cè)模型的預(yù)測(cè)結(jié)果與未來(lái)實(shí)際情況出現(xiàn)明顯偏差,使得預(yù)測(cè)控制算法的性能大幅下降。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述存在的問(wèn)題,提出了本發(fā)明。
2、因此,本發(fā)明解決的技術(shù)問(wèn)題是:如何解決現(xiàn)有內(nèi)部預(yù)測(cè)控制算法對(duì)水位和流量的線性假設(shè)導(dǎo)致預(yù)測(cè)模型精度降低的問(wèn)題。
3、為解決上述技術(shù)問(wèn)題,本發(fā)明提供如下技術(shù)方案:一種基于非線性模型預(yù)測(cè)控制算法的明渠閘門調(diào)控方法,包括:將圣維南方程作為非線性模型預(yù)測(cè)控制系統(tǒng)的預(yù)測(cè)模型,并構(gòu)建分水口模型和閘門控制模型;建立實(shí)時(shí)狀態(tài)修正框架,利用卡爾曼濾波將分水口流量變化反饋到預(yù)測(cè)模型中;將修正后的狀態(tài)量帶入所述實(shí)時(shí)狀態(tài)修正框架,結(jié)合調(diào)控策略進(jìn)行水位預(yù)測(cè);建立以實(shí)測(cè)水位偏差平方和和閘門調(diào)控次數(shù)最小化為目標(biāo)的優(yōu)化模型,并采用斑馬優(yōu)化算法求解調(diào)控策略;采用滾動(dòng)優(yōu)化的閉環(huán)控制策略,根據(jù)實(shí)測(cè)值與預(yù)測(cè)值差值對(duì)水位預(yù)測(cè)結(jié)果進(jìn)行動(dòng)態(tài)修正,執(zhí)行調(diào)控策略。
4、作為本發(fā)明所述的基于非線性模型預(yù)測(cè)控制算法的明渠閘門調(diào)控方法的一種優(yōu)選方案,其中:所述分水口模型是基于流量平衡計(jì)算得到,具體公式如下,
5、qe=qf+qi;
6、其中,qe為分水口前渠池段流量;qf是分水口后渠池段流量;qi是分水口流量。
7、所述閘門控制模型基于過(guò)流量計(jì)算,具體是根據(jù)連續(xù)方程和水位-流量關(guān)系得到,具體公式為:
8、
9、其中,q為閘門過(guò)流量;e為閘門開(kāi)度;b為閘門寬度;zu為緊靠閘門上游水位;zd為緊靠閘門下游的水位;cd為過(guò)流系數(shù);g為綜合過(guò)流系數(shù),包含了閘門操作和水力條件的影響。
10、作為本發(fā)明所述的基于非線性模型預(yù)測(cè)控制算法的明渠閘門調(diào)控方法的一種優(yōu)選方案,其中:所述實(shí)時(shí)狀態(tài)修正框架的建立過(guò)程包括如下步驟,通過(guò)離散化處理得到圣維南方程的離散化格式;將離散化的圣維南方程與卡爾曼濾波框架耦合;其中,所述耦合包括預(yù)測(cè)過(guò)程和更新過(guò)程;利用實(shí)測(cè)數(shù)據(jù)進(jìn)行狀態(tài)修正,具體為假定每個(gè)分水口都有一個(gè)不確定的分水流量變化q,對(duì)狀態(tài)矢量進(jìn)行修正。
11、其中,所述圣維南方程為描述明渠一維流動(dòng)的基本方程,由連續(xù)方程河動(dòng)量方程組成,具體公式為:
12、
13、
14、其中,a為過(guò)水?dāng)嗝婷娣e;q為流速;z為水位;g為重力加速度;c為謝才摩擦系數(shù);r為水力半徑;t為時(shí)間;x為沿流動(dòng)方向的位置。
15、所述離散化的圣維南方程的具體公式為:
16、α1qi-1/2+β1zi+γ1qi+1/2=δ1;
17、α2zi+β2qi+1/2+γ2zi+1=δ2;
18、其中,q和z分別表示步長(zhǎng)t+1時(shí)需求解的流量和水位值,下標(biāo)i,i+1/2和i-1/2分別代表交錯(cuò)網(wǎng)格點(diǎn)i,i+1/2以及i-1/2的變量;α1,β1,γ1,δ1,α2,β2,γ2,δ2為在時(shí)間步長(zhǎng)t時(shí)由變量q和z計(jì)算得出的變量;。
19、將所述離散化的圣維南方程結(jié)合得到描述節(jié)點(diǎn)i與相鄰節(jié)點(diǎn)的水位之間關(guān)系的方程式:
20、αizi-1+βizi+γizi+1=δi;
21、其中,αi,βi,γi,δi為在時(shí)間步長(zhǎng)t時(shí)由變量q和z計(jì)算得出的變量。
22、作為本發(fā)明所述的基于非線性模型預(yù)測(cè)控制算法的明渠閘門調(diào)控方法的一種優(yōu)選方案,其中:所述預(yù)測(cè)過(guò)程的公式為,
23、xt+1|t=mtxt|t+ωt,ωt~n(0,wt);
24、其中,xt+1|t表示時(shí)間步長(zhǎng)為t+1時(shí)的預(yù)測(cè)階段矢量;mt表示時(shí)間步長(zhǎng)為t時(shí)的系統(tǒng)模型矩陣;xt\t表示時(shí)間步長(zhǎng)為t時(shí)的更新階段矢量;ωt為系統(tǒng)模型誤差,n(0,wt)為正態(tài)分布,0為均值,wt為對(duì)角協(xié)方差矩陣,表示誤差的分布特征。
25、所述更新過(guò)程的公式為,
26、
27、其中,xt+1|t+1表示通過(guò)卡爾曼濾波在時(shí)間步長(zhǎng)t+1更新的階段矢量;k表示卡爾曼增益矩陣;yt+1obs表示在時(shí)間步長(zhǎng)t+1測(cè)量的觀測(cè)矢量;h代表將觀測(cè)位置映射到狀態(tài)矢量x中的觀測(cè)矩陣。
28、將離散后的圣維南方程與卡爾曼濾波框架耦合后用矩陣形式表示為:
29、
30、其中,矢量zt和zt+1分別表示時(shí)間步長(zhǎng)t和t+1時(shí)的水位變化量,z=[z1,z2,…,znc]t,其中nc表示交錯(cuò)網(wǎng)格點(diǎn)的總數(shù),mtz是轉(zhuǎn)換后的系統(tǒng)模型矩陣。
31、作為本發(fā)明所述的基于非線性模型預(yù)測(cè)控制算法的明渠閘門調(diào)控方法的一種優(yōu)選方案,其中:所述狀態(tài)矢量的修正過(guò)程包括如下步驟:將考慮不確定的分水流量變化q的狀態(tài)矢量作為附加狀態(tài)變量加入到數(shù)據(jù)同化的狀態(tài)變量中,形成修正后的狀態(tài)變量:
32、x*=[x,q]t;
33、其中,q=[q1,q2,…,qnq]t,nq為分水口數(shù)量;x*為修正后的狀態(tài)變量。
34、所述將修正后的狀態(tài)量帶入所述實(shí)時(shí)狀態(tài)修正框架,結(jié)合調(diào)控策略進(jìn)行水位預(yù)測(cè),包括如下步驟:將修正過(guò)后的狀態(tài)變量x*帶入到數(shù)值模型中,得到不確定分水?dāng)_動(dòng)下水位預(yù)測(cè)的enkf框架:
35、
36、
37、其中,
38、
39、
40、式中,x*t+1|t是修正后的時(shí)間步長(zhǎng)為t+1時(shí)的預(yù)測(cè)階段矢量;xt+1|t表示時(shí)間步長(zhǎng)為t+1時(shí)的預(yù)測(cè)階段矢量;m*t是用修正后的任務(wù)計(jì)算的新系統(tǒng)模型矩陣;xt\t表示時(shí)間步長(zhǎng)為t時(shí)的更新階段矢量;q*t|t是修正后的時(shí)間步長(zhǎng)為t時(shí)的過(guò)程噪聲協(xié)方差公式;yt+1obs表示在時(shí)間步長(zhǎng)t+1測(cè)量的觀測(cè)矢量;yt+1obs*表示修正后的時(shí)間步長(zhǎng)t+1測(cè)量的觀測(cè)矢量;h代表將觀測(cè)位置映射到狀態(tài)矢量x中的觀測(cè)矩陣;h*代表修正后的觀測(cè)矩陣;k*t+1|t是新的卡爾曼增益矩陣,利用新的系統(tǒng)預(yù)測(cè)狀態(tài)變量、觀測(cè)變量誤差協(xié)方差、觀測(cè)誤差方差來(lái)計(jì)算;q*t|t為時(shí)間步長(zhǎng)為t時(shí)的附加狀態(tài)矢量;q*t+1|t為時(shí)間步長(zhǎng)為t+1時(shí)的附加狀態(tài)矢量。
41、輸入需要進(jìn)行的調(diào)控策略,進(jìn)行水位預(yù)測(cè);
42、對(duì)水位預(yù)測(cè)結(jié)果進(jìn)行修正,具體為在根據(jù)的水位預(yù)測(cè)值來(lái)預(yù)測(cè)步長(zhǎng)t+i的觀測(cè)點(diǎn)未來(lái)水位時(shí),不直接使用水位預(yù)測(cè)值z(mì)t+i|t,而是利用步長(zhǎng)t時(shí)的實(shí)測(cè)水位與同化水位zt|t之間的差值對(duì)計(jì)算水位進(jìn)行修正,修正公式為:
43、
44、其中,zf,t+1|t表示內(nèi)部模型根據(jù)時(shí)間步長(zhǎng)t的計(jì)算結(jié)果生成的時(shí)間步長(zhǎng)t+i觀測(cè)點(diǎn)的最終預(yù)測(cè)值;zt+i|t為時(shí)間步長(zhǎng)t+i時(shí)觀測(cè)點(diǎn)的預(yù)測(cè)水位;zt|t為時(shí)間步長(zhǎng)t時(shí)觀測(cè)點(diǎn)的同化水位;為時(shí)間步長(zhǎng)t時(shí)觀測(cè)點(diǎn)的實(shí)測(cè)水位。
45、作為本發(fā)明所述的基于非線性模型預(yù)測(cè)控制算法的明渠閘門調(diào)控方法的一種優(yōu)選方案,其中:所述優(yōu)化模型采用多目標(biāo)優(yōu)化算法求解最優(yōu)策略,目標(biāo)函數(shù)為:
46、
47、其中,hit和h'it分別是第i個(gè)水位站在t時(shí)刻的計(jì)算水位值和實(shí)測(cè)水位值;r和s分別為節(jié)制閘的數(shù)量和觀測(cè)點(diǎn)的總數(shù);n為控制閘門的數(shù)量;a1和a2分別為加權(quán)水位偏差之和和閘門控制時(shí)間的權(quán)重。
48、所述優(yōu)化模型的優(yōu)化約束條件為:閘門過(guò)流量不得大于閘門最大允許過(guò)流量;閘門開(kāi)度不得大于閘門最大啟閉高度。
49、所述斑馬優(yōu)化算法的種群矩陣為:
50、
51、其中,x為閘門調(diào)控方案種群;xi為第i個(gè)閘門調(diào)控方案;xi,j為第i個(gè)提出的第j個(gè)問(wèn)題變量的值;n為種群成員的數(shù)量;m為決策變量的數(shù)量;根據(jù)問(wèn)題變量的每個(gè)建議值來(lái)評(píng)估目標(biāo)函數(shù);目標(biāo)函數(shù)得到的值用向量表示:
52、
53、其中,f為目標(biāo)函數(shù)值的向量;fi為第i個(gè)得到的目標(biāo)函數(shù)值;當(dāng)目標(biāo)函數(shù)值最小時(shí),為最優(yōu)候選解。
54、作為本發(fā)明所述的基于非線性模型預(yù)測(cè)控制算法的明渠閘門調(diào)控方法的一種優(yōu)選方案,其中:采用閉環(huán)滾動(dòng)優(yōu)化策略,即神經(jīng)網(wǎng)絡(luò)進(jìn)行單步預(yù)測(cè),用t時(shí)刻的數(shù)據(jù)預(yù)測(cè)t+1時(shí)刻的數(shù)據(jù),滾動(dòng)地補(bǔ)充新數(shù)據(jù),剔除舊數(shù)據(jù)。
55、為解決上述技術(shù)問(wèn)題,本發(fā)明進(jìn)一步提供如下技術(shù)方案:一種基于非線性模型預(yù)測(cè)控制算法的明渠閘門調(diào)控系統(tǒng),包括數(shù)據(jù)采集模塊,用于采集實(shí)時(shí)的水位、流量數(shù)據(jù);模型構(gòu)建模塊,用于基于圣維南方程構(gòu)建非線性內(nèi)部預(yù)測(cè)模型;狀態(tài)修正模塊,用于將實(shí)測(cè)數(shù)據(jù)反饋到預(yù)測(cè)模型中,利用卡爾曼濾波對(duì)狀態(tài)量進(jìn)行實(shí)時(shí)修正,并結(jié)合修正后狀態(tài)對(duì)水位進(jìn)行預(yù)測(cè);優(yōu)化求解模塊,用于建立以實(shí)測(cè)水位偏差平方和和閘門調(diào)控次數(shù)最小化為目標(biāo)的優(yōu)化模型,采用斑馬優(yōu)化算法求解最優(yōu)調(diào)控策略;控制執(zhí)行模塊,用于采用滾動(dòng)優(yōu)化的閉環(huán)控制策略,根據(jù)實(shí)測(cè)值與預(yù)測(cè)值差值對(duì)水位預(yù)測(cè)結(jié)果進(jìn)行動(dòng)態(tài)修正,并執(zhí)行調(diào)控策略對(duì)閘門進(jìn)行控制。
56、一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上所述基于非線性模型預(yù)測(cè)控制算法的明渠閘門調(diào)控方法的步驟。
57、一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述基于非線性模型預(yù)測(cè)控制算法的明渠閘門調(diào)控方法的步驟。
58、本發(fā)明的有益效果:本發(fā)明提出的非線性模型預(yù)測(cè)控制器nm-mpc,能夠在靈活分水?dāng)_動(dòng)下獲得更準(zhǔn)確的水位預(yù)測(cè),并可大幅減少閘門調(diào)整頻率。在明渠灌溉系統(tǒng)中,當(dāng)大型灌溉渠池水位發(fā)生顯著的非線性變化時(shí),無(wú)論分水變化是否可預(yù)測(cè),本發(fā)明都顯示出卓越的水位預(yù)測(cè)優(yōu)勢(shì),使灌溉供水系統(tǒng)能保持穩(wěn)定的流量和水位,大大提高系統(tǒng)的供水效率。本發(fā)明實(shí)現(xiàn)對(duì)流量變化的實(shí)時(shí)跟蹤,從而提高模型的水位預(yù)測(cè)精度,同時(shí)減少渠池閘門的控制次數(shù),提高閘門控制效率,保證明渠灌溉系統(tǒng)中渠池水位和流量的穩(wěn)定。