晉 健, 劉 育, 王 勇 飛, 李 基 棟
(1. 國能大渡河大數據服務有限公司,四川 成都 610041;2. 國能大渡河流域水電開發有限公司,四川 成都 610041;3. 四川農業大學 水利水電學院 ,四川 雅安 625014)
梯級水庫的聯合優化調度對保障梯級水電系統安全穩定運行、提高梯級整體效益、確保水能資源的充分利用等意義重大[1]。在梯級聯合優化調度問題的研究中,以日為時間尺度的優化調度方式決定了中長期調度戰略在每一日的具體執行方式,對于梯級水電站綜合效益的發揮十分關鍵。在確定梯級電站的日內運行方式中,建立面向各種復雜因素的日內短期優化調度模型,再應用各類優化算法進行模型求解成為了研究的常規手段。雖然眾多專家學者對短期優化調度問題展開了大量研究,但是模型求解中仍存在計算效率與優化計算效果無法兼顧的問題[2]。
梯級水電系統優化調度模型是一個典型的高維、非線性的優化問題,模型求解十分復雜。此外,由于水流流達時間的存在,短期優化調度問題涉及到日內梯級站間的跨時段水量平衡以及跨日的水量耦合問題[3],因此短期優化調度模型的求解更具復雜性[4]。目前常規的用于短期優化調度模型的計算方法分為兩大類:一類是以傳統動態規劃為基礎的逐步優化算法、逐次逼近動態規劃和離散微分動態規劃等,這類計算方法普遍收斂速度較慢,且優化計算效果對初始可行解的依賴性較大,普遍計算時間較長[5]。另一類是以遺傳算法、粒子群算法、差分進化等為代表的智能型算法,這類方法通常具有求解速度快、效率高的優勢,但其計算過程容易陷入局部最優解,或多次計算結果不一致[6]。盡管目前針對各類方法的改進與應用研究較多,各類計算方法在其理論與應用方面都具有各自的特點與局限性,但在實際的工程應用中通常具有一定的限制。
蜻蜓算法(DA)是近年提出的仿生學智能型算法[7],該研究系統梳理了蜻蜓智能優化算法的計算原理與方法,通過增加局部審查判定、初始種群個體進化等適應性調整,探索蜻蜓算法在梯級水電短期優化調度中的應用,以期豐富水電優化調度方法學,為優化調度計算提供更多的方案。
根據水能計算原理,追求梯級整體發電量最大目標函數可以表示為(1):
(1)
式中Qfi,t為電站i在時段t的發電流量(m3/s);Mt為時段t的長度(s);T為調度期內計算總時段個數;N為梯級電站總數;WRi,h為第i個電站水位為h時的平均耗水率(m3/kWh),該值是一個基于電站歷史運行狀況率定得到的統計值。
(1)考慮滯時的水量平衡約束。
Qi,t=qi,t+Qi-1,t-γ+(Gi,t-1-Gi,t)/Δt
(2)
式中Gi,t-1、Gi,t分別代表電站i在t時段初、末蓄水量(m3);qi,t、γ分別表示電站i與電站i-1的t時段區間匯流量和水流滯時;Qi-1,t-γ表示上游電站i-1在t-γ時段的下泄流量。
(2)電站出力限制。
Pi,tmin≤Pi,t≤Pi,tmax
(3)
式中Pi,t max、Pi,t min分別表示電站i的出力上下限制。
(3)水庫蓄水量約束。
Gi,tmin≤Gi,t≤Gi,tmax
(4)
式中Gi,t min、Gi,t max分別表示電站i的蓄水量大小限制。
(4)電站出力綜合爬坡約束。
ΔPi,t≤CPi
(5)
式中CPi為電站i的出力爬坡率限制;ΔPi,t為電站在時段t的出力變化幅度。
(5)變量非負約束。
上述所有變量均為非負變量。
蜻蜓算法尋優計算主要思路通過模擬蜻蜓的捕食行為來實現(圖1),該飛行(進化)尋優機制可以表示為蜻蜓群體分離、對齊、聚集、食物吸引與天敵驅散五個步驟[8]。

