李 磊, 吳亞麗(.西安理工大學(xué) 自動(dòng)化與信息工程學(xué)院, 陜西 西安 70048; .陜西省復(fù)雜系統(tǒng)控制與智能信息處理重點(diǎn)實(shí)驗(yàn)室, 陜西 西安 70048)
熱電聯(lián)產(chǎn)(combined heat and power,CHP)與傳統(tǒng)的純電生產(chǎn)相比,能夠同時(shí)產(chǎn)生電能和熱能兩種形式的能量,可顯著提高能源利用率,減少溫室氣體排放量。據(jù)相關(guān)統(tǒng)計(jì),傳統(tǒng)電力系統(tǒng)機(jī)組的能效不足60%,而熱電聯(lián)產(chǎn)機(jī)組的能效可達(dá)到90%[1]。在熱電聯(lián)產(chǎn)經(jīng)濟(jì)調(diào)度系統(tǒng)中,需在滿足電力和熱力需求及運(yùn)行約束的前提下,確定出電力和熱力資源處理的最優(yōu)組合,這樣才能夠充分利用系統(tǒng)能源。
在實(shí)際熱電聯(lián)產(chǎn)系統(tǒng)中,需考慮傳統(tǒng)電力機(jī)組的閥點(diǎn)效應(yīng),這使得目標(biāo)花費(fèi)函數(shù)變?yōu)榉蔷€性,從而使熱電聯(lián)產(chǎn)問(wèn)題的求解變得相當(dāng)復(fù)雜。傳統(tǒng)的數(shù)學(xué)方法如二次規(guī)劃法[2]、梯度下降法、拉格朗日松弛法[3]已被廣泛應(yīng)用到CHPED問(wèn)題中,但在面對(duì)非線性復(fù)雜問(wèn)題優(yōu)化時(shí),傳統(tǒng)的數(shù)學(xué)方法在最優(yōu)解求解方面較為困難。為了克服傳統(tǒng)數(shù)學(xué)方法的不足,眾多的群智能優(yōu)化算法被提出用來(lái)解決CHPED問(wèn)題。Huen S[4]等引入了一種新的交叉機(jī)制,提高了遺傳算法精確度,并應(yīng)用到CHPED問(wèn)題中,取得了良好結(jié)果。Basu M[5]等首次將差分進(jìn)化算法應(yīng)用到CHPED問(wèn)題中并取得一定的成果。Behnam M[6]等設(shè)計(jì)了加速度系數(shù)隨時(shí)間變化的粒子群優(yōu)化算法(TVAC-PSO),該算法使兩個(gè)加速度系數(shù)隨著迭代次數(shù)增加而進(jìn)行調(diào)整,在一定程度上克服了標(biāo)準(zhǔn)粒子群算法(CPSO)的早熟早收斂。Agrawal S[7]等設(shè)計(jì)了基于模糊聚類的粒子群算法,該算法在求解熱電聯(lián)產(chǎn)問(wèn)題時(shí)其收斂速度比標(biāo)準(zhǔn)粒子群優(yōu)化算法更快。除此之外,還有一些其他的啟發(fā)式搜索算法,例如蟻群算法(BCO)[8]、改進(jìn)蟻群算法(ACO)[9]、人工免疫算法(AIS)[10]等等,相比于傳統(tǒng)數(shù)學(xué)方法,群智能優(yōu)化算法在求解非線性CHPED調(diào)度問(wèn)題中取得了重要的進(jìn)展,但在求解高維復(fù)雜CHPED問(wèn)題時(shí)仍易陷入局部最優(yōu)。
本文在二階振蕩粒子群算法的基礎(chǔ)上,通過(guò)對(duì)迭代后的粒子進(jìn)行差分變異操作,來(lái)增加種群多樣性以避免早熟早收斂。為證實(shí)融合差分變異操作的改進(jìn)二階振蕩粒子群算法(DEPSO)在求解CHPED問(wèn)題時(shí)的有效性,本文將該算法應(yīng)用到熱電聯(lián)產(chǎn)24機(jī)組測(cè)試案例中,驗(yàn)證DEPSO算法在求解CHPED問(wèn)題時(shí)的優(yōu)越性。
CHPED問(wèn)題的目標(biāo)函數(shù)為:
(1)
(2)
(3)
(4)
式中,αi,βi,γi是對(duì)應(yīng)純凝機(jī)組花費(fèi)系數(shù);φk,ηk,λk是對(duì)應(yīng)供熱機(jī)組花費(fèi)系數(shù);熱電聯(lián)產(chǎn)機(jī)組對(duì)應(yīng)的花費(fèi)系數(shù)是aj,bj,cj,dj,ej,fj。
實(shí)際熱電聯(lián)產(chǎn)系統(tǒng)中,機(jī)組調(diào)門(mén)的開(kāi)放數(shù)量隨著發(fā)電單元的功率增加而增多,當(dāng)前級(jí)調(diào)門(mén)開(kāi)啟時(shí),蒸汽流通受到阻礙,使得耗能增加,產(chǎn)生閥點(diǎn)效應(yīng),耗能特性曲線向上凸起,如圖1所示。
圖1 考慮閥點(diǎn)效應(yīng)后的電力能耗曲線[11]Fig.1 Power cost curve after considering valve-point effects
僅使用光滑的二次函數(shù)[12]是無(wú)法表達(dá)發(fā)電機(jī)組實(shí)際的輸入輸出特性的,需在原有的純凝機(jī)組花費(fèi)函數(shù)基礎(chǔ)上添加一個(gè)正弦函數(shù)??紤]閥點(diǎn)效應(yīng)后的純凝機(jī)組花費(fèi)函數(shù)表達(dá)式擴(kuò)展為:
(5)
式中,eei,ffi為第i臺(tái)純凝機(jī)組閥點(diǎn)效應(yīng)耗能系數(shù)。
1) 負(fù)荷平衡約束
(6)
(7)
式中,Pd,Hd分別為總電能和熱能需求。
2) 機(jī)組輸出上下限約束
(8)
(9)
(10)
(11)
圖2 熱電機(jī)組適宜運(yùn)行區(qū)域Fig.2 Heat-power feasible operation region for cogeneration unit
在熱電聯(lián)產(chǎn)系統(tǒng)中,電力和熱力是不可分開(kāi)且相互關(guān)聯(lián)的,圖2為熱電機(jī)組適宜運(yùn)行區(qū)域。圖2[13]曲線ABCDEF顯示了熱電機(jī)組的適宜運(yùn)行區(qū)域及范圍邊界。
在標(biāo)準(zhǔn)PSO算法的速度更新部分引入二階振蕩環(huán)節(jié),可提高群體多樣性,改善算法的全局收斂性。引入二階振蕩環(huán)節(jié)后的速度更新公式為:
v(g+1)=ωv(g)+c1r1[Pbest(g)-
(1+ξ1)x(g)+ξ1x(g-1)]+c2r2[Gbest(g)-
(1+ξ2)x(g)+ξ2x(g-1)]
(12)
其中ξ1、ξ2為隨機(jī)數(shù),在算法迭代前期取:
在算法迭代后期取:
式中,v(g)、x(g)分別為粒子的當(dāng)前速度和位置;ω是粒子的慣性權(quán)重值;c1、c2為加速度常數(shù),或者稱為學(xué)習(xí)因子;r1、r2是介于0和1之間的隨機(jī)數(shù);Pbest為局部最優(yōu),即迭代后自身的最好位置;Gbest為全局最優(yōu),即全局的最好位置,是整個(gè)群體所經(jīng)歷的最好位置。
在算法迭代前期ξ1、ξ2較大,根據(jù)改進(jìn)后的速度更新公式可知,算法全局搜索能力較強(qiáng);在迭代后期ξ1、ξ2較小,能夠增強(qiáng)算法的局部搜索能力,易于尋找最優(yōu)解。如圖3所示,引入二階振蕩后,粒子的飛行速度同當(dāng)前位置和當(dāng)前位置的變化有關(guān),這可使粒子向更好的方向運(yùn)動(dòng)。
圖3 二階振蕩粒子學(xué)習(xí)方向示意圖Fig.3 Study direction of second order oscillation particle
ω是平衡算法搜索能力的重要參數(shù)。如果ω隨迭代次數(shù)增加而遞減,則算法在初期有較大的ω,增強(qiáng)了算法全局搜索能力,在算法后期ω較小,增強(qiáng)了算法局部搜索能力。
(13)
式中,ωmax和ωmin分別是迭代的初始和最終慣性權(quán)重,取ωmax=0.9,ωmin=0.4;max_iter是最大迭代次數(shù);iter是當(dāng)前迭代次數(shù)。
標(biāo)準(zhǔn)PSO算法中的c1和c2代表著當(dāng)前粒子對(duì)個(gè)體位置和全局位置的認(rèn)知。本文對(duì)兩個(gè)學(xué)習(xí)因子采用如下更新方式:
(14)
(15)
式中,c1,ini和c1,fin分別為c1的初始值和最終值,取c1,ini=2.5,c1,fin=0.5;c2,ini和c2,fin分別為c2的初始值和最終值,取c2,ini=0.5,c2,fin=2.5。
由改進(jìn)后的更新公式可以看出,隨著迭代次數(shù)增加,c1下降而c2增加,使得算法在迭代初期粒子的全局搜索能力很強(qiáng),而在迭代后期算法的局部搜索能力很強(qiáng)。
標(biāo)準(zhǔn)二階振蕩PSO算法在參數(shù)方面的改進(jìn)可以很大程度提高算法的性能,但是無(wú)論如何改進(jìn),粒子之間的信息交流始終是在種群內(nèi)部自身原有粒子之間進(jìn)行,一旦產(chǎn)生錯(cuò)誤的信息,容易被錯(cuò)誤信息誤導(dǎo)。針對(duì)這種不足,本文對(duì)改進(jìn)后的二階振蕩PSO算法引入差分變異操作,通過(guò)種群內(nèi)粒子產(chǎn)生新解,從而在算法的整個(gè)生命周期中增加種群多樣性,有效避免了陷入局部最優(yōu)。
差分變異操作為:
yid=
(16)
式中,yid是產(chǎn)生的新個(gè)體;xid是當(dāng)前個(gè)體;xad和xbd是從當(dāng)前代隨機(jī)選擇的兩個(gè)個(gè)體;Ld和Hd是原有群體的上下界;Pr是一個(gè)選擇概率,通常設(shè)定為0.005。
式(16)中,當(dāng)在0到1之間隨機(jī)產(chǎn)生的數(shù)小于Pr,則按原有的法則產(chǎn)生新個(gè)體;如果隨機(jī)產(chǎn)生的數(shù)大于Pr,則按照差分變異操作產(chǎn)生新個(gè)體。經(jīng)分析可知,在整個(gè)種群迭代初期,xad-xbd較大,而產(chǎn)生的新個(gè)體差異性越大,多樣性越強(qiáng);在整個(gè)種群迭代后期,種群多樣性會(huì)減小,xad-xbd也會(huì)較小,產(chǎn)生的新個(gè)體差異性較小,能夠接近全局最優(yōu)。所以,隨著迭代過(guò)程的進(jìn)行,差分變異操作能夠使算法較好的平衡全局最優(yōu)和局部最優(yōu)。
對(duì)改進(jìn)的二階振蕩PSO算法進(jìn)行融合差分變異操作后,得到融合差分變異操作的改進(jìn)二階振蕩粒子群算法,步驟如下:
1) 對(duì)種群規(guī)模、種群維數(shù)、最大迭代次數(shù)、仿真輪數(shù)等參數(shù)進(jìn)行設(shè)置;
2) 初始化種群速度和位置,初始化適應(yīng)度值;
3) 評(píng)價(jià)每個(gè)粒子的適應(yīng)度值,將當(dāng)前粒子的位置和適應(yīng)度值存儲(chǔ)在Pbest中,將所有Pbest中最優(yōu)個(gè)體的位置和適應(yīng)度值存儲(chǔ)在Gbest中;
4) 對(duì)個(gè)體按照式(12)進(jìn)行速度和位置更新;
5) 根據(jù)式(13)~(15)更新慣性權(quán)重系數(shù)ω和學(xué)習(xí)因子c1、c2;
6) 將每個(gè)粒子的適應(yīng)度值與當(dāng)前最優(yōu)適應(yīng)度值作比較,將較好的值作為當(dāng)前最好位置Pbest;
7) 對(duì)粒子按照公式(16)進(jìn)行變異操作,并計(jì)算變異后個(gè)體的適應(yīng)度值,若變異后個(gè)體值更優(yōu),則取變異后個(gè)體位置存儲(chǔ)在Pbest;
8) 比較所有的Pbest和Gbest,更新Gbest;
9) 迭代次數(shù)加1,查看是否滿足停止條件,若滿足則搜索結(jié)束,否則返回第4步。
基于DEPSO算法的熱電聯(lián)產(chǎn)經(jīng)濟(jì)調(diào)度問(wèn)題實(shí)現(xiàn)的具體步驟為:
1) 初始化種群和適應(yīng)度值
熱電聯(lián)產(chǎn)經(jīng)濟(jì)調(diào)度問(wèn)題的最優(yōu)解由群體迭代最終的最優(yōu)個(gè)體決定,個(gè)體的各維信息代表著熱電聯(lián)產(chǎn)經(jīng)濟(jì)調(diào)度系統(tǒng)的資源分配信息和解決方案。第m個(gè)個(gè)體的表達(dá)式為:
(17)
對(duì)個(gè)體Xm的每維信息的初始化,需分別滿足總供能平衡、電能供需平衡、熱能供需平衡。
2) 初始化Pbest和Gbest;
3) 按公式(12)對(duì)粒子的速度和位置進(jìn)行更新;
4) 對(duì)產(chǎn)生的新個(gè)體速度和位置進(jìn)行范圍約束,對(duì)不同機(jī)組按照具體參數(shù)進(jìn)行相應(yīng)的越界處理;
5) 將更新后的位置代入到適應(yīng)度值求取函數(shù)中,與當(dāng)前最優(yōu)適應(yīng)度值比較,選取較優(yōu)適應(yīng)度值和對(duì)應(yīng)個(gè)體位置存儲(chǔ)在Pbest;
6) 按照公式(16)進(jìn)行差分變異操作;
7) 將變異后的個(gè)體按照第4步進(jìn)行范圍約束;
8) 將變異后個(gè)體代入適應(yīng)度值求取函數(shù)中,與當(dāng)前最優(yōu)適應(yīng)度值比較,選取較優(yōu)適應(yīng)度值和對(duì)應(yīng)個(gè)體的位置存儲(chǔ)在Pbest;
9) 比較所有的Pbest和Gbest,更新Gbest;
10) 查看是否滿足停止準(zhǔn)則,若滿足,則算法結(jié)束運(yùn)行,否則跳轉(zhuǎn)到步驟3。
本案例是24機(jī)組熱電聯(lián)產(chǎn)測(cè)試系統(tǒng),案例參數(shù)設(shè)置為:max_iter=1000,種群大小swarmsize=100,案例考慮了閥點(diǎn)效應(yīng),24機(jī)組包括13個(gè)純凝機(jī)組、6個(gè)熱電聯(lián)產(chǎn)機(jī)組和5個(gè)供熱機(jī)組。其中,各熱電聯(lián)產(chǎn)機(jī)組適宜運(yùn)行區(qū)域如圖4所示,14號(hào)和16號(hào)機(jī)組選擇A型熱電聯(lián)產(chǎn)機(jī)組模型;15號(hào)和17號(hào)機(jī)組選擇B型熱電聯(lián)產(chǎn)機(jī)組模型;18號(hào)機(jī)組選擇C型熱電聯(lián)產(chǎn)機(jī)組模型,19號(hào)機(jī)組選擇D型熱電聯(lián)產(chǎn)機(jī)組模型,系統(tǒng)的總電需求為2350 MW,總熱需求1250 MWth。
表1~表3為各類型機(jī)組系統(tǒng)參數(shù),表4是各類型算法花費(fèi)及運(yùn)行時(shí)間,表5為各類型算法仿真結(jié)果。
圖4 四種不同類型熱電機(jī)組適宜運(yùn)行區(qū)域[6]Fig.4 Heat-power feasible operation for four types
表1 純凝機(jī)組系統(tǒng)參數(shù)Tab.1 Power supply unit cost function parameters of 24-units system
表2 熱電聯(lián)產(chǎn)機(jī)組系統(tǒng)參數(shù)Tab.2 CHP unit cost function parameters of 24-units system
表3 供熱機(jī)組系統(tǒng)參數(shù)Tab.3 Heat supply unit cost function parameters of 24-units system
表4 各類型優(yōu)化算法的總花費(fèi)及運(yùn)行時(shí)間Tab.4 Heat and power total cost and running time results of 24-units system
表5 各類型優(yōu)化算法的24機(jī)組仿真結(jié)果Tab.5 Heat and power distribution results of 24-units system
由表5可知,TLBO(教與學(xué)優(yōu)化算法)和OBTLBO(反向教與學(xué)優(yōu)化算法)中,19號(hào)機(jī)組的熱電負(fù)荷優(yōu)化分配已經(jīng)越過(guò)D型熱電聯(lián)產(chǎn)機(jī)組的適宜運(yùn)行范圍,存在一定的錯(cuò)誤之處。
各優(yōu)化算法對(duì)熱電聯(lián)產(chǎn)系統(tǒng)的花費(fèi)及運(yùn)行時(shí)間如表4所示。結(jié)果顯示,DEPSO算法相比于其他優(yōu)化算法,其花費(fèi)最小。
DEPSO算法收斂圖如圖5所示。由圖可知,在熱電聯(lián)產(chǎn)24機(jī)組條件下,DEPSO算法的結(jié)果較TVAC-PSO(加速度系數(shù)隨時(shí)間變化的粒子群優(yōu)化算法)更好。
圖5 24機(jī)組花費(fèi)收斂曲線Fig.5 Cost convergence curve of 24-units system
本文針對(duì)傳統(tǒng)優(yōu)化方法在求解非線性復(fù)雜CHPED問(wèn)題中易陷入局部最優(yōu)以及搜索精度不高等缺點(diǎn),提出一種融合差分操作的改進(jìn)二階振蕩粒子群算法,并將其應(yīng)用到CHPED實(shí)際問(wèn)題中求解,結(jié)果顯示,相較于其他進(jìn)化算法,本文提出的算法其仿真結(jié)果更優(yōu),具有更好的尋優(yōu)能力,適用于解決復(fù)雜CHPED問(wèn)題。