丁相毅 張博
摘要:為提高梯級電站的綜合效益、獲得較優(yōu)的調(diào)度方案,建立了基于改進(jìn)鯰魚效應(yīng)粒子群算法(CE-PSO)的梯級電站優(yōu)化調(diào)度模型,針對鯰魚效應(yīng)粒子群算法在制作鯰魚粒子時容易陷入局部加速的局限性,考慮到鯰魚粒子的空間分布位置對改善粒子的多樣性具有重要影響,嘗試通過一定的途徑將鯰魚粒子均勻分布于整個搜索空間,提高種群的搜索效率,彌補(bǔ)CE-PSO算法容易陷入局部加速的局限性。將改進(jìn)后的算法應(yīng)用于某河流梯級電站的優(yōu)化調(diào)度,結(jié)果表明,改進(jìn)后的鯰魚效應(yīng)粒子群優(yōu)化算法與標(biāo)準(zhǔn)PSO和CE-PSO相比,在全局搜索能力和收斂速度方面均有改善。
關(guān)鍵詞:優(yōu)化調(diào)度;多目標(biāo)粒子群;鯰魚效應(yīng);均勻分布;梯級水電站
中圖分類號:TV737;TV697.1+2
文獻(xiàn)標(biāo)志碼:A
doi: 10.3969/j.issn.1000-1379.2018.04.031
梯級水電站優(yōu)化調(diào)度是水資源系統(tǒng)優(yōu)化的重要內(nèi)容,科學(xué)合理的水電站調(diào)度方案對提高水資源利用效率和效益以及供電可靠性具有重要作用。對于梯級電站來說,其優(yōu)化調(diào)度綜合考慮了上下游不同水庫間的水力聯(lián)系及補(bǔ)償作用,具有非線性、動態(tài)、多維等特點(diǎn)。目前國內(nèi)外對梯級電站的優(yōu)化調(diào)度研究較多,多目標(biāo)決策、模糊數(shù)學(xué)、遺傳算法、人工神經(jīng)網(wǎng)絡(luò)等許多算法得到了成功應(yīng)用。其中:胡鐵松等以人工神經(jīng)網(wǎng)絡(luò)為例,分析了訓(xùn)練方法、優(yōu)化參數(shù)的改變對訓(xùn)練結(jié)果和應(yīng)用效果的影響,提出了研究水庫群優(yōu)化調(diào)度函數(shù)的人工神經(jīng)網(wǎng)絡(luò)方法:胡國強(qiáng)等提出一種以年發(fā)電量和一級水電站耗水量為優(yōu)化目標(biāo)的梯級水電站多目標(biāo)長期優(yōu)化調(diào)度模型:吳成國等3針對群體智能優(yōu)化算法在梯級水電站優(yōu)化調(diào)度中存在大量約束條件不易處理和“維數(shù)災(zāi)”的問題,將加速遺傳算法應(yīng)用于梯級水電站的優(yōu)化,通過“分類假設(shè)”的思路尋找可行決策空間,解決了大量復(fù)雜約束條件下的“維數(shù)災(zāi)”問題。
針對標(biāo)準(zhǔn)粒子群算法易陷入局部最優(yōu)、收斂速度慢等缺點(diǎn),紀(jì)昌明等提出了基于鯰魚效應(yīng)的粒子群優(yōu)化算法(CE-PSO),并在梯級電站優(yōu)化調(diào)度方面取得了一定的成果。但這種算法沒有考慮鯰魚粒子的空間分布位置對優(yōu)化效率的影響,在引入鯰魚粒子對沙丁魚粒子加速的過程中,容易陷入局部加速的困境。基于此,本文嘗試通過改變鯰魚粒子空間位置的方法改善鯰魚效應(yīng)粒子群算法的驅(qū)趕作用,進(jìn)而提高整個種群的優(yōu)化效率。
1 梯級電站優(yōu)化調(diào)度模型
1.1 目標(biāo)函數(shù)
發(fā)電量是衡量電站效益的重要指標(biāo)之一,合理優(yōu)化梯級電站的用水過程對提高電站發(fā)電量具有積極作用。因此,以發(fā)電量最大為目標(biāo)函數(shù),建立梯級電站優(yōu)化調(diào)度模型。發(fā)電量的數(shù)學(xué)表達(dá)式為式中:F為電站總發(fā)電量,kW.h:n為調(diào)度時段數(shù);m為電站個數(shù);Nit為i電站在t時段的出力,kW;△t為計(jì)算時段,h;Hit為i電站在t時段的水頭,m;Qit為i電站在t時段的發(fā)電流量,m3/s;η為出力系數(shù)。
1.2 約束條件
(1)水量平衡約束。表達(dá)式為式中:vit和vi,i+1,分別為水庫i在t時段初和t時段末的蓄水量,m3;Fit、Qit和Sit分別為水庫i在t時段的入庫流量、發(fā)電流量和棄水流量,m3/s。
(2)電站出力約束。表達(dá)式為式中:Nmin和Nmaxit分別為i電站t時段的出力下限和出力上限,kW。
(3)蓄水量約束。表達(dá)式為式中:vminit和vmaxit分別為i水庫f時段最小和最大蓄水量,m3。
(4)下泄流量約束。表達(dá)式為式中:qminit和qmaxit分別為水庫下泄流量的下限和上限,m3/s。
2 鯰魚效應(yīng)粒子群算法
2.1 鯰魚效應(yīng)粒子群算法原理
2.1.1 PSO算法
粒子群優(yōu)化算法(PSO)是模擬鳥群覓食行為而提jLI_:的一種智能優(yōu)化算法,最初由JamesKennedy和Russell Eberhart提出,很快得到廣泛應(yīng)用。但是這種算法存在早熟收斂和搜索能力不強(qiáng)的缺陷,因此基于這種算法的改進(jìn)算法比較常見。其中,將PSO算法與其他算法結(jié)合是改進(jìn)的重要趨勢,包括將選擇、交叉、變異等算子引入PSO算法。比如,Angeline將選擇算子引入PSO算法,為確保每次迭代后的粒子群都具有較好的性能,在優(yōu)化過程中總是選擇迭代后的較好粒子來復(fù)制下一代:交叉是按照一定的幾率交換粒子群之間各維數(shù)據(jù)的改進(jìn)方法,通過交叉重組產(chǎn)生子代,實(shí)現(xiàn)改善粒子群性能的目的:變異算子的引入是為了克服早熟收斂的缺陷,利用變異算子幫助粒子群跳出局部極值點(diǎn),提高PSO算法的全局搜索能力。
2.1.2 鯰魚效應(yīng)粒子群算法
“鯰魚效應(yīng)”是經(jīng)濟(jì)學(xué)中廣泛應(yīng)用的一種激勵機(jī)制,來源于鯰魚對沙丁魚群的驅(qū)趕作用。鯰魚效應(yīng)的實(shí)質(zhì)是巧妙地利用一定的措施或手段激發(fā)企業(yè)參與競爭的積極性,實(shí)現(xiàn)活躍市場的目的。鯰魚效應(yīng)粒子群算法(CE-PSO)充分利用鯰魚效應(yīng)的驅(qū)趕機(jī)制,通過鯰魚粒子對沙丁魚粒子的驅(qū)趕作用實(shí)現(xiàn)整個種群的多樣性,彌補(bǔ)了粒子群容易陷入局部最優(yōu)的缺陷。但鯰魚粒子對沙丁魚粒子的驅(qū)趕作用與距離有關(guān),當(dāng)沙丁魚粒子與鯰魚粒子相距較遠(yuǎn)時,其驅(qū)趕作用就會減弱,不利于整個種群多樣性的改善。此外,當(dāng)鯰魚粒子的空間分布比較集中時,也會限制鯰魚粒子對沙丁魚粒子驅(qū)趕作用的發(fā)揮?;诖?,本文對CE-PSO算法進(jìn)行改進(jìn),嘗試通過定義鯰魚粒子驅(qū)趕范圍和改變鯰魚粒子空間分布位置的策略提高粒子群的性能。
2.1.3 鯰魚效應(yīng)粒子群算法的改進(jìn)
(1)對遠(yuǎn)距離加速作用不明顯的改進(jìn)。鯰魚粒子對沙丁魚粒子的驅(qū)趕作用與距離成正比,為解決遠(yuǎn)距離加速作用不明顯的缺陷,嘗試通過定義驅(qū)趕半徑的方法保證鯰魚粒子對沙丁魚粒子較強(qiáng)的驅(qū)趕作用。
(2)對空間分布位置的改進(jìn)。鯰魚粒子的空間位置對改善離子種群的多樣性具有重要作用。CE-PSO算法把當(dāng)前種群中適應(yīng)性最強(qiáng)的沙丁魚粒子作為鯰魚粒子。當(dāng)連續(xù)多代中適應(yīng)性最強(qiáng)的粒子是同一個粒子時,如果不改變鯰魚粒子的空間位置,則該鯰魚粒子始終對固定范圍內(nèi)的沙丁魚粒子起加速作用,存在加速的局限性?;诖?,嘗試通過改變鯰魚粒子空間位置的方法使鯰魚粒子均勻分布于整個搜索空間中,解決CE-PSO算法加速的局限性。具體流程為:當(dāng)粒子群的多樣性不滿足要求時,鯰魚啟發(fā)器就會被驅(qū)動,制作出的鯰魚粒子會驅(qū)趕沙丁魚粒子,如果粒子種群的多樣性仍然不滿足要求,繼續(xù)制作鯰魚粒子,并定義統(tǒng)計(jì)量sum記錄引入鯰魚粒子的數(shù)量。如此反復(fù)迭代,直到沙丁魚粒子的種群多樣性滿足要求。值得注意的是,當(dāng)鯰魚粒子的數(shù)量大于等于2時,就需要考慮鯰魚粒子的空間位置對沙丁魚粒子驅(qū)趕作用的影響,并確保每次制作鯰魚粒子重新調(diào)整鯰魚粒子的空間位置。
(3)驅(qū)趕半徑及鯰魚粒子空間位置的定義。驅(qū)趕半徑是鯰魚粒子對沙丁魚粒子驅(qū)趕范圍的動態(tài)變量,其隨著引入鯰魚粒子數(shù)量的變化而變化。假設(shè)在整個迭代過程中共引進(jìn)m個鯰魚粒子,搜索空間的半徑為R,則驅(qū)趕半徑r的確定方法為:首先,假設(shè)鯰魚粒子的搜索范圍是n維坐標(biāo)空間中的規(guī)則球體,且每個鯰魚粒子的驅(qū)趕半徑r是相同的:其次,將m個大小完全相同的球體放在搜索空間中,確保搜索空間完全被m個球體占滿:最后,第i個球體的球心位置即為第i個鯰魚粒子的空間位置。搜索空間的半徑按照體積等換的方法確定,假設(shè)m個鯰魚粒子將搜索空間均分為m個部分,則任意一個球體的體積可近似表示為v=1/mv:根據(jù)體積等換的原理則有1/mv=4/3π3,經(jīng)簡化得r=3√1/mR。
假設(shè)引入2個虛擬粒子后種群的多樣性滿足要求,為了提高驅(qū)趕效率,重新分配鯰魚粒子的位置,鯰魚粒子位置變化前后對比見圖1。
2.2 改進(jìn)CE-PSO算法在水資源優(yōu)化配置中的實(shí)現(xiàn)步驟
用xmn表示任一個粒子Xj在空間中的位置,設(shè)粒子的搜索空間為Q,種群個數(shù)為S。當(dāng)粒子群的多樣性滿足要求時,達(dá)到終止條件,跳出循環(huán)停止搜索。鯰魚效應(yīng)粒子群算法在水資源優(yōu)化配置中的應(yīng)用步驟(圖2)如下。
(1)初始化粒子群。判斷空間粒子是否滿足水資源優(yōu)化配置的初始條件,對滿足初始條件的Ⅳ個粒子進(jìn)行初始化,并將其命名為沙丁魚粒子。
(2)計(jì)算粒子的適應(yīng)度。直接把目標(biāo)函數(shù)作為鯰魚效應(yīng)粒子群優(yōu)化算法的適應(yīng)度計(jì)算公式,按照式(1)計(jì)算粒子的適應(yīng)度f(Xj),記錄粒子的局部極值pbest和全局極值gbest。
(3)判斷種群的多樣性是否滿足要求。設(shè)種群的多樣性閾值為ξ,則當(dāng)ξ(k)>ξ時,說明種群的多樣性滿足要求,這時直接按照標(biāo)準(zhǔn)PSO算法更新粒子的速度和位置(式(10)和式(11));當(dāng)ξ(k)<ξ時,說明種群的多樣性不滿足要求,種群容易陷入局部最優(yōu),需要引入鯰魚粒子,激發(fā)粒子的多樣性,提高粒子的全局搜索能力。
當(dāng)進(jìn)化到第k代時,種群多樣性的判別公式為式中:div是計(jì)算種群多樣性的中間變量,div(k)表示第k代粒子的多樣性,div(0)表示初始多樣性;xjit為i電站t時段第i個粒子的位置;Xgbestit為粒子群搜索到的全局最優(yōu)解位置;bit和ait分別為xjit的上限和下限,即i電站t時段出力的上限和下限。
(4)利用鯰魚效應(yīng)更新粒子的速度和位置。根據(jù)CE-PSO算法原理,直接將當(dāng)前沙丁魚種群中適應(yīng)度最大的粒子設(shè)置為鯰魚粒子。此時,沙丁魚粒子受到鯰魚粒子的驅(qū)趕,按照式(9)和式(10)更新速度和位置,鯰魚粒子按照標(biāo)準(zhǔn)PSO算法更新自己的速度和位置。當(dāng)引入一個鯰魚粒子不足以驅(qū)動整個粒子種群的多樣性時,繼續(xù)引入鯰魚粒子、調(diào)整其空間位置,使所有引入的鯰魚粒子能夠均勻分布于整個搜索空間中。記錄引入鯰魚粒子的數(shù)量,直到種群的多樣性滿足要求,停止引入鯰魚粒子。CE-PSO算法和標(biāo)準(zhǔn)PSO算法的迭代公式為式(9)~式(11)。式中:w為慣性權(quán)重,它的大小表示粒子對當(dāng)前速度繼承的多少;c1、c2為學(xué)習(xí)因子,取值為正整數(shù),r1、r2是0~1之間均勻分布的隨機(jī)數(shù);ci、si分別表示鯰魚粒子和沙丁魚粒子:k為進(jìn)化迭代次數(shù);v表示粒子i在空間中的飛行速度,粒子的飛行速度對算法的全局收斂性影響較大,當(dāng)飛行速度過大時,粒子以較快的速度飛向全局最優(yōu)解的臨近區(qū)域,但容易飛越最優(yōu)解,當(dāng)飛行速度過小時,就會存在收斂速度慢、飛行時間長、不易找到全局最優(yōu)解的缺陷;xjpbestit為粒子j搜索到的局部最優(yōu)解位置:xjpbestit為粒子j搜索到的全局最優(yōu)解位置:/為iXt分量上與j沙丁魚粒子距離最小的鯰魚粒子的編號,其意義為沙丁魚粒子被離它最近的鯰魚粒子驅(qū)趕,具體的計(jì)算公式為I={k|minb(xckj-Xsij)};P為跨度,最大數(shù)據(jù)與最小數(shù)據(jù)的差值;Q=A/P,A是一正整數(shù),其取值根據(jù)仿真優(yōu)化確定:Sta為二元狀態(tài)變量,其作用是判別沙丁魚粒子是否受到鯰魚粒子的驅(qū)趕,當(dāng)子代的適應(yīng)度小于父代的適應(yīng)度時,Sta賦值為1,表示沙丁魚粒子受鯰魚粒子的驅(qū)趕,反之,Sta賦值為0,表示沙丁魚粒子不受鯰魚粒子的驅(qū)趕,按照標(biāo)準(zhǔn)PSO算法更新速度和位置。
Sta的計(jì)算公式為
(5)當(dāng)沙丁魚種群的多樣性滿足要求時,迭代結(jié)束,終止運(yùn)算。
3 實(shí)例分析
某河流建有A、B兩座水電站,A為年調(diào)節(jié)電站,B為日調(diào)節(jié)電站,兩座電站都有區(qū)間人流,電站參數(shù)見表1。
模型參數(shù)取值:粒子總數(shù)N設(shè)為25(小于15會導(dǎo)致局部收斂,大于25規(guī)模的增大對優(yōu)化效率的提高不顯著),推薦學(xué)習(xí)因子c1、c2均設(shè)為2.0,種群相對多樣性閾值設(shè)為0.4。
為了對比模型的實(shí)用性和有效性,分別采用標(biāo)準(zhǔn)PSO、標(biāo)準(zhǔn)CE-PSO和改進(jìn)的CE-PSO計(jì)算梯級電站的發(fā)電量,結(jié)果見表2。
由表2可以看出,相比CE-PSO和改進(jìn)的CE-PSO,標(biāo)準(zhǔn)PSO算法的年發(fā)電量明顯較小,說明引人鯰魚粒子后,粒子種群的多樣性得到了很好的改善。改進(jìn)的CE-PSO相比標(biāo)準(zhǔn)CE-PSO性能有所提升,盡管提升不是很大,但具有一定的積極作用。
4 結(jié)論
梯級水電站優(yōu)化調(diào)度是合理利用水資源、提高用水效率的重要方法,是緩解水資源短缺現(xiàn)狀、推動水資源可持續(xù)利用的重要途徑。本文針對鯰魚效應(yīng)粒子群算法在發(fā)揮鯰魚粒子驅(qū)趕作用中存在的不足,對鯰魚效應(yīng)粒子群算法進(jìn)行改進(jìn),認(rèn)為鯰魚粒子的空間位置對提高種群多樣性具有重要影響,提出均勻分布鯰魚粒子空間位置的思想。為了驗(yàn)證改進(jìn)CE-PSO算法的可行性和實(shí)用性,將標(biāo)準(zhǔn)PSO算法、CE-PSO算法和改進(jìn)的CE-PSO算法應(yīng)用于某河流梯級水電站優(yōu)化調(diào)度,結(jié)果表明CE-PSO算法和改進(jìn)的CE-PSO算法均比標(biāo)準(zhǔn)PSO算法搜索效率高,而改進(jìn)的CE-PSO算法相比CE-PSO算法搜索效果更好,說明改進(jìn)的CE-PSO算法能夠較好地解決粒子群優(yōu)化算法“早熟收斂”的問題,對提高種群多樣性具有積極作用。