圖1 蜻蜓算法尋優計算主要思路
(1)分 離。表示避免蜻蜓個體距離太近降低尋優效率:
(6)
式中Ek為蜻蜓k的分離度;D表示當前蜻蜓的位置;Dj代表第j個鄰近蜻蜓的位置;J代表群體中第k個蜻蜓的鄰近蜻蜓的數量。
(2)對 齊。表示某個蜻蜓與其鄰近蜻蜓個體速度的相同程度:
(7)
式中Uk為蜻蜓k的對齊度;Vj代表第j個鄰近蜻蜓的飛行速度;其他符號意義同前。
(3)聚 集。表示某個蜻蜓具有朝著其附近較優蜻蜓個體靠近的趨勢:
(8)
式中Bk為蜻蜓k的聚集度;其他符號意義同前。
(4)食物吸引。食物是指某一次迭代計算中最優個體的位置:
Sk=D+-D
(9)
式中Sk為蜻蜓k的食物吸引度;D+代表當前計算中最優蜻蜓的位置。
(5)天敵驅散。目的是使個體盡可能遠離最差的蜻蜓個體,提高尋優計算效率:
Tk=D-+D
(10)
式中Tk為蜻蜓k的天敵驅散度;D-代表當前計算中最差蜻蜓的位置。
蜻蜓個體k飛行位置更新步長:
ΔDk+1=(eEi+uUi+bBi+sSi+tTi)+βDk
(11)
蜻蜓飛行位置更新:
Dl+1=Dl+ΔDl+1
(12)
式中e、u、b、s、t分別表示分離度、對齊度、聚集度、食物吸引度、天敵驅散度的影響系數;β代表慣性系數;l代表反復迭代計數下標;其他符號意義同前。
該研究對蜻蜓算法的尋優求解機制進行如下調整。
(1)引入初始種群個體優化機制。對初始種群中隨機選擇的某個蜻蜓個體,通過初步尋優計算得到一個可行解,優化后得到新個體替換原有蜻蜓個體,可以保證初始種群中至少有一個可行解。
(2)增加局部合理性判定機制。在蜻蜓算法中加入了合理性審查算子,該算子通過遍歷單個蜻蜓的計算維度,保留飛行后合理的局部,剔除飛行后發生不合理的局部位置,以提高算法的尋優計算效率。
適應性調整后的蜻蜓算法的計算流程包括12個步驟。
Step1:初始化計算參數,考慮梯級電站短期優化調度模型求解規模設定蜻蜓算法種群個數N=40,迭代計算次數MAXiter=200。
Step2:以梯級電站水庫運行水位為決策變量,依據水位運行區域上下限ZMAX(i,t),ZMIN(i,t),采用Xr= ZMIN(i,t)+e×(ZMAX(i,t)-ZMIN(i,t))生成初始種群,其中e為0到1之間的隨機數。
Step3:隨機選擇一個初始蜻蜓個體,采用POA算法,基于單站優化原則,對選定蜻蜓個體進行尋優計算,確保初始種群中至少有一個蜻蜓個體為可行解。并令迭代次數iter=1,蜻蜓維度r=0。
Step4:判斷蜻蜓個體Xk是否存在鄰居。如果有鄰居,進入Step5,否則進入Step6。
Step5:依據式(6)-(10)進行群體進化計算:分離度Sr、對齊度Ar、聚集度Cr、食物吸引度Fr、天敵驅散度Er。依據式(11)計算蜻蜓個體位置更新步長,進入Step7。
Step6:該蜻蜓沒有鄰居,采用Xr=e×(ZMAX(i,t)-ZMIN(i,t))進行蜻蜓個體隨機飛行,進入Step7。

Step8:使蜻蜓個體計算維度加1,即r=r+1。判斷是否完成蜻蜓個體全部維度的更新,如果完成全部維度的更新r=rmax,則進入Step9,否則進入Step5循環計算。
Step9:對蜻蜓個體Xk進行位置更新,Xt+1=Xt+ΔXt+1。
Step10:令k=k+1,進入新一個蜻蜓個體的優化計算,如果k>=N,則全部蜻蜓個體位置更新計算結束,進入Step11。若k Step11:當前迭代次數中,找出最優蜻蜓個體,與食物位置相比較,根據是否優于食物位置目標函數值,更新食物位置,令iter=iter+1。若iter>=MAXiter,則進入Step12,否則進入Step4。 Step12:返回當前循環迭代中食物位置作為最優計算結果,計算結束。 該研究選擇了大渡河流域電站瀑布溝、深溪溝、枕頭壩一級梯級三站為實例,其中瀑布溝水電站為季調節水庫,深溪溝、枕頭壩一級電站均具有日調節能力,各電站相關參數見表1[9]。 表1 大渡河下游梯級各電站主要參數 筆者選擇汛期典型日進行計算求解,計算時段為15 min,設定該日三站初、末水位分別為845 m、656 m、620 m。根據流域內徑流預測結果,結合上游大崗山水庫的調蓄過程,該日瀑布溝水庫預測入庫流量過程、瀑-深、深-枕區間流量過程見圖2。區間內的水流滯時分別按45 min與15 min考慮。瀑布溝前一日最后三個時段下泄流量分別為2 017.5 m3/s、2 070 m3/s、2 027.5 m3/s,深溪溝前一日最后一個時段下泄流量為1 850 m3/s。 圖2 流量過程圖 鑒于蜻蜓算法計算結果的不確定性,筆者選擇對連續計算10次的最優值進行分析,并將蜻蜓算法計算結果與傳統POA計算結果相比較(表2),蜻蜓算法計算的梯級電站發電運行過程見圖3。 表2 計算結果 (a)瀑布溝水電站運行過程 蜻蜓算法計算的梯級總發電量比POA算法計算得到的發電量略有降低,但計算時間大幅度減少。此外,梯級各電站運行過程滿足電站運行爬坡率、下泄流量限制等各種約束,水庫水位過程滿足優化運行的一般調度規律。 筆者探索了新型蜻蜓智能算法在梯級水電站短期聯合優化調度總的應用問題,蜻蜓算法通過模擬蜻蜓種群的“尋找食物”與“避害”等行為,在解集空間尋找優化解。但傳統的蜻蜓算法注重蜻蜓個體的整體尋優,導致優化求解效率較低,甚至引起無法收斂的問題,通過對在求解計算中添加初始種群優化與局部合理性判定可以提高算法的求解效率。以大渡河流域梯級電站為實例計算驗證,其結果表明:該計算結果效果略次于傳統POA算法效果,但計算效率有很大提高,有效避免了“維數災”問題,可以作為求解復雜梯級水電短期優化調度問題的方法之一。5 實例計算




6 結 語