萬(wàn) 芳,應(yīng)乃武,黃莎莎,柴啟輝
(1.華北水利水電大學(xué),河南 鄭州 450001;2.河南省水利勘測(cè)設(shè)計(jì)研究有限公司,河南 鄭州 450046;3.河南豫信招標(biāo)有限責(zé)任公司,河南 鄭州 450046)
南灣水庫(kù)電站是一座以防洪為主,結(jié)合灌溉、發(fā)電、養(yǎng)殖、城市供水及旅游等綜合利用的大型水利樞紐工程,為當(dāng)?shù)厮畮?kù)及周邊發(fā)展做出了重要貢獻(xiàn)。但該電站由于長(zhǎng)時(shí)間運(yùn)行導(dǎo)致設(shè)備老化嚴(yán)重,綜合能效偏低,給電站安全生產(chǎn)構(gòu)成嚴(yán)重威脅。為了提高南灣水庫(kù)電站的水能利用效率,電站需要進(jìn)行增效擴(kuò)容改造,確定合理的裝機(jī)容量。在全國(guó)農(nóng)村小水電改造的工作報(bào)告中已經(jīng)明確指出,面對(duì)多年運(yùn)行存在問(wèn)題的小水電工程,要加強(qiáng)對(duì)其進(jìn)行有效改造[1-2]。因此,本文應(yīng)用布谷鳥(niǎo)算法對(duì)南灣電站進(jìn)行增效擴(kuò)容的水能復(fù)核計(jì)算,并與傳統(tǒng)的動(dòng)態(tài)規(guī)劃進(jìn)行分析比較,最終得到擴(kuò)機(jī)增容最優(yōu)方案。
目前國(guó)內(nèi)外的專(zhuān)家學(xué)者借以生物種群進(jìn)化對(duì)復(fù)雜解空間進(jìn)行多點(diǎn)交互式的智能算法應(yīng)用在水庫(kù)發(fā)電調(diào)度的問(wèn)題上[3-5],本文應(yīng)用布谷鳥(niǎo)搜索算法(Cuckoo Search Algorithm,CS)[6-7]對(duì)其求解,該算法基于對(duì)布谷鳥(niǎo)尋窩產(chǎn)卵行為進(jìn)行模擬,參數(shù)少、魯棒性強(qiáng)、能夠簡(jiǎn)單、高效實(shí)現(xiàn)工程優(yōu)化問(wèn)題,目前在水庫(kù)優(yōu)化調(diào)度中應(yīng)用較少[7],作為一種新穎的算法,存在解的不確定性和參數(shù)多并難以確定等問(wèn)題[8],結(jié)合水庫(kù)優(yōu)化調(diào)度的特點(diǎn),本文應(yīng)用新領(lǐng)域序列算法進(jìn)行尋優(yōu),采用插入和交換兩種操作算子[9-10]提高算法的穩(wěn)定性和計(jì)算精度,提出改進(jìn)的布谷鳥(niǎo)算法(Improved Cuckoo Search,ICS)。
南灣水庫(kù)電站水能資源豐富,在對(duì)其增效擴(kuò)容改造時(shí),首先要對(duì)水資源進(jìn)行水能復(fù)核計(jì)算[11-12],以發(fā)電量最大為目標(biāo)函數(shù)建立模型,利用優(yōu)化算法對(duì)模型求解,計(jì)算和分析得出裝機(jī)容量與發(fā)電量之間的關(guān)系,最終確定增效擴(kuò)容改造方案。
調(diào)度期內(nèi)水庫(kù)電站發(fā)電量為
(1)
式中,E為調(diào)度期內(nèi)水庫(kù)電站發(fā)電量;t、T分別為調(diào)度時(shí)期內(nèi)時(shí)段的編號(hào)及總時(shí)段數(shù);k為i水庫(kù)的水電站綜合出力系數(shù);Q(t)、H(t)分別為水庫(kù)在第t時(shí)段的平均發(fā)電流量和發(fā)電凈水頭;Δt為時(shí)間步長(zhǎng)。
(1)水量平衡約束
V(t+1)=V(t)+Q(t)×Δt
(2)
式中,V(t)、V(t+1)為水庫(kù)在第t時(shí)段初、末庫(kù)容。
(2)蓄水位約束
Zmin(t)≤Z(t)≤Zmax(t)
(3)
式中,Z(t)為水庫(kù)在第t時(shí)段的平均水位;Zmax(t)、Zmin(t)為水庫(kù)第t時(shí)段允許蓄水位的上、下限值。
(3)下泄流量約束
Qmin(t)≤Q(t)≤Qmax(t)
(4)
式中,Q(t)為水庫(kù)在第t時(shí)段的下泄流量;Qmax(t)、Qmin(t)分別為水庫(kù)第t時(shí)段下泄流量的上、下限。
(4)電站出力約束
Nmin(t)≤N(t)≤Nmax(t)
(5)
式中,N(t)為水庫(kù)電站在第t時(shí)段的出力;Nmin(t)為電站在第t時(shí)段出力的最小值,一般為單機(jī)容量的1/3;Nmax(t)為電站的裝機(jī)容量。
(5)變量非負(fù)約束。
布谷鳥(niǎo)算法是由學(xué)者Yang和Deb在2009年提出來(lái)的一種智能仿生算法[10]。該算法因具有參數(shù)少、易于實(shí)現(xiàn)、魯棒性強(qiáng)等優(yōu)點(diǎn),并成功地解決了函數(shù)優(yōu)化及工程優(yōu)化等實(shí)際問(wèn)題[13],引起了國(guó)內(nèi)外眾多學(xué)者的廣泛關(guān)注。
CS算法通過(guò)模擬屬布谷鳥(niǎo)類(lèi)的寄生育雛行為對(duì)目標(biāo)空間進(jìn)行隨機(jī)搜索。該算法主要基于以下三項(xiàng)假定:①每只布谷鳥(niǎo)一次只產(chǎn)一枚卵,并隨機(jī)選擇鳥(niǎo)巢;②存放于最佳鳥(niǎo)巢的卵可孵化并生成新的一代;③被選擇用來(lái)產(chǎn)卵的鳥(niǎo)巢數(shù)目是有限的,并被鳥(niǎo)巢主人以概率Pa∈[0,1]發(fā)現(xiàn)后,布谷鳥(niǎo)卵被扔出鳥(niǎo)巢或鳥(niǎo)巢主人放棄該鳥(niǎo)巢并在另一地方重建新巢。該算法的基本流程為:
(1)在解空間內(nèi)隨機(jī)生成L個(gè)鳥(niǎo)巢位置(即對(duì)應(yīng)L個(gè)解),根據(jù)設(shè)定的適應(yīng)度函數(shù)計(jì)算每個(gè)鳥(niǎo)巢的適應(yīng)度值,并保留最佳位置,其余進(jìn)行迭代。
x(k+1)=x(k)+a×k-λ,(1<λ≤3)
(6)
式中,a>0,為步長(zhǎng)控制量,其大小主要由所解決問(wèn)題的規(guī)模確定;k-λ為服從Lévy規(guī)律的隨機(jī)分布函數(shù)。
(3)設(shè)鳥(niǎo)巢主人發(fā)現(xiàn)布谷鳥(niǎo)卵的概率為Pa,隨機(jī)生成服從均勻分布的正數(shù)r∈[0,1],若r>Pa,則布谷鳥(niǎo)卵被扔出鳥(niǎo)巢或放棄該鳥(niǎo)巢重新生成新的鳥(niǎo)巢,否則保持不變。
(4)判斷是否達(dá)到設(shè)定迭代次數(shù),否則返回步驟(2)繼續(xù)迭代更新,直到滿(mǎn)足迭代條件。
布谷鳥(niǎo)算法的迭代是利用Lévy flight的隨機(jī)行走特征生成新的鳥(niǎo)巢,在迭代公式中,方程式右邊第一項(xiàng)表示隨機(jī)游走僅僅是與現(xiàn)狀位置有關(guān)的Markov chain;第二項(xiàng)表示轉(zhuǎn)移的概率。為了避免陷入局部最優(yōu)解和進(jìn)行全局尋優(yōu),在生成新的鳥(niǎo)巢時(shí),在生成的新的位置中應(yīng)保證大部分為隨機(jī)生成并距離現(xiàn)有最佳位置足夠遠(yuǎn),為此進(jìn)行以下兩方面的改進(jìn)。
根據(jù)梯級(jí)水庫(kù)發(fā)電優(yōu)化調(diào)度模型求解的特點(diǎn),提出了改進(jìn)布谷鳥(niǎo)算法實(shí)數(shù)編碼策略:假設(shè)水庫(kù)編號(hào)為m在時(shí)段t的上限水位和下限水位分別為Zmax(m,t)和Zmin(m,t),在上、下限水位之間離散份數(shù)記為I,其步長(zhǎng)記為STEP(m,t),則有
(7)
把水庫(kù)編號(hào)為m在時(shí)段t的水位應(yīng)用編碼形式來(lái)表示,則其編碼為[0,I]的非負(fù)整數(shù),若已知其編碼為I(m,t)∈[0,I],則轉(zhuǎn)換為水位的公式為
Z(m,t)=Zmin(m,t)+I(m,t)×STEP(m,t)
(8)
根據(jù)上述水庫(kù)水位實(shí)數(shù)編碼規(guī)則,假定各水庫(kù)在各時(shí)段的離散份數(shù)均為I,以水庫(kù)上游水位為決策變量,則對(duì)于水庫(kù)數(shù)目為M,調(diào)度期內(nèi)時(shí)段總數(shù)目為T(mén)的梯級(jí)水庫(kù)發(fā)電優(yōu)化調(diào)度模型,其解可用M×T維的向量表示為{x(1,1),x(1,2),…,x(1,T),x(2,1),x(2,2),…x(M,T)},其中向量中x(m,t)為一非負(fù)整數(shù)。
針對(duì)布谷鳥(niǎo)算法應(yīng)用Lévy flight的隨機(jī)行走生成新一代所出現(xiàn)的搜索精度低、易陷入局部最優(yōu)解、解的不穩(wěn)定性等問(wèn)題,參考文獻(xiàn)[14]在不增加算法參數(shù)的基礎(chǔ)上,提出應(yīng)用新鄰域序列算法進(jìn)行全局搜索、變鄰域深度搜索算法進(jìn)行局部搜索替代Lévy flight的搜索機(jī)制,從而提高算法的穩(wěn)定性和計(jì)算精度。
新鄰域序列算法(New Neighbor Sequence Algorithm,簡(jiǎn)稱(chēng)NNSA)[15]主要計(jì)算流程為:
(1)在[0,1]內(nèi)隨機(jī)生成Pg,并假設(shè)CS算法的總迭代次數(shù)記為K,當(dāng)前迭代次數(shù)為k。
(2)若Pg≥k/K,隨機(jī)生成一解向量記為Best。
(3)若Pg (4)比較Best和New,若New的適應(yīng)度函數(shù)值優(yōu)于Best,則用New替換Best,否則在當(dāng)前最優(yōu)解的基礎(chǔ)上應(yīng)用交換算子生成新的解向量,并記為New。 (5)比較Best和New,若New的適應(yīng)度函數(shù)值優(yōu)于Best,則用New替換Best。 (6)記錄解向量Best。 從上述計(jì)算流程可以看出,當(dāng)?shù)螖?shù)較小時(shí),即k/K較小,將會(huì)生成較多的隨機(jī)解向量,這就在解空間范圍內(nèi)加大了搜索范圍,提高了全局尋優(yōu)能力;隨著迭代次數(shù)的增加,在當(dāng)前解向量附近鄰域生成新解向量的可能性增加,提高了局部的開(kāi)發(fā)程度。對(duì)于隨機(jī)生成的非負(fù)數(shù)Pg,決定了新的鄰域序列是隨機(jī)生成還是在當(dāng)前解領(lǐng)域附近生成。 在局部搜索中,本文提出應(yīng)用變鄰域深度搜索算法(Variable Neighborhood Descent,以下簡(jiǎn)稱(chēng)“VND”),該算法屬于變鄰域搜索算法(Variable Neighborhood Search,以下簡(jiǎn)稱(chēng)“VNS”)的擴(kuò)展。該算法的主要計(jì)算流程為: (1)假設(shè)當(dāng)前最優(yōu)解為Best,所解決問(wèn)題的規(guī)模記為n=M×T,G=1。 (2)在當(dāng)前最優(yōu)解的基礎(chǔ)上應(yīng)用插入算子生成一個(gè)新解并記為NewBest。 (3)若NewBest的適應(yīng)度函數(shù)值優(yōu)于Best,則用NewBest替換Best,并記G=0,否則在當(dāng)前最優(yōu)解的基礎(chǔ)上應(yīng)用交換算子生成一個(gè)新解并記為NewBest。 (4)若NewBest的適應(yīng)度函數(shù)值優(yōu)于Best,則用NewBest替換Best,并記G=0。 (5)G=G+1,并判斷G是否達(dá)到n×(n-1),若達(dá)到,則記錄最優(yōu)解Best,否則重復(fù)(2)。 基于上述對(duì)布谷鳥(niǎo)算法的改進(jìn),其算法稱(chēng)為基于新鄰域序列算法進(jìn)行全局搜索、變鄰域深度搜索算法進(jìn)行局部搜索的混合布谷鳥(niǎo)算法,簡(jiǎn)稱(chēng)為NV-CS算法,其計(jì)算流程框架如圖1所示。 圖1 改進(jìn)布谷鳥(niǎo)算法框架 南灣水庫(kù)電站是我國(guó)最早建成的大型治淮工程之一,為多年調(diào)節(jié)水庫(kù)。水庫(kù)工程開(kāi)工于1952年,建成于1955年,1955年11月建成并投入使用。水庫(kù)電站位于南灣水庫(kù)大壩東端下游坡角處,屬壩后式電站。電站始建于1958年4月,共裝機(jī)4臺(tái),機(jī)組單機(jī)容量1 360 kW,總裝機(jī)容量5 440 kW,設(shè)計(jì)水頭為20 m,機(jī)組最高模型效率84.3%,1958年12月2號(hào)機(jī)組發(fā)電,1959年其余3臺(tái)機(jī)組投產(chǎn)發(fā)電。電站運(yùn)行至今,為水庫(kù)及周邊發(fā)展做出了重要貢獻(xiàn)。 水庫(kù)電站樞紐主要包括引水發(fā)電支洞、調(diào)壓塔、壓力管道、泄水洞、發(fā)電廠(chǎng)房、尾水渠和變電站等部分組成。南灣水庫(kù)電站建成投產(chǎn)以來(lái),電站設(shè)備老化嚴(yán)重、技術(shù)落后,發(fā)電效率低,為提高水庫(kù)電站的水資源及水能利用率,需要對(duì)電站進(jìn)行改造[16]。南灣水庫(kù)下游用水主要有農(nóng)業(yè)用水、工業(yè)用水、城市供水、河流生態(tài)用水等。工業(yè)用水、城市供水兩者年用水量約為5 000萬(wàn)m3;電站發(fā)電結(jié)合農(nóng)業(yè)灌溉用水,其尾水匯入灌溉渠首,同時(shí)在渠首處有天然徑流匯入。工程特性為:死庫(kù)容、興利庫(kù)容、總庫(kù)容分別為0.42億、6.31億、13.55億m3;死水位、興利水位、汛限水位分別為88、103、102.6 m;設(shè)計(jì)洪水位、校核洪水位分別為108.89、110.56 m。 應(yīng)用本文提出的改進(jìn)布谷鳥(niǎo)算法對(duì)水庫(kù)電站進(jìn)行水能復(fù)核計(jì)算,得到圖2所示的關(guān)系曲線(xiàn),從最初裝機(jī)容量5 440 kW增加到10 440 kW過(guò)程中,隨著裝機(jī)容量的增加,其多年平均發(fā)電量逐漸增長(zhǎng),但達(dá)到某一拐點(diǎn)后,上升趨勢(shì)變平穩(wěn)。 圖2 不同裝機(jī)容量與多年平均發(fā)電量關(guān)系曲線(xiàn) 從圖2可以看出,當(dāng)裝機(jī)容量為8 240 kW時(shí),裝機(jī)容量與多年平均年發(fā)電量關(guān)系曲線(xiàn)出現(xiàn)了拐點(diǎn),裝機(jī)容量超過(guò)8 240 kW時(shí),這種增長(zhǎng)的速度已經(jīng)有了較為明顯的下降。當(dāng)裝機(jī)容量增加到9 000 kW時(shí),多年平均年發(fā)電量趨于水平的位置。 綜合考慮經(jīng)濟(jì)投入、水資源利用率等因素,南灣水庫(kù)增效擴(kuò)容改造大致可以擬定3種方案,如表2所示。 表2 南灣水庫(kù)電站不同裝機(jī)擬定方案 本文考慮多年平均發(fā)電量、多年平均棄水量、工程投資、水資源利用率等因素,采用模糊綜合評(píng)價(jià)[17]對(duì)方案進(jìn)行綜合評(píng)價(jià)。計(jì)算結(jié)果表明,當(dāng)裝機(jī)容量為7 840 kW時(shí),按照經(jīng)濟(jì)效益最大的目標(biāo),雖然其多年平均年發(fā)電量不是最大的,但水資源利用率最高,故綜合比較,方案三綜合評(píng)價(jià)結(jié)果最優(yōu),建議按照裝機(jī)容量為7 840 kW對(duì)南灣水庫(kù)電站進(jìn)行增容擴(kuò)效的改造。 為了驗(yàn)證布谷鳥(niǎo)算法的合理性,將最優(yōu)方案應(yīng)用傳統(tǒng)的動(dòng)態(tài)規(guī)劃進(jìn)行計(jì)算,其計(jì)算結(jié)果見(jiàn)表3所示。 表3 不同計(jì)算方法的結(jié)果 由表3可以看出,在同樣的裝機(jī)容量情況下,2種算法的多年平均年發(fā)電量相差不大,說(shuō)明布谷鳥(niǎo)算法合理,為水庫(kù)優(yōu)化調(diào)度提供一條新思路;同時(shí),從計(jì)算時(shí)長(zhǎng)來(lái)看,當(dāng)水庫(kù)數(shù)量增加時(shí),布谷鳥(niǎo)算法在求解高維度復(fù)雜水庫(kù)群調(diào)度中,具有一定的潛力,今后值得進(jìn)行深入研究。 南灣水庫(kù)電站長(zhǎng)時(shí)間運(yùn)行以來(lái),設(shè)備老化問(wèn)題相當(dāng)突出,發(fā)電效率低下,水能利用率同樣很低。為了提高水能資源的利用率,擬對(duì)南灣電站進(jìn)行增效擴(kuò)容改造。本文應(yīng)用改進(jìn)的布谷鳥(niǎo)算法對(duì)水庫(kù)優(yōu)化調(diào)度進(jìn)行計(jì)算,并與傳統(tǒng)的動(dòng)態(tài)規(guī)劃方法進(jìn)行比較,結(jié)果表明,布谷鳥(niǎo)算法結(jié)論合理可靠,計(jì)算效率高,為水庫(kù)優(yōu)化調(diào)度的計(jì)算提供了一條新思路。通過(guò)綜合評(píng)價(jià),建議南灣水庫(kù)電站的裝機(jī)容量由原來(lái)的5 440 kW增加到7 840 kW。4 實(shí)例應(yīng)用
4.1 南灣水庫(kù)概況
4.2 增效擴(kuò)容計(jì)算及結(jié)果分析
5 結(jié) 論