舒 凱,張玉松,李 偉,白浪濤
(1.國網電力科學研究院/南瑞集團有限公司,江蘇省南京市 210003;2.三峽水利樞紐梯級調度通信中心,湖北省宜昌市 443000)
人工智能算法在水庫調度中的使用已經越來越頻繁,取得了不錯的成效。專家學者們將遺傳算法[1]、粒子群算法[2]、蟻群算法[3]與鳥群算法[4]等在水庫調度中都進行了探索應用。人工魚群算法具有適應性、自治性、盲目性、突現性與并行性等特征[5],相比其他的仿生算法,人工魚群算法具有快速跟蹤變化與能快速搜索至最優解附近和跳出局部極值的點,水庫優化調度模型往往由于復雜的約束條件與多目標特點,采用優化算法時易于陷于局部優化解中,導致找不到最優解,人工魚群算法的特征能夠加強最優解的搜尋能力,本文采用AFAS與POA相融合的算法分析水庫調度過程,探索融合算法在水庫中長期優化調度中的應用。
在中長期發電優化調度過程中,其主要的優化目標包括:發電量(調峰)最大、發電收益最大、耗水量最小等,調度過程中根據不同的應用場景,需要選擇其中一個或者多個要素作為優化目標。動態規劃(DP)是目前求解水庫優化調度的常規方法,它屬于確定性算法,理論上講能夠找到唯一的最優解,但是約束條件與邊界條件越復雜,計算的維數就越大,維數與計算時間成指數增長關系,因此,當維數多到一定程度,動態規劃在短時間內很難給出最優解,這就是動態規劃中的維數災的問題,后來有學者提出了逐步優化算法(POA)[6],它有效地解決了動態規劃存在的問題,優化結果穩定且唯一,但對于不同調節能力的電站優化速度差異大,所以降低POA的解空間,對于研究水庫優化調度算法具有非常大的現實意義。人工魚群算法(AFSA)[7]是李曉磊等人于2002年在動物群體智能行為研究的基礎上,分析整理出基于模擬魚群行動的智能算法,與蟻群算法、粒子群算法[8]等同屬群智能算法[9],AFSA算法利用魚群個體并行尋優,全局最優值附近個體魚最多的特點,通過統計數量最多的魚群位置來凸顯全局最優值所在區間。劉榮榮、陸俊明通過對AFSA[10-13]的深入研究表明,AFSA算法在多狀態動態規劃問題上能夠快速收斂到最優解附近。
本方案采用人工魚群算法的優化結果作為逐步優化算法的初始尋優空間,再采用POA算法計算。通過比較人工魚群算法與POA的結合應用和單一的POA算法或者單一人工魚群算法計算結果,分析算法的應用空間。
本文以調度階段內目標發電量最大為優化目標,構建天生橋一級水庫的中長期優化調度數學模型,優化目標函數描述如下:
目標函數:

約束條件包括電站水庫壩上水位、下泄流量、出力、調度末時刻控制水位、階段平均水頭、階段出庫水量、階段出庫流量、階段平均尾水位、階段發電流量與水庫蓄水量等約束條件,如下:

以上公式中:E代表電站調度周期內的累計發電量(MW·h);K為電站綜合出力系數,取值在0.6~0.8之間;Qt'為電站在t階段全廠發電流量,m3/s;Qt,out為電站在t階段全廠出庫流量,m3/s;Ht為電站在t階段機組平均發電水頭,m;T為調度總階段(t為以固定步長對T進行劃分的子階段,T一般大于等于7天,固定步長為1天);Zt,min為電站第t階段水庫的下限水位;Zt為電站第t階段水庫庫水位;Zt,max為電站第t階段電站庫區的上限庫水位;Qt,min為電站第t階段全廠下泄流量的下限流量;Qt為電站第t階段全廠平均下泄流量;Qt,max為電站第t階段全廠下泄流量的上限流量;Nt為電站第t階段電站全廠負荷;Nt,min為電站t階段內全廠下限負荷;Nt,max為電站t階段內全廠上限負荷;ZT為控制期末水庫庫水位;Vt,ed為電站t階段階段末水庫蓄水量;Vt,bg為電站t階段階段初水庫蓄水量;Vt,in為電站第t階段全廠入庫水量;Vt,dis為電站第t階段全廠棄水水量;Vt,out為電站第t階段全廠出庫水量;Curve尾為電站尾水位與出庫流量的映射關系;Curve為電站水位與蓄水量的映射關系。
建立水庫優化調度的人工魚群模擬模型,此時魚群狀態為水庫水位狀態的初始組合,水庫優化調度操作[14]步驟如下:
(1)隨機生成n條人工魚,設置擁擠因子δ、移動步長dstep、可視距離vp,調度期長度T,設定計算代數或者控制目標值;Xi,1為第i條人工魚水庫調度期初水位,Xi,T為調度期末控制水位,中間狀態Xi,k根據下式獲得:

