朱 迪,梅亞東,許新發(fā),劉章君
(1. 武漢大學(xué) 水資源與水電工程科學(xué)國家重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430072;2. 江西省水利科學(xué)研究院,江西 南昌 330029)
洪水災(zāi)害是我國發(fā)生頻次高、危害范圍廣的自然災(zāi)害。據(jù)統(tǒng)計(jì),1951年至1990年期間,我國平均每年發(fā)生5.9次嚴(yán)重洪水災(zāi)害;1991年至2008年期間,我國洪水災(zāi)害造成21 163億元直接經(jīng)濟(jì)損失,約占整個(gè)自然災(zāi)害經(jīng)濟(jì)損失的48%[1]。防洪系統(tǒng)中水庫群的建設(shè)和運(yùn)行調(diào)度,是防洪減災(zāi)的重要措施[2]。然而防洪系統(tǒng)的復(fù)雜水文、水力聯(lián)系,使得防洪優(yōu)化調(diào)度問題具有強(qiáng)約束、多階段、非線性和高維度等特點(diǎn)[3],其求解值得進(jìn)一步探討。目前,常用的防洪優(yōu)化調(diào)度求解方法有傳統(tǒng)優(yōu)化算法和智能優(yōu)化算法[4]。傳統(tǒng)優(yōu)化算法以線性規(guī)劃算法[5]、分解協(xié)調(diào)算法[6]、動(dòng)態(tài)規(guī)劃及其改進(jìn)算法[7-9]等為代表,而智能算法發(fā)展了一批諸如遺傳算法[10]、粒子群算法[11]、差分進(jìn)化算法[12]等模擬自然過程的優(yōu)化算法。線性規(guī)劃算法、分解協(xié)調(diào)算法等需要對(duì)調(diào)度模型進(jìn)行近似處理,優(yōu)化求解結(jié)果存在一定誤差[13];智能優(yōu)化算法因?yàn)殡S機(jī)性因素的存在,求解結(jié)果并不穩(wěn)定。動(dòng)態(tài)規(guī)劃算法對(duì)于此類多階段序貫決策問題,求解結(jié)果穩(wěn)定且優(yōu)化效果好,而被廣泛用于水庫優(yōu)化調(diào)度領(lǐng)域。但是防洪系統(tǒng)中,洪水演進(jìn)造成的滯后性,不滿足動(dòng)態(tài)規(guī)劃算法無后效性的要求,且水庫數(shù)目的增加,又帶來“維數(shù)災(zāi)”問題。
逐步優(yōu)化算法(Progressive Optimality Algorithm,POA)由Howson和Sancho于1975年提出,是用于解決多階段的動(dòng)態(tài)決策問題的優(yōu)化算法[14]。POA算法將多階段決策問題分解為一系列兩階段子問題進(jìn)行求解,可以處理有后效性的問題,并在一定程度上緩解“維數(shù)災(zāi)”。但是復(fù)雜防洪系統(tǒng)除了考慮水庫群的防洪調(diào)度,還需要考慮其它水利工程(航電樞紐、分蓄洪區(qū))防洪調(diào)度、區(qū)間入流和洪水演進(jìn)對(duì)防洪效果的影響等因素,具有求解變量數(shù)目較多,水文、水力聯(lián)系復(fù)雜,約束條件多等特點(diǎn),采用POA算法求解存在計(jì)算效率低,優(yōu)化結(jié)果易局部收斂等問題。因此,本文提出了三層并行逐步優(yōu)化算法(Triple Parallel Progressive Optimality Algorithm,TPPOA)。該算法基于POA算法與啟發(fā)式算法算子相結(jié)合的思路[15],通過引入萊維飛行擴(kuò)大尋優(yōu)范圍,更新調(diào)度策略,改善解的質(zhì)量[16];在算法迭代后期,引入模式搜索,在進(jìn)一步優(yōu)化的同時(shí),增加求解的穩(wěn)定性[17];引入并行技術(shù)[18],以提高求解速度,并以贛江中下游復(fù)雜防洪系統(tǒng)優(yōu)化調(diào)度為實(shí)例進(jìn)行驗(yàn)證分析。
考慮以串聯(lián)水庫—航電樞紐—分蓄洪區(qū)—防洪控制點(diǎn)構(gòu)成的復(fù)雜防洪系統(tǒng),假設(shè)系統(tǒng)中有I座串聯(lián)梯級(jí)工程(水庫、航電樞紐等),N個(gè)防洪對(duì)象(防洪控制點(diǎn))和S個(gè)分蓄洪區(qū),其中第i個(gè)工程第j個(gè)防洪控制點(diǎn)和第s個(gè)分蓄洪區(qū)聯(lián)系概化圖如圖1所示,第t時(shí)段初水力聯(lián)系如式(1)所示:
式中:Qi(t),qi(t),Vi(t)分別為第i工程第t時(shí)段初泄水流量,來水流量和蓄水量;τi為第i工程泄水流量演進(jìn)至第j控制點(diǎn)的時(shí)滯;Qj(t)為第j防控制點(diǎn)第t時(shí)段流量;Δqj(t)為第j個(gè)防洪控制點(diǎn)區(qū)間入流;Rs(t)為第s個(gè)分蓄洪區(qū)第t時(shí)段初分洪流量;ψi(·)為第i工程防洪調(diào)度決策函數(shù);φj(·)為第i工程至第j控制點(diǎn)之間水流演進(jìn)函數(shù);ρs(·)為第s分蓄洪區(qū)運(yùn)用規(guī)則函數(shù)。
由此可知,復(fù)雜防洪系統(tǒng)的復(fù)雜性體現(xiàn)在:相較一般的單一水庫防洪系統(tǒng),需要考慮水庫群聯(lián)合防洪調(diào)度、水庫出庫洪水在河道的演進(jìn)以及區(qū)間入流的匯合;相較傳統(tǒng)梯級(jí)水庫防洪系統(tǒng),則需要考慮其他水利工程在防洪期間的運(yùn)行。
圖1 水庫-分蓄洪區(qū)-防洪控制點(diǎn)聯(lián)系示意
2.1 目標(biāo)函數(shù)防洪系統(tǒng)調(diào)度的主要目的是在保障相關(guān)水利工程安全運(yùn)行條件下,盡可能利用水庫防洪庫容、分蓄洪區(qū)容積,蓄滯洪水,調(diào)峰錯(cuò)峰,削減下游防洪控制點(diǎn)洪峰。對(duì)于存在多個(gè)防洪控制點(diǎn)的流域復(fù)雜防洪系統(tǒng),可根據(jù)各防洪控制點(diǎn)的重要性差異進(jìn)行賦權(quán),目標(biāo)函數(shù)可按下式表達(dá):
式中:Qs,j為天然情況(無防洪調(diào)度情形)下第j個(gè)防洪控制點(diǎn)的洪峰流量;Qf,j為在防洪優(yōu)化調(diào)度情況下第j個(gè)防洪控制點(diǎn)的洪峰流量;αj為第j個(gè)防洪控制點(diǎn)的權(quán)重系數(shù);N為防洪控制點(diǎn)個(gè)數(shù)。
2.2 約束條件
(1)水庫水量平衡約束:
式中:qi(t)、qi(t+1)為第i個(gè)水庫第t時(shí)段初、末入庫流量;Qi(t)、Qi(t+1)為第i個(gè)水庫第t時(shí)段初、末出庫流量;Vi(t)和Vi(t+1)為第i個(gè)水庫第t時(shí)段初、末的庫容;Δt為調(diào)度時(shí)段長。
(2)水庫最高、最低水位約束:
式中:Zi(t+1)為第i個(gè)水庫第t時(shí)段末水位;Zimin、Zimax分別為第i個(gè)水庫調(diào)度期內(nèi)所允許達(dá)到的最高和最低水位。
(3)水庫調(diào)度期初、末水位約束:
式中:Zi(1)、Zi(T+1)為第i個(gè)水庫調(diào)度期內(nèi)初、末水位;Zi,start、Zi,end分別為第i個(gè)水庫起調(diào)水位和期末水位。
(4)水庫泄流能力約束:
式中:Qimax[Zi(t+1)]為第i水庫t時(shí)段末水位為Zi(t+1)時(shí)的最大泄流能力。(5)水庫泄流變幅約束:
式中:ΔQi為第i水庫第t時(shí)段允許的最大泄流變幅。
(6)洪水演進(jìn)約束:
從水庫(或航電工程)下泄洪水經(jīng)河道演進(jìn)到下游控制點(diǎn)(或工程)斷面,其間接受區(qū)間洪水匯入。將每個(gè)河段劃分為若干個(gè)子河段數(shù),對(duì)于第m子演進(jìn)河段,假設(shè)河段下斷面有區(qū)間洪水匯入,第m子演進(jìn)河段洪水演進(jìn)方程如下:
(7)其他工程約束:
復(fù)雜防洪系統(tǒng)中航電樞紐、分蓄洪區(qū)等其他工程,對(duì)洪水演進(jìn)起到一定的阻滯、分蓄作用。對(duì)于此類工程約束,可按其常規(guī)防洪調(diào)度規(guī)則進(jìn)行模擬。
航電樞紐一般不設(shè)防洪庫容,在防洪期間具有阻滯洪水的作用,其作用通過下式表達(dá):
式中:Qout,k(t)、Qin,k(t)、Zs,k(t)分別為第k工程第t時(shí)段初下泄流量、來水流量及壩址水位;fk(·)為第k工程洪水調(diào)度規(guī)則。
分蓄洪區(qū)的作用是削減威脅下游重點(diǎn)保護(hù)河段的洪峰流量,其分蓄流量根據(jù)斷面上游洪峰流量及其抵達(dá)分蓄洪區(qū)控制斷面的時(shí)機(jī)、分蓄洪區(qū)容積等因素決定。當(dāng)洪水具有持續(xù)上漲趨勢(shì)時(shí),分洪斷面水量關(guān)系如下式:
式中:Qd,s(t)、Qu,s(t)、ρs(Qu,s(t))、Qmax、Qan分別為第s分蓄洪區(qū)第t時(shí)段斷面下泄流量、斷面上游來水流量、分洪流量、分蓄洪區(qū)最大分洪流量以及下游河段安全泄量;W(t)和Wmax分別為分蓄洪區(qū)第t時(shí)段已蓄水容積和允許的最大分蓄容積。
(8)非負(fù)約束:
所有變量均為非負(fù)變量。
3.1 逐步優(yōu)化算法POA將復(fù)雜多階段決策問題轉(zhuǎn)化為多個(gè)兩階段子問題,求解時(shí),固定其他時(shí)段決策,僅優(yōu)化當(dāng)前時(shí)段決策,然后逐個(gè)時(shí)段優(yōu)化求解直至收斂。具體步驟如下:(1)確定各水庫初始可行調(diào)度解u={V1(1),V1(2),…,V1(T+1),…,Vi(t),…,VM(1),…,VM(T+1)},i=1,2,…,M,為水庫數(shù)目;(2)在水庫庫容上下限范圍內(nèi)離散第i水庫t時(shí)刻(t=2~T)庫容為(3)固定Vi(t-1),Vi(t+1),按步驟(2)中離散點(diǎn)調(diào)整Vi(t),遍歷第i水庫所有時(shí)段;(4)重復(fù)步驟(2)、(3),遍歷所有水庫,得出優(yōu)化調(diào)度解(5)以u(píng)*作為初始調(diào)度解,重復(fù)步驟(3)(4)進(jìn)行迭代計(jì)算,以前后兩次迭代計(jì)算的目標(biāo)函數(shù)值的差值是否達(dá)到誤差限作為迭代終止條件;(6)如果達(dá)到迭代終止條件,以u(píng)*作為最終優(yōu)化調(diào)度解。
傳統(tǒng)POA算法是給定離散精度,對(duì)各水庫各時(shí)段決策采用網(wǎng)格搜索。當(dāng)水庫數(shù)目或調(diào)度決策較少,水力聯(lián)系較簡單時(shí),求解速度快,效率較高。然而隨著防洪系統(tǒng)復(fù)雜性的增加,傳統(tǒng)POA算法存在計(jì)算時(shí)間長,求解效率低等問題。此外在POA算法迭代后期,優(yōu)化結(jié)果也容易陷入局部最優(yōu)[19]。為提高POA優(yōu)化效率,本文提出了三層并行逐步優(yōu)化算法(TPPOA)。
3.2 三層并行逐步優(yōu)化算法POA在優(yōu)化水庫調(diào)度決策過程中,水庫出庫流量是已知的,因此可以采用模擬技術(shù)處理洪水演進(jìn)、其它水利工程的調(diào)度、支流匯入等約束和水力聯(lián)系。然而并不是所有時(shí)段的調(diào)度決策會(huì)影響防洪控制點(diǎn)的洪峰流量,例如:在漲洪期和退水期的調(diào)度決策優(yōu)化,可能不影響下游洪峰的削減,但是卻需要占用計(jì)算資源并增加計(jì)算時(shí)間。TPPOA算法相較傳統(tǒng)POA算法,增加了識(shí)別主要調(diào)度決策的步驟,通過更新主要調(diào)度決策進(jìn)行優(yōu)化,以節(jié)約計(jì)算資源;在更新主要調(diào)度決策中,引入萊維飛行策略,以擴(kuò)大搜索范圍,減小陷入局部最優(yōu)的機(jī)率;參考matlab中遺傳算法、粒子群算法等優(yōu)化工具箱以模式搜索法對(duì)優(yōu)化結(jié)果作進(jìn)一步處理的思路,在優(yōu)化過程后期,本文采用模式搜索法對(duì)所有調(diào)度策略進(jìn)行優(yōu)化更新;此外,將并行技術(shù)引入算法,進(jìn)一步加快算法計(jì)算速度。
3.2.1第一層POA算法 第一層POA算法與一般POA算法不同之處是,引進(jìn)了確定主要調(diào)度決策的差分指標(biāo)。差分指標(biāo)定義如下:
式中:Un為在第一層POA算法中第n次迭代后的差分指標(biāo)值;Vi,n(t)為第i個(gè)水庫第t時(shí)段的第n次迭代庫容值;R(*)為階躍函數(shù)[20],計(jì)算公示如下:
差分指標(biāo)Un反映的是第n+1次迭代和第n次迭代前后,改變的調(diào)度決策數(shù)目。當(dāng)|Un+1-Un| 1時(shí),可以認(rèn)為在第n次迭代后,調(diào)度決策數(shù)目收斂,此時(shí)只有一部分調(diào)度決策在后續(xù)優(yōu)化過程中迭代更新。這部分調(diào)度決策構(gòu)成主要調(diào)度決策集合,進(jìn)入第二層POA算法,對(duì)其進(jìn)行優(yōu)化更新。設(shè)un={V1,n(1),V1,n(2),…,V1,n(T+1),…,Vi,n(t),…,VM,n(1),…,VM,n(T+1)}表示第n次調(diào)度決策集,按式(15)對(duì)比un和un+1,找到主要影響決策如式(16)所示。
式中:Δu為和的向量差;find(Δu)為找到Δu中不為0的元素對(duì)應(yīng)的庫容,構(gòu)成主要影響調(diào)度決策集;ti,ji為主要調(diào)度決策序號(hào),Vi,n+1(ti,ji)為第i個(gè)水庫,第ti,ji個(gè)主要調(diào)度決策值,對(duì)于第i個(gè)水庫,共有Ji個(gè)。
3.2.2第二層POA算法 在第二層優(yōu)化計(jì)算中,基于主要調(diào)度決策集umain,采用萊維飛行進(jìn)行進(jìn)一步搜索更新。萊維分布是法國數(shù)學(xué)家萊維(Lévy)提出的一種概率分布[16],而萊維飛行是一種服從萊維分布,模擬自然界中動(dòng)物覓食的隨機(jī)搜索路徑[21]。因其具有擴(kuò)大搜索范圍的特性,萊維飛行被不少學(xué)者用于優(yōu)化領(lǐng)域[22-24]。本文將萊維飛行與POA算法相結(jié)合,對(duì)主要調(diào)度決策進(jìn)行更新,其更新計(jì)算公式如下:
式中:Vi,(nt)為在第二層POA算法中第i個(gè)水庫第t時(shí)段n次迭代后的庫容決策值;r為[0,1]內(nèi)均勻分布的隨機(jī)數(shù);c1和c2為步長控制量;為第i個(gè)水庫第t時(shí)段第l個(gè)子迭代決策值;(f*)為適應(yīng)度函數(shù),表示防洪控制點(diǎn)洪峰削減率;L(λ)為萊維分布隨機(jī)搜索路徑,由于萊維分布十分復(fù)雜,目前采用Mantegna算法[16]進(jìn)行模擬:
式中:μ和ν為正態(tài)分布,定義如下:
其中,
通常β取值為1.5。
耦合萊維飛行的POA算法求解步驟為:(1)以第一層POA算法得出的初始解V1(t1,2),…,Vi(ti,ji),…,VM(tM,JM)}作為初始解。為敘述方便,重新整理各水庫主要調(diào)度決策序號(hào),整理后的主要調(diào)度決策umain={V1(1),V1(2),…,Vi(ti),…,VM(TM)};設(shè)置迭代次數(shù)k=1。(2)對(duì)于ti=2~Ti,固定Vi(ti-1),Vi(ti+1),按式(17)、(18)更新Vi(ti),得出優(yōu)化解Vi*(ti)并遍歷第i水庫所有調(diào)度決策。(3)重復(fù)步驟(2),遍歷所有水庫,完成主要調(diào)度決策更新(4)判斷是否達(dá)到終止條件,若相鄰兩次迭代后的目標(biāo)函數(shù)值相差值在誤差范圍內(nèi),則輸出優(yōu)化調(diào)度解u*main;否則以u(píng)*main作為初始解,轉(zhuǎn)步驟(2)。
3.2.3模式搜索法 模式搜索法以坐標(biāo)輪換法為基礎(chǔ)[17,25],包括沿坐標(biāo)軸方向?qū)?yōu)的探測(cè)移動(dòng)和沿兩個(gè)相鄰點(diǎn)連線方向?qū)?yōu)的模式移動(dòng)。其模式搜索具體步驟如下:(1)將第二層算法得出的調(diào)度解u*定為初始點(diǎn),初始步長αp>0,精度εp,坐標(biāo)方向ej=(0,…,1,…,0)T,j=1,…,M*(T-1),M*(T-1)為u*中調(diào)度決策的數(shù)目,設(shè)置Y1=u*,迭代次數(shù)k=1。(2)對(duì)于j=1,2,…,M*(T-1),若f(Yj+αpej)<f(Yj),則Yj+1=Yj+αpej;否則,若f(Yj-αpej)<f(Yj),則Yj+1=Yj-αpej;否則Yj+1=Yj。(3)若f(Yn+1)<f(uk*),則有轉(zhuǎn)步驟(2);否則轉(zhuǎn)步驟(4)。(4)若αp<εp,則停止計(jì)算,得出優(yōu)化解uk*;否則α=α/2,轉(zhuǎn)步驟(1)。
3.2.4多核并行計(jì)算 隨著計(jì)算機(jī)的計(jì)算能力的不斷增強(qiáng),并行計(jì)算發(fā)展為一種提高算法計(jì)算速度的有效手段,其基本思想是將被求解的問題分解為若干部份,各部分由獨(dú)立處理單位同時(shí)進(jìn)行計(jì)算,以空間復(fù)雜度來換取時(shí)間復(fù)雜度[26],提高算法計(jì)算效率。本文選擇matlab parfor并行計(jì)算方式,matlab parfor要求各計(jì)算任務(wù)具有獨(dú)立性,不存在數(shù)據(jù)依賴。通過對(duì)算法計(jì)算特性進(jìn)行分析可知,在第一、二層POA算法中,各調(diào)度解的循環(huán)迭代計(jì)算任務(wù)具有獨(dú)立性,可將串行迭代循環(huán)的不同階段劃分為獨(dú)立的子任務(wù)[18],分配到計(jì)算機(jī)的不同CPU計(jì)算核心中。設(shè)計(jì)并行計(jì)算思路如圖2所示,假設(shè)初始可行解確定,計(jì)算核心CPU有P個(gè),階段內(nèi)的離散點(diǎn)個(gè)數(shù)有N個(gè);普通POA算法采用串行迭代循環(huán),需要對(duì)階段內(nèi)循環(huán)迭代N次,從中得出該階段的最優(yōu)解;而并行迭代計(jì)算,是將階段內(nèi)的計(jì)算任務(wù)分配至P個(gè)計(jì)算核心上,每個(gè)計(jì)算核心只需要N/P次就可以得出優(yōu)解,計(jì)算速率得以加快。在模式搜索算法層中,本文采用matlab patternsearch工具箱進(jìn)行并行加速。
圖2 并行計(jì)算示意
3.2.5多核并行計(jì)算 三層并行POA算法計(jì)算流程如圖3所示:
(1)輸入計(jì)算數(shù)據(jù),包括:洪水流量資料、水庫資料、計(jì)算參數(shù)設(shè)置。
(2)采用POA算法進(jìn)行計(jì)算并結(jié)合多核并行技術(shù),并采用式(11)計(jì)算調(diào)度解集的差分指標(biāo),判斷是否結(jié)束迭代計(jì)算。當(dāng)相鄰迭代計(jì)算前后差分指標(biāo)的差值小于1時(shí),跳出POA計(jì)算層,輸出主要調(diào)度決策集umain,轉(zhuǎn)步驟(3);否則,繼續(xù)進(jìn)行步驟(2)。
(3)基于umain,采用式(17)—(21)結(jié)合多核并行技術(shù)進(jìn)行調(diào)度解的更新,當(dāng)相鄰兩次迭代計(jì)算的目標(biāo)函數(shù)誤差值小于誤差限時(shí),輸出優(yōu)化調(diào)度解集u*,轉(zhuǎn)步驟(4),否則,繼續(xù)進(jìn)行步驟(3)。
(4)基于優(yōu)化調(diào)度解集u*,采用并行模式搜索法進(jìn)行優(yōu)化,得出最終優(yōu)化調(diào)度解集。
4.1 流域防洪系統(tǒng)概況贛江中下游萬安—峽江梯級(jí)所組成的防洪系統(tǒng)概化圖如圖4所示。該防洪系統(tǒng)包括萬安和峽江水庫,井岡山、石虎塘、新干、龍頭山等4座航電樞紐,泉港分蓄洪區(qū),吉安、石上和外洲等3個(gè)防洪控制點(diǎn)以及多條區(qū)間入流,各水庫主要特性參數(shù)如表1所示。根據(jù)贛江流域綜合規(guī)劃[27],井岡山等4個(gè)航電樞紐不承擔(dān)防洪任務(wù),故萬安-峽江梯級(jí)為本文防洪優(yōu)化調(diào)度的主要對(duì)象,而泉港分蓄洪區(qū)根據(jù)下游贛東大堤和南昌市城市防洪堤的安全泄量決定其啟用條件。當(dāng)泉港分洪閘上游石上斷面流量超過24 000 m3/s或閘外贛江水位達(dá)到31.12 m且洪水繼續(xù)上漲時(shí),打開泉港分洪閘實(shí)施分洪,分洪時(shí)控制閘門開啟高度,使閘外贛江水位維持在31.12 m不變。
4.2 數(shù)據(jù)資料與計(jì)算條件本文采用1961年、1973年和1994年按外洲站洪峰放大的200年一遇設(shè)計(jì)洪水資料,計(jì)算時(shí)長為6 h。干流洪水流量、區(qū)間入流以及馬斯京根參數(shù)等資料由江西省水利科學(xué)研究院提供。萬安和峽江水庫調(diào)度期初和期末水位為各自汛限水位,萬安水庫調(diào)度期內(nèi)最高水位為93.6 m(防洪高水位),峽江水庫優(yōu)化調(diào)度最高水位為常規(guī)防洪調(diào)度期內(nèi)最高水位。以萬安和峽江水庫常規(guī)防洪調(diào)度結(jié)果作為初始解,三個(gè)防洪控制點(diǎn)權(quán)重系數(shù)均為1/3,POA算法中水庫庫容離散點(diǎn)數(shù)目為30,前后兩次迭代目標(biāo)函數(shù)差值為0.0001;第二層POA算法中子迭代次數(shù)L=30,模式搜索層中,初始步長α=50,εp=0.0001。采用計(jì)算軟件為matlab 2018b,運(yùn)行環(huán)境為win10操作系統(tǒng),Intel(R)Core(TM)i7-8700 CPU,3.2 GHz,RAM 16.00 G,采用6核并行計(jì)算。
圖3 TPPOA算法流程
圖4 贛江中下游防洪調(diào)度系統(tǒng)概化圖
表1 各水庫主要特性參數(shù)
4.3 計(jì)算結(jié)果分析采用TPPOA對(duì)三種典型設(shè)計(jì)洪水的贛江中下游防洪系統(tǒng)調(diào)度進(jìn)行了優(yōu)化,計(jì)算結(jié)果列于表2。同時(shí)表2還給出了采用常規(guī)防洪調(diào)度規(guī)則和采用普通POA算法獲得的結(jié)果。圖5至圖7給出了三種方法的3個(gè)防洪控制點(diǎn)的洪峰流量,其中天然情況對(duì)應(yīng)的是所有工程未建,洪水在天然河道內(nèi)演進(jìn)情形。圖8至圖10給出了萬安—峽江梯級(jí)水庫分別采用常規(guī)防洪調(diào)度、POA和TPPOA防洪優(yōu)化調(diào)度過程結(jié)果,圖11為下游吉安和外洲防洪調(diào)度后的流量過程。
圖5 吉安站洪峰流量
圖6 石上站洪峰流量
圖7 外洲站洪峰流量
從圖5至圖7可知:對(duì)于各典型年200年一遇設(shè)計(jì)洪水,常規(guī)防洪調(diào)度、POA和TPPOA的防洪優(yōu)化調(diào)度均能在一定程度削減防洪控制點(diǎn)的洪峰流量。其中,相較其他調(diào)度方式,各設(shè)計(jì)洪水經(jīng)TP?POA優(yōu)化調(diào)度后的防洪控制點(diǎn)洪峰流量最低。從表2可知:對(duì)于“1961”設(shè)計(jì)洪水,常規(guī)防洪調(diào)度下的泉港分蓄洪量為0,吉安、石上和外洲洪峰削減流量分別為1128 m3/s、4428 m3/s和3953 m3/s;而TP?POA優(yōu)化防洪調(diào)度后,三站洪峰削減流量分別為2995 m3/s、5833 m3/s和4790 m3/s,洪峰削減效果較為明顯。對(duì)于“1973”設(shè)計(jì)洪水,常規(guī)防洪調(diào)度后的泉港分蓄洪量為0.04億m3,而采用TPPOA算法優(yōu)化調(diào)度下的泉港分蓄洪量為0,三站洪峰削減流分別相較常規(guī)防洪調(diào)度和POA優(yōu)化防洪調(diào)度增加了489 m3/s、1272 m3/s和667 m3/s以及291 m3/s、334 m3/s和232 m3/s。對(duì)于“1994”設(shè)計(jì)洪水,TPPOA算法相較POA算法,吉安和外洲洪峰流量削減增加了869 m3/s和125 m3/s。
從圖8(a)、圖9(a)和圖10(a)可知:萬安水庫入庫洪水為多峰型,其中,1961典型有3個(gè)洪峰,主峰為第3個(gè)洪峰,峰現(xiàn)時(shí)間為第51時(shí)段,較為靠后;1973典型有2個(gè)洪峰,主峰為2個(gè)洪峰,峰現(xiàn)時(shí)間居中,為第35時(shí)段;1994典型有2個(gè)洪峰,2個(gè)洪峰流量大小相近,且峰現(xiàn)時(shí)間分別為第31和42時(shí)段,相隔較為接近。常規(guī)防洪調(diào)度后,萬安水庫在主峰出現(xiàn)前沒有回落至較低水位,意味著部分防洪庫容被占用,使得主峰削峰效果稍差。而采用POA和TPPOA算法進(jìn)行防洪優(yōu)化調(diào)度后,萬安水庫水位在入庫洪水主峰出現(xiàn)前,基本回落至汛限水位,以騰出庫容,削減主峰。從圖8(b)、圖9(b)和圖10(b)可知:萬安水庫出庫洪水經(jīng)洪水演進(jìn)、支流匯入、航電樞紐防洪調(diào)度后,峽江入庫洪水較為寬胖。對(duì)于各典型設(shè)計(jì)洪水,采用TPPOA算法優(yōu)化防洪調(diào)度后的峽江入庫洪峰最小,常規(guī)防洪調(diào)度后的峽江入庫洪峰最大,這說明萬安水庫的防洪優(yōu)化調(diào)度,有利于下游峽江入庫洪峰的削減。從圖11(a)(c)(e)也可看出,采用TPPOA算法優(yōu)化防洪調(diào)度后的吉安洪峰相較常規(guī)防洪調(diào)度更低。此外,對(duì)于1973典型和1994典型,常規(guī)防洪調(diào)度后峽江水庫的出庫洪峰比優(yōu)化防洪調(diào)度后出庫洪峰要小,但是從下游防洪控制點(diǎn)洪峰流量上看,如圖11(d)(f)所示,優(yōu)化防洪調(diào)度后的外洲洪峰相較常規(guī)防洪調(diào)度更低,說明優(yōu)化防洪調(diào)度的峽江下泄流量通過與下游匯入的支流洪峰形成錯(cuò)峰補(bǔ)償,以削減外洲洪峰。
表2 不同方法的防洪調(diào)度結(jié)果對(duì)比
圖8 1961年梯級(jí)水庫防洪調(diào)度過程
圖9 1973年梯級(jí)水庫防洪調(diào)度過程
圖10 1994年梯級(jí)水庫防洪調(diào)度過程
為對(duì)比分析算法計(jì)算時(shí)間,采用并行POA算法在相同計(jì)算條件下,對(duì)上述洪水進(jìn)行優(yōu)化防洪調(diào)度,POA算法、并行POA算法和TPPOA算法計(jì)算時(shí)長對(duì)比如表3所示。從表3可知:POA算法計(jì)算時(shí)長大于并行POA算法和TPPOA算法。POA算法的計(jì)算時(shí)長大于TPPOA算法。本文采用6核并行計(jì)算,由于計(jì)算核心間的通信損失,POA算法計(jì)算時(shí)長約為并行POA算法的6倍。對(duì)于“1961”設(shè)計(jì)洪水,POA算法計(jì)算時(shí)長為TPPOA算法的6.95倍,TPPOA算法計(jì)算速度相較POA算法更快,這是因?yàn)門PPOA算法的第二層算法對(duì)主要調(diào)度決策進(jìn)行優(yōu)化更新,節(jié)省計(jì)算資源,加快了計(jì)算速度。對(duì)于“1973”和“1994”設(shè)計(jì)洪水,POA算法計(jì)算時(shí)長分別為TPPOA算法的2.91倍和4.37倍,并行POA算法計(jì)算時(shí)長比TPPOA短。這主要是由于并行POA算法在迭代5次后就陷入局部最優(yōu)解,計(jì)算時(shí)長較短。從整體上看,TPPOA算法計(jì)算速度高于POA算法,并且防洪控制點(diǎn)的削峰流量相較常規(guī)防洪調(diào)度規(guī)則和POA算法均有提升。
圖11 防洪控制點(diǎn)調(diào)度后流量過程
表3 不同優(yōu)化算法計(jì)算時(shí)間比
圖12 TPPOA算法多次優(yōu)化結(jié)果
為分析萊維飛行的隨機(jī)性對(duì)最優(yōu)解的影響,采用“1961”設(shè)計(jì)洪水進(jìn)行10次計(jì)算,削峰率結(jié)果如圖12所示。削峰率是按式(2)進(jìn)行計(jì)算,其它計(jì)算條件設(shè)置同4.2節(jié)。從圖12可知:經(jīng)過10次優(yōu)化計(jì)算,吉安、石上和外洲防洪控制點(diǎn)的加權(quán)平均削峰率在17%~18%左右,萊維飛行的隨機(jī)性對(duì)求解結(jié)果有一定影響,但總體來看,采用TPPOA算法優(yōu)化的削峰率結(jié)果較為平穩(wěn)。
針對(duì)復(fù)雜防洪系統(tǒng)的優(yōu)化調(diào)度問題,本文提出了TPPOA算法,將POA算法分成三個(gè)層次,結(jié)合萊維飛行、模式搜索法等思路,進(jìn)行調(diào)度決策更新,并利用并行技術(shù)加快計(jì)算速度。以贛江中下游防洪系統(tǒng)為研究實(shí)例,分別采用常規(guī)防洪調(diào)度規(guī)則、POA算法、TPPOA算法對(duì)“1961”“1973”和“1994”等200年一遇設(shè)計(jì)洪水進(jìn)行優(yōu)化防洪調(diào)度分析,研究結(jié)果表明:(1)TPPOA算法優(yōu)化調(diào)度后的吉安、石上和外洲的洪峰流量相較其他調(diào)度方式更低,削峰效果更優(yōu);(2)TPPOA算法計(jì)算速度約為POA算法的3~7倍,計(jì)算速度更快,更為有效地利用計(jì)算資源。
總體而言,TPPOA算法計(jì)算速度快,優(yōu)化解質(zhì)量更高,相較傳統(tǒng)POA算法具有一定優(yōu)勢(shì),是復(fù)雜防洪系統(tǒng)優(yōu)化調(diào)度的一種有效方法。