本發(fā)明涉及農(nóng)業(yè)和園林灌溉技術(shù)領(lǐng)域,尤其涉及一種輪灌組劃分方法。
背景技術(shù):
節(jié)水灌溉(主要是噴滴灌)設(shè)計(jì)工作主要包括管網(wǎng)布置和輪灌方案劃分兩個(gè)階段,一般地,兩者是相輔相成的,然而考慮到施工的方便以及管道的規(guī)格,近些年來很多地方管網(wǎng)采用固定模式,因此目前節(jié)水灌溉設(shè)計(jì)的主要工作在于輪灌方案的劃分。輪灌的實(shí)現(xiàn)主要是控制地面支管或者噴灑支管入口的閥門開閉,達(dá)到系統(tǒng)各支管輪流灌溉的目的,從而分散流量,節(jié)約工程投資成本。
輪灌方案的劃分,決定著系統(tǒng)運(yùn)行成本、運(yùn)行穩(wěn)定性及灌溉均勻度等。但現(xiàn)今的劃分方法往往通過人工調(diào)整方法,通過excel逐級(jí)推算到系統(tǒng)首部,對(duì)于500畝以下的規(guī)則小規(guī)模系統(tǒng)來說,人工方法一般能夠滿足設(shè)計(jì)要求,但對(duì)于中大規(guī)模及不規(guī)則系統(tǒng),人工劃分輪灌方案需要進(jìn)行不斷的嘗試,耗時(shí)耗力,而且由于人為因素影響較大,很多情況下很難得到比較合理的方案。節(jié)水灌溉設(shè)計(jì)相比大多數(shù)水利工程要簡單很多,輪灌方案劃分主要工作是管網(wǎng)水力計(jì)算,從管網(wǎng)最末端逐級(jí)推到首部計(jì)算出揚(yáng)程和流量,方案的優(yōu)劣根據(jù)各個(gè)輪灌組流量和揚(yáng)程的均衡程度及管網(wǎng)節(jié)點(diǎn)壓力的均衡性進(jìn)行判斷。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是針對(duì)現(xiàn)有輪灌組劃分的問題,提供一種輪灌組劃分方法,采用冒泡排序算法和貪婪算法相結(jié)合的方式,處理輪灌組流量及揚(yáng)程綜合均衡的問題,改進(jìn)管網(wǎng)優(yōu)化水平,縮短管網(wǎng)設(shè)計(jì)中輪灌組劃分時(shí)間,提高管網(wǎng)設(shè)計(jì)效率。
本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:
一種輪灌組劃分方法,包括以下步驟:
步驟1:建立輪灌組劃分?jǐn)?shù)學(xué)模型;
步驟2:對(duì)所有的輪灌支管進(jìn)行分配,使得所述步驟1中建立的數(shù)學(xué)模型的目標(biāo)函數(shù)最小,即各輪灌組的揚(yáng)程和流量達(dá)到綜合均衡。
在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
進(jìn)一步:所述步驟1中建立的數(shù)學(xué)模型為,
min
s.t.
其中,n為待劃分輪灌支管的根數(shù),m為輪灌組數(shù);xij表示第i根支管在第j個(gè)輪灌組中的開閉狀態(tài),當(dāng)xij=1時(shí),表示第i根支管在第j個(gè)輪灌組中為打開狀態(tài),當(dāng)xij=0時(shí),表示第i根支管在第j個(gè)輪灌組中為關(guān)閉狀態(tài);hi和qi分別為第i根支管進(jìn)口的進(jìn)口需求壓力和進(jìn)口需求流量;hj和qj分別為第j個(gè)輪灌組的揚(yáng)程和流量;μh和μq分別為各輪灌組揚(yáng)程和流量的平均值;σh和σq分別為各輪灌組揚(yáng)程和流量的標(biāo)準(zhǔn)差。
進(jìn)一步:所述數(shù)學(xué)模型中,目標(biāo)函數(shù)為
其中,cvh和cvq分別為各輪灌組揚(yáng)程和流量的變異系數(shù),
目標(biāo)函數(shù)最小時(shí),各輪灌組之間的揚(yáng)程和流量達(dá)到綜合均衡。
進(jìn)一步:所述m、n均為自然數(shù)。
進(jìn)一步:所述步驟2采用貪婪算法和冒泡算法相結(jié)合的方式,其具體步驟為,
步驟2.1:將所有輪灌支管采用冒泡排序法按支管流量大小進(jìn)行排序;
步驟2.2:采用貪婪算法將排序后的支管分配到各個(gè)輪灌組;
步驟2.3:采用冒泡算法,對(duì)所述步驟2.2中分配完成的輪灌組進(jìn)行調(diào)整,使得各個(gè)輪灌組之間的揚(yáng)程和流量達(dá)到綜合均衡。
進(jìn)一步:所述步驟2.1中冒泡排序法的具體步驟為,
步驟2.1.1:對(duì)所有的輪灌支管進(jìn)行編號(hào),并計(jì)算每個(gè)輪灌支管的流量;
步驟2.1.2:比較相鄰編號(hào)的兩個(gè)輪灌支管的流量大小,按流量的大小交換輪灌支管的位置;
步驟2.1.3:對(duì)剩下的輪灌支管重復(fù)所述步驟2.1.2,直至所有的輪灌支管按流量的大小重新排序。
進(jìn)一步:所述步驟2.1.2和所述步驟2.1.3中輪灌支管按流量從大至小或者從小至大的順序進(jìn)行排序,最后得到流量最小或者最大的輪灌支管,方便后面步驟的進(jìn)行。
進(jìn)一步:所述步驟2.2中采用貪婪算法的具體分配步驟為,
步驟2.2.1:將按流量從大至小或者從小至大的順序排序完的輪灌支管分配到m個(gè)輪灌組中,從流量最大或者最小的輪灌支管開始分配;
步驟2.2.2:分別計(jì)算待分配的輪灌支管分配到第m個(gè)輪灌組中時(shí),該輪灌組目標(biāo)函數(shù)的值,并進(jìn)行比較,以目標(biāo)函數(shù)的值最小時(shí)的輪灌組為最佳分配方案;
步驟2.2.3:重復(fù)所述步驟2.2.1和步驟2.2.2,直至所有的輪灌支管分配完成。
進(jìn)一步:所述步驟2.2.2中的目標(biāo)函數(shù)為輪灌組的流量偏差最小。
進(jìn)一步:所述步驟2.3中采用冒泡算法的輪灌組具體調(diào)整步驟為,
步驟2.3.1:將所述步驟2.2中分配好的輪灌組以揚(yáng)程和流量綜合均衡為目標(biāo)函數(shù),按照所述數(shù)學(xué)模型進(jìn)行計(jì)算;
步驟2.3.2:將第一個(gè)輪灌組中的第n個(gè)輪灌支管,與其他輪灌組的輪灌支管進(jìn)行位置對(duì)調(diào),按照所述數(shù)學(xué)模型計(jì)算對(duì)調(diào)后的所述目標(biāo)函數(shù),并與對(duì)調(diào)前的目標(biāo)函數(shù)進(jìn)行對(duì)比,如果對(duì)調(diào)后分配方案更優(yōu),則將該輪灌支管對(duì)調(diào);
步驟2.3.3:重復(fù)上述步驟,按順序依次調(diào)整所有輪灌組中的輪灌支管,得到輪灌組劃分最優(yōu)方案。
本發(fā)明的有益效果是:通過建立有效的輪灌組劃分?jǐn)?shù)學(xué)模型,將抽象的輪灌組劃分以定量的方式直觀表示,方便進(jìn)行輪灌組劃分最優(yōu)方案的設(shè)計(jì);采用貪婪算法與冒泡算法相結(jié)合的方式,通過冒泡排序法對(duì)輪灌支管進(jìn)行排序,通過貪婪算法將排序好的支管分配到各輪灌組,然后通過冒泡算法對(duì)輪灌組進(jìn)行調(diào)整,從而得到最優(yōu)的輪灌組劃分方案,使得各輪灌組之間的揚(yáng)程和流量均衡,達(dá)到分散流量、節(jié)約投資成本的目的,并能縮短管網(wǎng)設(shè)計(jì)中輪灌組劃分時(shí)間,提高管網(wǎng)設(shè)計(jì)效率。
附圖說明
圖1為本發(fā)明的方法流程圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
如圖1所示,一種輪灌組劃分方法,其包括以下步驟:
步驟1:建立輪灌組劃分?jǐn)?shù)學(xué)模型;
步驟2:對(duì)所有的輪灌支管進(jìn)行分配,使得所述步驟1中建立的數(shù)學(xué)模型的目標(biāo)函數(shù)最小,即各輪灌組的揚(yáng)程和流量達(dá)到綜合均衡。
n為待劃分輪灌支管的根數(shù),m為輪灌組數(shù);xij表示第i根支管在第j個(gè)輪灌組中的開閉狀態(tài),當(dāng)xij=1時(shí),表示第i根支管在第j個(gè)輪灌組中為打開狀態(tài),當(dāng)xij=0時(shí),表示第i根支管在第j個(gè)輪灌組中為關(guān)閉狀態(tài)。所述m、n均為自然數(shù)。
實(shí)際上,輪灌劃分方案就是求解最合理的矩陣x,且
約束條件為同一根輪灌支管在所有的輪灌組中僅打開一次,即
hi(m)和qi(m3/h)分別為第i根支管進(jìn)口的進(jìn)口需求壓力和進(jìn)口需求流量;hj(m)和qj(m3/h)分別為第j個(gè)輪灌組的揚(yáng)程和流量;μh(m)和μq(m3/h)分別為各輪灌組揚(yáng)程和流量的平均值;σh和σq分別為各輪灌組揚(yáng)程和流量的標(biāo)準(zhǔn)差;cvh和cvq分別為各輪灌組揚(yáng)程和流量的變異系數(shù),則
合理的輪灌組劃分方案要求各輪灌組之間的揚(yáng)程和流量綜合均衡,也即是cvh和cvq較小,該問題為雙目標(biāo)問題,即為
傳統(tǒng)的人工經(jīng)驗(yàn)法是人工結(jié)合excel表格,通過人工試算進(jìn)行輪灌組的劃分,其效率由輪灌組的數(shù)量、輪灌支管的數(shù)量、灌區(qū)劃分的復(fù)雜程度、人工經(jīng)驗(yàn)所決定的,當(dāng)輪灌支管的數(shù)量達(dá)到百位數(shù)時(shí),其往往需要數(shù)小時(shí)甚至數(shù)天來完成,且得到的結(jié)果并非最優(yōu)解。而采用本發(fā)明的劃分方法,通過程序計(jì)算,幾秒中的時(shí)間便可得到輪灌組劃分的最優(yōu)結(jié)果,從而極大縮短了管網(wǎng)設(shè)計(jì)中輪灌組劃分時(shí)間,提高管網(wǎng)設(shè)計(jì)的效率。
所述步驟1中建立的數(shù)學(xué)模型為,
min
s.t.
具體的,所述步驟2采用貪婪算法和冒泡算法相結(jié)合的方式,其具體步驟為,
步驟2.1:將所有輪灌支管采用冒泡排序法按支管流量大小進(jìn)行排序;
步驟2.2:采用貪婪算法將排序后的支管分配到各個(gè)輪灌組;
步驟2.3:采用冒泡算法,對(duì)所述步驟2.2中分配完成的輪灌組進(jìn)行調(diào)整,使得各個(gè)輪灌組之間的揚(yáng)程和流量達(dá)到綜合均衡。
采用冒泡排序算法和貪婪算法相結(jié)合的方式處理數(shù)學(xué)模型中輪灌組設(shè)計(jì)中流量及揚(yáng)程均衡的問題。
具體的,所述步驟2.1中冒泡排序法的具體步驟為,
步驟2.1.1:對(duì)所有的輪灌支管進(jìn)行編號(hào),并計(jì)算每個(gè)輪灌支管的流量;
步驟2.1.2:比較相鄰編號(hào)的兩個(gè)輪灌支管的流量大小,按流量的大小交換輪灌支管的位置;
步驟2.1.3:對(duì)剩下的輪灌支管重復(fù)所述步驟2.1.2,直至所有的輪灌支管按流量的大小重新排序。
所述步驟2.1.2和所述步驟2.1.3中輪灌支管按流量從大至小或者從小至大的順序進(jìn)行排序,最后得到流量最小或者最大的輪灌支管,方便后面步驟的進(jìn)行。
具體的,所述步驟2.2中采用貪婪算法的具體分配步驟為,
步驟2.2.1:將按流量從大至小或者從小至大的順序排序完的輪灌支管分配到m個(gè)輪灌組中,從流量最大或者最小的輪灌支管開始分配;
步驟2.2.2:分別計(jì)算待分配的輪灌支管分配到第m個(gè)輪灌組中時(shí),該輪灌組目標(biāo)函數(shù)的值,并進(jìn)行比較,以目標(biāo)函數(shù)的值最小時(shí)的輪灌組為最佳分配方案;
步驟2.2.3:重復(fù)所述步驟2.2.1和步驟2.2.2,直至所有的輪灌支管分配完成。
所述步驟2.2.2中的目標(biāo)函數(shù)為輪灌組的流量偏差最小。
具體的,所述步驟2.3中采用冒泡算法的輪灌組具體調(diào)整步驟為,
步驟2.3.1:將所述步驟2.2中分配好的輪灌組以揚(yáng)程和流量綜合均衡為目標(biāo)函數(shù),按照所述數(shù)學(xué)模型進(jìn)行計(jì)算;
步驟2.3.2:將第一個(gè)輪灌組中的第n個(gè)輪灌支管,與其他輪灌組的輪灌支管進(jìn)行位置對(duì)調(diào),按照所述數(shù)學(xué)模型計(jì)算對(duì)調(diào)后的所述目標(biāo)函數(shù),并與對(duì)調(diào)前的目標(biāo)函數(shù)進(jìn)行對(duì)比,如果對(duì)調(diào)后分配方案更優(yōu),則將該輪灌支管對(duì)調(diào);
步驟2.3.3:重復(fù)上述步驟,按順序依次調(diào)整所有輪灌組中的輪灌支管,得到輪灌組劃分最優(yōu)方案。
具體實(shí)施方式,取n=149、m=24,即輪灌支管的數(shù)量為149根,輪灌組的數(shù)量為24個(gè),則共有241+242+243+...+24(149-24)種分配方案,通過計(jì)算機(jī)枚舉法計(jì)算,也幾乎是不可能;采用人工經(jīng)驗(yàn)法,并結(jié)合excel表格,需要1天至2天的時(shí)間得到可行的方案,且不一定為最優(yōu)方案;而采用本發(fā)明的輪灌組劃分方法,通過程序?qū)崿F(xiàn)只需要數(shù)秒就可以得到最優(yōu)解,即輪灌組劃分的最佳方案。
具體計(jì)算結(jié)果如下表1所示:
表1輪灌組計(jì)算結(jié)果表
計(jì)算結(jié)果表明輪灌支管中的最大流量為261.66m3/h,輪灌組的最大揚(yáng)程為13.39m,輪灌組具體分配方案見上表1,目標(biāo)函數(shù)的最優(yōu)解為0.08272,即cvh=0.06682和cvq=0.01590時(shí),α=1,β=1,此時(shí)目標(biāo)函數(shù)min最優(yōu),用時(shí)10秒。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。