江澤志,梁立全,劉 濱,陳皓勇,伍景陽
(1.深圳市深電能售電有限公司,廣東 深圳 518000;2.華南理工大學,廣州 510640)
2015 年3 月15 日,中共中央辦公廳發布中發〔2015〕9 號《關于進一步深化電力體制改革的若干意見》,是我國電力體制改革的重要里程碑。2017 年9 月5 日,國家發改委和能源局綜合司聯合發布《關于開展電力現貨市場建設試點工作的通知》,選擇南方(以廣東起步)、蒙西、浙江、山西、山東、福建、四川、甘肅等8 個地區作為第一批試點,開展現貨試點模擬試運行。廣東作為電改急先鋒,率先推出電力現貨市場系列規則。廣東電力現貨市場包括批發市場和零售市場,批發市場采用“電能量市場+輔助服務市場”的市場架構。其中,電能量市場包含基于差價合約的日以上周期的中長期電能量市場和全電量競價的現貨電能量市場?,F貨電能量市場包括日前電能量市場和實時電能量市場,采用全電量申報、集中優化出清的方式開展,通過求解最優化問題[1],得到機組開機組合、分時出力曲線及現貨電能量市場分時價格。現貨市場開展后,實時報價和交易與雙邊協商和月度競價有明顯區別?,F貨市場每15 min出清一次,每小時形成一個結算價格。不同時段用電需求以及線路機組檢修信息的變化,將導致電價出現較大幅度的波動。如果售電公司的大部分電量暴露在現貨市場下,風險將難以控制[2-3]。
電力現貨價格的預測對市場參與主體極其重要,同時也是學術界研究的熱點問題。章維維用現貨價格數據建立線性回歸方程,并用ARIMA模型修正擾動項,實現了較好的預測效果[4]。在應用灰色模型預測上,國內學者做了很多有益的工作。范玉宏等人建立了改進的多電價格灰色模型預測現貨市場和期貨市場的價格,并多維度、多指標地對比了測試結果,結果表明該方法具有較高的精度[5]。機器學習算法近年來風靡全球,李正欣、趙林度兩人融合貝葉斯框架及最小二乘支持向量機模型,建立非線性預測模型預測加州電力市場現貨價格,取得了較好的效果[6]。供求決定價格、價格引導供求,從該角度出發,張建建立了邊際電價的三時點預測模型,取得了很好的預測效果[7]。Maciejowska Katarzyna 使用因子模型、分位數回歸和預測平均法組合模型對現貨價格進行區間預測,該方法在預測英國電力市場的現貨價格中表現良好[8]。上述方法需要大量的數據作為支撐,我國電力現貨市場開展初期,現貨運行數據缺乏,因此通過仿真系統進行價格預測是目前行之有效的方法。
現貨仿真系統根據現貨運行規則,結合電力市場負荷預測[9]、交易中心披露的線路機組檢修計劃、斷面約束情況等信息,對節點出清價格進行精確地預測及分析,為售電公司制定零售價格套餐提供重要依據[10],提高售電公司在現貨市場下的持續盈利能力。節點價格的高低反映了節點上的機組簽約中長期合約的積極程度:節點價格越高,機組簽訂中長期合約的積極性越高;節點價格越低,機組簽訂中長期合約的積極性越低。因此,節點價格的預測也為售電公司在中長期市場尋找交易對象提供了重要信息。
目前關于現貨仿真系統研究的目的都是尋找最優交易機制或驗證當前交易機制的可行性。劉曉光博士后設計了基于多Agent 的電力市場仿真系統[11],通過模擬實驗的方式對比單一價格機制和離散價格機制的市場效率。南瑞集團的丁恰重點探討現貨市場技術支持系統架構的關鍵技術[12],提出了分區部署的系統總體架構及分層應用功能框架。陳皓勇教授提出基于Java 的電力市場競價實驗平臺[13],該平臺模擬市場成員的報價情況,對發電商競價策略及交易規則的制定具有重要意義。目前,應用于售電公司實際運營工作的現貨仿真系統少之又少,本文基于廣東現貨市場運行基本規則,考慮售電公司實際運營需要,利用Java 和Python 語言設計并實現了一套BS 架構的現貨仿真系統。
電力現貨市場出清的本質是優化問題,目標函數如下所示:

