本發明涉及灌溉領域,特別涉及一種渠道配水的方法。
背景技術:
灌區水量配置主要是通過灌區的渠道工程和控制工程實現的,其中以滿足農田灌溉用水需求的水量優化配置為灌區水量優化配置的主要內容。編制配水計劃,就是在全灌區的灌溉面積、取水時間、取水水量和流量已確定的條件下擬定每次灌水向配水點分配的水量、配水方式、配水流量或是配水順序及時間。
目前大多數灌區憑借經驗編制灌溉渠道配水計劃,造成了較大的渠系輸水滲漏損失和頻繁的閘門調節,隨著農業水資源供需矛盾的日益突出,對灌區配水計劃提出了更高的要求,因此目前急需要精細化灌區配水計劃,優化渠道的配水時間和配水流量。
技術實現要素:
為了解決現有技術問題,本發明提供了一種渠道配水的方法。所述技術方案如下:
本發明提供了一種渠道配水的方法,所述方法應用于配水系統,所述配水系統包括K段上級渠道和N條下級渠道,K和N為大于1的整數,且所述K段上級渠道中的每段上級渠道與所述N條下級渠道中的部分下級渠道通過閘門相連,所述方法包括:
建立如(1)式所示的編碼矩陣P,所述編碼矩陣P是包括2N行和M列的矩陣,M為大于1的整數,第j行包括第j條下級渠道的M個不同的流量比值,分別為αj1、αj2……αjM,所述第j條下級渠道的流量比值用于表示所述第j條下級渠道的實際流量與設計流量的比值,αj1、αj2……αjM均大于或等于0.6且小于或等于1,j=1、2……N;第N+j行包括第j條下級渠道的M個不同的配水起始時間,分別為tj1、tj2……tjM,tj1、tj2……tjM均大于或等于0且小于或等于T,T為大于0的整數;
根據所述編碼矩陣P中的第x列包括的第j條下級渠道的配水起始時間tjx、配水比值αjx和預設的第j條下級渠道的實際配水量Wj,按如下公式(2)計算出第j條下級渠道的配水結束時間tjxy,x=1、2……M,qj為預設的第j條下級渠道的設計配水流量;
Wj=αjxqj·(tjxy-tjx)……(2)
根據第j條下級渠道的配水起始時間tjx和配水結束時間tjxy,確定第j條下級渠道在第i時段內的開關變量xij的值,i=1、2……T;
根據與第k段上級渠道相連的各條下級渠道的配水起始時間和配水結束時間確定第k段上級渠道在i時段的實際配水時間tauik,k=1、2……K,具體確定方法見下文所述;
根據每段上級渠道在i時段的實際配水時間tauik、每條下級渠道的流量比值、每條下級渠道在第i時段的實際配水時間taij和開關變量,按如下公式(3)至(6)計算第x列的適應度fit;
在公式(4)中,Auk為第k段上級渠道的預設渠床透水系數;muk為第k段上級渠道的預設指數;Qauik為第k段上級渠道在第i時段的實際配水流量,J為第k段上級渠道所控制的第一條下級渠道序號;Luk為第k段上級渠道的長度;Aj為第j條下級渠道的預設渠床透水系數;mj為第j條下級渠道的預設指數;qaij為第j條下級渠道在第i時段的實際配水流量,qaij=αjx·qj;Lj為第j條下級渠道的長度,taij為第j條下級渠道在第i時段的實際配水時間,是根據第j條下級渠道的配水起始時間tjx和配水結束時間tjxy在第i時段所占的實際時間確定,具體確定方法見下文所述;
在公式(5)中,α為預設系數,Qs為第1段上級渠道預設的設計流量,第j條下級渠道在第i時段的實際配水流量qaij=αjxqj,qj為第j條下級渠道預設的設計流量;
在公式(6)中,β為為預設系數,Qsk為第k段上級渠道預設的設計流量;
從所述編碼矩陣P選擇適應度最大的一列c,并在配水起始時間tjc至配水結束時間tjcy內根據流量比值αjc控制第j條下級渠道對應的閘門打開。
可選的,所述建立如(1)式所示的編碼矩陣P,包括:
對于第j條下級渠道,j=1、2……N;
隨機設置大于或等于0.6且小于或等于1的M個不同流量比值,分別為αj1、αj2……αjM,并將αj1、αj2……αjM作為編碼矩陣P的第j行;
隨機設置大于或等于0且小于或等于T的M個不同配水起始時間,分別為tj1、tj2……tjM,并將tj1、tj2……tjM作為編碼矩陣P的第N+j行。
可選的,所述根據第j條下級渠道的配水起始時間tjx和配水結束時間tjxy,確定第j條下級渠道在第i時段內的開關變量xij的值,包括:
對于第i時段,i=1、2……T,如果滿足如下第一至第三個條件中的任一個條件,則設置第j條下級渠道在第i時段內的開關變量xij的值為1;如果不滿足如下第一至第三個條件中的任一個條件,則設置第j條下級渠道在第i時段內的開關變量xij的值為0;
第一:tjx小于i且tjxy大于i;第二:tjx大于i-1且tjxy小于i;第三:tjx小于i-1以及tjxy大于i-1且小于i。
可選的,所述根據與第k段上級渠道相連的各條下級渠道的配水起始時間和配水結束時間確定第k段上級渠道在i時段的實際配水時間tauik,包括:
與第k段上級渠道相連的各條下級渠道的配水起始時間中選擇最早的配水起始時間;
與第k段上級渠道相連的各條下級渠道的配水結束時間中選擇最晚的配水結束時間;
將所述選擇的配水起始時間至所述選擇的配水結束時間在i時段占有的實際時間段確定為第k段上級渠道的實際配水時間tauik。
本發明提供的技術方案的有益效果是:
通過設置編碼矩陣,編碼矩陣包括M列,每列包括每條下級渠道的流量比值和配水起始時間,然后計算出編碼矩陣包括的每列數據對應的適應度,適應度越高,表示各渠道損耗的水量就越小,選擇適應度最大的一列,根據選擇的一列,控制各下級渠道對應的閘門在何時開啟以及開啟程度;再根據每一段上級渠道與下級渠道的對應關系,計算出每一段上級渠道在第i時段的實際配水流量,從而控制上級渠道的上一段向下一段的下泄流量,從而提供了精細化灌區配水計劃,優化渠道的配水時間和配水流量。計算出每一級下級渠道的配水起始時間、配水結束時間和在第i時段的實際配水流量后,再根據每一段上級渠道與下級渠道的對應關系,計算出每一段上級渠道在第i時段的實際配水流量Qauik,從而控制上級渠道的上一段向下一段的下泄流量。
附圖說明
圖1是本發明實施例提供的一種渠道配水的方法流程圖;
圖2是本發明實施例提供的一種時段結構示意圖;
圖3是本發明實施例提供的另一種時段結構示意圖;
圖4是本發明實施例提供的另一種時段結構示意圖;
圖5是本發明實施例提供的另一種時段結構示意圖;
圖6是本發明實施例提供的采用經驗方法編制的斗渠配水過程;
圖7是本發明實施例提供的采用精細化斗渠配水過程;
圖8是本發明實施例提供的采用經驗方法編制的支渠配水過程;
圖9是本發明實施例提供的采用精細化支渠配水過程;
圖10是本發明實施例提供的修正后的支渠配水過程。
具體實施方式
為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方式作進一步地詳細描述。
目前灌區內包括一條上級渠道和N條下級渠道,N為大于1的整數。該條上級渠道包括K段,分別為第一段上級渠道、第二段上級渠道至第K段上級渠道;第一段上級渠道、第二段上級渠道至第K段上級渠道的橫截面的面積逐漸減小,K為大于1的整數。該K段上級渠道中的每段上級渠道與該N條下級渠道中的部分下級渠道通過閘門相連,任意相鄰兩段上級渠道也是通過閘門相連。
針對于上述灌區,參見圖1,本發明實施例提供了一種渠道配水的方法,包括:
步驟101:建立如下(1)式所示的編碼矩陣P。
編碼矩陣P是包括2N行和M列的矩陣,M為大于1的整數,第j行包括第j條下級渠道的M個不同的流量比值,分別為αj1、αj2……αjM,第j條下級渠道的流量比值用于表示第j條下級渠道的實際流量與設計流量的比值,αj1、αj2……αjM均大于或等于0.6且小于或等于1,j=1、2……N;第N+j行包括第j條下級渠道的M個不同的配水起始時間,分別為tj1、tj2……tjM,tj1、tj2……tjM均大于或等于0且小于或等于T,T為大于0的整數,表示灌區的預設實際配水時間;
其中,編碼矩陣P中的每條下級渠道對應的兩行數據可以按如下方式設置,例如對于第j條下級渠道,j=1、2……N,第j條下級渠道對應第j行的M個數據和第N+j行的M個數據;詳細設置過程如下:
隨機設置大于或等于0.6且小于或等于1的M個不同流量比值,分別為αj1、αj2……αjM,并將αj1、αj2……αjM作為編碼矩陣P的第j行;
隨機設置大于或等于0且小于或等于T的M個不同配水起始時間,分別為tj1、tj2……tjM,并將tj1、tj2……tjM作為編碼矩陣P的第N+j行。
步驟102:根據編碼矩陣P中的第x列包括的第j條下級渠道的配水起始時間tjx、配水比值αjx和預設的第j條下級渠道的實際配水量Wj,按如下公式(2)計算出第j條下級渠道的配水結束時間tjxy。
Wj=αjxqj·(tjxy-tjx)……(2)
在上述公式(2)中,x=1、2……M,qj為預設的第j條下級渠道的設計配水流量。其中,j=1、2……N,因此通過本步驟可以計算出N條下級渠道中的每條下級渠道的配水結束時間。
步驟103:根據第j條下級渠道的配水起始時間tjx和配水結束時間tjxy,確定第j條下級渠道在第i時段內的開關變量xij的值,i=1、2……T,j=1、2……N。
本步驟的詳細過程可以為:對于第i時段,i=1、2……T。
(1):當tjxy>i且tjx<i時,則設置第j條下級渠道在第i時段內的開關變量xij的值為1。
tjxy>i且tjx<i是指第j條下級渠道的配水結束時間tjxy大于第i時段的編號i且配水起始時間tjx小于第i時段的編號i。該情況包括如下兩種形式:
第一種、參見圖2,如果i-tjx≥1,第j條下級渠道第i時段的實際配水時間taij等于一個時段,即taij=1,設置xij=1。
第二種、參見圖3,如果i-tjx<1,第j條下級渠道第i時段的實際配水時間taij=(i-t1ij)個時段,即taij=(i-t1ij),設置xij=1。
(2):參見圖4,當第j條下級渠道的配水起始時間tjx>i-1且配水結束時間tjxy<i時,則第j條下級渠道第i時段的實際配水時間taij為(taij=tjxy-tjx)個時段,即taij=tjxy-tjx,設置第j條下級渠道在第i時段內的開關變量xij的值為1。
(3):參見圖5,當第j條下級渠道的配水結束時間i-1<tjxy<i和配水起始時間tjx<i-1時:第j條下級渠道第i時段的實際配水時間taij為(tjxy-(i-1))個時段,即taij=tjxy-(i-1),設置第j條下級渠道在第i時段內的開關變量xij的值為1。
當如果(1)、(2)、(3)都不滿足時:第j條下級渠道第i時段的實際配水時間taij=0,設置第j條下級渠道在第i時段內的開關變量xij的值為0。
在本步驟中,由于j=1、2……N,因此在本步驟中計算出每條下級渠道在每個時段內的開關變量xij,當第k段上級渠道所對應的若干條下級渠道在第i時段內的所有xij均為0,那么tauik=0;否則0<tauik≤1。
步驟104:根據第j條下級渠道的配水起始時間tjx和配水結束時間tjxy,確定第j條下級渠道在第i時段所占的實際配水時間taij,i=1、2……T。
本步驟可以為:將第j條下級渠道的配水起始時間tjx至選擇的配水結束時間tjxy在第i時段所占的實際時間段確定為第j條下級渠道在第i時段所占的實際配水時間taij。
例如,假設T為6,即存在6個時段,每個時間段4小時,如果第j條下級渠道的配水起始時間tjx至選擇的配水結束時間tjxy為第3小時至第10小時,那么在第1時段第j條下級渠道所占的實際時間段為一個小時,為整個第1時段的四分之一,所以第j條下級渠道在第1時段所占的實際配水時間ta1j為0.25;在第2時段第j條下級渠道所占的實際時間段為四個小時,為整個第2時段,所以第j條下級渠道在第2時段所占的實際配水時間ta2j為1;在第3時段第j條下級渠道所占的實際時間段為兩個小時,為二分之一個第3時段,所以第j條下級渠道在第3時段所占的實際配水時間ta3j為0.5。而在第4、5、6時段內的實際配水時間均為0。
步驟105:根據與第k段上級渠道相連的各條下級渠道的配水起始時間和配水結束時間確定第k段上級渠道在第i時段所占的實際配水時間tauik,k=1、2……K。
本步驟可以為:與第k段上級渠道相連的各條下級渠道的配水起始時間中選擇最早的配水起始時間txmin;與第k段上級渠道相連的各條下級渠道的配水結束時間中選擇最晚的配水結束時間txymax;將選擇的配水起始時間txmin至選擇的配水結束時間txymax在第i時段所占的實際時間段確定為第k段上級渠道在第i時段所占的實際配水時間tauik,其確定方法與第j條下級渠道第i時段的實際配水時間taij的確定方法相同。
例如,假設T仍為6,即存在6個時段,每個時間段4小時,如果最早的配水起始時間txmin至最晚的配水結束時間txymax為第3小時至第15小時。那么在第1時段第k段級渠道所占的實際時間段為一個小時,為整個第1時段的四分之一,所以第k段上級渠道在第1時段所占的實際配水時間tau1k為0.25;在第2時段第k段上級渠道所占的實際時間段為四個小時,為整個第2時段,所以第k段上級渠道在第2時段所占的實際配水時間tau2k為1;在第3時段第k段級渠道所占的實際時間段為四個小時,為整個第3時段,所以第k段上級渠道在第3時段所占的實際配水時間tau3k為1;在第4時段第k段級渠道所占的實際時間段為三個小時,為四分之三個第4時段,所以第k段上級渠道在第4時段所占的實際配水時間tau4k為0.75。而在第5、6時段內的實際配水時間均為0。
步驟106:根據每段上級渠道在第i時段的實際配水時間tauik、每條下級渠道的實際流量與設計流量的流量比值、每條下級渠道在第i時段的實際配水時間taij和開關變量,按如下公式(3)至(6)計算第x列的適應度fit;
在公式(4)中,Auk為第k段上級渠道的預設渠床透水系數;muk為第k段上級渠道的預設指數;Qauik為第k段上級渠道在第i時段的實際配水流量,J為與第k段上級渠道相連的第一條下級渠道序號;Luk為第k段上級渠道的長度,k=1、2……K;Aj為第j條下級渠道的預設渠床透水系數;mj為第j條下級渠道的預設指數;qaij為第j條下級渠道在第i時段的實際配水流量,qaij=αjx·qj,qj為第j條下級渠道預設的設計流量;Lj為第j條下級渠道的長度;taij為第j條下級渠道在第i時段的實際配水時間計算方法見上文;tauik為第k段上級渠道在第i時段內的實際配水時間,是指第k段上級渠道為滿足其所對應的若干條下級渠道在第i時段的配水需求,所必須的連續配水時間,其確定方法見上文;
在公式(5)中,α為預設系數,Qs為第1段上級渠道預設的設計流量,qaij=αjxqj,qj為第j條下級渠道預設的設計流量;
在公式(6)中,β為為預設系數,Qsk為第k段上級渠道預設的設計流量;
在本步驟中x=1、2……M,可以計算出編碼矩陣P中的每一列的適應度fit,適應度fit越大表明灌區的渠系輸水滲漏損失越小,反之就越大。
步驟107:以fit為適應度,采用遺傳算法對上述步驟進行優化,直至獲得設定的迭代次數,輸出最優的矩陣P。
步驟108:從編碼矩陣P選擇適應度最大的一列c,并在配水起始時間tjc至配水結束時間tjcy內根據流量比值αjc控制第j條下級渠道對應的閘門打開。
流量比值αjc越大,表示控制第j條下級渠道對應的閾門打開的程度越大,第j條下級渠道得到水的實際流量就上越大;反之,流量比值αjc越小,表示控制第j條下級渠道對應的閾門打開的程度越小,第j條下級渠道得到水的實際流量就上越小。
接下來舉一個實例來對本文進行說明,本文選用西北某灌區下級渠道共33條冬灌的配水過程資料,見表1、圖6和圖8,整個灌溉輪期為21天。
表1西北某灌區南下級渠道基本參數
將南下級渠道的基本資料輸入本文建立的配水模型,其中,渠床透水系數A取3.4,透水指數m取0.5,灌水輪期為21天;群體規模取1000,優秀個體取100,迭代次數為100,變異概率取0.001,配水時段取10h,則配水時段T為50;采用遺傳算法求解得到的上級渠道和下級渠道配水過程見圖7和圖9。采用經驗方法編制的下級渠道和上級渠道配水時間集中、總體流量小,個別下級渠道實際配水流量大于其設計流量或小于最小允許流量;精細化配水方案的下級渠道實際配水流量均在其允許的流量范圍內,且與設計流量基本一致,配水過程搭配合理,配水時間也減少了1d;由圖9可知,可以看出,精細化上級渠道實際配水流量均勻,有效減少了上級渠道閘門的調節次數,便于實際配水。經計算,優化配水方案的輸水滲漏損失較分組灌溉配水方案的輸水滲漏損失減少了15%,表明精細化配水方案的配水質量高。
精細化配水方案中的各下級渠道配水開始時段和結束時段不盡相同,實際應用時要求灌區具有較高的配水自動化程度,因此,現階段在我國大規模推廣應用該方法不切實際。考慮到上述情況,本文以精細化配水方案為依據,綜合各下級渠道開始配水時段和配水歷時,將下級渠道分為3組進行輪灌,即1、8、9、11、13、18、22、25、27號下級渠道為第一組,2、6、7、12、16、17、23、24、26、33、29、、32、21、31號下級渠道為第二組;28、19、30、5、3、14、20、15、10、4號下級渠道為第三組,其中4號和25號下級渠道的灌水歷時和控制面積較小,實際配水時可靈活操作,修正后的上級渠道配水過程見圖10。經計算修正后的精細化配水方案輸水滲漏損失較原配水方案減少9%,表明修正后的精細化配水方案優于原配水方案。
在本發明實施例中,通過設置編碼矩陣,編碼矩陣包括M列,每列包括每條下級渠道的流量比值和配水起始時間,然后計算出編碼矩陣包括的每列數據對應的適應度,適應度越高,表示各渠道損耗的水量就越小,選擇適應度最大的一列,根據選擇的一列,控制各下級渠道對應的閘門在何時開啟以及開啟程度,從而提供了精細化灌區配水計劃,優化渠道的配水時間和配水流量。
本領域普通技術人員可以理解實現上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
以上所述僅為本發明的較佳實施例,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。