白建云,任 岐,雷秀軍,孟新雨
(1.山西大學 自動化系,太原 030013;2.山西大學 數學科學院,太原 030006)
近年來,直接空冷技術憑借其可以極大節省水資源的優勢,使得直接空冷機組在富煤貧水的“三北”地區得到了迅速的發展[1]。直接空冷機組軸流風機群作為電廠的耗電大戶,其平均電耗占廠用總電耗的10%,占總發電量的1.3%~1.6%[2]。因此,在不影響機組穩定運行的情況下,降低空冷風機群的電耗是學者研究的主要方向之一。
背壓設定值的優化設置是提高空冷機組經濟性的手段之一[3]。目前,在大部分電廠直接空冷機組,空冷系統處于手動模式時,背壓設定值基本由運行人員根據人工經驗來設定;直接空冷系統投自動時,系統跟蹤手動模式時的背壓值,并根據機組冷凝水溫度通過輸入選擇器適時給設定值增加3 kPa[4]。固定的背壓設定值會在負荷變化不大,其他因素(如環境溫度)起主導作用時持續增大風量來降低背壓,此時風機功耗增大,背壓降低,相應的機組出力增大,而該溫度下最佳背壓一般會高于此時的背壓設定值,使得風機能耗大于發電功率增加量,機組經濟性差[5]。
在此通過對現場數據分析處理,歸結出部分關鍵工況和不同影響因素下的最優背壓值。通過該方法不斷調整背壓設定值,盡量保持背壓在背壓設定值的一定范圍內的同時降低風機能耗,最大程度地提高機組經濟性能。
BP神經網絡具有良好的魯棒性、高度的自適應和自學習性,使其在復雜過程系統建模中具有傳統方法無法比擬的優越性。然而BP算法也存在一些問題,使其難以應用到復雜過程系統中。
1)BP算法學習過程收斂速度慢 由于神經網絡采用逐一學習方法,必然引起學習速度慢。對于一些復雜問題該現象會尤為凸顯。此外,由于需要優化的目標函數通常比較復雜,在BP網絡神經元輸出接近0或1時,權值誤差改變很小,造成訓練過程停頓,收斂速度變慢。
2)極易陷入極小值 BP算法本質上是一種局部搜索的優化算法,是以誤差平方和為目標函數,用梯度法求其最小值的方法。但BP算法最終要求解復雜非線性函數的全局最優值,因此,算法極有可能求得的解為局部最優值,致使所建模型預測誤差大,模型精度低。
針對BP算法存在的問題,學者一般采用穩定性高和全局收斂性強的進化算法對其進行優化。此外,進化算法也無需依賴所求解問題的特征信息(如導數等信息),故常將進化算法與BP神經網絡相結合,以提高神經網絡的穩定性和收斂速度。在此采用進化算法中的粒子群算法優化BP神經網絡。
PSO是一種有效的全局尋優算法,其基本原理是將被優化問題的所有解假設為空間中的粒子,粒子個體都有其適應值,依靠速度向量和位置向量以不斷調整其前進的方向和距離,直至粒子種群找到最優粒子。
算法具體描述如下:假設在一個N維的目標搜索空間中,有 m個粒子組成的一個群體,Xi=(xi1,xi2,…,xi,N)(其中 i=1,2,…,m)為群體中第 i個粒子的位置矢量;Vi=(vi1,vi2,…,vi,N)為其速度向量。
隨機產生一組 Xi,作為初始種群,Xbest,i=(xi1,xi2,…,xi,N)為粒子 Xi目前經過的最優點,則粒子 i當前最好位置為

式中:QVbest,i為粒子經目標函數 Q(Xi)計算所得的適應值,根據其值大小判斷粒子是否為最優粒子。尋優過程中,粒子群經歷的最優位置記為Xbest,g=(xg1,xg2,…,xg,N),則粒子根據式(2)更新自己的速度:

其中:i=1,2,…,m;n=1,2,…,N
式中:c1為認知因子;c2為社會因子;t為第t代即第t次迭代。在速度更新時,不應該超過給定的速度范圍,即要求 Vi∈[-Vmax,Vmax]。
更新粒子Xi的位置矢量為

在此采用標準粒子群算法對BP神經網絡進行優化。標準粒子群算法是指帶慣性權重的PSO,主要是在式(2)中引入慣性權重w,即:

在迭代過程中,為使種群尋優擁有良好的速度和精度,通常采用慣性權重遞減的方法:

式中:wmax和wmin分別為w的最大、最小值;Tmax為最大的迭代數;t為當前的迭代數。
采用PSO算法對BP神經網絡結點間的連接權值和閾值進行優化,充分發揮PSO算法的全局尋優能力和BP算法的局部搜索優勢。優化算法步驟為:
步驟1確定BP網絡結構及粒子維度。
定義粒子維度,即將確定好的BP神經網絡中的連接權值和閾值映射到粒子群中的粒子維度。假設,網絡中優化權值和閾值的個數為D,則每個個體可用D維向量表示,即:

式中:D為粒子維度;din為神經網絡輸入節點數;dhd為隱含層節點數;dout為輸出節點數。
步驟2初始化粒子群。
選定粒子群規模N,迭代次數Tmax,認知因子c1,社會因子c2,粒子維度D,慣性權重w,粒子初始位置和速度、粒子的位置范圍及速度上限。
步驟3選擇適應度函數。
將粒子群中每個粒子映射為BP網絡中的連接權值和閾值,構成一個神經網絡,并通過訓練樣本對網絡進行訓練。計算每一個網絡在訓練集上產生的均方誤差,并以此作為目標函數,通過PSO算法在全局空間內不斷尋優,使目標函數值最小。用于計算個體適應度的適應度函數F為

式中:m為輸出神經元個數;n為訓練樣本個數;yj,i,y′j,i分別為第 i個樣本第 j個輸出神經元的期望輸出、預測輸出。
步驟4更新得出的最優解 Xbest,i和 Xbest,g。
根據適應度函數式(7)求出最優解 Xbest,i和 Xbest,g,并根據式(3)(4)分別對粒子的位置和速度進行更新,以此產生新的個體,并通過計算新個體的適應度值,不斷更新 Xbest,i和 Xbest,g。
步驟5判斷算法是否終止。
判斷迭代次數和適應值的大小,滿足條件則迭代終止,否則返回步驟4。
步驟6用優化得到的權值和閾值訓練BP網絡。
將最后尋找到的最優粒子映射為BP網絡權值和閾值,并以此作為BP神經網絡的初始權值和閾值訓練網絡,得到最終的神經網絡預測結果。
在神經網絡中對模型質量進行評價的函數是均方誤差函數MSE和均方根誤差函數RMSE,即


為進一步確定模型準確性,引入確定性系數r2來量化預測值和期望值之間的相似度:

影響背壓的因素有很多[6]。為建立背壓設定值模型,在此選擇影響最大的3個主要因素(風機頻率、機組負荷和環境溫度)作為PSO-BP模型的輸入。
BP神經網絡結構選用3層,分別為輸入層、隱含層和輸出層。具體結構為3-7-1:由于選擇3個主要影響因素作為輸入,背壓設定值作為輸出,所以輸入節點有3個,輸出節點1個,隱含層節點根據經驗設定為7個。網絡訓練次數為500次,訓練目標為0.001,學習速率η為0.1,訓練函數選擇Levenberg_Marquardt的BP算法訓練函數trainlm,其他采用系統默認參數。
設置PSO迭代次數Tmax=100,粒子群規模N=20;粒子最大速度vmax=1,最小速度vmin=-1;慣性權重最大值wmax=0.9,最小值wmin=0.4;認知因子c1和社會因子c2均為2,粒子維度D=36維。
采集山西某矸石電廠300 MW 4號機組連續1個月的正常運行數據,將其作為數據來源。它涵蓋了機組正常運行時70%~100%工況下不同影響因素影響時的狀態,充分考慮機組在不同負荷、不同風機轉速以及環境溫度發生改變時對背壓的影響。
首先,根據以機組發電功率增量與風機能耗之差最大值相對應的背壓值為最優背壓值的原則,依據現場數據,計算得到負荷70%~75%,75%~80%,80%~85%,85%~90%,90%~95%和 95%~100%共 6個負荷區間的最優背壓值,見表1。
因數據選取在夏季,95%~100%負荷均分布在下午5點左右,平均溫度為25°C,因此最佳背壓值選擇基于該電廠數據的26.150 kPa。

表1 6個典型工況區間的最優背壓值Tab.1 Optimal backpressure value of six typical working conditions
在得到6個工況區間的最優背壓值后,依據原始數據中不同影響因素的影響程度對這6個工況區間背壓設定值進行適當調整,使其在不同工況和不同環境下在一定范圍內波動,即根據負荷大小、環境溫度和風機轉速并依據采集到的現場數據,按比例適當增大或降低背壓設定值。調整后得到部分關鍵工況點數據共2000組,部分背壓設定值見表2。