式中:N 表示機組數;T 表示時段數;Pi,t表示機組i 在時段t 的出力;Ci,t(Pi,t)和分別為機組運行費用和啟動費用。
邊界條件包括:
(1)系統負荷平衡約束

式 中:Pi,t,Tj,t和Dt分別表示時段t 時機組i 的出力、聯絡線j 的功率和系統負荷;NT 為聯絡線總數。
(2)系統備用容量約束

式中:αi,t表示機組i 在時段t 的啟停狀態,1 表示開機,0 表示停機;分別表示機組i在時段t 的最大出力和最小出力;分別表示時段t 的系統正備用容量和負備用容量。
(3)系統旋轉備用約束

(4)機組出力上下限約束

(5)機組爬坡約束

(6)機組最大啟停次數約束

式中:ηi,t和γi,t分別為機組i 在時段t 的啟動與停機狀態切換變量,即:


(7)機組最小連續運行/停運時間約束

式中:TU和TD分別為機組的最小連續運行時間和最小連續停運時間。
(8)線路潮流約束

電力現貨市場出清就是考慮各類約束條件的前提下,優先調用報價最便宜的發電機組。目前,廣東電力現貨市場電價是基于統一出清原則的節點邊際電價。電力現貨仿真系統實現模擬現貨出清,需要輸入電網模型、機組運行參數、機組運行邊界條件、節點負荷預測曲線、機組報價曲線等信息,系統調用SCUC 和SCED 等出清算法,輸出電網線路的潮流情況、各個機組的出力曲線、各個節點的電價等。系統根據出清結果分析市場出清情況,包括價區分布、線路阻塞情況、阻塞盈余情況等,并對市場成員進行結算分析;結合成本曲線及機組運行參數,對機組成本及效益進行分析與對比;結合零售套餐,對售電公司進行批零收益分析,指導售電公司制定零售用戶套餐,減少虧損風險。
圖1 顯示了現貨仿真系統的系統流程圖。

圖1 系統流程圖
電網模型主要包括:節點、線路、機組、負荷的定義。可通過圖形拖拽的方式對電網結構進行建模,實現靈活配置。節點定義數據結構包括:節點代碼、節點名稱、節點坐標。線路定義數據結構包括起始節點代碼、起始節點名稱、線路電抗。機組定義數據結構包括:所屬節點代碼、機組代碼、機組名稱、最小技術出力、最大出力、最大上爬坡速率、最大下爬坡速率、最小連續開機時間、最小連續停機時間、成本曲線、開機成本、關機成本、是否必開。負荷定義數據結構包括:曲線代碼、曲線名稱、行業特征、典型曲線。
市場規則模塊包括出清算法、報價方式、出清日時段數、申報規則的定義。出清算法包括SCUC(安全約束機組組合)和SCED(安全約束經濟調度)。系統分3 種方式調用出清算法,如圖2所示。

圖2 出清算法調用方式
報價方式包括發電側報量報價、用戶側報量不報價和發電側報量報價、用戶側報量報價兩種;出清日時段數包括96 點和24 點;申報規則包括機組容量段數、報價段限值比例、申報價格上限、申報價格下限。若迭代次數達到要求而收斂未完成,則系統會重新出清并提示無法收斂。
市場約束包括節點、線路、機組約束。節點約束主要是節點負荷約束;線路約束包括線路容量約束和線路檢修約束。機組約束包括最小技術出力、最大出力、最大上爬坡速率、最大下爬坡速率、最小連續開機時間、最小連續停機時間約束。
可設置機組的典型報價,典型報價根據報價策略計算得出。報價策略包括成本曲線法,電量分段策略包括隨機分段法,分段數可自行設置。
仿真結果包括市場整體出清概況、機組、節點、線路出清結果。市場整體出清概況包括:系統綜合價格、系統無阻塞價格、系統阻塞價格、系統阻塞成本、當前系統負荷、系統容量利用率、系統線路負載率、無約束系統線路負載率、系統影子價格、電網容量分配系數、線路滿負載比例、節點邊際價格的最小值、節點邊際價格的最大值。機組出清結果包括開關機狀態、是否中標、機組出力、機組利用率指數、機組成本、單位發電成本、結算價格、機組收入、最高中標報價、容量份額、市場份額、機組容量利用率、機組利潤、銷售利潤率。節點出清結果包括:節點邊際價格、用電負荷、節點內機組出力、節點阻塞價格、節點阻塞成本。線路出清結果包括:潮流方向、線路容量、線路功率、線路負載率、線路影子價格、無約束功率、無約束負載率。
電力現貨仿真系統的設計需實現高效、可靠、靈活、可擴展的系統架構,系統分為三部份:Web 瀏覽器端、Web 服務器、算法服務器,如圖3 所示。