式中:k=(1,2,3,…,T);i=(1,2,3,…,n);xk,max、xk,min分別為k時段最高、最低水位。
(2)每次迭代前,記錄每條人工魚的現狀。
(3)開始尋優。每條人工魚根據自身當前能量水平選擇追尾、聚群或覓食行為中的一種進行執行:
1)覓食行為:在vp范圍進行“位置”遍歷,選擇找使得“能量水平”高于自身所處位置的新“位置”,“位置”指代庫水位,“能量水平”指代發電電量。
2)追尾行為:向vp范圍內同伴的“能量水平”高于自身的同伴方向,以距離為二者一半為步長,進行追尾行為。
3)聚群行為:計算vp范圍內魚群人工魚個數與中心魚群位置,魚群根據所述原則選擇行為,vp范圍內魚群人工魚個數與擁擠因子滿足(1/人工魚個數<δ),人工魚向離自身最近位置的人工魚移動一半二者之間的距離或者保持狀態不變。vp范圍內魚群人工魚個數與擁擠因子滿足(1/人工魚個數>δ),則進行覓食行為。
(4)每條人工魚在執行一次上述行為后,將自身狀態與公告板(代表每次的最優解)狀態比較,若優于公告板狀態則替換公告板的狀態。
(5)停止計算控制條件:計算結果符合要求或者尋優代數滿足最大數量,如果符合,則輸出計算成果;如果不符合,返回上面第3步。
以AFSA算法成果作為POA算法的輸入,按照如下所述步驟對結果繼續對水庫水位優化進而獲得全局最優解:
(1)t階段與t+1階段解集空間劃分。由t階段初時刻水位開始計算出t階段末時刻最高水位,由t+1階段末時刻水位開始計算出t+1階段初時刻最低水位,t階段末時刻等于t+1階段初時刻。
(2)t階段與t+1階段優化。離散t階段末時刻水位取值(區間:[t+1階段初時刻最低水位,t階段末時刻最高水位]),以不同的水位計算t階段與t+1階水庫狀態,記錄使得t階段與t+1階水庫狀態最優的水位。
(3)全局優化。優化完t階段與t+1階段后,再對t-1階段與t階段進行步驟1、2操作,直至結果優化至不變或者達到最大優化次數POA優化結束,返回最優解。
由于魚群算法的結果已經收斂到接近全局最優解,此時POA的子階段尋優空間大幅減少,收斂時間大大縮短,彌補單一POA算法尋優空間大,導致尋優時間長的問題[15]。
天生橋一級水電站是紅水河梯級電站的第一級,位于南盤江干流上,電站總裝機容量為1200MW,由4臺300MW水輪發電機組組成,設計年發電量52.26億kW·h,所發電能均通過南方電網送往廣東和廣西。電站除了本身向電網提供強大的電力以外,還可增加下游水電站保證出力883.9MW。電站水庫死水位741m,最高水位780m,總庫容103億m3,調節庫容50億m3,為不完全多年調節水庫。以調節水庫天生橋一級2015年9月來水為例,采用發電量最大作為優化目標。經過分析處理,選取的人工魚的參數為:δ取0.618,n取40,vp取0.55,最大循環代數設置為30時,人工魚群能快速聚集到最優結果。分別對比人工魚群算法、POA優化解、人工魚群優化算法與POA結合計算優化解,成果如表1所示。

表1 人工魚群算法與POA結合求解中長期優化調度結果表Table 1 The optimal operation result of a plant
在配置內存16G、CPU為AMD Ryzen 7 PRO 4750U with Radeon Graphics 1.70GHz、操作系統為64位Windows的筆記本電腦上運行優化模型,優化上述所舉實例,比較結果如表2所示。

表2 算法結果的比較Table 2 The results of AFSA and POA

續表
由表2可知,人工魚群算法優化速度最快,但是計算的理論發電量偏差大,POA優化結果理論發電量對比于人工魚群算法與POA結合的理論發電量相等,但是采用人工魚群算法進行初步優化后的計算速度提升了1.5s左右,計算速度上具有較大的提升。
POA算法具有很強的跳出局部極值的能力,求解穩定優化效果明顯,與動態規劃算法相比,雖其計算速度快很多,但其也是窮舉類型算法的一種,當其求解空間大,迭代次數多,收斂時間也會相應變長,以上述水庫結果為例,單以POA進行優化,上述水庫水位以精度0.01劃分(水庫庫水位通常精確至小數點后2位),1m需迭代100次,一輪尋優需遍歷29個時段,每個時段理論最大迭代次數3900次,通常需多輪尋優結果才會收斂,可以看出POA針對當前水庫的優化計算量大,求解耗時也會稍長。
人工魚群算法屬于隨機優化的一種,個體因之間覓食行為互不干擾,使其擁有并行尋優的特性,聚群魚追尾行為,使算法具有快速跟蹤變化的能力,每次雖然能收斂到最優解附近,但是每次結果都有一些差異,不能獲得確定的最優解。POA與人工魚結合應用,取人工魚算法優化結果作為POA的初始解,一者人工魚群因其并行尋優的特性,收斂速度快,可快速確定最優解的大致空間,再者其結果已在最優解附近,可以大幅縮小POA的求解空間,減少POA的求解迭代次數與求解空間,大幅提升POA的求解速度,說明AFAS與POA相融合的算法在水庫優化調度方面有一定的應用空間[16-17]。