吳 云,陸 曉,楊 侃,仲曉林,齊偉擎
(1.山西水利職業(yè)技術(shù)學(xué)院,山西 太原 044004;2.河海大學(xué)水文水資源學(xué)院,江蘇 南京 210098;3.揚(yáng)州市勘測(cè)設(shè)計(jì)研究院有限公司,江蘇 揚(yáng)州 225000)
水庫聯(lián)合供水優(yōu)化調(diào)度是一類多約束、非線性、多階段組合優(yōu)化問題,針對(duì)其求解過程中計(jì)算量大、“維數(shù)災(zāi)”等問題,啟發(fā)式智能算法憑借原理簡(jiǎn)單、易于實(shí)現(xiàn)與全局尋優(yōu)能力強(qiáng)等優(yōu)點(diǎn)在優(yōu)化調(diào)度中得到了廣泛應(yīng)用,如遺傳算法(GA)[1]、粒子群算法(PSO)[2]、差分進(jìn)化算法(DE)[3]和蟻群算法(ACO)[4]等。
布谷鳥搜索算法(Cuckoo Search,CS)是劍橋大學(xué)學(xué)者Yang Xinshe和DEB Suash于2009年提出的一種智能群優(yōu)化新型算法[5],其主要思想基于布谷鳥的寄生育雛行為和萊維飛行機(jī)制這兩個(gè)策略。由于CS算法參數(shù)少、操作簡(jiǎn)單和魯棒性強(qiáng),在各個(gè)領(lǐng)域都有了一定的應(yīng)用,但主要聚焦于圖像處理和醫(yī)學(xué)領(lǐng)域等,在水利方面的應(yīng)用較少。此外,近年來諸多學(xué)者對(duì)標(biāo)準(zhǔn)CS算法進(jìn)行了研究和改進(jìn),比如自適應(yīng)搜索改進(jìn)、更新策略改進(jìn)以及與其他算法混合等[6-8]。本文在深入分析CS算法原理的基礎(chǔ)上,針對(duì)標(biāo)準(zhǔn)CS算法容易陷入局部最優(yōu)解、收斂速度不理想等缺陷,嘗試采用混沌初始化以及引入變異算子對(duì)其進(jìn)行改進(jìn),提出混沌變異布谷鳥算法,并將其應(yīng)用于山西省長治盆地供水區(qū)的優(yōu)化調(diào)度中。
水庫聯(lián)合供水優(yōu)化調(diào)度的主要目的是為了實(shí)現(xiàn)區(qū)域水資源的高效利用,本文選取缺水量最小為優(yōu)化目標(biāo)。模型目標(biāo)函數(shù)及約束條件如下。
(1)目標(biāo)函數(shù)
(1)
(2)約束條件如下
水量平衡約束Vit=Vi,t-1+Ii,t+qit-Sit-Rit
(2)
水庫庫容約束Vit,min≤Vit≤Vit,max
(3)
可供水量約束Sit,min≤Sit≤Sit,max
(4)
(5)
(6)
變量非負(fù)約束 所有變量均為非負(fù)量
式中,Vi,t-1,Vi,t為第i水庫t時(shí)段初、末的庫容;qit為第i水庫第t時(shí)段的來水量;Iit為i-1水庫向i庫t時(shí)段的調(diào)水量;Rit為i水庫第t時(shí)段的損失水量;Vit,min,Vit,max為i水庫t時(shí)段允許的最小、最大庫容;Sit,min,Sit,max為i水庫t時(shí)段最小、最大供水量;Sit為i水庫t時(shí)段的下泄流量;DEmin為最小生態(tài)需水量[9]。
布谷鳥算法是根據(jù)布谷鳥寄生育雛的習(xí)性[9],模擬其尋窩過程的一種算法。標(biāo)準(zhǔn)的布谷鳥算法(Cuckoo Search)中利用萊維飛行(Lévy Flight)更新鳥巢位置并生成發(fā)現(xiàn)概率Pa隨機(jī)淘汰鳥巢。
標(biāo)準(zhǔn)CS算法中,布谷鳥每次尋窩過程的萊維飛行隨機(jī)搜索路徑長短和方向都是高度隨機(jī)改變的[10],很容易從一個(gè)區(qū)域躍入另一個(gè)區(qū)域,這有利于算法在優(yōu)化前期進(jìn)行全局搜索,使得算法全局尋優(yōu)能力很強(qiáng),但算法后期隨機(jī)性太強(qiáng),不利于局部精細(xì)搜索,造成收斂速度和收斂精度降低[11]。為了平衡算法的全局搜索和局部搜索能力以提高算法的收斂性能,本文提出了混沌變異布谷鳥算法。
標(biāo)準(zhǔn)CS采用隨機(jī)方式對(duì)鳥巢位置進(jìn)行初始化,這種方式有可能造成鳥巢分布位置的不均勻?;煦缡且环N典型的非線性現(xiàn)象,能在一定范圍內(nèi)按其自身的“規(guī)律”不重復(fù)地遍歷所有狀態(tài),具有隨機(jī)性、遍歷性、規(guī)律性,對(duì)初始條件的敏感性等優(yōu)點(diǎn)[12]。因此,利用混沌原理進(jìn)行種群的初始化,使初始的種群具有多樣性的特點(diǎn),為進(jìn)一步有效進(jìn)行全局搜索建立基礎(chǔ)。
Logistic映射是一種典型的混沌系統(tǒng),其表達(dá)式為
(7)
式中,μ為控制變量,當(dāng)μ=4時(shí),Logistic映射完全處于混沌狀態(tài),本文首先利用混沌迭代生成布谷鳥的初始鳥窩位置,然后再進(jìn)行優(yōu)化搜索,步驟如下:
(3)將產(chǎn)生的N個(gè)混沌變量按下式映射到解的搜索空間
(8)
式中,Ud和Ld分別為搜索空間第d維的上下限;yid為利用式(8)產(chǎn)生的第i個(gè)鳥巢在搜索空間第d維;xid即為第i個(gè)鳥巢在搜索空間第d維的坐標(biāo)[13]。
為了提高布谷鳥算法的搜索效率并加速收斂,本文采用了微分進(jìn)化算法中的變異算子,避免算法在后期陷入局部最優(yōu)。當(dāng)將某個(gè)解通過局部搜索,選擇為當(dāng)前最優(yōu)解時(shí),根據(jù)隨機(jī)產(chǎn)生的數(shù)字γ來選擇下一步更新的策略。若γ>Pa,則隨機(jī)更新一次鳥巢位置;反之,則利用變異算子進(jìn)行更新,即
圖1 研究區(qū)概化
(9)
式中,κ為變異權(quán)重因子,κ∈[0,2],本文取κ=0.5;r1、r2、r3為服從均勻分布的隨機(jī)整數(shù),且r1≠r2≠r3≠i,r1,r2,r3∈{1,2,…,N}。
表1 水庫特征參數(shù)
表2 豐水年水庫供水策略 萬m3
長治盆地供水區(qū)屬于“山西大水網(wǎng)”建設(shè)的第五橫,位于山西省東南部,隨著區(qū)域經(jīng)濟(jì)的發(fā)展,解決水資源緊缺問題、實(shí)現(xiàn)水資源高效利用迫在眉睫。長治盆地供水區(qū)內(nèi)實(shí)際參與優(yōu)化調(diào)度的供水單元為流域內(nèi)可供調(diào)節(jié)的關(guān)河水庫和吳家莊水庫,這兩個(gè)水庫均為多年調(diào)節(jié)水庫,涉及了長治市的10個(gè)縣區(qū),經(jīng)簡(jiǎn)化合并后可分為三大供水片區(qū),研究區(qū)水資源概化見圖1。關(guān)河水庫和吳家莊水庫的主要特征參數(shù)見表1。
根據(jù)長治盆地供水區(qū)的2020年不同來水頻率20%、50%、75%的需水,當(dāng)?shù)厮Y源,水庫預(yù)測(cè)來水過程,對(duì)可行供水策略進(jìn)行編碼,應(yīng)用CMCS算法對(duì)該問題進(jìn)行優(yōu)化,得到相應(yīng)的調(diào)度后水庫水位過程線如圖2所示,關(guān)河水庫和吳家莊水庫在豐、平、枯水年的供水策略見下表2、3、4。
圖2 水庫調(diào)度水位過程線
從圖2可以看出,關(guān)河水庫和吳家莊水庫的水位豐水年高于平水年,枯水年最低。供水區(qū)7月、8月為汛期,需控制水位在防洪限制水位附近??菟谒畮靵硭疁p少,水庫水位較低。
表3 平水年水庫供水策略 萬m3
表4 枯水年水庫供水策略 萬m3
為了驗(yàn)證該算法的合理性與有效性,采用標(biāo)準(zhǔn)布谷鳥算法(CS)與CMCS算法在同等條件下選取實(shí)例枯水期進(jìn)行對(duì)比研究。缺水量隨迭代次數(shù)的變化見圖3。由圖3可知,將布谷鳥算法應(yīng)用于水庫供水優(yōu)化調(diào)度是可行的,同時(shí)與CS相比,CMCS算法運(yùn)行得出的總?cè)彼坑兴鶞p少。
圖3 缺水量隨迭代次數(shù)的變化
作為一種新型啟發(fā)式智能算法,布谷鳥算法所用參數(shù)少、搜索路徑優(yōu)、通用性好、魯棒性強(qiáng),對(duì)于解決大規(guī)模復(fù)雜優(yōu)化問題有著顯著的優(yōu)勢(shì)。針對(duì)標(biāo)準(zhǔn)布谷鳥算法存在后期收斂速度慢、容易陷入局部最小值等缺陷,本文采用混沌初始化及引入變異算子進(jìn)行改進(jìn)得到混沌變異布谷鳥算法。在“山西大水網(wǎng)”的背景下,以長治盆地供水區(qū)為研究區(qū)域,運(yùn)用改進(jìn)后的布谷鳥算法計(jì)算得到其2020年豐、平、枯三種情景下的供水調(diào)度結(jié)果,充分驗(yàn)證了混沌變異布谷鳥算法在水庫聯(lián)合供水優(yōu)化調(diào)度中的可行性和有效性;與標(biāo)準(zhǔn)CS算法相比,本文所提出的改進(jìn)策略可進(jìn)一步提高算法的搜索性能,可平衡其全局尋優(yōu)和局部尋優(yōu)能力。
本文對(duì)布谷鳥算法進(jìn)行了初步的改進(jìn),并取得了較好的結(jié)果,但在自適應(yīng)搜索以及將其與其他算法結(jié)合方面有待進(jìn)一步研究。