圖3 系統架構
算法服務器是系統的計算處理中心,未來全國各省開展電力現貨市場后,各省份的算法會有不同,算法服務器的分開獨立部署,是為了滿足不同省份不同規則的算法同時兼容。Web 服務器是系統的業務處理核心,包括數據存取,業務處理和人機界面。用戶通過Web 瀏覽器訪問應用服務器,而不同的仿真用戶,根據配置的算法庫不同訪問不同的算法服務器。
3.1.1 算法服務器
算法服務器采用Python 開發,包括模型轉參數,仿真算法,結果計算,參數模型4 個模塊,如圖4 所示。使用Flask 框架提供符合Web RESTful 設計規范的接口,對電網模型、節點、線路、機組等模型標準化建模,在內部轉化為不同算法庫所需的參數,經現貨仿真算法計算后,再對結果進行計算處理,最后轉化為標準模型返回給Web 服務器。

圖4 算法服務器模塊
3.1.2 Web 服務器
Web 服務器的數據存儲包括結構數據和文件數據,結構數據存儲在MySQL 數據庫中,包括用戶、角色、典型模板、電網模型參數、市場規則、市場約束、市場仿真結果;文件數據是電網模型的圖型文件,直接存儲在服務器的目錄上。Web服務器主要模塊如圖5 所示。
現貨仿真系統實現為前、后端分離的框架,后端包括業務層、處理數據層、數據存儲層,采用開源的Spring4.1.7+Hibernate4.3.1+Springfox-Swagger2 框架。
現貨仿真系統采用MySQL 數據庫,數據庫的操作使用Hibernate4.3.1 框架,Hibernate 可以用注解方式定義Model 與數據庫對象關系,包括表、字段、外鍵關系、數據校驗等,Hibernate4 對MySQL 的兼容性好,在功能、性能、開發效率上都能滿足仿真系統的需求。

圖5 Web 服務器主要模塊
現貨仿真系統中,Spring4.1.7 框架的用到的模塊有Spring-Core,Spring-Webmvc,Spring-Web,Spring-Context,Spring-AOP。Spring4 版本支持注解方式進行配置,因此,除了少數的必要的或是可加載的資源使用XML 配置以外,其它如Controller,Service,Dao 和Interceptor 等全部采用注解方式進行配置,以減少系統的開發工作量,使用系統更加簡潔。
Swagger2 為項目在開發和測試階段的前端開發人員和測試提供詳盡的API 說明文檔。通過添加依賴的jar 包和在spring-mvc.xml 中添加映射配置,即可以在Controller 中使用注解定義API,在項目程序啟動運行后,在瀏覽器中輸入URL即可訪問到Swagger2 提供的API 規范文檔界面,在項目的開發階段,前端開發人員很清晰地了解提供的API,為測試人員編寫自動化測試用例也提供了很大的方便。
現貨仿真系統的前端是系統的人機交互界面,設計要求美觀、簡潔、風格統一、響應訊速。系統支持可視化的電網模型編輯和展示,通過引入JS 繪圖組件庫mxGraph,實現在遠程加載服務器的圖模文件,在編輯時以拖拽方便實現節點、線路、機組、負荷的添加和修改,并提供數據緩存和數據校驗功能,為用戶在電網模型的建模過程中提供較好的使用體驗。
仿真系統核心是出清模塊。出清模塊分為模型、建模環境、求解器三大部分。模型就是一個有約束的優化問題,包括目標函數、邊界條件、優化參數;而建模環境則為配置上述優化問題的要素提供工具,目前建模環境主要有用Python 封裝實現的建模環境、GAMS;鑒于GAMS 程序的可擴展性及兼容性較差,本文采取第一種建模環境,即用Python 實現GAMS 的建模功能,進行優化問題相關要素的定義。求解器對模型即優化問題進行求解,目前常用的求解器有GLPK 和COIN-OR CBC。出清模塊的三個部分相互獨立,完全解耦,可以實現靈活配置。
仿真系統的一個重要應用是根據市場組織機構披露的電網模型參數、節點參數、負荷數據、出清規則,以及機組報價的模擬,計算分時機組組合以及分時節點價格。本文以4 節點系統為例,模擬日前市場出清,展示仿真系統運行全過程[14]。
圖6 所示為簡化的4 節點電網模型。

