溫裕鑫,楊 軍,朱 旭
(武漢大學(xué),湖北 武漢 430072)
隨著電網(wǎng)規(guī)模擴(kuò)大與用戶量增大,對電力系統(tǒng)經(jīng)濟(jì)運(yùn)行提出新的挑戰(zhàn)。機(jī)組組合由于其顯著的經(jīng)濟(jì)效益,一直以來都是電力系統(tǒng)研究中的熱點和難點。機(jī)組組合問題優(yōu)化求解指的是在一段時間周期內(nèi)滿足設(shè)備運(yùn)行約束的前提下,通過制定周期內(nèi)各機(jī)組的啟停計劃和出力計劃,以達(dá)到整體運(yùn)行成本最小化為目的。
從數(shù)學(xué)角度看,機(jī)組組合問題是一種高維、離散、非線性的混合整數(shù)優(yōu)化問題[1]。許多研究者應(yīng)用各種方法來求解這個數(shù)學(xué)優(yōu)化問題,但對于此類問題是難以求解得到最優(yōu)解的。在傳統(tǒng)優(yōu)化算法中,文獻(xiàn)[2]提出一種優(yōu)先順序法求解機(jī)組組合問題,由于缺乏嚴(yán)格的理論依據(jù),可行解的最優(yōu)性無法求證。文獻(xiàn)[3]提出采用動態(tài)規(guī)劃法求解機(jī)組組合問題,通過排除不可行組合來降低計算量,但也同時可能將最優(yōu)解排除。文獻(xiàn)[4]采用拉格朗日松弛法對約束條件松弛,以形成拉格朗日問題。但由于該算法應(yīng)用上存在對偶間隙,無法得到最優(yōu)解。在智能優(yōu)化算法中,遺傳算法、蟻群算法、粒子群算法等在機(jī)組組合問題上均有所應(yīng)用[5-10]。迄今為止,上述優(yōu)化算法在計算速度、計算精度和求解效率上均有所不足。
隨著人工智能技術(shù)在電力系統(tǒng)中的應(yīng)用和發(fā)展,機(jī)器學(xué)習(xí)在機(jī)組組合問題的求解上具有更好的優(yōu)勢。深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的兩大主流研究方向[11]。深度學(xué)習(xí)能夠提取海量數(shù)據(jù)中的特征信息,從而學(xué)習(xí)獲得輸入與輸出的映射關(guān)系,具有強(qiáng)大的感知擬合能力。應(yīng)用深度學(xué)習(xí)求解機(jī)組組合時海量數(shù)據(jù)中的決策數(shù)據(jù)無法保證都是理論最優(yōu)解。強(qiáng)化學(xué)習(xí)能夠在智能體與環(huán)境不斷探索交互的過程中,學(xué)習(xí)狀態(tài)與動作的策略模型,具有強(qiáng)大的探索決策能力。在應(yīng)用強(qiáng)化學(xué)習(xí)求解機(jī)組組合時由于算法本身的局限性可能造成維數(shù)災(zāi)難問題。由此,引入深度強(qiáng)化學(xué)習(xí)方法,該方法能夠在具有二者優(yōu)點的同時避免存在的問題,更好地解決機(jī)組組合問題。
本文提出了一種基于深度強(qiáng)化學(xué)習(xí)的電網(wǎng)機(jī)組組合算法,構(gòu)建了以發(fā)電成本最小為目標(biāo)函數(shù),功率平衡、機(jī)組出力限制和最小啟停時間約束為約束條件的機(jī)組組合數(shù)學(xué)模型;在強(qiáng)化學(xué)習(xí)框架下定義了狀態(tài)空間、動作空間、獎勵函數(shù),然后采用深度Q網(wǎng)絡(luò)(Deep Q Net wor k,DQN)算法結(jié)合LA MBDA迭代法來求解,并通過仿真計算驗證了該算法的有效性。
機(jī)組組合優(yōu)化問題的目的就是獲得顯著的經(jīng)濟(jì)效益,即在滿足設(shè)備運(yùn)行約束條件下,求解能夠使總發(fā)電成本最小的機(jī)組啟停計劃和出力計劃。
構(gòu)建以總發(fā)電成本最小為目標(biāo)函數(shù)的電網(wǎng)機(jī)組組合數(shù)學(xué)模型,總發(fā)電成本包括機(jī)組的燃料成本和機(jī)組的啟停成本,具體表示如下:
式中:WG,t為全部機(jī)組在t時刻的發(fā)電成本;FG,i,t為機(jī)組i在t時刻的燃料成本;Son,i,t為機(jī)組i在t時刻的啟動成本;Soff,i,t為機(jī)組i在t時刻的停機(jī)成本成本;ai、bi、ci為機(jī)組i的燃料消耗系數(shù);PG,i,t為機(jī)組i在t時刻的出力;Xi,t為機(jī)組i的啟停狀態(tài),1為開機(jī)狀態(tài),0為停機(jī)狀態(tài);Si為機(jī)組i的啟動成本;N為機(jī)組數(shù)量;T為調(diào)度總時刻。
機(jī)組組合問題的約束條件包括功率平衡約束、機(jī)組出力限制約束、最小啟動時間約束、最小停機(jī)時間約束。
功率平衡
式中:PL,t為t時刻的系統(tǒng)負(fù)荷需求;PG,i,min為機(jī)組i運(yùn)行時的出力下限;PG,i,max為機(jī)組i運(yùn)行時的出力上限;TG,i,t為機(jī)組i在t時刻連續(xù)運(yùn)行或停機(jī)的總時間數(shù);Ton,i為機(jī)組i的最小連續(xù)運(yùn)行時間數(shù);Toff,i,t為機(jī)組i最小連續(xù)停機(jī)時間數(shù)。
本文利用深度強(qiáng)化學(xué)習(xí)方法求解機(jī)組組合問題,首先需要在強(qiáng)化學(xué)習(xí)框架下完成機(jī)組組合描述轉(zhuǎn)化。強(qiáng)化學(xué)習(xí)主要包含3種基本信號:狀態(tài)信號S、動作信號A和獎勵信號R。在本文中,機(jī)組系統(tǒng)是強(qiáng)化學(xué)習(xí)的環(huán)境,智能體根據(jù)所含策略對從環(huán)境中獲取包含機(jī)組狀態(tài)的狀態(tài)信號采取動作,以獲得成本最小的最優(yōu)機(jī)組動作決策。
對機(jī)組組合問題來說,其狀態(tài)空間應(yīng)包括各機(jī)組啟停狀態(tài)、各機(jī)組連續(xù)運(yùn)行/停運(yùn)總時間數(shù)、以及負(fù)荷需求。因此,對于機(jī)組組合的狀態(tài)空間S可以表示為
在機(jī)組組合問題中,本文采用深度強(qiáng)化學(xué)習(xí)算法來求解機(jī)組啟停計劃,并結(jié)合LA MBDA迭代法在機(jī)組啟停計劃基礎(chǔ)上求解機(jī)組出力計劃。因此機(jī)組組合問題智能體的動作空間A應(yīng)包含機(jī)組的啟停動作,以含5臺機(jī)組的系統(tǒng)為例,機(jī)組啟停計劃共有2N種,則智能體相應(yīng)地包含2N個動作組合,可以表示為
式中:AG為N臺機(jī)組的啟停動作組合的集合。
智能體在探索初期時,策略模型還未訓(xùn)練成熟,所采取的動作無法滿足約束條件。因此對于這類約束條件需要設(shè)置提前終止機(jī)制進(jìn)行處理。
(1)最小啟停時間約束
智能體根據(jù)環(huán)境的狀態(tài)采取機(jī)組啟停動作,若機(jī)組啟停動作不能滿足最小啟停時間約束,則該時刻以后的所有動作決策都不再具有意義。因此,需要設(shè)置提前終止機(jī)制以降低錯誤探索經(jīng)驗對模型訓(xùn)練的影響。
(2)功率平衡約束
本文求解機(jī)組組合問題時劃分為機(jī)組啟停計劃和機(jī)組出力計劃2個子問題進(jìn)行求解。采用深度強(qiáng)化學(xué)習(xí)算法求解機(jī)組啟停計劃,采用LA MBDA迭代法求解機(jī)組出力計劃,由于機(jī)組組合問題的拆分化使得求解過程存在分離性。功率平衡約束由LA MBDA迭代法進(jìn)行考慮,若智能體給出的機(jī)組啟停動作無法從根本上滿足機(jī)組出力與負(fù)荷的平衡關(guān)系,則該動作決策是沒有意義的。因此,需要通過設(shè)置提前終止機(jī)制來評判機(jī)組啟停計劃能否從根本上滿足功率約束平衡。
在一般情況下,智能體的獎勵應(yīng)當(dāng)由目標(biāo)函數(shù)來表示,即:
(1)當(dāng)無法滿足最小啟停時間約束時,需要在式(9)疊加懲罰性質(zhì)的獎勵項,設(shè)置系數(shù)為rs,同時需要乘以提前終止的時間數(shù),如式(10)所示:
(2)當(dāng)無法滿足功率平衡約束時,需要在式(9)疊加懲罰性質(zhì)的獎勵項,設(shè)置系數(shù)為rd,同時乘以功率差額,如式(11)所示:
(3)當(dāng)2種約束條件同時無法滿足時,獎勵函數(shù)如式(12)所示:
式中:rt為智能體在t時刻采取動作后獲得的獎勵;rs為系統(tǒng)無法滿足最小啟停時間約束時設(shè)置的懲罰系數(shù);rd為系統(tǒng)無法滿足功率平衡約束時設(shè)置的懲罰系數(shù);T為調(diào)度總時間;Tend為終止時刻。
經(jīng)典強(qiáng)化學(xué)習(xí)方法中由于其算法是以表格形式來存儲狀態(tài)動作對(s,a)的策略模型,當(dāng)狀態(tài)維數(shù)增大時,可能會造成維數(shù)災(zāi)難的問題。深度強(qiáng)化學(xué)習(xí)具有強(qiáng)化學(xué)習(xí)的決策能力以及深度學(xué)習(xí)的感知擬合能力,能夠更好地解決機(jī)組組合問題。機(jī)組組合問題中機(jī)組啟停動作是離散動作,而本文所采用的DQN算法能夠很好地針對離散動作空間的問題進(jìn)行求解。DQN算法[12]采用一個深度神經(jīng)網(wǎng)絡(luò)θ來擬合狀態(tài)動作值函數(shù)Q,即獲得策略模型,且這個網(wǎng)絡(luò)具有一個目標(biāo)網(wǎng)絡(luò)θ′。
深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程是通過最小化損失函數(shù)L(θ)來優(yōu)化網(wǎng)絡(luò)參數(shù)的:
式中:yt為目標(biāo)Q值,如式(14)所示。
對網(wǎng)絡(luò)參數(shù)的更新采用梯度下降算法,如式(15)所示。
式中:α為學(xué)習(xí)率;γ為折扣因子。
每更新當(dāng)前網(wǎng)絡(luò)參數(shù)C次后,再根據(jù)式(16)將當(dāng)前網(wǎng)絡(luò)參數(shù)復(fù)制到目標(biāo)網(wǎng)絡(luò)中。
本文建立基于DQN算法的電網(wǎng)機(jī)組組合訓(xùn)練框架,如圖1所示。對于DQN算法,神經(jīng)網(wǎng)絡(luò)的輸入為2N+1維狀態(tài)向量,輸出是N維動作向量,即神經(jīng)網(wǎng)絡(luò)擬合的是狀態(tài)動作值函數(shù)Q(st,at)。
在t時刻,首先DQN智能體從機(jī)組環(huán)境中獲取的狀態(tài)st,包含各機(jī)組的啟停狀態(tài)、各機(jī)組連續(xù)運(yùn)行或停機(jī)總時間數(shù)、以及負(fù)荷需求的狀態(tài)值,再依據(jù)智能體的策略模型采取動作at,該決策動作即為機(jī)組組合中的機(jī)組啟停計劃,將機(jī)組啟停計劃輸入到LA MBDA迭代法中求解機(jī)組出力計劃,再將機(jī)組啟停計劃和出力計劃輸入到機(jī)組系統(tǒng)環(huán)境中,則進(jìn)入下一時刻狀態(tài)st+1,并返回一個以發(fā)電成本、啟停成本和提前終止懲罰的總和為成本的獎勵值rt。由此得到了一個數(shù)據(jù)序列(st,at,rt,st+1),將其保存在經(jīng)驗回放池中。DQN算法設(shè)置經(jīng)驗回放池的目的是打破狀態(tài)數(shù)據(jù)間的相關(guān)性,以更好地適用深度神經(jīng)網(wǎng)絡(luò)對輸入數(shù)據(jù)是獨(dú)立同分布的要求。DQN智能體將從經(jīng)驗回放池中隨機(jī)選取批量數(shù)據(jù),并采用梯度下降法最小化損失函數(shù)來更新網(wǎng)絡(luò)參數(shù)。DQN算法求解機(jī)組組合流程框圖如圖1所示。
圖1 DQN算法求解電網(wǎng)機(jī)組組合流程
本文將針對含5臺機(jī)組的算例系統(tǒng)進(jìn)行仿真實驗,以驗證所提方法的有效性。5臺機(jī)組的參數(shù)設(shè)置采用文獻(xiàn)[13]中機(jī)組參數(shù)。DQN算法超參數(shù)設(shè)置如表1所示。
表1 DQN算法超參數(shù)設(shè)置
記錄當(dāng)前迭代次數(shù)之前100次調(diào)度周期總獎勵的平均值,并對曲線進(jìn)行平滑處理,其結(jié)果如圖2所示。從圖2中可以看出,智能體在初始探索階段中所獲得的平均獎勵值小。隨著迭代次數(shù)的不斷增加,智能體策略模型的參數(shù)不斷優(yōu)化,機(jī)組決策計劃也會逐漸趨于成本最小化,平均調(diào)度周期獎勵曲線則逐漸收斂。在訓(xùn)練過程中,由于提前終止機(jī)制的設(shè)置,當(dāng)智能體給出的決策動作無法滿足約束條件時,會獲得較大的負(fù)值獎勵。因此,當(dāng)智能體觸發(fā)提前終止機(jī)制時,就會在迭代次數(shù)4.5×104~5×104區(qū)間中出現(xiàn)較大的下降波動。
圖2 平均調(diào)度周期獎勵
當(dāng)曲線逐漸趨于穩(wěn)定時,仍然存在一定的波動性,這是正?,F(xiàn)象。在面對不同調(diào)度日時,負(fù)荷需求不同則對應(yīng)的成本最優(yōu)的動作決策不同,因此智能體獲得獎勵值也會不同,同時智能體在后期訓(xùn)練階段仍然保持一定概率探索動作空間,所以仍然存在探索到較小獎勵值的動作決策的可能性,由此兩者共同影響平均總回報曲線的波動和振蕩現(xiàn)象。
圖3為損失函數(shù)曲線,隨著回合次數(shù)的增加,損失函數(shù)逐漸減小并趨于穩(wěn)定,由于本文采用的DQN算法每完成一個周期探索完成一次模型訓(xùn)練,因此記錄次數(shù)與迭代次數(shù)相同。
圖3 損失函數(shù)曲線
圖4 為提前終止次數(shù)曲線,隨著迭代次數(shù)的增加,提前終止次數(shù)在初始探索訓(xùn)練過程中,每1 000次調(diào)度周期會大量觸發(fā)提前終止機(jī)制。在經(jīng)驗回放池的樣本數(shù)據(jù)不斷積累過程中,智能體的模型訓(xùn)練朝著獲得更大獎勵的方向更新,使每1 000次調(diào)度周期中發(fā)生的提前終止次數(shù)減少。當(dāng)智能體逐漸趨于穩(wěn)定時,提前終止次數(shù)仍然會穩(wěn)定在一定范圍內(nèi),這是由于訓(xùn)練后期階段中仍然保持有一定概率探索動作空間。
圖4 提前終止次數(shù)曲線
經(jīng)過2×105次迭代訓(xùn)練(共耗時52 min30 s)后,將訓(xùn)練成熟的模型對某一調(diào)度日進(jìn)行測試以求解機(jī)組組合問題。采用DQN求解調(diào)度日的機(jī)組組合問題中得到機(jī)組出力與負(fù)荷需求曲線見圖5。表2表示的是測試日機(jī)組總發(fā)電成本及智能體的決策時間。由表2可知,應(yīng)用訓(xùn)練成熟的模型求解調(diào)度日的機(jī)組組合問題時智能體給出決策動作(即機(jī)組啟停計劃和機(jī)組出力計劃)的時間為0.07 s,在理論上與傳統(tǒng)優(yōu)化算法相比,DQN算法在求解機(jī)組組合問題上具有快速性。同時,當(dāng)面對具有不同負(fù)荷需求的調(diào)度日時,DQN智能體仍然能夠快速地給出合理的決策動作,相比于傳統(tǒng)優(yōu)化算法而言,無需重復(fù)計算求解,因此,DQN算法在求解機(jī)組組合問題上具有泛化能力。由圖5可以看出,對于調(diào)度日的機(jī)組出力計劃能夠較好地滿足負(fù)荷平衡的需求。
圖5 調(diào)度日機(jī)組出力與負(fù)荷需求曲線
表2 調(diào)度日發(fā)電成本與決策時間
由此可知,深度強(qiáng)化學(xué)習(xí)算法下的模型在訓(xùn)練成熟之后,針對本文所研究的決策問題上具有較高的決策效率。同時離線探索訓(xùn)練的時間并不影響模型的決策結(jié)果,當(dāng)在相同機(jī)組參數(shù)設(shè)置下時,能夠具有較好的泛化能力,不需要再花費(fèi)大量的時間進(jìn)行探索求解。
本文提出了一種基于DQN算法的電網(wǎng)機(jī)組組合算法。將機(jī)組組合問題劃分為機(jī)組啟停計劃和機(jī)組出力計劃,通過DQN算法來求解機(jī)組啟停計劃并結(jié)合LA MBDA迭代法來求解機(jī)組出力計劃。與傳統(tǒng)算法相比,這種算法在模型訓(xùn)練完成后不需要對不同的調(diào)度日進(jìn)行求解,而能夠通過智能體的策略模型直接給出動作決策。根據(jù)模型訓(xùn)練及測試結(jié)果分析,驗證了本文所提方法在機(jī)組組合問題求解上的有效性和優(yōu)越性。
本文對于機(jī)組組合問題劃分子問題的提出,使得求解問題的分離性,因此,在今后的工作中,為了能夠更好地避免2個子問題的劃分,需要對機(jī)組出力這類連續(xù)動作進(jìn)行考慮及改進(jìn)。本文在機(jī)組組合問題的求解思路及算法應(yīng)用上,能夠給這類大規(guī)?;旌险麛?shù)規(guī)劃問題的研究提供一種思路和解決方法。