宋 博, 錢治丞, 趙 冰, 曲 頌
(黑龍江大學(xué) 電子工程學(xué)院, 哈爾濱 150080)
滴灌具有減少輸水損失、節(jié)約土地、適用于各種不同地形和管理運(yùn)行方便等優(yōu)點(diǎn),被廣泛用于農(nóng)田灌溉中[1-3]。目前,實(shí)際滴灌項(xiàng)目的管網(wǎng)設(shè)計(jì)主要憑借設(shè)計(jì)者經(jīng)驗(yàn),缺乏對(duì)設(shè)計(jì)方案的優(yōu)化和比較,導(dǎo)致管網(wǎng)投資成本較高。因此,研究管網(wǎng)的優(yōu)化設(shè)計(jì)方案,可有效地降低項(xiàng)目投資,進(jìn)一步推動(dòng)農(nóng)田灌溉事業(yè)發(fā)展。管徑的組合方式對(duì)管網(wǎng)投資影響很大,優(yōu)化此部分投資得到的經(jīng)濟(jì)效益也更顯著[4]。管徑優(yōu)化的傳統(tǒng)方法包括線性規(guī)劃法[5]、非線性規(guī)劃法[6]和枚舉法[7]等,采用這些方法進(jìn)行優(yōu)化時(shí),會(huì)受到管網(wǎng)規(guī)模的限制。當(dāng)管網(wǎng)復(fù)雜且規(guī)模較大時(shí),待求解的管段數(shù)量較多,若利用此類解析法求解,存在計(jì)算時(shí)間過(guò)長(zhǎng)或在規(guī)定時(shí)間內(nèi)得不到最優(yōu)解的問(wèn)題。近些年,計(jì)算機(jī)技術(shù)發(fā)展較快,遺傳算法(Genetic algorithm, GA)[8]、粒子群算法(Paticle swarm optimization, PSO)[9]和熒火蟲算法(Firefly algorithm, FA)[10]等被用于求解管徑優(yōu)化問(wèn)題并取得了一定的效果。雖然這些算法存在局部尋優(yōu)能力不強(qiáng)和搜索效率低等問(wèn)題,但螢火蟲算法在解決實(shí)際工程問(wèn)題及組合優(yōu)化問(wèn)題中表現(xiàn)優(yōu)異,優(yōu)化結(jié)果的準(zhǔn)確性和可靠性都優(yōu)于GA算法和PSO算法[11]。因此,本文針對(duì)螢火蟲算法在解決管網(wǎng)優(yōu)化這種復(fù)雜問(wèn)題時(shí),存在易陷入局部最優(yōu)的缺陷進(jìn)行了改進(jìn),采用改進(jìn)后的算法解決滴灌管網(wǎng)優(yōu)化問(wèn)題。
螢火蟲算法(FA)由Yang于2008年提出,該算法主要依據(jù)在搜索空間中,絕對(duì)亮度小的螢火蟲個(gè)體被絕對(duì)亮度小的螢火蟲吸引并向其移動(dòng)這一特點(diǎn)實(shí)現(xiàn)尋優(yōu)[12]。FA搜索過(guò)程與螢火蟲個(gè)體的亮度和吸引力參數(shù)有關(guān)。螢火蟲i對(duì)螢火蟲j的相對(duì)亮度為:
Iij(rij)=Iie-γrij2
(1)
式中:Ii為螢火蟲i的絕對(duì)亮度;γ為光吸收系數(shù);rij為螢火蟲i到螢火蟲j的距離,即:
(2)
螢火蟲i對(duì)螢火蟲j的吸引力表示為:
βij(rij)=β0e-γrij 2
(3)
式中β0為最大吸引力,即在光源處螢火蟲的吸引力。
尋優(yōu)過(guò)程中,螢火蟲j被螢火蟲i吸引,向其移動(dòng)的位置更新過(guò)程為:
(4)
式中:t為迭代次數(shù);xi(t)為螢火蟲i所處的空間位置;xj(t)為螢火蟲j所處的空間位置;α為步長(zhǎng)因子;Rand為[0,1]上服從均勻分布的隨機(jī)因子。
由于螢火蟲算法在求解復(fù)雜優(yōu)化問(wèn)題時(shí),存在收斂速度慢和易陷入局部最優(yōu)的缺點(diǎn),因此對(duì)螢火蟲位置的初始化、隨機(jī)步長(zhǎng)以及全局最優(yōu)位置進(jìn)行了改進(jìn)。
1.2.1 螢火蟲位置初始化的改進(jìn)
在螢火蟲算法中,螢火蟲被隨機(jī)散布在待優(yōu)化問(wèn)題的解空間,很可能使得個(gè)體初始位置分布失衡,個(gè)體容易落入局部最佳位置,導(dǎo)致算法尋優(yōu)效果不佳。采用立方映射生成的混沌序列[13]初始化種群位置,混沌序列表達(dá)式為:
y(n+1)=4y(n)3-3y(n)
(5)
式中:y(n)∈[-1,1],y(n)=0,1,2,…。
螢火蟲種群的初始化進(jìn)行混沌改進(jìn)的過(guò)程如下:首先,在螢火蟲種群的d維空間中,隨機(jī)生成一個(gè)d維向量X作為螢火蟲個(gè)體的第一個(gè)初始位置,即X=(x1,x2,…,xd),其中Xi∈[-1,1]。然后,對(duì)向量X的每一維,按照式(5)進(jìn)行迭代,生成剩余螢火蟲個(gè)體的初始位置。最后,將上述步驟產(chǎn)生的螢火蟲個(gè)體的初始位置按照式(6)與搜索空間中的解進(jìn)行一一映射。
yid=Ld+(1+xid)(Ud-Ld)/2
(6)
式中:Ud和Ld分別為搜索空間中的上限和下限;yid為搜索空間中個(gè)體i在第d維的取值;xid為種群中個(gè)體i在第d維上的取值。
1.2.2 隨機(jī)步長(zhǎng)的改進(jìn)
標(biāo)準(zhǔn)螢火蟲算法中隨機(jī)步長(zhǎng)是固定值,若使算法同時(shí)擁有較好的尋優(yōu)速率和尋優(yōu)準(zhǔn)確度,很難為其確定一個(gè)恰當(dāng)?shù)闹?。采用?dòng)態(tài)步長(zhǎng)的搜索方式可以使得算法的尋優(yōu)能力更加均衡,采用隨迭代次數(shù)非線性遞減的方式可以對(duì)隨機(jī)步長(zhǎng)進(jìn)行改進(jìn)。
(7)
式中:k0為步長(zhǎng)衰減系數(shù);α(t)為初始步長(zhǎng);Tmax為最大迭代次數(shù)。
1.2.3 高斯變異策略
螢火蟲算法盡管在個(gè)體位置更新迭代中添加了隨機(jī)擾動(dòng)項(xiàng),但是在求解高維、多峰等復(fù)雜的優(yōu)化函數(shù)時(shí),算法依然容易陷入局部最優(yōu),這是由于個(gè)體缺乏變異能力。本文引入改進(jìn)的高斯擾動(dòng),即在螢火蟲更新迭代的過(guò)程中,對(duì)每一代搜尋到的最優(yōu)位置Gbest按照式(8)進(jìn)行高斯擾動(dòng),將得到新的全局最優(yōu)位置Ngbest按式(9)進(jìn)行更新。
(8)
(9)
為驗(yàn)證改進(jìn)螢火蟲算法的有效性,選取表1中4個(gè)基本測(cè)試函數(shù)對(duì)所提出的改進(jìn)螢火蟲算法、標(biāo)準(zhǔn)螢火蟲算法和遺傳算法進(jìn)行算法性能的驗(yàn)證和比較。在算法的參數(shù)設(shè)置中,3種算法的種群規(guī)模均為40,基本測(cè)試函數(shù)的維度為30維,算法的最大迭代次數(shù)為200次。遺傳算法中交叉概率為0.60,變異概率為0.80;改進(jìn)螢火蟲算法和標(biāo)準(zhǔn)螢火蟲算法中最大吸引力系數(shù)β0=1,光吸收系數(shù)γ=1,初始迭代步長(zhǎng)α=0.5。將算法對(duì)每個(gè)測(cè)試函數(shù)獨(dú)立運(yùn)行30次,求取運(yùn)行30次的最優(yōu)結(jié)果的平均值,確保測(cè)試結(jié)果的可靠性和穩(wěn)定性。
表1 測(cè)試函數(shù)參數(shù)設(shè)置
測(cè)試函數(shù)的仿真結(jié)果如圖1所示。Sphere函數(shù)的收斂曲線如圖1(a)所示,改進(jìn)算法在迭代10次左右就能快速地收斂到全局最優(yōu)解,標(biāo)準(zhǔn)螢火蟲算法需要60次迭代左右才能找到最優(yōu)解。遺傳算法收斂速度最慢,最終陷入了局部最優(yōu)。Rosenbrock函數(shù)的收斂曲線如圖1(b)所示,螢火蟲算法和遺傳算法相繼陷入不同的局部最優(yōu)區(qū)域,而改進(jìn)螢火蟲算法則能較好地平衡全局搜索能力和局部挖掘能力,找到相對(duì)較優(yōu)的收斂區(qū)間,但最終算法依然陷入了局部最優(yōu)。Rastrigin函數(shù)和Griewank函數(shù)的收斂曲線如圖1(c)和圖1(d)所示,改進(jìn)螢火蟲算法在迭代10次左右就能達(dá)到全局最優(yōu),遺傳算法和螢火蟲算法在規(guī)定的迭代次數(shù)內(nèi)仍未搜索到全局最小值,陷入了局部最優(yōu)狀態(tài)。以上對(duì)測(cè)試函數(shù)的仿真實(shí)驗(yàn)證明,改進(jìn)螢火蟲算法具有較好的平衡算法開發(fā)和探索能力,適合求解復(fù)雜函數(shù)優(yōu)化問(wèn)題。
(a) Sphere函數(shù)的收斂曲線
機(jī)壓滴灌系統(tǒng)由水源工程、首部樞紐、輸配水管網(wǎng)和田間灌水器構(gòu)成,其中輸配水管網(wǎng)可分為骨干管網(wǎng)和田間管網(wǎng)。管網(wǎng)設(shè)計(jì)可對(duì)田間管網(wǎng)和骨干管網(wǎng)分別設(shè)計(jì),在明確各項(xiàng)設(shè)計(jì)參數(shù)后,進(jìn)而對(duì)管網(wǎng)的布置、灌水方案、各級(jí)管道流量、各級(jí)管道直徑、系統(tǒng)水頭損失及水泵參數(shù)進(jìn)行確定。管網(wǎng)布置主要確定干管、支管和毛管的鋪設(shè)長(zhǎng)度。實(shí)際工程和普遍采用輪灌方式灌溉,輪灌分組應(yīng)滿足供水情況。在確定管道水頭損失時(shí),應(yīng)根據(jù)《微灌工程技術(shù)標(biāo)準(zhǔn)》中的勃拉休斯公式進(jìn)行計(jì)算:
(10)
式中:hfi為第i段管道的水頭損失,m;f為摩阻系數(shù);Qi為第i段管道流量,L·h-1;m為流量指數(shù);b為管徑指數(shù);Di為第i段管道直徑,mm;L為管道長(zhǎng)度,m。
在實(shí)際項(xiàng)目中,骨干管網(wǎng)設(shè)計(jì)對(duì)管網(wǎng)投資影響很大,設(shè)計(jì)者對(duì)管徑型號(hào)的確定普遍使用常規(guī)的經(jīng)濟(jì)流速法,利用該方法計(jì)算的管徑通常不能滿足標(biāo)準(zhǔn)管徑,需進(jìn)一步選取和計(jì)算管徑值相近的標(biāo)準(zhǔn)管徑,得到的結(jié)果,通常不是最優(yōu)設(shè)計(jì)方案,管網(wǎng)投資較高。因此,對(duì)骨干管網(wǎng)進(jìn)行優(yōu)化設(shè)計(jì),有利于降低管網(wǎng)建設(shè)成本和水泵運(yùn)行成本,下面通過(guò)建立一個(gè)優(yōu)化模型來(lái)描述骨干管網(wǎng)的優(yōu)化設(shè)計(jì)問(wèn)題。
骨干管網(wǎng)投資通常包括管網(wǎng)基建費(fèi)和水泵運(yùn)行費(fèi)[14]。當(dāng)管道中壓力和水量一定時(shí),管徑細(xì)則投資少,但管中流速大,水頭損失大,水泵年運(yùn)行費(fèi)增大;粗管徑情形則正好相反[15-16]。因此,為尋求最優(yōu)管徑組合與水泵揚(yáng)程的設(shè)計(jì)方案,使得骨干管網(wǎng)年費(fèi)用最低,建立以干管及分干管各管段管徑、水泵揚(yáng)程為決策的函數(shù)模型:
(11)
管徑約束:上級(jí)管徑應(yīng)不小于下級(jí)管徑,且各級(jí)管道上一段管徑不小于下一段管徑:
Di≥Di+1
(12)
流速約束:為防止水流在管道中產(chǎn)生較強(qiáng)的水錘作用,要求管內(nèi)流速應(yīng)滿足以下條件:
Vmin≤Vi≤Vmax
(13)
(14)
因此,可得:
(15)
工作壓力約束。在水泵的工作范圍內(nèi),應(yīng)保證在最不利灌溉制度下最不利工作點(diǎn)的灌水器能夠正常工作,即達(dá)到額定工作壓力,水頭應(yīng)滿足以下條件:
(16)
H≤αHd
(17)
式中:W0為滴灌系統(tǒng)年費(fèi)用,元/年;s為年利率,%;t為管網(wǎng)折舊年限,年;P為管網(wǎng)維修費(fèi)率,%;n為各級(jí)管網(wǎng)的管段總數(shù);a1、b1為管徑與單價(jià)擬合系數(shù);Di為第i個(gè)管段選用的標(biāo)準(zhǔn)管徑,mm;Li為第i個(gè)管段選用的標(biāo)準(zhǔn)管徑的長(zhǎng)度,m;E為電費(fèi),元/kW·h;T為系統(tǒng)年工作時(shí)數(shù),h;H為水泵揚(yáng)程,m;Q為灌溉系統(tǒng)首部輸出流量,m3·h-1;η為水泵工作效率,%;Vi(k)為第i段管道流速,m·s-1;Vmin為系統(tǒng)中允許通過(guò)的最小流速,m·s-1;Vmax為系統(tǒng)中允許通過(guò)的最大流速,m·s-1;hfi和hgi分別為第i段管道沿程水頭損失和局部水頭損失,m;Hw為灌水器工作水頭,m;ΔHs為灌溉首部與灌溉末端的地面高程差,m;Hd為管道承壓,m;α為安全系數(shù)。
測(cè)試函數(shù)的仿真實(shí)驗(yàn)證明,改進(jìn)螢火蟲算法較標(biāo)準(zhǔn)螢火蟲算法和遺傳算法在函數(shù)優(yōu)化問(wèn)題上具有明顯優(yōu)勢(shì),適合解決滴灌管網(wǎng)這樣的復(fù)雜優(yōu)化問(wèn)題。因此,應(yīng)用改進(jìn)的螢火蟲算法對(duì)建立的模型進(jìn)行求解,具體求解步驟為:
(1) 編碼
管徑組合從標(biāo)準(zhǔn)商用管材中選擇,供選擇的管徑型號(hào)是確定的離散值,本算法采取整數(shù)編碼方式,將一系列標(biāo)準(zhǔn)管徑映射為一組整數(shù)值,參數(shù)編碼如表2所示。水泵揚(yáng)程采取實(shí)數(shù)編碼,編碼值為真實(shí)值。
表2 管徑參數(shù)編碼表
(2) 適應(yīng)度函數(shù)
多約束問(wèn)題選擇引入罰函數(shù)的方法將約束問(wèn)題轉(zhuǎn)為非約束問(wèn)題。對(duì)骨干管網(wǎng)年費(fèi)用最低的適應(yīng)度函數(shù)為:
(18)
(19)
式中M1和M2為懲罰因子。
(3) 改進(jìn)螢火蟲算法的迭代尋優(yōu)
每只個(gè)體的位置代表一個(gè)可行的設(shè)計(jì)方案,個(gè)體的最大閃光亮度代表適應(yīng)度函數(shù)值,即管網(wǎng)年投資費(fèi)。根據(jù)改進(jìn)螢火蟲算法的優(yōu)化原理,計(jì)算目標(biāo)函數(shù)值,通過(guò)不斷更新個(gè)體位置和亮度,在給定管徑及價(jià)格等集合中多次迭代尋優(yōu)得到管網(wǎng)年費(fèi)用最小值。
項(xiàng)目區(qū)地處黑龍江省西部大慶市杜爾伯特自治縣,地理坐標(biāo)為北緯45°23′~45°59′,東經(jīng)123°47′~125°45′。灌溉區(qū)域地勢(shì)平坦,地塊形狀規(guī)則,底寬約108 m,長(zhǎng)約330 m,面積約55畝。土壤類型主要為中壤土,種植作物為枸杞。作物株距0.3 m,行距1.5 m。灌溉水源為井水,由泵站加壓抽水、過(guò)濾后經(jīng)管道輸送至田間。水井位于地塊東南側(cè),抽水試驗(yàn)結(jié)果表明,當(dāng)動(dòng)水位下降至地下20 m時(shí),出水量為30 m3·h-1。
根據(jù)項(xiàng)目區(qū)實(shí)際情況,確定滴灌系統(tǒng)各項(xiàng)設(shè)計(jì)參數(shù),如表3所示。
表3 研究區(qū)滴灌設(shè)計(jì)主要參數(shù)
圖 2 骨干管道布置圖
針對(duì)滴灌工程布置中樹狀管網(wǎng)的應(yīng)用廣泛性,工程選擇樹狀管網(wǎng)布置形式。管網(wǎng)由主干管、分干管、支管和毛管四級(jí)管道構(gòu)成,干管、分干管及支管均采用PE材質(zhì)承壓給水管,干管和分干管的管道承壓力為0.63 MPa。主干管及分干管埋設(shè)在地下,支管及毛管鋪設(shè)于地面。一條支管與其控制的毛管構(gòu)成一個(gè)灌水單元,由支管入口的電磁閥統(tǒng)一控制。每?jī)蓚€(gè)支管輪灌單元共用一個(gè)出水立管與地埋分干管相連。項(xiàng)目區(qū)骨干管道采用“豐”型布置,主干管從首部接出,垂直布置在地塊中央,分干管垂直干管,對(duì)稱分布在干管兩側(cè)。毛管沿作物種植方向布置,支管垂直于毛管布置。根據(jù)項(xiàng)目區(qū)作物種植情況,確定毛管采用內(nèi)嵌貼片式滴灌帶,直徑16 mm,沿支管兩側(cè)對(duì)稱等長(zhǎng)布置。具體布置形式如圖2所示。根據(jù)地形特點(diǎn),綜合項(xiàng)目區(qū)地塊寬度,考慮工程實(shí)際施工影響,通過(guò)計(jì)算毛管極限長(zhǎng)度并根據(jù)設(shè)計(jì)人員經(jīng)驗(yàn)確定毛管、支管長(zhǎng)度及對(duì)干管位置進(jìn)行定位,得出毛管單側(cè)長(zhǎng)度為L(zhǎng)m=55 m,支管長(zhǎng)度Lz=27 m。毛管和支管長(zhǎng)度初步確定后即可確定干管和分干管的長(zhǎng)度及定位。
采用支管輪灌的工作制度,輪灌組數(shù)為N≤Nmax=INT[CT/t]=6,取N=6??紤]項(xiàng)目前期對(duì)各個(gè)輪灌組中電磁閥的控制有農(nóng)戶到現(xiàn)場(chǎng)手動(dòng)控制的方式,因此,為了便于農(nóng)戶田間運(yùn)行管理,減少人力,應(yīng)當(dāng)對(duì)每種布置方案確定輪灌分組時(shí),將同一條分干管上相鄰的2條支管劃分為一個(gè)輪灌組。具體輪灌安排如表4所示,以此輪灌順序進(jìn)行優(yōu)化研究。
表4 系統(tǒng)輪灌制度表
管徑組合從滴灌工程中常用的國(guó)家標(biāo)準(zhǔn)規(guī)格的管材中進(jìn)行選擇,標(biāo)準(zhǔn)管道價(jià)格如表5所示。根據(jù)表5中數(shù)據(jù)采用最小二乘法進(jìn)行管道造價(jià)回歸擬合,得到相應(yīng)的管道造價(jià)擬合圖,如圖3所示。由管道造價(jià)擬合曲線,得到管道造價(jià)公式y(tǒng)=axb,即a1=0.283 8,b1=6.449 9。
表5 管道管徑及造價(jià)
圖3 管道單價(jià)系數(shù)擬合圖
根據(jù)優(yōu)化程序,將各部分?jǐn)?shù)據(jù)代入模型進(jìn)行優(yōu)化計(jì)算。螢火蟲種群規(guī)模N設(shè)置為20,迭代次數(shù)M設(shè)置為100,光吸收系數(shù)γ設(shè)置為1,初始步長(zhǎng)α設(shè)置為0.5,M2設(shè)置為30,M1設(shè)置為10。管網(wǎng)折舊年限t取10,年利率r取0.03,管網(wǎng)綜合維修費(fèi)率P取0.02,電費(fèi)E取0.6元,水泵工作效率η取0.76。優(yōu)化過(guò)程如圖4所示??梢钥闯觯瑧?yīng)用改進(jìn)螢火蟲算法進(jìn)行管徑優(yōu)化時(shí),曲線隨著迭代的進(jìn)行逐漸下降,證明目標(biāo)函數(shù)即管網(wǎng)年費(fèi)用隨迭代過(guò)程逐漸降低,管網(wǎng)優(yōu)化模型運(yùn)行正常。曲線最終趨于平衡,證明改進(jìn)算法能夠有效地對(duì)管道直徑進(jìn)行篩選和優(yōu)化,得出滿足約束條件的最優(yōu)解,驗(yàn)證了改進(jìn)算法在求解管網(wǎng)優(yōu)化問(wèn)題的有效性,表明此方法是實(shí)現(xiàn)管網(wǎng)優(yōu)化模型快速求解的一種新途徑。
根據(jù)模型應(yīng)用結(jié)果,將使用改進(jìn)算法優(yōu)化后的設(shè)計(jì)方案與常規(guī)經(jīng)濟(jì)流速法得到的設(shè)計(jì)方案及系統(tǒng)投資進(jìn)行比較,計(jì)算對(duì)比結(jié)果如表6和表7所示。常規(guī)經(jīng)濟(jì)流速法設(shè)計(jì)的骨干管網(wǎng)年費(fèi)用為1 851元,管網(wǎng)基礎(chǔ)投資為11 273元,采用改進(jìn)螢火蟲算法設(shè)計(jì)出的骨干管網(wǎng)年費(fèi)用為1 042元,管網(wǎng)基礎(chǔ)投資為6 930元,骨干管網(wǎng)年費(fèi)用和管網(wǎng)總投資較常規(guī)經(jīng)濟(jì)流速法分別節(jié)約了43.71%和38.53%。管網(wǎng)投資降低明顯,證明了改進(jìn)的熒火蟲算法求解滴灌管網(wǎng)工程設(shè)計(jì)方案是可行有效的。
表6 骨干管網(wǎng)管徑優(yōu)化結(jié)果
表7 骨干管網(wǎng)投資對(duì)比表
針對(duì)螢火蟲算法容易陷入局部最優(yōu)和優(yōu)化精度不高的問(wèn)題,對(duì)螢火蟲算法進(jìn)行了改進(jìn),將立方映射和高斯變異引入標(biāo)準(zhǔn)螢火蟲算法中,提高了算法收斂速度和求解精度。建立了機(jī)壓滴灌系統(tǒng)骨干管網(wǎng)優(yōu)化設(shè)計(jì)的數(shù)學(xué)模型,采用改進(jìn)的螢火蟲算法進(jìn)行求解,得到年費(fèi)用最低的管徑最佳組合方案及水泵揚(yáng)程。工程實(shí)例表明,改進(jìn)螢火蟲算法的優(yōu)化設(shè)計(jì)方案與傳統(tǒng)經(jīng)濟(jì)流速法的設(shè)計(jì)方案相比,骨干管網(wǎng)年費(fèi)用及基礎(chǔ)投資分別降低了43.71%和38.53%,節(jié)省投資效果明顯。