圖6 簡化的4 節點電網模型
其中N1~N4 為電網模型中的節點,L12,L23,L34,L41 為連接節點的線路,G1 和G2 為節點上的機組,F1 為N3 節點上的負荷。
表1 為機組的相關參數,表2 為線路參數。其中,每條線路的線路電抗為標幺值,假設所有線路電抗相等。圖7 為N3 節點日前負荷預測曲線。
本算例出清規則參照南方監能市場函[2018]195 號《南方能源監管局 廣東省經濟與信息化委廣東省發展改革委關于征求南方(以廣東起步)電力現貨市場系列規則意見的通知》附件4《廣東現貨電能量市場交易實施細則(征求意見稿)》。

表1 機組參數

表2 線路參數

圖7 N3 節點負荷曲線
本算例考慮機組的空載成本、負荷平衡約束、線路潮流約束。
G1,G2 機組報價策略是根據邊際成本曲線進行報價,報價曲線如圖8,9 所示,分5 段申報,每段申報出力區間起點、出力區間終點以及該區間報價。每一個報價段的起始出力點必須為上一個報價段的出力終點。報價曲線必須隨出力增加單調非遞減。在實際仿真過程中,機組報價策略是影響出清價格的重要因素,需要綜合考慮不同的報價方式對出清價的影響。機組報價策略包括基于日前電價預測的機組報價策略[15]、平均電價差值積分模型[16]。

圖8 G1 機組報價曲線

圖9 G2 機組報價曲線
本文根據上述電網結構、節點負荷預測、機組運行參數、機組報價曲線;經出清程序優化計算后,得到出清結果。其中,分時節點邊際電價如圖10 所示;分時機組出力如圖11 所示;分時線路潮流如圖12 所示。

圖10 分時節點電價

圖11 分時機組出力

圖12 分時線路潮流
由圖10 可以看出,第1 個時段到第36 個時段節點邊際電價相同,第37 個時段到第65 個時段節點邊際電價不同,第66 個時段到第96 個時段節點邊際電價相同。結合圖7、圖12 可知,隨著負荷的不斷升高,在第37 個時段線路L34 發生潮流越限,即產生阻塞,此時系統各個節點邊際電價發生變化。負荷在第51 個時段達到最高,隨著負荷的下降,線路阻塞得到緩解,此時系統內各個節點的邊際電價相等。
由圖8、圖9、圖11 可知,在沒有阻塞時,系統優先調用低價機組,此時G2 機組由于報價較高,故G2 機組不發電。當系統產生阻塞時,G1機組不足以滿足系統負荷需求,此時需要調用G2 機組,導致系統節點邊際電價升高。
由圖6 可知,機組G1,G2 分別位于N1、N2節點上,而N2 的節點邊際電價始終大于N1 的節點邊際電價,因此G2 機組更傾向于跟售電公司或大用戶簽訂中長期合約以鎖定收益。而對于售電公司而言,與G2 簽訂中長期合約能獲得較為理想的價格。
本文仿真所用計算機處理器型號為Intel Core i7-8700,主頻3.2 GHz,內存16 GB,使用Win10 64 位操作系統。本文使用的8 節點算例的仿真運行時間約0.5 s,另外84 節點算例的仿真運行時間約4 h,基本可以滿足目前市場仿真要求。
本文基于廣東現貨市場出清規則,搭建現貨仿真系統。在已知電網模型、電網運行參數、機組運行參數、負荷數據、線路數據等情況下,可以準確出清得到節點電價及機組出力,不同節點電價的對比可指導我們尋找優質客戶以及優質電源。系統搭建采用積木式方式,各個模塊基本實現解耦,可靈活配置,適用于不同省份交易規則。