蔡家林,查海濤,單定軍,莫 莉,高新穩(wěn)
(1. 江西省電力公司柘林水電廠,江西 九江 332000;2. 華中科技大學(xué)水電與數(shù)字化工程學(xué)院,武漢 430074)
水電站機(jī)組組合問題是電力系統(tǒng)安全經(jīng)濟(jì)運(yùn)行的重要組成部分,其目的是在滿足各種約束條件下確定調(diào)度期(通常為24 h)內(nèi)各時段的開機(jī)臺數(shù)、臺號,并進(jìn)行開機(jī)機(jī)組間的最優(yōu)負(fù)荷分配,從而使得電站的耗水量最小,獲得最大的經(jīng)濟(jì)效益[1]。
目前,水電站機(jī)組組合問題的求解方法分為2類:一類是傳統(tǒng)的解析法,包括動態(tài)規(guī)劃法[2]、混合整數(shù)規(guī)劃法[3]等;另一類是基于群體智能理論的智能算法,如遺傳算法[4]、粒子群算法[5,6]等。動態(tài)規(guī)劃法由于“維數(shù)災(zāi)”問題限制了其發(fā)展,混合整數(shù)規(guī)劃法比較復(fù)雜,且計算量大,難以推廣應(yīng)用。新興的智能算法計算速度快,優(yōu)化效果好,且可采用二進(jìn)制編碼,適用于求解機(jī)組組合問題中的開啟停機(jī)優(yōu)化,在工程實踐中得到了廣泛的應(yīng)用[4-7]。
和聲搜索算法(HS)是Geem等[8]通過類比音樂和最優(yōu)化問題的相似性而提出的一種現(xiàn)代啟發(fā)式智能算法。由于該算法原理簡單,可調(diào)參數(shù)少,且能夠進(jìn)行群體搜索和協(xié)同搜索,已在多維多極值函數(shù)優(yōu)化、管道優(yōu)化、土坡穩(wěn)定性分析等問題中得到了廣泛的應(yīng)用[9]。針對HS收斂速度較慢,易陷入局部最優(yōu)的缺點(diǎn),本文提出了一種改進(jìn)的二進(jìn)制和聲搜索算法(IBHS)應(yīng)用于水電廠機(jī)組組合問題。采用計算精度較高的動態(tài)規(guī)劃法進(jìn)行機(jī)組間負(fù)荷分配,并且根據(jù)電廠的實際情況對開停機(jī)狀況進(jìn)行處理,使其更符合實際運(yùn)行要求。實際計算結(jié)果表明:該算法收斂速度快,求解效果好,具有較強(qiáng)的工程實用性。
水電廠在給定周期內(nèi)機(jī)組不同時段優(yōu)化組合后耗水量最小的數(shù)學(xué)模型可以描述如下:
uti(1-ut-1i)Won,i+ut-1i(1-uti)Woff,i]
(1)
式中:W為電站總耗水量;Qti(Hti,Pti)為時段t第i臺機(jī)組在工作水頭為Hti、出力Pti時的發(fā)電流量;Δt表示時段長度;uti表示機(jī)組i在時段t的狀態(tài),0表示關(guān)機(jī),1表示開機(jī);Won,i,Woff,i分別表示第i臺機(jī)組開機(jī)和停機(jī)過程的耗水量;N為水電站機(jī)組臺數(shù);T為調(diào)度期時段數(shù)。
(1)電站負(fù)荷平衡約束:
(2)
式中:PtD為電站t時段的總出力。
(2) 電站上游水位約束:
Zmin≤Z≤Zmax
(3)
式中:Z為電站的上游水位;Zmax和Zmin分別表示電站上游水位的上、下限。
(3)機(jī)組出力約束:
Pi,min≤Pti≤Pi,max
(4)
式中:Pi,max和Pi,min分別表示第i臺機(jī)組的出力上、下限。
(4) 機(jī)組發(fā)電流量約束:
Qi,min≤Qti≤Qi,max
(5)
式中:Qi,min和Qi,max分別表示第i臺機(jī)組的最小、最大發(fā)電流量。
(5) 電站運(yùn)行水頭約束:
Hmin≤H≤Hmax
(6)
式中:H是電站的運(yùn)行水頭;Hmin是電站最小穩(wěn)定運(yùn)行水頭;Hmax是電站最大穩(wěn)定運(yùn)行水頭。
(6) 旋轉(zhuǎn)備用容量約束:
(7)
式中:PtSR是電站在t時段的旋轉(zhuǎn)備用容量。
(7) 機(jī)組氣蝕振動區(qū)約束:
(8)
(8)機(jī)組最小開停機(jī)時間約束:
Tti,on≤Tti,up或Tti,off≤Tti,down
(9)
式中:Tti,up和Tti,down分別為第i臺機(jī)組的最小開、停機(jī)時間;Tti,on和Tti,off分別表示機(jī)組i在t時段末的開、停機(jī)持續(xù)時長。
和聲搜索算法(HS)通過模擬音樂演奏的原理來進(jìn)行最優(yōu)化問題的求解,其包含2個主要參數(shù),即和聲記憶庫考慮概率HMCR和基音調(diào)整概率PAR。對機(jī)組組合問題來說,和聲表示調(diào)度期內(nèi)所有機(jī)組的啟停狀態(tài),算法流程如下[9]。
Step1:生成HMS(即和聲庫大小)個初始和聲,并存入和聲記憶庫中。
Step2:產(chǎn)生一個新的和聲,對每一時段每臺機(jī)組的狀態(tài)分別以概率HMCR在和聲記憶庫內(nèi)進(jìn)行選擇, 以1-HMCR的概率在取值范圍內(nèi)隨機(jī)選擇;當(dāng)該機(jī)組狀態(tài)在記憶庫內(nèi)進(jìn)行選擇時,對其以概率PAR進(jìn)行擾動。
Step3:比較新和聲與記憶庫中最差和聲的耗水量,若新和聲的耗水量小,則用新和聲替換最差和聲。
Step4:重復(fù)Step2和Step3,直到滿足終止條件為止,輸出最優(yōu)和聲。
針對水電站機(jī)組組合問題的特點(diǎn),本文采用完全的二進(jìn)制編碼方式進(jìn)行算法設(shè)計,以0-1變量模擬機(jī)組啟、停狀態(tài)。為了克服基本和聲算法收斂速度慢、易陷入局部最優(yōu)的缺點(diǎn),從以下3個方面作了改進(jìn)。
(1)基本和聲算法的基音微調(diào)過程只適用于求解連續(xù)型優(yōu)化問題,為使HS應(yīng)用于機(jī)組組合優(yōu)化問題,必須對其作出調(diào)整。與傳統(tǒng)的取反或取整不同,本文根據(jù)全局最優(yōu)和聲進(jìn)行基音微調(diào),即如果新和聲的某一機(jī)組狀態(tài)來自于和聲記憶庫,并且需要擾動時,該狀態(tài)不再從其鄰域內(nèi)搜索,而是從最優(yōu)和聲中獲取[見式(10)]。這種方法利用全局最優(yōu)和聲指導(dǎo)算法進(jìn)一步搜索,能有效提高算法的性能[10]。
(10)
式中:x′i,t為新和聲的第i臺機(jī)組在t時段的狀態(tài);hbi,t為最優(yōu)和聲的第i臺機(jī)組在t時段的狀態(tài);rand()表示[0,1]區(qū)間內(nèi)均勻分布的隨機(jī)數(shù)。
(2)傳統(tǒng)的和聲更新策略經(jīng)過若干次迭代后,和聲記憶庫中的耗水量較大的機(jī)組組合沒有得到更新,而且只更新最差和聲也不利于種群的進(jìn)化,使得種群多樣性降低[11]。為了避免算法陷入局部最優(yōu),提高和聲記憶庫的多樣性,本文引入遺傳算法中隨機(jī)聯(lián)賽選擇的方法進(jìn)行和聲庫的更新:每次迭代時,產(chǎn)生NHMS(即新和聲庫大小)個新的和聲,對和聲庫中的HMS個和聲與NHMS個新和聲進(jìn)行排序,取耗水量最小的前HMS個和聲作為新的和聲庫。
(3)參數(shù)自適應(yīng)調(diào)整。和聲搜索算法的全局搜索能力和局部搜索能力分別由HMCR和PAR2個關(guān)鍵參數(shù)控制。HMCR小,隨機(jī)生成新和聲的概率變大,能提高和聲庫的多樣性,而較大的HMCR有利于加快算法的收斂速度;較小的PAR使得和聲庫中的可行解快速向最優(yōu)解聚集,而較大的PAR有利于跳出局部極值,提高算法的局部搜索能力[11]。因此,本文采用動態(tài)變化的HMCR與PAR,其中HMCR隨迭代次數(shù)的增大而逐漸減小,PAR隨迭代次數(shù)的增大而逐漸變大[見式(11)、式(12)]。這樣算法在迭代初期能夠快速收斂,而在迭代后期可避免陷入局部最優(yōu)。
(11)
(12)
式中:k為迭代次數(shù);K表示創(chuàng)作次數(shù)(或最大迭代次數(shù))。
和聲庫中的每個和聲可用TN的二維數(shù)組表示,對應(yīng)水電站所有N臺機(jī)組在T個時段內(nèi)的啟停狀態(tài),即:
(13)
式中:U表示和聲庫中的和聲;uti表示第i臺機(jī)組在第t個時段的運(yùn)行狀態(tài),uti=0表示停機(jī),uti=1表示開機(jī)。
(1)系統(tǒng)備用容量修復(fù)策略。對于隨機(jī)初始化和新產(chǎn)生的和聲,可能在某個時段不滿足系統(tǒng)備用容量約束。因此,本文采用一種基于機(jī)組啟停優(yōu)先順序的啟發(fā)式修復(fù)策略[5]:首先根據(jù)各機(jī)組的平均滿負(fù)荷耗流量值α由小到大排列建立機(jī)組啟、停優(yōu)先順序表,α越小,機(jī)組越優(yōu)先開機(jī);α越大,機(jī)組越優(yōu)先停機(jī)。從第1個時段開始,檢查各個時段是否違反系統(tǒng)備用容量約束,若是則按機(jī)組優(yōu)先順序從高到低依次將未開機(jī)的機(jī)組投入運(yùn)行,直到滿足約束為止。
(2)最短開停機(jī)時間修復(fù)策略。經(jīng)過系統(tǒng)備用容量修復(fù)后,機(jī)組的啟停狀態(tài)可能還不滿足最短開停機(jī)時間約束。為解決此問題,本文選擇一種開機(jī)修復(fù)策略,即只調(diào)整停機(jī)機(jī)組的狀態(tài),防止系統(tǒng)備用容量約束遭到破壞:計算所有機(jī)組的開停機(jī)持續(xù)時間,對每臺機(jī)組遍歷其所有時段,將不滿足最小開機(jī)時間的機(jī)組狀態(tài)設(shè)為1。
(3)去除多余機(jī)組策略。前2種修復(fù)策略完成之后,機(jī)組組合已經(jīng)滿足系統(tǒng)備用容量約束和最小開停機(jī)約束,但因為只是開機(jī)修復(fù),不可避免地會存在冗余機(jī)組的情況,導(dǎo)致某一時段的負(fù)荷分配結(jié)果不是最優(yōu)。為此,本文采取去除多余機(jī)組的修復(fù)策略:從第1個時段開始,按照機(jī)組優(yōu)先順序由低到高對開機(jī)機(jī)組進(jìn)行判斷,如果機(jī)組停機(jī)不違反系統(tǒng)備用容量約束和最短開停機(jī)時間約束,則可將此機(jī)組停機(jī);遍歷所有開機(jī)機(jī)組,將多余機(jī)組停運(yùn)。重復(fù)上述步驟,直到最后一個時段。
已知機(jī)組開停機(jī)狀態(tài),如何在給定時段內(nèi)合理地進(jìn)行固定機(jī)組間的最優(yōu)負(fù)荷分配,是廠內(nèi)經(jīng)濟(jì)運(yùn)行中的空間最優(yōu)化問題。本文采用“以電定水”的優(yōu)化準(zhǔn)則,通過動態(tài)規(guī)劃法計算出所有水頭H及出力N組合下的最優(yōu)負(fù)荷分配方案,制做水電廠空間最優(yōu)負(fù)荷分配表,并保存到數(shù)據(jù)庫中備用[13,14]。詳細(xì)步驟可參考文獻(xiàn)[1]。
將改進(jìn)二進(jìn)制和聲搜索算法(IBHS)應(yīng)用于水電廠機(jī)組組合問題,求解步驟如下。
Step 1:設(shè)置和聲搜索算法基本參數(shù)HMS、HMCR、PAR、NHMS、K;輸入機(jī)組特性參數(shù)、機(jī)組初始啟停狀態(tài)以及日負(fù)荷曲線。
Step 2:隨機(jī)初始化和聲庫HM,并根據(jù)3.2節(jié)的修復(fù)策略進(jìn)行修復(fù)。
Step 3:查詢最優(yōu)負(fù)荷分配表,求得每個和聲對應(yīng)的目標(biāo)函數(shù)值(總耗水量),并保存最優(yōu)和聲;設(shè)定當(dāng)前迭代次數(shù)k=1。
Step 4:按照規(guī)則,生成NHMS個新的和聲;對每個和聲進(jìn)行修復(fù),然后通過查詢最優(yōu)負(fù)荷分配表的方法求得所有時段下不同機(jī)組組合的負(fù)荷分配情況及總耗水量。
Step 5:將和聲庫中HMS個和聲與新產(chǎn)生NHMS個和聲合并,進(jìn)行隨機(jī)聯(lián)賽選擇,將耗水量小的前HMS個和聲存入和聲庫中,并更新最優(yōu)和聲。
Step 6:判斷當(dāng)前迭代次數(shù)是否超過最大迭代次數(shù)K,是則停止迭代,輸出最優(yōu)和聲;否則令k=k+1,轉(zhuǎn)至Step 4。
算法流程圖見圖1。
圖1 IBHS應(yīng)用于水電廠空間優(yōu)化運(yùn)行問題的流程Fig.1 The flow chart of IBHS applied to economic operation problem
為驗證本文所提改進(jìn)二進(jìn)制和聲算法(IBHS)的有效性,將其應(yīng)用到柘林水電廠的機(jī)組組合優(yōu)化問題中,并與改進(jìn)的二進(jìn)制粒子群算法[5](IBPSO)進(jìn)行對比分析。
柘林水電廠總裝機(jī)420 MW,其中A廠4×45 MW,B廠2×120 MW,年發(fā)電量6.9 億kWh,在電網(wǎng)中主要承擔(dān)調(diào)峰和事故備用。由于柘林水電廠自身的特點(diǎn),其機(jī)組組合優(yōu)化問題存在一定的特殊性,包括:①6臺機(jī)組在出力較小的情況下運(yùn)行時,穩(wěn)定性較差,特別是B廠的大機(jī)組,其80%出力以下范圍都處于氣蝕振動區(qū);②機(jī)組的啟停狀態(tài)變化需要考慮一些實際情況,由于A、B 2廠安裝高程的不同,B廠的大機(jī)組在開、停機(jī)時必須要有A廠一臺小機(jī)組運(yùn)行。
選擇柘林水電廠2015年某日24個時段實際發(fā)電過程為例進(jìn)行機(jī)組組合優(yōu)化計算,其出力過程見圖2。同時,設(shè)置A廠4臺小機(jī)組最小開停機(jī)持續(xù)時間為2 h,B廠2臺大機(jī)組最小開停機(jī)持續(xù)時間為4 h,電站上游初始水位為64.17 m。
算法參數(shù)設(shè)定:HMS=30 個,NHMS=20 個,HMCRmax=0.99,HMCRmin=0.7,PARmax=0.5,PARmin=0.05,K= 200。
在初始條件相同的情況下,分別采用IBHS和IBPSO 2種算法對機(jī)組組合優(yōu)化模型進(jìn)行計算,求得最優(yōu)解的各時段機(jī)組負(fù)荷分配結(jié)果、耗流量(見表1),IBHS的詳細(xì)出力過程見圖3。
圖2 某日的實際出力過程Fig.2 The actual output process of a day
另外,由于柘林水電廠機(jī)組臺數(shù)較少,每個時段只有26=64種機(jī)組組合情況,故本文又采用動態(tài)規(guī)劃法(DP)對上述結(jié)果進(jìn)行驗證。DP結(jié)果與IBHS的最優(yōu)解相同,這里不再列出。從理論上而言,動態(tài)規(guī)劃算法在計算機(jī)組空間負(fù)荷最優(yōu)分配表時,所設(shè)定的機(jī)組出力步長越小,則計算效果越好。
表1 IBHS和IBPSO求解機(jī)組組合的計算結(jié)果Tab.1 The results of unit commitment using IBHS and IBPSO
由表1可知,IBHS與IBPSO各個時段發(fā)電流量過程基本相同,表明采用 IBHS求解廠內(nèi)經(jīng)濟(jì)運(yùn)行問題是可行的。并且,各時段機(jī)組出力滿足負(fù)荷平衡約束和旋轉(zhuǎn)備用容量約束;各臺機(jī)組出力較大,未落入氣蝕振動區(qū);各機(jī)組時段之間滿足最小開停機(jī)時間約束,計算結(jié)果合理。
圖3 1號~6號機(jī)組的負(fù)荷分配結(jié)果Fig.3 Load dispatch results of units 1 to 6
表2給出了IBHS和IBPSO所求的最優(yōu)耗水量、平均計算時間與柘林水電廠當(dāng)日實際發(fā)電耗水量。由表2的數(shù)據(jù)可以看出,IBHS所得最優(yōu)耗水量為51.432×106m3,優(yōu)于IBPSO的結(jié)果;而柘林水電廠當(dāng)日實際耗水量為52.999×106m3,與之相比,IBHS耗水量下降1.521×106m3,約占當(dāng)日耗水量的2.87%,優(yōu)化效果明顯。在計算時間方面,由于所選取算法都是基于水電廠機(jī)組空間最優(yōu)負(fù)荷分配表進(jìn)行計算,因此,表2所顯示的計算時間僅為機(jī)組組合中的時間最優(yōu)化過程所需時間,水電廠機(jī)組空間最優(yōu)負(fù)荷分配表的計算時間并未計算在內(nèi)。IBHS 的平均計算時間為2.62 s,IBPSO的平均計算時間為4.32 s,耗時下降39%,在計算速度上更具優(yōu)勢。
表2 各方法計算結(jié)果比較Tab.2 Comparison of the calculated results
由以上分析可知,IBHS應(yīng)用于水電站機(jī)組組合優(yōu)化求解,有效改善了計算結(jié)果,降低了電站的發(fā)電耗水量,提高了水能利用率,可給水電站帶來巨大的經(jīng)濟(jì)效益。
本文提出了一種改進(jìn)的二進(jìn)制和聲搜索算法(IBHS),并結(jié)合動態(tài)規(guī)劃算法應(yīng)用于水電廠機(jī)組組合問題。采用二進(jìn)制編碼方式模擬機(jī)組啟停狀態(tài),改進(jìn)了更新和聲記憶庫的方法,并利用啟發(fā)式修復(fù)策略處理旋轉(zhuǎn)備用容量約束和最小開停機(jī)時間約束;由動態(tài)規(guī)劃法制作最優(yōu)負(fù)荷分配表,通過查表的方法進(jìn)行固定機(jī)組之間的負(fù)荷分配。實際計算結(jié)果表明,IBHS在優(yōu)化效果和計算速度方面相比于改進(jìn)二進(jìn)制粒子群算法(IBPSO)具有一定的優(yōu)勢,且最優(yōu)耗水量比實際耗水量降低2.87%,能有效提高水電廠的經(jīng)濟(jì)效益。
□
[1] 張勇傳.水電站經(jīng)濟(jì)運(yùn)行原理[M]. 2版.北京:中國水利水電出版社,1998.
[2] 李 丹,陳森林,張祖鵬. 水電站廠內(nèi)經(jīng)濟(jì)運(yùn)行模型研究[J]. 中國農(nóng)村水利水電,2009,(8):148-150.
[3] 依俊楠, 劉 攀, 徐小偉,等. 基于混合整數(shù)線性規(guī)劃模型的水電站日優(yōu)化調(diào)度研究[J]. 水電能源科學(xué), 2011,29(7):33-35.
[4] 王 黎, 馬光文. 基于遺傳算法的水電站廠內(nèi)經(jīng)濟(jì)運(yùn)行新算法[J]. 中國電機(jī)工程學(xué)報, 1998,(1):64-66.
[5] 王永強(qiáng), 周建中, 覃 暉,等. 基于改進(jìn)二進(jìn)制粒子群與動態(tài)微增率逐次逼近法混合優(yōu)化算法的水電站機(jī)組組合優(yōu)化[J]. 電力系統(tǒng)保護(hù)與控制, 2011,39(10):64-69.
[6] 周佳佳,楊 侃,鄧麗麗. 基于粒子群算法的水電站廠內(nèi)經(jīng)濟(jì)運(yùn)行新算法[J]. 中國農(nóng)村水利水電,2014,(6):141-145,149.
[7] 吉 鵬, 周建中, 張 睿,等. 改進(jìn)量子進(jìn)化混合優(yōu)化算法在溪洛渡電站機(jī)組組合中的應(yīng)用研究[J]. 電力系統(tǒng)保護(hù)與控制, 2014, 42(4):84-91.
[8] Zong W G, Kim J H, Loganathan G V. A new heuristic optimization algorithm: harmony search[J]. Simulation Transactions of the Society for Modeling & Simulation International, 2001,76(2):60-68.
[9] 雍龍泉. 和聲搜索算法研究進(jìn)展[J]. 計算機(jī)系統(tǒng)應(yīng)用, 2011, 20(7):244-248.
[10] Omran M G H, Mahdavi M. Global-best harmony search[J]. Applied Mathematics & Computation, 2008,198(2):643-656.
[11] 張康麗, 陳壽元, 邵增珍. 和聲搜索算法的改進(jìn)[J].人工智能與機(jī)器人研究, 2015,4(4):32-39.
[12] 韓紅燕, 潘全科, 梁 靜. 改進(jìn)的和聲搜索算法在函數(shù)優(yōu)化中的應(yīng)用[J]. 計算機(jī)工程, 2010,36(13):245-247.
[13] 王 超, 周建中, 王 浩,等. 金沙江下游梯級電站中長期調(diào)度精細(xì)化出力計算方法[J]. 水電能源科學(xué), 2016,34(5):55-59.
[14] Mo L, Lu P, Wang C, et al. Short-term hydro generation scheduling of Three Gorges-Gezhouba cascaded hydropower plants using hybrid MACS-ADE approach[J]. Energy Conversion and Management, 2013,73(12):260-273.