顧起豪,張雙虎,劉 吟,王 丹,2
(1.中國水利水電科學(xué)研究院 水資源所,北京 100038;2.大連理工大學(xué),遼寧 大連 116024)
水庫優(yōu)化調(diào)度特別是發(fā)電優(yōu)化調(diào)度是一個(gè)多階段、強(qiáng)約束、非線性的組合優(yōu)化問題[1],水庫優(yōu)化調(diào)度模型求解方法始終是水庫優(yōu)化調(diào)度研究的熱點(diǎn)。目前,求解水庫調(diào)度模型的方法有兩種:一種是以線性規(guī)劃(LP)、動(dòng)態(tài)規(guī)劃[2-4](DP)為代表的傳統(tǒng)優(yōu)化方法。該類方法的缺點(diǎn)是效率和精度難以兼顧,容易陷入“維數(shù)災(zāi)”。因此,專家學(xué)者提出了很多降維方法,例如:耦合KL理論與調(diào)度特征的降維方法[5]、逐步優(yōu)化算法(POA)[6]、離散梯度逐步優(yōu)化算法(DGPOA)[7]、三層并行逐步優(yōu)化算法[8]、雙層動(dòng)態(tài)規(guī)劃算法(BDSP)[9]等。另一種是基于生物學(xué)、物理學(xué)和人工智能的具有全局優(yōu)化性能、穩(wěn)健性強(qiáng)、通用性強(qiáng)且適于并行處理的現(xiàn)代啟發(fā)式算法[10],如改進(jìn)粒子群算法[11-13]、混沌優(yōu)化算法[14]、狼群算法[15]、群居蜘蛛優(yōu)化算法[16]、改進(jìn)遺傳算法[17]等?,F(xiàn)代啟發(fā)式算法魯棒性強(qiáng),在一定程度克服了傳統(tǒng)算法的求解效率低的缺點(diǎn)。但這些算法以模擬自然界的生物進(jìn)化或動(dòng)物運(yùn)動(dòng)為主,無明確的物理背景。
風(fēng)驅(qū)動(dòng)優(yōu)化算法(Wind Driven Optimization,WDO)是由 Zikri Bayraktar等[18]在 2010年提出的模擬空氣運(yùn)動(dòng)的一種優(yōu)化算法。空氣中的任何一微小部分可以視為點(diǎn),簡稱為“空氣質(zhì)點(diǎn)”。空氣質(zhì)點(diǎn)在外力的作用下,相互影響相互作用,朝著同一方向運(yùn)行,當(dāng)氣壓達(dá)到平衡時(shí)不再運(yùn)動(dòng),該位置可以理解為最優(yōu)解??諝膺\(yùn)動(dòng)過程中,每個(gè)空氣質(zhì)點(diǎn)位置組合可以認(rèn)為一個(gè)是候選解,空氣質(zhì)點(diǎn)的運(yùn)動(dòng)軌跡就是尋優(yōu)的過程。WDO算法的核心是研究空氣質(zhì)點(diǎn)在大氣中的受力運(yùn)動(dòng)情況,并結(jié)合牛頓第二定律及理想氣體狀態(tài)方程,推導(dǎo)出空氣質(zhì)點(diǎn)在每次迭代中的速度和位置更新方程[19]。算法中的每一項(xiàng)都具有明確完整的物理意義,在實(shí)際運(yùn)用中更加簡便、容易理解。近幾年,風(fēng)驅(qū)動(dòng)優(yōu)化算法已經(jīng)被廣泛應(yīng)用到電磁優(yōu)化[20-22]、醫(yī)學(xué)[23]、人工智能[24]、遙感[25]等領(lǐng)域,但尚未在水庫優(yōu)化調(diào)度領(lǐng)域中得到運(yùn)用。
本文對WDO在水庫優(yōu)化調(diào)度模型求解中的應(yīng)用進(jìn)行了詳細(xì)的闡述,并提出通過加入擾動(dòng)策略解決WDO后期收斂速度慢、容易陷入局部最優(yōu)解的缺陷,通過引入空間壓縮機(jī)制提高模型求解效率,并將該算法應(yīng)用到某水庫發(fā)電優(yōu)化調(diào)度模型求解中。
根據(jù)牛頓第二運(yùn)動(dòng)定律,作用在空氣質(zhì)點(diǎn)上的合力與運(yùn)動(dòng)加速度關(guān)系如式(1)所示,且加速度和合力的方向始終保持一致。
式中:ρ為空氣密度;為加速度;為施加在空氣質(zhì)點(diǎn)i方向上的力。
作用于大氣的力包括真實(shí)力和視示力。真實(shí)力又包括氣壓梯度力、萬有引力和摩擦力;視示力主要是科氏力??剖狭Σ蛔龉?,只改變空氣質(zhì)點(diǎn)運(yùn)動(dòng)方向,是地球自轉(zhuǎn)效應(yīng)的反映。
(1)氣壓梯度力是空氣運(yùn)動(dòng)的最基本力,氣壓梯度力合力可以表示為:
式中:m為空氣質(zhì)點(diǎn)質(zhì)量;ρ為氣體密度;δV為空氣質(zhì)點(diǎn)體積;?p為氣壓梯度;“-”表示從高壓指向低壓運(yùn)動(dòng)。
(2)空氣質(zhì)點(diǎn)之間的摩擦力非常復(fù)雜,簡化如下:
式中:κ為摩擦系數(shù);u為速度矢量;“-”表示摩擦力與運(yùn)動(dòng)方向相反。(3)空氣質(zhì)點(diǎn)的重力是垂直與地球表面方向的力,可以表示為:
(4)科里奧氏力是指由于地球自轉(zhuǎn)而使空氣質(zhì)點(diǎn)運(yùn)行發(fā)生偏轉(zhuǎn)的力??剖狭Σ蛔龉Γ桓淖冞\(yùn)動(dòng)方向,可以表示為:
式中Ω為地球自轉(zhuǎn)的角速度。
根據(jù)理想氣體狀態(tài)方程p=ρRT,有
式中:p為氣體壓強(qiáng);R為干空氣比氣體常數(shù);T為理想氣體的熱力學(xué)溫度。
令 Δt=1,δV=1,,并把式(2)—式(6)帶入式(1),等式兩邊同時(shí)除以ρ,則有:
設(shè)ut、ut+1分別為空氣質(zhì)點(diǎn)在t、t+1時(shí)刻的速度,則Δu=ut+1-ut。根據(jù)牛頓第二運(yùn)動(dòng)定律的“瞬時(shí)性”特點(diǎn),即加速度和力同時(shí)產(chǎn)生、同時(shí)變化、同時(shí)消失,則式(7)可轉(zhuǎn)化為:
氣壓梯度力的方向從高壓指向低壓。定義目前為止空氣質(zhì)點(diǎn)最小壓強(qiáng)為popt,即群體當(dāng)前最優(yōu)解,與之對應(yīng)的空氣質(zhì)點(diǎn)位置為xopt。根據(jù)氣壓梯度公式定義,空氣質(zhì)點(diǎn)當(dāng)前位置與最優(yōu)位置的氣壓梯度關(guān)系如下:
根據(jù)文獻(xiàn)[21],
把式(9)和式(10)帶入式(8),則有:
為避免氣體壓力過大,影響模型穩(wěn)定性,用壓強(qiáng)大小排序來代替實(shí)際壓力值,popt為1,pt為j;
設(shè)RT=α,-2ΩRT=β;科氏力是一種慣性力,為刻畫空氣質(zhì)點(diǎn)當(dāng)前速度受其它維度速度的影響,用近似代替ut,則式(11)可改寫為下式:
式(12)是空氣質(zhì)點(diǎn)運(yùn)動(dòng)速度更新公式。位置更新公式如下:
本文建立了兼顧保證出力的發(fā)電量最大為目標(biāo)的水庫優(yōu)化調(diào)度模型。即在調(diào)度期內(nèi)根據(jù)歷史來水過程或預(yù)報(bào)來水過程,考慮各約束條件,在保證各時(shí)段出力不小于電站保證出力的前提下,尋找水庫運(yùn)行調(diào)度過程,以達(dá)到年發(fā)電量最大的目標(biāo)。具體目標(biāo)函數(shù)如下:
式中:Nt為水電站出力;k為出力系數(shù);Qt為t時(shí)段發(fā)電流量;Ht為t時(shí)段發(fā)電水頭;T為調(diào)度期內(nèi)時(shí)段數(shù);Δt為每個(gè)計(jì)算時(shí)段內(nèi)的小時(shí)數(shù)。
主要約束條件包括:
4.1 算法設(shè)計(jì) WDO算法可以描述為一個(gè)由M個(gè)空氣質(zhì)點(diǎn)組成的群體在D維空間內(nèi)運(yùn)行。速度矩陣U、位置矩陣Z如下:
WDO在水庫優(yōu)化調(diào)度模型求解時(shí),空氣質(zhì)點(diǎn)數(shù)可以用來描述初始解的個(gè)數(shù),空氣質(zhì)點(diǎn)運(yùn)動(dòng)空間維數(shù)可以用來描述水庫優(yōu)化調(diào)度求解時(shí)段,速度矩陣U可以用來描述迭代求解過程中水位或庫容的變化,位置矩陣Z可以用來描述迭代求解過程中某一狀態(tài)下的水位或庫容。按照一定的隨機(jī)方法可以生成M個(gè)庫容變化向量和初始庫容向量,。
WDO算法速度更新公式共有4項(xiàng),其中前3項(xiàng)決定速度更新大小和方向,根據(jù)科氏力定義,第4項(xiàng)只改變速度方向、不改變速度大小。WDO算法在求解水庫優(yōu)化調(diào)度時(shí),先根據(jù)式(12)計(jì)算前3項(xiàng)計(jì)算速度即時(shí)段末的庫容變化量,再根據(jù)這一庫容變化后相鄰前后時(shí)段是否有棄水,動(dòng)態(tài)調(diào)整λ。庫容變化更新公式如式(18)所示,時(shí)段末水位更新公式如式(19)所示,λ計(jì)算公式如式(20)所示:
式中f(·)為根據(jù)時(shí)段初、時(shí)段末庫容計(jì)算發(fā)電棄水函數(shù)。
4.2 算法改進(jìn) 針對風(fēng)驅(qū)動(dòng)算法求解優(yōu)化問題存在的易于陷入早熟和搜索效率不高的缺點(diǎn),本文主要從以下兩個(gè)方面進(jìn)行改進(jìn)。
(1)空間壓縮。水庫優(yōu)化調(diào)度求解是一個(gè)強(qiáng)約束、序貫決策過程,當(dāng)前的決策不僅影響到當(dāng)前時(shí)段效益,還影響到下一時(shí)段效益。在用智能優(yōu)化算法求解水庫優(yōu)化調(diào)度模型時(shí),經(jīng)常會(huì)生成大量的不可行解,導(dǎo)致模型求解效率不高。為此,引入空間壓縮策略來提高模型求解效率??臻g壓縮方法的核心思想是:在求解過程中,根據(jù),考慮各種約束,計(jì)算滿足約束條件的上下限,并根據(jù)下式計(jì)算約束更新后的庫容:
在進(jìn)行空間壓縮時(shí),采用奇偶相間的方式來更新庫容向量,即進(jìn)行第i+1代庫容序列更新時(shí),只對奇數(shù)時(shí)段末的庫容進(jìn)行更新;進(jìn)行第i+2代庫容序列更新時(shí),只對偶數(shù)時(shí)段末的庫容進(jìn)行更新,依次來更新提高模型求解效率。水庫優(yōu)化調(diào)度求解空間壓縮示意圖如圖1所示。
圖1 水庫優(yōu)化調(diào)度模型求解空間壓縮示意圖
(2)擾動(dòng)。在室內(nèi)放一個(gè)氣球,氣球在經(jīng)歷一系列運(yùn)動(dòng)后會(huì)飄在空中靜止,此時(shí)氣球達(dá)到平衡狀態(tài),處于當(dāng)前最佳位置。若在氣球任一方向上稍微加一點(diǎn)力,氣球即會(huì)重新開始運(yùn)動(dòng),直到達(dá)到新的平衡狀態(tài),處于新的最佳位置,這就是擾動(dòng)的原理。
WDO在求解水庫優(yōu)化調(diào)度模型時(shí),若連續(xù)多代適應(yīng)度值變化不大,則可以認(rèn)為是陷入早熟。對當(dāng)前最優(yōu)適應(yīng)度值對應(yīng)的庫容向量中的任一個(gè)時(shí)段蓄水狀態(tài)進(jìn)行擾動(dòng),且隨著迭代次數(shù)的增加,擾動(dòng)量要逐漸減少。為此構(gòu)建以下擾動(dòng)量計(jì)算函數(shù):
式中:ε為擾動(dòng)量;γ為(0,1)的隨機(jī)數(shù);θ為常量,經(jīng)大量試算,θ=4求解效率最高。通過擾動(dòng),更新早熟的最優(yōu)解,使其跳出早熟,繼續(xù)尋優(yōu)。
4.3 求解步驟
(1)確定進(jìn)化代數(shù)和群體規(guī)模,設(shè)置相應(yīng)參數(shù)。
(2)生成初始庫容序列(初始解)和速度更新序列。為提高模型求解速度,要保證初始庫容序列中有一定比例滿足約束條件的解。
(3)開始迭代。按照式(18)—式(21)進(jìn)行庫容變化序列和庫容序列的迭代更新,并計(jì)算相應(yīng)的適應(yīng)度值。
(4)擾動(dòng)。判斷是否陷入早熟,若早熟,對當(dāng)前最優(yōu)解進(jìn)行擾動(dòng),進(jìn)行下一代迭代。
(5)模型終止判斷。判斷是否滿足模型終止條件,滿足條件、模型終止;不滿足條件,返回第(3)步再次進(jìn)行迭代。
為充分驗(yàn)證改進(jìn)WDO算法的有效性并比較該算法與標(biāo)準(zhǔn)WDO算法及PSO算法的性能差異[26],以某水庫優(yōu)化調(diào)度模型求解為實(shí)例進(jìn)行驗(yàn)證。該水庫是以發(fā)電為主,兼有防洪任務(wù)的年調(diào)節(jié)水庫。水庫的正常蓄水位630 m,相應(yīng)庫容為55.63億m3;死水位590 m,相應(yīng)庫容為26.62 m3;6—7月份汛限水位為626.24 m,8月份汛限水位為628.12 m;電站裝機(jī)容量為3000 MW,電站保證出力600 MW;水電站綜合出力系數(shù)8.5。為了避免或盡可能減少社會(huì)用水?dāng)D占河道生態(tài)用水產(chǎn)生的不利影響[27],該水庫中最小生態(tài)下泄流量設(shè)置為300 m3/s。為兼顧保證出力的發(fā)電量最大為目標(biāo)進(jìn)行優(yōu)化調(diào)度計(jì)算,計(jì)算時(shí)段為月。
5.1 合理性分析 表1為引入改進(jìn)策略的風(fēng)驅(qū)動(dòng)算法(IWDO)求解水庫優(yōu)化調(diào)度模型計(jì)算結(jié)果。由表1可知:6、7月份水位不高于汛限水位626.24 m,8月份水位不高于汛限水位628.12 m,其余月份水位均高于死水位590 m,低于正常蓄水位630 m;各月平均下泄流量均大于最小生態(tài)下泄流量300 m3/s;電站出力均大于保證出力600 MW。計(jì)算結(jié)果表明,IWDO求解水庫發(fā)電優(yōu)化調(diào)度模型是可行的。
表1 IWDO運(yùn)算結(jié)果
5.2 改進(jìn)策略效率分析 為了分析本文提出的空間壓縮和擾動(dòng)策略在模型求解的作用,進(jìn)行了三種情景對比。一是標(biāo)準(zhǔn)風(fēng)驅(qū)動(dòng)算法WDO;二是增加了空間壓縮策略的風(fēng)驅(qū)動(dòng)算法;三是增加了空間壓縮和擾動(dòng)策略的風(fēng)驅(qū)動(dòng)算法IWDO。三種算法求解水庫優(yōu)化調(diào)度,適應(yīng)度值隨迭代次數(shù)的變化過程如圖2所示。從圖2可以看出,標(biāo)準(zhǔn)風(fēng)驅(qū)動(dòng)在第62代開始就陷入了早熟,此后迭代幾十次內(nèi)適應(yīng)度值變化很小,適應(yīng)度值為97.93億kW·h;加入空間壓縮策略后在第29代達(dá)到最大適應(yīng)度值98.53億kW·h;再加入擾動(dòng)策略,從第29代之后,適應(yīng)度在持續(xù)緩慢的增加,到100代時(shí)適應(yīng)度值達(dá)到98.88億kW·h,到200代時(shí)適應(yīng)度時(shí)達(dá)到99.01億kW·h,到500代結(jié)束迭代時(shí),適應(yīng)度值達(dá)到最大99.25億kW·h。上述分析結(jié)果表明,在標(biāo)準(zhǔn)風(fēng)驅(qū)動(dòng)中加入空間壓縮策略可以明顯提高迭代效率;加入擾動(dòng)策略后,能持續(xù)緩慢地提高適應(yīng)度值。
圖2 改進(jìn)策略效率分析
5.3 IWDO算法搜索性能分析 為了進(jìn)一步分析IWDO算法在求解水庫優(yōu)化調(diào)度模型時(shí)的性能,本文又應(yīng)用了粒子群算法(PSO)進(jìn)行優(yōu)化求解,目標(biāo)函數(shù)與約束條件均不變。兩種算法適應(yīng)度值對比如圖3所示。從圖3可以看出,IWDO和PSO兩種方法求解水庫優(yōu)化調(diào)度,最終適應(yīng)度值相差不大,但是IWDO效率更高。IWDO第30代適應(yīng)度值就與PSO第195代適應(yīng)度值相當(dāng)。上述分析結(jié)果表明,IWDO求解水庫優(yōu)化調(diào)度,效率更高。
圖3 IWDO搜索性能分析
本文以風(fēng)驅(qū)動(dòng)算法為基礎(chǔ),提出了改進(jìn)的風(fēng)驅(qū)動(dòng)算法IWDO,并將其應(yīng)用到水庫優(yōu)化調(diào)度模型求解中,通過實(shí)例研究可得:
(1)標(biāo)準(zhǔn)風(fēng)驅(qū)動(dòng)算法仍然存在著早熟和收斂速度慢的問題。經(jīng)過實(shí)例計(jì)算,標(biāo)準(zhǔn)風(fēng)驅(qū)動(dòng)優(yōu)化算法在第62代陷入早熟,且最終適應(yīng)度值為97.93億kW·h。在對其改進(jìn)的過程中,當(dāng)僅加入空間壓縮策略時(shí),在第29代就達(dá)到最大適應(yīng)度值,為98.53億kW·h;若再加入擾動(dòng)策略,適應(yīng)度值隨著迭代次數(shù)的增加,不斷上升,最終達(dá)到99.25億kW·h。由此可見,本次研究提出的空間壓縮策略可明顯提高風(fēng)驅(qū)動(dòng)算法求解水庫優(yōu)化調(diào)度的效率,提出的擾動(dòng)策略能有效避免算法“早熟”,兩種策略同時(shí)具有顯著提高風(fēng)驅(qū)動(dòng)算法求解水庫優(yōu)化調(diào)度的性能。
(2)改進(jìn)的風(fēng)驅(qū)動(dòng)算法在迭代30次得到的適應(yīng)度值與粒子群算法迭代195次得到的適應(yīng)度值相當(dāng);優(yōu)化后的風(fēng)驅(qū)動(dòng)算法迭代200次適應(yīng)度值為99.02億kW·h,比PSO算法迭代相同代數(shù)適應(yīng)度值增加0.1億kW·h;優(yōu)化后的風(fēng)驅(qū)動(dòng)算法最終求解適應(yīng)度值為99.25億kW·h,比PSO算法增加0.33億kW·h。
(3)空間壓縮策略還可以應(yīng)用到其它智能算法中,提高算法求解效率。
因此,改進(jìn)的風(fēng)驅(qū)動(dòng)優(yōu)化算法(IWDO)為解決水庫優(yōu)化調(diào)度模型的有效算法。