賈乾罡,陳思捷,李亦言,2,嚴 正,徐澄科
(1. 上海交通大學電子信息與電氣工程學院,上海市200240;2. 北卡羅來納州立大學電子與計算機科學系,羅利市27695,美國)
自2015 年啟動新一輪電力體制改革以來,中國電力市場化進程在各省快速推進。電力中長期交易趨于成熟,現(xiàn)貨市場架構及市場機制設計逐漸完善。在這種情況下,市場成員的參與策略具有了實際的研究價值。
電力市場通常被認為是典型的不完全競爭市場或寡頭壟斷市場。在該類市場中,發(fā)電商有充分的動機開展策略性報價以提高自身收益[1]。現(xiàn)有對發(fā)電商投標策略的研究可大致分為以下3 類。①發(fā)電商通過預測下一階段市場出清電價及負荷,從而制定相應的投標策略[2-4]。該類方法僅適用于價格接受型(price taker)發(fā)電商,即假定他們自身的投標策略對市場價格無影響。②通過建立市場的博弈均衡模型以得到自身的最優(yōu)投標策略[5-6]。該類方法要求發(fā)電商能夠獲取全部的市場信息,在實際應用中存在難度。③發(fā)電商通過研究對手的報價行為并對其建模,估計對手的報價策略,從而針對性地優(yōu)化自身的策略[7-8]。這類研究通常需要假設對手的行為服從某種特定分布。事實上,發(fā)電商可獲得的外部市場環(huán)境信息、競爭對手信息往往較為有限,尤其是在新興市場中可參考的歷史樣本數(shù)據(jù)稀少,這使得外部市場對于發(fā)電商而言類似于黑箱,發(fā)電商難以通過建立市場博弈模型或研究對手行動制定自身報價策略。
在該情形下,強化學習[9-10]成為發(fā)電商優(yōu)化自身報價策略的強大工具。強化學習的基本思想是學習者通過與未知環(huán)境的不斷交互來獲得最佳決策。學術界已經(jīng)對強化學習在電力市場方面的應用開展了較多的研究。例如:文獻[11]應用Q 學習對發(fā)電商的行為進行建模,并根據(jù)模型評估市場規(guī)則;文獻[12]使用模糊強化學習來優(yōu)化電力市場中發(fā)電商的報價策略。此外,近年來深度神經(jīng)網(wǎng)絡的發(fā)展進一步提升了強化學習的性能。例如,文獻[13]提出了一種深度強化學習方法,并結合優(yōu)先級經(jīng)驗回放策略來優(yōu)化發(fā)電商的報價行為。文獻[14]將深度強化學習算法應用于負荷聚合商的最優(yōu)報價和定價策略。
然而,需要注意的是,現(xiàn)有研究在以下2 個方面仍存在改進空間。
1)現(xiàn)有研究通?;\統(tǒng)地將發(fā)電商報價和市場出清這一過程描述為馬爾可夫博弈(或隨機博弈)[15]。馬爾可夫博弈是馬爾可夫決策在多智能體環(huán)境下的擴展,它假定系統(tǒng)的當前狀態(tài)與過去狀態(tài)以及所有參與者的共同行動相關聯(lián)。然而,馬爾可夫博弈對于狀態(tài)轉移的嚴格定義,使得它依賴于特定的適用場景。在系統(tǒng)中可再生能源占比較高,火電機組靈活性不足的情況下,當前市場狀態(tài),例如節(jié)點邊際電價(locational marginal price,LMP)會一定程度上關聯(lián)上一時刻的LMP,該場景下的發(fā)電商博弈進程可通過馬爾可夫博弈表示;而在系統(tǒng)中火電機組占比較高,且靈活性較強的情況下,當前的市場狀態(tài),仍以當前系統(tǒng)的LMP 為例,主要取決于負荷和發(fā)電商在當前時段的聯(lián)合投標行為,而與上一時刻的LMP關系較弱,該場景下發(fā)電商的博弈進程更適合用重復博弈[16]描述。
2)雖然多數(shù)研究認可“發(fā)電商不能對整個外部環(huán)境進行完整建?!钡那疤?,但是仍默認發(fā)電商能夠獲取大部分對手的歷史投標信息或系統(tǒng)物理參數(shù)。在成熟的市場中,這種假設有一定的合理性。但是在市場啟動初期,這些外部數(shù)據(jù)的獲取難度將大大提高,甚至變得不可行。因此,本文假設發(fā)電商在市場初期無法獲取除了自身信息(即自身歷史投標、所在節(jié)點電價和利潤數(shù)據(jù))以外的任何對手和系統(tǒng)信息。
本文聚焦于現(xiàn)貨市場中的實時市場,以期從發(fā)電商的角度優(yōu)化其單時段報價策略。
市場成員通常包括3 個主要部分:發(fā)電商、用戶和市場運營商。古諾模型和供應函數(shù)模型是描述發(fā)電商競價博弈的2 種經(jīng)典模型。古諾模型中,發(fā)電商只報發(fā)電量;供應函數(shù)模型中,發(fā)電商報自身邊際成本函數(shù)。供應函數(shù)模型更加符合市場的運作規(guī)律,在描述電力市場成員博弈中得到了廣泛的應用[17]。
1)發(fā)電商
本文假設每個發(fā)電商擁有一個注冊火電機組,其成本函數(shù)以二次形式表示[18],具體如下:
式中:i 為發(fā)電商編號;Ci為發(fā)電商i 的成本函數(shù);bi和ai分別為發(fā)電商i 的一次項和二次項系數(shù);Pi為發(fā)電商i 的出力。
在供應函數(shù)模型中,發(fā)電商提交給系統(tǒng)運營商的是自身的邊際成本函數(shù)。實際上,發(fā)電商提交給市場運營商的邊際成本和真實的邊際成本往往存在偏差,即
式中:CM,i為發(fā)電商i 的策略性邊際報價;bstra,i為策略性因子,即可變的邊際成本截距。該邊際成本函數(shù)稱作發(fā)電商i 的報價曲線,即為文中所指的報價。報價策略即為邊際成本函數(shù)中截距的取值。
對于發(fā)電商i 而言,其目標在于最大化利潤:
式中:Ji為發(fā)電商i 的利潤;λi為發(fā)電商i 所在節(jié)點的節(jié)點電價。
2)用戶
用戶j 的效用函數(shù)也可以寫成二次形式:
式中:j 為用戶的標號;Uj為用戶j 的效用函數(shù);rj和sj分別為用戶j 的一次項和二次項的系數(shù);Lj為用戶j的負荷需求。
由于本文關注發(fā)電商的報價策略,故假定用戶提交真實邊際效用:
3)市場運營商
市場運營商收集發(fā)電商和用戶提交的邊際成本和邊際效用函數(shù),并出清市場。本文使用直流最優(yōu)潮流算法實現(xiàn)經(jīng)濟調(diào)度,在聯(lián)營模式下,市場運營商的目標是最大化社會福利[19],即
式中:S 為發(fā)電商集合;D 為用戶集合。
優(yōu)化問題的等式約束是發(fā)用電平衡,可表述為:
優(yōu)化問題的不等式約束為線路潮流約束、發(fā)電機出力上下限約束和負荷上下限約束,可表述為:
式中:lv為傳輸線v 的容量;Fv為傳輸線v 的功率流;V 為 傳 輸 線 的 集 合;Pmin,i和Pmax,i分 別 為 發(fā) 電 商i 的功 率 輸 出 的 下 限 和 上 限;Lmin,j和Lmax,j分 別 為 用 戶j的負荷下限和上限。每條線的潮流可以根據(jù)節(jié)點負荷和潮流傳輸因子[20]來計算。
基于供應函數(shù)模型的重復博弈市場框架如圖1所示,在實時市場中,發(fā)電商和用戶分別將下一個小時的策略性邊際成本函數(shù)和真實邊際效用函數(shù)提交給市場運營商。市場出清完畢后,市場運營商計算所有發(fā)電商的發(fā)電量、用戶的負荷值以及系統(tǒng)的節(jié)點電價[21],并反饋給相應的市場參與者。
圖1 基于供應函數(shù)模型的重復博弈市場框架Fig.1 Framework of repeated game market based on supply function model
在與市場的反復互動過程中,發(fā)電商可以逐漸了解市場并得到最佳的報價策略。所有發(fā)電商以該種形式參與市場競爭的博弈進程即稱為重復博弈。
連續(xù)動作強化學習自動機(continuous action reinforcement learning automata,CARLA)由 文 獻[22]提出,并解釋和證明了其收斂性。CARLA 算法是本文所提出的實用強化學習自動機(practical reinforcement learning automata,PRLA)的基礎,本文將CARLA 的動作選取和概率密度的更新過程進行簡化處理,避免復雜的符號運算和積分方程求解,在不改變算法收斂性的前提下使整個算法更加實用。
CARLA 采用非參數(shù)化概率模型。在每次迭代中,算法使用者根據(jù)動作概率密度函數(shù)隨機選擇動作,在與環(huán)境交互后,依照反饋信號的強弱提高或降低該動作及相鄰動作的概率密度值。其本質(zhì)是不斷地強化更好的動作被選中的概率。經(jīng)過多次與環(huán)境的交互,最終得到穩(wěn)定集中在最優(yōu)動作附近的概率密度函數(shù),從而完成整個學習過程。CARLA 算法的優(yōu)勢在于智能體不需要過多的先驗知識和復雜的超參數(shù)調(diào)整。但是該方法在實際應用中仍面臨較大問題:概率密度函數(shù)的更新涉及大量的符號運算,且動作的選取涉及復雜的積分方程求解。隨著迭代次數(shù)的增加,其計算時間和難度將呈指數(shù)級數(shù)上升,這使得計算代價很高甚至難以求解[23-24]。文獻[22]雖然使用了插值的思想處理這一困境,但是并未深入介紹具體流程。
針對該問題,本文結合離散化和梯形法積分的思想,改進了CARLA 算法(見附錄A)的選擇動作和更新概率密度函數(shù)的方法,使整個算法的時間復雜度大大降低。其核心思想為:將概率密度函數(shù)離散化,以存儲空間和計算精度換取計算時間的減少和計算復雜度的降低。
改進后的PRLA 算法的具體流程如下,其中步驟2 至步驟4 為循環(huán)執(zhí)行階段(當連續(xù)若干次動作的變化值小于設定閾值,循環(huán)終止)。
步驟1:初始化動作空間概率密度函數(shù)及歷史收益緩存區(qū)。
對于某個發(fā)電商而言,其報價策略取值的動作范圍x∈[xmin,xmax](xmin即為b 取值下限bmin,xmax即為b 取值上限bmax)。發(fā)電商對不同策略的選擇偏好通過在動作空間上概率密度函數(shù)的形式表示,記作f(x,n),其中n 表示發(fā)電商與市場之間的迭代次數(shù)。由于在初始階段,發(fā)電商沒有關于市場的先驗知識,其不同行為的選擇偏好相同,一般采用在動作空間上的均勻分布表示初始概率密度:
同時,發(fā)電商初始化歷史收益緩存區(qū),用于存放每輪迭代的收益,緩存區(qū)初始存放數(shù)據(jù)為0。
步驟2:選擇動作。
在第n 次市場出清,發(fā)電商根據(jù)最新的概率密度函數(shù)選擇動作。首先,生成符合在[0,1]區(qū)間上均勻分布的隨機數(shù)z(n),并根據(jù)z(n)和概率密度函數(shù)選擇動作x(n)。
具體做法是,PRLA 算法將動作區(qū)間m 等分,記為{ x0,x1,…,xm},每段長度為xd,稱為1 個子區(qū)間。這里用概率密度函數(shù)在m+1 個區(qū)間端點的離散值代替原連續(xù)概率密度函數(shù)參與運算,即在第n 次迭代 ,離 散 概 率 密 度 函 數(shù) 值 為 { f (x0,n),f (x1,n),…,f (xm,n)}。
根據(jù)梯形法[25],計算任意子區(qū)間k 的面積:
計算動作累積概率S,即子區(qū)間面積的遞加:
在選擇動作時,首先根據(jù)累積概率確定z(n)所在子區(qū)間u,則x(n)可表示為:
附錄B 舉例說明該動作選取過程。在選擇邊際成本的截距之后,發(fā)電商將報價提交給市場運營商。
步驟3:對環(huán)境反饋做出評估。
在所有發(fā)電商和用戶分別提交自身邊際成本和邊際效用函數(shù)后,市場運營商執(zhí)行市場出清程序。市場出清完畢后,發(fā)電商根據(jù)式(3)得到出清收益J(n),并執(zhí)行強化信號評估:
式中:Jmax和Jmed分別為歷史收益緩存區(qū)中的最大值和中位數(shù)。
該步驟的作用是評估強化信號的強弱:β(n)越大,獎勵信號越強;反之,則懲罰信號越強。在執(zhí)行完評估后,將J(n)存入緩存區(qū)。為了避免過多消耗存儲空間,同時使學習過程跟上環(huán)境的不斷變化,算法設定只能將最新的L 個數(shù)據(jù)保存到數(shù)據(jù)緩存區(qū)中。
步驟4:更新概率密度函數(shù)。
首先,引入對稱高斯鄰域函數(shù)h(n)(見式(17))作為更新信號,其目的是在每次迭代中,強化表現(xiàn)好的動作及其周圍動作被選擇的概率。
式中:c 和σ 分別為高斯分布的高度和寬度,其值可以決定學習速度和分辨率。通常c 越大,學習速度越快,但是學習結果往往越不準確。σ 越大,概率密度變化越平緩,但是學習結果分辨率越低。
同樣地,將更新過程離散化。在第n 次迭代,離散概率密度函數(shù)的更新可以表示為原離散概率密度函數(shù)和離散高斯鄰域函數(shù)在子區(qū)間端點處離散值{h(x0,n),h(x1,n),…,h(xm,n)}的線性運算,即
式中:α 為歸一化因子,可使概率密度函數(shù)的積分保持為1。α 值可由式(19)所示復化梯形公式確定。
附錄C 舉例說明了該概率密度函數(shù)更新過程。在迭代過程中,概率密度函數(shù)始終以離散的形式儲存和運算。上述離散化處理由于未改變其整個算法的迭代邏輯,故并不影響算法的收斂性。算法的偽代碼見附錄D。
仿真軟件為MATLAB 2020a,運行環(huán)境為搭載Intel Core i7TM的16 GB RAM 的服務器。算例的主要目標在于驗證所提出PRLA 算法在平穩(wěn)和非平穩(wěn)環(huán)境[26]下的有效性,并通過重復試驗評估算法的穩(wěn)定性。
測試系統(tǒng)的拓撲結構如圖2 所示。每個節(jié)點都有一個發(fā)電商和一個用戶。表1 列出了所有參與者的參數(shù)。
圖2 3 節(jié)點測試系統(tǒng)拓撲Fig.2 Topology of 3-bus test system
表1 測試系統(tǒng)中的發(fā)電商和用戶參數(shù)Table 1 Parameters of power suppliers and consumers in test system
發(fā)電商3 的成本參數(shù)設置較大,這是為了突出不同發(fā)電商的市場力。此外,本文采用直流潮流模型,每條傳輸線的電抗設為0.1 p.u.。為了更好地反映PRLA 算法的有效性,將Bus1-Bus3 線路的傳輸極限設置為100 MW,以造成系統(tǒng)阻塞。表2 顯示了在完全信息下的迭代方法[27]計算的報價策略納什均衡點,這是理想情況下發(fā)電商的最優(yōu)報價策略。
表2 解析納什均衡點Table 2 Analytical Nash equilibrium point
本文將通過PRLA 算法求得的數(shù)值解(記為SL)與表2 中的解析解(記為SA)進行對比,并計算百分比誤差(DPE)作為衡量指標:
3 個發(fā)電商從開始博弈到報價策略收斂到納什均衡為一輪完整的學習過程。為了更好地反映算法的性能,本文取100 輪完整學習過程的平均數(shù)據(jù)計算百分比誤差,以平抑單輪學習過程中的不確定性,增強了結果的可信度。
本文假設機組的靈活性充足,并根據(jù)此假設給出報價上下限bmax和bmin分別為50 美元/(MW·h)和0 美元/(MW·h),同時,設區(qū)間數(shù)M 為500 個,c 和σ分 別 為0.1 美 元/(MW·h)和0.5 美 元/(MW·h)(c 和σ 的 靈敏度分析見附錄E),收斂判據(jù)ε 設定為1 美元/(MW·h),數(shù)據(jù)緩存區(qū)的長度L 設置為10。需要指出的是,本文雖設定了收斂判據(jù),但是每輪迭代中,發(fā)電商在策略收斂后仍迭代至400 次,以保證不同收斂曲線的起始點與終止點對應。
本算例中,平穩(wěn)環(huán)境是指假定發(fā)電商2 和發(fā)電商3 具有全局視角,直接以其各自的納什均衡最優(yōu)解固定邊際成本,而發(fā)電商1 則需要使用PRLA 學習其最優(yōu)報價策略。在這種情況下,若發(fā)電商1 能夠同樣收斂到其納什均衡解,則證明算法的有效性。
發(fā)電商2 和發(fā)電商3 分別固定截距為15.7 美元/(MW·h)和23.2 美元/(MW·h)。發(fā)電商1 通過學習將報價策略優(yōu)化為31.0 美元/(MW·h),與解析解31.0 美元/(MW·h)一致,證明了平穩(wěn)環(huán)境下算法的有效性。
平穩(wěn)環(huán)境下,發(fā)電商1 的學習過程經(jīng)過約130 次迭代后逐漸穩(wěn)定,其報價策略概率密度函數(shù)的峰值逐漸穩(wěn)定在納什均衡解(31.0 美元/(MW·h))附近。發(fā)電商1 的報價策略曲線如圖3(a)所示,報價策略概率分布變化過程如圖3(b)所示。
圖3 平穩(wěn)環(huán)境下發(fā)電商1 的報價學習過程Fig.3 Bidding learning process of power supplier 1 in steady environment
本算例中,非平穩(wěn)環(huán)境是指所有發(fā)電商均需要通過學習以獲得自身策略。簡便起見,假定所有發(fā)電商均采用PRLA 算法。在這種情況下,若所有發(fā)電商仍能夠收斂到納什均衡解,即可證明算法的有效性。3 個發(fā)電商所使用的PRLA 算法的參數(shù)與上文相同。
表3 列出了這3 個發(fā)電商的學習結果。
表3 非平穩(wěn)環(huán)境學習結果Table 3 Learning result in the non-steady environment
3 個發(fā)電商學習到的最佳報價策略分別約為31.1、15.1、22.9 美 元/(MW·h),其 百 分 誤 差 均 在4%以內(nèi),證明了非平穩(wěn)環(huán)境下的算法有效性。
非平穩(wěn)環(huán)境下,發(fā)電商1 的學習過程經(jīng)過約245 次迭代后逐漸穩(wěn)定。隨著迭代次數(shù)的增加,發(fā)電商1 報價策略概率分布的峰值逐漸穩(wěn)定 在31.1 美 元/(MW·h),與 納 什 均 衡 解 析 解(31.0 美元/(MW·h))的誤差為0.32%。發(fā)電商1的報價策略曲線如圖4(a)所示,報價策略概率分布變化過程如圖4(b)所示。
圖4 非平穩(wěn)環(huán)境下發(fā)電商1 的報價學習過程Fig.4 Bidding learning process of power supplier 1 in non-steady environment
本文著力于解決有限信息環(huán)境下發(fā)電商的策略性報價問題。首先,將發(fā)電商的博弈過程建模為重復博弈。進一步,提出了一種PRLA 算法,以幫助發(fā)電商在信息不完全的情況下優(yōu)化報價策略。該算法在平穩(wěn)環(huán)境和非平穩(wěn)環(huán)境下學習結果的百分比誤差均在4%以內(nèi),其有效性得到驗證。該方法適用于在電力現(xiàn)貨市場啟動初期指導發(fā)電商的策略性報價行為,在中國電力市場改革的背景下具有一定的借鑒意義。
本文的報價方法的基礎是供應函數(shù)模型,但也可以拓展到其他模型下,如分段報價模型。未來的工作將集中在以下幾個方面:對環(huán)境不確定性的更加準確的建模;算法實際使用過程中效率的提高;考慮發(fā)電商多時段報價的優(yōu)化問題,并涉及機組組合。
附錄見本刊網(wǎng)絡版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網(wǎng)絡全文。