表2 不同工況下的部分背壓設定值Tab.2 Partial back pressure setting value under different working conditions
在采集的數據中,75%~80%負荷區間的數據約占總數據的30%,調整后歸一化的曲線如圖1所示。

圖1 75%~80%負荷區間部分工況點曲線Fig.1 Curve of partial load point of 75%~80%load interval
在選出部分工況點后,通過建立PSO-BP模型,依靠BP神經網絡的聯想記憶功能,近似得出70%~100%工況下的背壓設定值模型。同時,采用PSO算法對該模型進行優化,以提高BP神經網絡的泛化能力,盡可能地得到相對準確的背壓設定值,為下一步的直接空冷背壓控制提供數據支持。
通過仿真軟件,依據所選取的參數值進行設置,以所取得的2000組數據建立“三輸入單輸出”模型,其中的1800組數據用于訓練網絡,200組數據作為測試數組。仿真后得到的結果如圖2所示。

圖2 背壓設定值模型的預測值與期望值Fig.2 Prediction and expectation value of back pressure set value model
由圖可見,預測值與期望值基本已經相當接近,70%左右的樣本點絕對誤差分布在±0.5 kPa內,且均已分布在±0.9 kPa內;相對誤差集中分布在±2%以內,只有少部分位于2%~4%或-4%~-2%。以上數據分析表明該模型性能和準確性都很高。為進一步了解所建模型性能,對模型進行了以下對比分析,具體見表3。

表3 PSO-BP模型性能分析Tab.3 Performance analysis of PSO-BP model
由表可知,PSO優化后的BP神經網絡模型最大誤差、均方誤差MSE(無論是訓練集還是測試集)均遠小于BP網絡模型,同時確定性系數r2更是達到0.9932,證明優化后的模型精度更高,有更準確的預測能力,更適于工業現場使用。
背壓設定值的模型建立后,需將該模型代入到背壓控制系統中,借此觀察背壓和風機頻率與背壓設定值未改進時的變化。控制方案采用該現場目前所用的PID控制策略,具體如圖3所示。

圖3 背壓設定值改進后的背壓控制策略Fig.3 Back pressure control chart improved after setting value of back pressure
其工作原理是:給PSO-BP模型輸入當前時刻的機組負荷 x1(k),風機轉速 x2(k),環境溫度 x3(k),輸出y(k)經過速率限制器后,考慮計算時間和延時,將其作為y(k+1)時刻的背壓設定值。該設定值與實際背壓值x(k+1)比較,差值經過PID控制器來得到風機的調整頻率值并修正風機頻率。其中,偏差信號需經過死區模塊,避免偏差不大時對風機頻繁控制;控制信號需經過限幅模塊,即設定風機調整頻率的上下限。
在機組變負荷時,為保證背壓不會超高限,會盡可能提高風機轉速,此時方法改進后其經濟效率的提升不大(本文對此不做研究)。
隨機輸入20組典型工況(75%負荷)時不同影響因素變化的輸入數據,根據圖3在MatLab中進行仿真,改進背壓控制系統前后風機轉速、背壓的比較如圖4所示。
由圖可見,在某一穩定工況下,改進后風機頻率明顯下降,且其背壓值基本在改進前背壓值范圍內波動,同時背壓變化幅度相對減小。統計計算該測試結果,風機轉速平均降低0.111 r/min,根據電廠風機相關參數可知平均每個風機功耗降低13.6 kW,由于背壓波動最大不超過0.5 kPa,且不停波動,在該測試數據中其值改變并未對機組出力起到明顯作用,可以忽略不計。此時機組凈功率也就是風機群降低的功耗,為326.4 kW。證明該改進方法控制效果良好,在一定程度上降低了風機能耗,減小了背壓波動幅度,提高了機組的經濟效率。

圖4 背壓和風機轉速改進前后的對比Fig.4 Comparison of back pressure and fan speed before and after improvement
通過對現場數據整理分析,得到機組70%~100%負荷下部分關鍵工況下的背壓設定值數據。依靠BP神經網絡的聯想記憶功能對該數據建模,近似得到該負荷段下所有工況點的背壓設定值,并采用PSO優化BP神經網絡的連接權值和閾值的方法,提高了BP神經網絡模型的泛化能力和模型精度。通過對方法改進前后某典型工況下背壓和風機轉速的對比分析,得出在該工況下機組凈功率增加326.4 kW。由此證明,在改進背壓設定值設置方法后,機組的經濟性能得到提升,對今后對現場直接空冷系統背壓優化控制具有借鑒意義。