劉 宇,許新宇,李曉瀾,薛凱竟,張 宇
(1.中國(guó)電建集團(tuán)華東勘測(cè)設(shè)計(jì)研究院有限公司,浙江杭州311122;2.南京水利科學(xué)研究院,江蘇南京210029)
水庫(kù)優(yōu)化調(diào)度是一個(gè)復(fù)雜的高維非線性模型,調(diào)度期內(nèi)水庫(kù)呈現(xiàn)出多階段、多狀態(tài),每階段各個(gè)狀態(tài)的組合數(shù)目隨著調(diào)度期的增長(zhǎng)呈指數(shù)關(guān)系增加。水庫(kù)入流作為人類不可控因素,其不確定性進(jìn)一步增加了水庫(kù)調(diào)度的風(fēng)險(xiǎn)。以上種種因素都增加了水庫(kù)發(fā)電優(yōu)化調(diào)度的難度。早期研究人員采用動(dòng)態(tài)規(guī)劃等數(shù)學(xué)規(guī)劃方法求解水電站優(yōu)化調(diào)度模型[1-2],對(duì)于確定型水庫(kù)優(yōu)化調(diào)度模型取得了一定的成果,但“維數(shù)災(zāi)”問(wèn)題導(dǎo)致的計(jì)算量及計(jì)算時(shí)間問(wèn)題一直沒(méi)有解決[3]。相較于遺傳算法、神經(jīng)網(wǎng)絡(luò)、蟻群算法等經(jīng)典算法[4],粒子群算法在20世紀(jì)90年代后期才被提出,雖然出現(xiàn)的時(shí)間較晚,但因其較為完備的理論結(jié)構(gòu),高效的全局尋優(yōu)性能以及易于實(shí)現(xiàn)、可移植性強(qiáng)等特點(diǎn)在工程計(jì)算及科學(xué)研究的各個(gè)領(lǐng)域得到廣泛的應(yīng)用[5-6]。本文為研究水庫(kù)發(fā)電中長(zhǎng)期確定型優(yōu)化問(wèn)題,應(yīng)用粒子群算法建立水庫(kù)發(fā)電優(yōu)化調(diào)度模型,并從初始種群生成、尋優(yōu)模式、更新策略等方面對(duì)算法進(jìn)行了改進(jìn),并與標(biāo)準(zhǔn)粒子群算法以及傳統(tǒng)的動(dòng)態(tài)規(guī)劃進(jìn)行了對(duì)比,為水庫(kù)發(fā)電優(yōu)化調(diào)度相關(guān)研究提供算法支持與參考。
由于工程問(wèn)題的復(fù)雜性,根據(jù)應(yīng)用問(wèn)題的實(shí)際背景,水庫(kù)中長(zhǎng)期發(fā)電優(yōu)化調(diào)度模型采用發(fā)電效益(發(fā)電量)最大,即
(1)
式中,T為優(yōu)化模型計(jì)算時(shí)段數(shù);Δt為每個(gè)階段調(diào)度時(shí)段長(zhǎng)度;βt為水庫(kù)第t時(shí)段相應(yīng)的上網(wǎng)電價(jià);Nt(·)為第t時(shí)段的平均出力函數(shù),與水庫(kù)時(shí)段平均發(fā)電流量qt、水庫(kù)平均水頭Ht呈非線性關(guān)系;B為發(fā)電期內(nèi)水庫(kù)所獲得發(fā)電效益。
本模型的約束條件主要包括:水量平衡約束、水位上下限約束、流量約束、出力約束、調(diào)度期期初末水位約束。
粒子群基本原理來(lái)源于對(duì)鳥(niǎo)類群覓食行為的模仿。將優(yōu)化問(wèn)題的某一具體解模擬為高維無(wú)限空間內(nèi)的可以進(jìn)行自由飛行的鳥(niǎo)類,即一個(gè)基本粒子。設(shè)粒子群在一個(gè)n維空間中自由移動(dòng),由N個(gè)粒子組成種群X={X1,X2,…,XN},其中每個(gè)粒子所處的位置Xi={xi1,xi2,…,xin}表示問(wèn)題一個(gè)完整的解。粒子通過(guò)不斷變化自己所處的位置xid來(lái)產(chǎn)生新的解。每個(gè)粒子都記錄下自己曾經(jīng)尋找到過(guò)的最優(yōu)的解,記為pid,所有粒子尋優(yōu)過(guò)程中得到的最優(yōu)解記為pgd,粒子一直處于運(yùn)動(dòng)狀態(tài),其速度記作Vi={vi1,vi2,…,vin}。當(dāng)pid、pgd記錄完畢后,依照下式更新粒子的速度為
vid(t+1)=ωvid(t)+η1rand()(pid-xid(t))+η2rand()(pgd-xid(t))
(2)
xid(t+1)=xid(t)+vid(t+1)
(3)
式中,vid(t+1)為第i個(gè)粒子在t+1次迭代中第d維上的速度分量;ω為慣性權(quán)重;η1、η2為加速常數(shù);rand()為0~1之間的隨機(jī)數(shù)[7]。
慣性權(quán)重ω代表著粒子群迭代尋優(yōu)過(guò)程中,上一代的速度在尋優(yōu)過(guò)程中的保留程度。ω的取值影響著粒子群算法的全局尋優(yōu)能力與局部收斂能力,ω為固定值時(shí),算法很難兼顧全局尋優(yōu)能力與局部收斂能力,使得種群收斂速度過(guò)慢或者陷入局部最優(yōu)解。一般認(rèn)為尋優(yōu)前期慣性權(quán)重ω應(yīng)較大,迭代后期逐漸減小,但關(guān)于尋優(yōu)前期與尋優(yōu)后期的定義尚不明確,關(guān)于ω值的確定亦沒(méi)有確定性的數(shù)學(xué)推導(dǎo)或理論依據(jù)。
本文針對(duì)水庫(kù)優(yōu)化調(diào)度粒子群算法尋優(yōu)過(guò)程的特點(diǎn),根據(jù)尋優(yōu)過(guò)程中適應(yīng)度值變化速度對(duì)慣性權(quán)重ω進(jìn)行調(diào)整,設(shè)計(jì)了一種非線性的慣性權(quán)重調(diào)整量計(jì)算方法,使得慣性權(quán)重ω具有非線性的自適應(yīng)能力。
規(guī)定ω變化的上限值為ωmax,下限值為ωmin,第i個(gè)粒子迭代至第k代時(shí)慣性權(quán)重為
(4)
式中,參數(shù)A=0.01;參數(shù)C=0.2rand();參數(shù)B由該粒子適應(yīng)度值的變化程度決定,記i粒子在第k代的適應(yīng)度值為Particle(i).fitnessk,則B由下式確定
(5)
(6)
標(biāo)準(zhǔn)粒子群算法中初始種群隨機(jī)生成,其隨機(jī)性有可能造成初始解過(guò)度集中于解空間的某一位置,最終導(dǎo)致算法收斂于局部最優(yōu)解,引入均勻設(shè)計(jì)的思想可以較好地解決這一問(wèn)題[8]。均勻設(shè)計(jì)基于均勻表Jn(qs)安排實(shí)驗(yàn),J表示均勻設(shè)計(jì),n為試驗(yàn)次數(shù),q表示試驗(yàn)中每個(gè)因素有q個(gè)水平,s說(shuō)明該表有s列。一般情況下設(shè)計(jì)均勻表時(shí),n=q。Jn(ns)表的生成規(guī)則可參考文獻(xiàn)[9],其中均勻設(shè)計(jì)表中元素Ji,j均滿足1≤Ji,j≤n[10]。
將均勻設(shè)計(jì)的思想引入粒子群算法求解水庫(kù)調(diào)度模型,粒子作為實(shí)驗(yàn)因素,將水位取值范圍離散作為因子水平,種群規(guī)模psize對(duì)應(yīng)于試驗(yàn)次數(shù),調(diào)度時(shí)段t對(duì)應(yīng)于因素個(gè)數(shù),因此初始種群中粒子i的各時(shí)段水位分量可由下式變換得到
(7)
混沌是宇宙間恒定存在的非線性現(xiàn)象,它主要表現(xiàn)為確定性系統(tǒng)中的外在表現(xiàn)出的隨機(jī)不規(guī)則運(yùn)動(dòng)。一個(gè)確定性理論描述的系統(tǒng),其外在表現(xiàn)卻沒(méi)有明顯規(guī)律可遵循,難以對(duì)其進(jìn)行預(yù)測(cè)?;煦绗F(xiàn)象外在呈現(xiàn)出混亂的狀態(tài),但它本身卻具有極其豐富的內(nèi)涵,其主要特質(zhì)如下[11]:
(1)內(nèi)在隨機(jī)性。產(chǎn)生混沌現(xiàn)象的系統(tǒng)本身是確定性的,沒(méi)有任何隨機(jī)量的影響,但系統(tǒng)本身能夠持續(xù)地呈現(xiàn)出與隨機(jī)性高度相似的動(dòng)作與外在表現(xiàn)。
(2)分形性質(zhì)?;煦绗F(xiàn)象具有分形結(jié)構(gòu),即對(duì)于維數(shù)連續(xù)變化的空間,混沌現(xiàn)象能夠以非整數(shù)維形式對(duì)其進(jìn)行填充及分割。
(3)標(biāo)度不變性?;煦绗F(xiàn)象在保持隨機(jī)的同時(shí)表現(xiàn)出一種非周期性的有序,變化過(guò)程中一定程度上遵循從Feigenbaum常數(shù)系。
(4)敏感依賴性?;煦绗F(xiàn)象的演變結(jié)果不可預(yù)測(cè),初始條件有極小的改變或擾動(dòng)都會(huì)使得事物最終表現(xiàn)產(chǎn)生巨大的變化?;煦缈梢詫?duì)一定維度的空間按照自身固有規(guī)律不重復(fù)地遍歷所有狀態(tài),從而被研究者引入優(yōu)化計(jì)算中。Logistic映射是一個(gè)典型的混沌信號(hào)發(fā)生器,其迭代公式為
xi+1=λxi(1-xi)
(8)
式中,xi為變量x在第i次的迭代值;xi+1為變量x在第i+1次的迭代值;λ為控制參量,當(dāng)λ=4,0≤x0≤1時(shí),Logistic完全處于混沌狀態(tài)。
將混沌引入水庫(kù)優(yōu)化調(diào)度粒子群算法尋優(yōu)過(guò)程,即在粒子更新自己的位置后,根據(jù)Logistic映射產(chǎn)生隨機(jī)擾動(dòng),將擾動(dòng)分量載波分解成位置變幅再次更新粒子位置,以增加粒子群算法的局部尋優(yōu)能力,避免陷入局部最優(yōu)解。
令調(diào)度模型調(diào)度期為T,則在算法開(kāi)始時(shí)生成位數(shù)為T維,每個(gè)分量數(shù)值在(0,1)之間的隨機(jī)向量U0=(u01,u02,…,u0j,…,u0T),迭代至第i代時(shí)應(yīng)用Logistic映射得到混沌向量Ui=(ui1,ui2,…,uij,…,uiT),uij=4ui-1(1-ui-1,j)。
將uij的各個(gè)分量根據(jù)下式載波到給定的擾動(dòng)區(qū)間[-α,α],得到水位混沌擾動(dòng)量
ΔZi=(Δzi1,Δzi2,…,Δzij,…,ΔziT)
(9)
Δzij=-α+2αuij
(10)
將水位混沌擾動(dòng)量加載至該代粒子群所得到的水位過(guò)程,選取其中適應(yīng)度值(即發(fā)電量)較大的水位過(guò)程進(jìn)入下一代進(jìn)化[12]。
以我國(guó)某水庫(kù)為例開(kāi)展實(shí)例研究。該水庫(kù)興利庫(kù)容165億m3,庫(kù)容系數(shù)約為4%,具有不完全年調(diào)節(jié)能力。水庫(kù)運(yùn)行約束條件如表1所示。
表1 水庫(kù)運(yùn)行約束條件
以該水庫(kù)入流作為模型輸入進(jìn)行計(jì)算,逐月流量如表2所示。
表2 水庫(kù)逐月入庫(kù)徑流
4.2.1 算法比較方案設(shè)計(jì)
為了驗(yàn)證改進(jìn)粒子群算法的在水庫(kù)發(fā)電優(yōu)化調(diào)度問(wèn)題求解中的性能,本文分別采用基本粒子群算法、改進(jìn)粒子群算法求解模型,并與動(dòng)態(tài)規(guī)劃DP所得到的最優(yōu)解進(jìn)行對(duì)比。
由于群體智能進(jìn)化算法對(duì)種群規(guī)模等參數(shù)初始值設(shè)置不同對(duì)其性能影響較大,因此設(shè)計(jì)了種群規(guī)模Np分別為40、80、120、160的4組由小到大的方案;各方案最大允許進(jìn)化代數(shù)150代;權(quán)重ω采用非線性變權(quán)處理,允許變化范圍[0.2,0.9];學(xué)習(xí)因子采用c1=2、c2=2??紤]到智能進(jìn)化算法計(jì)算結(jié)果由參數(shù)初值隨機(jī)生成導(dǎo)致的結(jié)果的隨機(jī)性,每組方案進(jìn)行20次獨(dú)立計(jì)算后以輸出的均值為最終結(jié)果與其他方法進(jìn)行對(duì)比。
4.2.2 算法的優(yōu)劣評(píng)價(jià)指標(biāo)
除DP外,各算法的每組方案均需進(jìn)行20次獨(dú)立實(shí)驗(yàn),統(tǒng)計(jì)算法20次運(yùn)行結(jié)果的最優(yōu)解、平均解、解的均方差、解的均值與最優(yōu)值(DP計(jì)算結(jié)果)的相對(duì)誤差、迭代計(jì)算機(jī)耗時(shí)。
應(yīng)用基本粒子群算法、改進(jìn)粒子群算法、動(dòng)態(tài)規(guī)劃求解某水庫(kù)發(fā)電優(yōu)化調(diào)度模型,所得各算法評(píng)價(jià)指標(biāo)計(jì)算結(jié)果如表3所示。
表3 各算法評(píng)價(jià)指標(biāo)計(jì)算結(jié)果
以各個(gè)算法多次運(yùn)算所得結(jié)果中電能最接近各次結(jié)果中值時(shí)的解為代表解,對(duì)各個(gè)水位過(guò)程線以及適應(yīng)度進(jìn)化過(guò)程進(jìn)行比較。圖1、2分別為種群規(guī)模為40、160時(shí),不同算法所得到的水位過(guò)程線。圖3、4分別為種群規(guī)模為40、160時(shí),不同算法所得到的適應(yīng)度進(jìn)化過(guò)程線。
圖1 各算法水位過(guò)程線(種群規(guī)模40)
圖2 各算法水位過(guò)程線(種群規(guī)模160)
圖3 各算法進(jìn)化過(guò)程線(種群規(guī)模40)
圖4 各算法進(jìn)化過(guò)程線(種群規(guī)模160)
分析以上圖表,可以得出如下結(jié)論:
(1)以0.01 m為水位離散網(wǎng)格精度的動(dòng)態(tài)規(guī)劃所求解必定為全局最優(yōu)解。雖然以年為調(diào)度期、月為調(diào)度時(shí)段,已經(jīng)極大地精簡(jiǎn)了系統(tǒng)的狀態(tài)數(shù)目,但維數(shù)災(zāi)的問(wèn)題仍使得計(jì)算時(shí)間高達(dá)2 231.25 s。粒子群及改進(jìn)粒子群算法雖然具有隨機(jī)性以及陷入局部最優(yōu)解等缺陷,但本問(wèn)題中各算法收斂結(jié)果與動(dòng)態(tài)規(guī)劃得到的全局最優(yōu)解相差不大,水位過(guò)程線整體相似,并隨著種群規(guī)模的增大不斷趨近于最優(yōu)過(guò)程線,而其計(jì)算時(shí)間均低于動(dòng)態(tài)規(guī)劃計(jì)算時(shí)間長(zhǎng)度的二十分之一。因此研究水庫(kù)發(fā)電優(yōu)化調(diào)度粒子群算法具有一定的應(yīng)用價(jià)值。
(2)基本粒子群算法經(jīng)過(guò)多次尋優(yōu)能夠較接近最優(yōu)解,但算法收斂性仍不夠穩(wěn)定。初始種群規(guī)模從40增長(zhǎng)至160的過(guò)程中算法最優(yōu)解與模型理論最優(yōu)解差異程度逐漸減小,但解的標(biāo)準(zhǔn)差仍大于1億kW·h,最劣解與目標(biāo)解差值超過(guò)3億kW·h;由適應(yīng)度進(jìn)化過(guò)程線可以看出,算法在迭代中期適應(yīng)度值便收斂于某一局部最優(yōu)解不再增加,在進(jìn)化代數(shù)足夠多的情況下仍無(wú)法跳出局部最優(yōu)解,這種缺陷限制了基本粒子群模型的進(jìn)一步推廣應(yīng)用。
(3)改進(jìn)粒子群算法所得電能與理論最優(yōu)值差異較小,尋優(yōu)能力明顯強(qiáng)于基本粒子群算法,且多次尋優(yōu)計(jì)算電能方差較小,說(shuō)明算法尋優(yōu)效果穩(wěn)定,收斂性較好;對(duì)比分析適應(yīng)度進(jìn)化過(guò)程線可得,改進(jìn)粒子群算法的適應(yīng)度值在迭代過(guò)程前期便已迅速超過(guò)基本粒子群算法,并一直保持至尋優(yōu)過(guò)程結(jié)束得到全局最優(yōu)解,說(shuō)明改進(jìn)粒子群算法全局收斂及局部尋優(yōu)能力均高于基本粒子群算法。主要原因在于基于均勻設(shè)計(jì)的初始種群基本覆蓋了整個(gè)解空間的各個(gè)區(qū)域,避免了在解空間某一局部地區(qū)過(guò)度集中的風(fēng)險(xiǎn),因此對(duì)于初始種群數(shù)目的敏感度較低,初始種群數(shù)目較少時(shí)全局尋優(yōu)性能良好;非線性慣性權(quán)重的變化方式以及混沌擾動(dòng)都使得算法能夠及時(shí)跳出局部最優(yōu)解。
(4)改進(jìn)粒子群算法在粒子群規(guī)模大于120時(shí),多次尋優(yōu)所得結(jié)果均值與動(dòng)態(tài)規(guī)劃所得的最優(yōu)值的相對(duì)誤差計(jì)算值為0.00%,一般情況下改進(jìn)粒子群算法均可以收斂至最優(yōu)解;初始種群規(guī)模160時(shí)計(jì)算平均耗時(shí)76 s,不對(duì)實(shí)際應(yīng)用產(chǎn)生負(fù)面影響。
綜上所述,粒子群及其改進(jìn)算法在水庫(kù)發(fā)電優(yōu)化調(diào)度中應(yīng)用效果良好,綜合考慮算法收斂能力、穩(wěn)定性及計(jì)算耗時(shí)等指標(biāo),改進(jìn)粒子群算法具有較高的實(shí)用價(jià)值。
本文將粒子群極其改進(jìn)算法引入水庫(kù)確定型優(yōu)化調(diào)度模型求解問(wèn)題,主要結(jié)論如下:
(1)研究了水庫(kù)發(fā)電調(diào)度模型粒子群算法設(shè)計(jì),針對(duì)算法自身的缺陷以及水庫(kù)調(diào)度問(wèn)題求解中可能暴露出來(lái)的問(wèn)題,將均勻設(shè)計(jì)理念和混沌理念分別引入粒子群算法并對(duì)慣性權(quán)重進(jìn)行了非線性自適應(yīng)設(shè)計(jì),建立了改進(jìn)粒子群算法。
(2)以我國(guó)某水庫(kù)為例建立了水庫(kù)發(fā)電優(yōu)化調(diào)度模型并采用動(dòng)態(tài)規(guī)劃方法、標(biāo)準(zhǔn)粒子群算法、改進(jìn)粒子群算法進(jìn)行求解。
(3)與動(dòng)態(tài)規(guī)劃方法相比較,粒子群及改進(jìn)粒子群算法較好地克服了維數(shù)災(zāi)的問(wèn)題,計(jì)算時(shí)間大幅度減??;改進(jìn)的粒子群算法相比于標(biāo)準(zhǔn)粒子群算法極大地提高了算法的尋優(yōu)能力和穩(wěn)定性。