APP下载

电力现货市场仿真系统的设计与实现

2020-03-17江泽志梁立全陈皓勇伍景阳

浙江电力 2020年1期
关键词:出力现货报价

江泽志,梁立全,刘 滨,陈皓勇,伍景阳

(1.深圳市深电能售电有限公司,广东 深圳 518000;2.华南理工大学,广州 510640)

0 引言

2015 年3 月15 日,中共中央办公厅发布中发〔2015〕9 号《关于进一步深化电力体制改革的若干意见》,是我国电力体制改革的重要里程碑。2017 年9 月5 日,国家发改委和能源局综合司联合发布《关于开展电力现货市场建设试点工作的通知》,选择南方(以广东起步)、蒙西、浙江、山西、山东、福建、四川、甘肃等8 个地区作为第一批试点,开展现货试点模拟试运行。广东作为电改急先锋,率先推出电力现货市场系列规则。广东电力现货市场包括批发市场和零售市场,批发市场采用“电能量市场+辅助服务市场”的市场架构。其中,电能量市场包含基于差价合约的日以上周期的中长期电能量市场和全电量竞价的现货电能量市场。现货电能量市场包括日前电能量市场和实时电能量市场,采用全电量申报、集中优化出清的方式开展,通过求解最优化问题[1],得到机组开机组合、分时出力曲线及现货电能量市场分时价格。现货市场开展后,实时报价和交易与双边协商和月度竞价有明显区别。现货市场每15 min出清一次,每小时形成一个结算价格。不同时段用电需求以及线路机组检修信息的变化,将导致电价出现较大幅度的波动。如果售电公司的大部分电量暴露在现货市场下,风险将难以控制[2-3]。

电力现货价格的预测对市场参与主体极其重要,同时也是学术界研究的热点问题。章维维用现货价格数据建立线性回归方程,并用ARIMA模型修正扰动项,实现了较好的预测效果[4]。在应用灰色模型预测上,国内学者做了很多有益的工作。范玉宏等人建立了改进的多电价格灰色模型预测现货市场和期货市场的价格,并多维度、多指标地对比了测试结果,结果表明该方法具有较高的精度[5]。机器学习算法近年来风靡全球,李正欣、赵林度两人融合贝叶斯框架及最小二乘支持向量机模型,建立非线性预测模型预测加州电力市场现货价格,取得了较好的效果[6]。供求决定价格、价格引导供求,从该角度出发,张建建立了边际电价的三时点预测模型,取得了很好的预测效果[7]。Maciejowska Katarzyna 使用因子模型、分位数回归和预测平均法组合模型对现货价格进行区间预测,该方法在预测英国电力市场的现货价格中表现良好[8]。上述方法需要大量的数据作为支撑,我国电力现货市场开展初期,现货运行数据缺乏,因此通过仿真系统进行价格预测是目前行之有效的方法。

现货仿真系统根据现货运行规则,结合电力市场负荷预测[9]、交易中心披露的线路机组检修计划、断面约束情况等信息,对节点出清价格进行精确地预测及分析,为售电公司制定零售价格套餐提供重要依据[10],提高售电公司在现货市场下的持续盈利能力。节点价格的高低反映了节点上的机组签约中长期合约的积极程度:节点价格越高,机组签订中长期合约的积极性越高;节点价格越低,机组签订中长期合约的积极性越低。因此,节点价格的预测也为售电公司在中长期市场寻找交易对象提供了重要信息。

目前关于现货仿真系统研究的目的都是寻找最优交易机制或验证当前交易机制的可行性。刘晓光博士后设计了基于多Agent 的电力市场仿真系统[11],通过模拟实验的方式对比单一价格机制和离散价格机制的市场效率。南瑞集团的丁恰重点探讨现货市场技术支持系统架构的关键技术[12],提出了分区部署的系统总体架构及分层应用功能框架。陈皓勇教授提出基于Java 的电力市场竞价实验平台[13],该平台模拟市场成员的报价情况,对发电商竞价策略及交易规则的制定具有重要意义。目前,应用于售电公司实际运营工作的现货仿真系统少之又少,本文基于广东现货市场运行基本规则,考虑售电公司实际运营需要,利用Java 和Python 语言设计并实现了一套BS 架构的现货仿真系统。

1 系统概述

电力现货市场出清的本质是优化问题,目标函数如下所示:

式中: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 等出清算法,输出电网线路的潮流情况、各个机组的出力曲线、各个节点的电价等。系统根据出清结果分析市场出清情况,包括价区分布、线路阻塞情况、阻塞盈余情况等,并对市场成员进行结算分析;结合成本曲线及机组运行参数,对机组成本及效益进行分析与对比;结合零售套餐,对售电公司进行批零收益分析,指导售电公司制定零售用户套餐,减少亏损风险。

2 系统组成

图1 显示了现货仿真系统的系统流程图。

图1 系统流程图

2.1 电网模型

电网模型主要包括:节点、线路、机组、负荷的定义。可通过图形拖拽的方式对电网结构进行建模,实现灵活配置。节点定义数据结构包括:节点代码、节点名称、节点坐标。线路定义数据结构包括起始节点代码、起始节点名称、线路电抗。机组定义数据结构包括:所属节点代码、机组代码、机组名称、最小技术出力、最大出力、最大上爬坡速率、最大下爬坡速率、最小连续开机时间、最小连续停机时间、成本曲线、开机成本、关机成本、是否必开。负荷定义数据结构包括:曲线代码、曲线名称、行业特征、典型曲线。

2.2 市场规则

市场规则模块包括出清算法、报价方式、出清日时段数、申报规则的定义。出清算法包括SCUC(安全约束机组组合)和SCED(安全约束经济调度)。系统分3 种方式调用出清算法,如图2所示。

图2 出清算法调用方式

报价方式包括发电侧报量报价、用户侧报量不报价和发电侧报量报价、用户侧报量报价两种;出清日时段数包括96 点和24 点;申报规则包括机组容量段数、报价段限值比例、申报价格上限、申报价格下限。若迭代次数达到要求而收敛未完成,则系统会重新出清并提示无法收敛。

2.3 市场约束

市场约束包括节点、线路、机组约束。节点约束主要是节点负荷约束;线路约束包括线路容量约束和线路检修约束。机组约束包括最小技术出力、最大出力、最大上爬坡速率、最大下爬坡速率、最小连续开机时间、最小连续停机时间约束。

2.4 市场仿真

可设置机组的典型报价,典型报价根据报价策略计算得出。报价策略包括成本曲线法,电量分段策略包括随机分段法,分段数可自行设置。

2.5 仿真结果

仿真结果包括市场整体出清概况、机组、节点、线路出清结果。市场整体出清概况包括:系统综合价格、系统无阻塞价格、系统阻塞价格、系统阻塞成本、当前系统负荷、系统容量利用率、系统线路负载率、无约束系统线路负载率、系统影子价格、电网容量分配系数、线路满负载比例、节点边际价格的最小值、节点边际价格的最大值。机组出清结果包括开关机状态、是否中标、机组出力、机组利用率指数、机组成本、单位发电成本、结算价格、机组收入、最高中标报价、容量份额、市场份额、机组容量利用率、机组利润、销售利润率。节点出清结果包括:节点边际价格、用电负荷、节点内机组出力、节点阻塞价格、节点阻塞成本。线路出清结果包括:潮流方向、线路容量、线路功率、线路负载率、线路影子价格、无约束功率、无约束负载率。

3 系统实现

3.1 系统架构

电力现货仿真系统的设计需实现高效、可靠、灵活、可扩展的系统架构,系统分为三部份: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 所示。

3.2 技术实现

现货仿真系统实现为前、后端分离的框架,后端包括业务层、处理数据层、数据存储层,采用开源的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,实现在远程加载服务器的图模文件,在编辑时以拖拽方便实现节点、线路、机组、负荷的添加和修改,并提供数据缓存和数据校验功能,为用户在电网模型的建模过程中提供较好的使用体验。

4 关键技术

仿真系统核心是出清模块。出清模块分为模型、建模环境、求解器三大部分。模型就是一个有约束的优化问题,包括目标函数、边界条件、优化参数;而建模环境则为配置上述优化问题的要素提供工具,目前建模环境主要有用Python 封装实现的建模环境、GAMS;鉴于GAMS 程序的可扩展性及兼容性较差,本文采取第一种建模环境,即用Python 实现GAMS 的建模功能,进行优化问题相关要素的定义。求解器对模型即优化问题进行求解,目前常用的求解器有GLPK 和COIN-OR CBC。出清模块的三个部分相互独立,完全解耦,可以实现灵活配置。

5 仿真案例及仿真结果

仿真系统的一个重要应用是根据市场组织机构披露的电网模型参数、节点参数、负荷数据、出清规则,以及机组报价的模拟,计算分时机组组合以及分时节点价格。本文以4 节点系统为例,模拟日前市场出清,展示仿真系统运行全过程[14]。

5.1 电网模型

图6 所示为简化的4 节点电网模型。

图6 简化的4 节点电网模型

其中N1~N4 为电网模型中的节点,L12,L23,L34,L41 为连接节点的线路,G1 和G2 为节点上的机组,F1 为N3 节点上的负荷。

表1 为机组的相关参数,表2 为线路参数。其中,每条线路的线路电抗为标幺值,假设所有线路电抗相等。图7 为N3 节点日前负荷预测曲线。

5.2 市场规则

本算例出清规则参照南方监能市场函[2018]195 号《南方能源监管局 广东省经济与信息化委广东省发展改革委关于征求南方(以广东起步)电力现货市场系列规则意见的通知》附件4《广东现货电能量市场交易实施细则(征求意见稿)》。

表1 机组参数

表2 线路参数

图7 N3 节点负荷曲线

5.3 市场约束

本算例考虑机组的空载成本、负荷平衡约束、线路潮流约束。

5.4 市场仿真

G1,G2 机组报价策略是根据边际成本曲线进行报价,报价曲线如图8,9 所示,分5 段申报,每段申报出力区间起点、出力区间终点以及该区间报价。每一个报价段的起始出力点必须为上一个报价段的出力终点。报价曲线必须随出力增加单调非递减。在实际仿真过程中,机组报价策略是影响出清价格的重要因素,需要综合考虑不同的报价方式对出清价的影响。机组报价策略包括基于日前电价预测的机组报价策略[15]、平均电价差值积分模型[16]。

图8 G1 机组报价曲线

图9 G2 机组报价曲线

5.5 仿真结果

本文根据上述电网结构、节点负荷预测、机组运行参数、机组报价曲线;经出清程序优化计算后,得到出清结果。其中,分时节点边际电价如图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,基本可以满足目前市场仿真要求。

6 结语

本文基于广东现货市场出清规则,搭建现货仿真系统。在已知电网模型、电网运行参数、机组运行参数、负荷数据、线路数据等情况下,可以准确出清得到节点电价及机组出力,不同节点电价的对比可指导我们寻找优质客户以及优质电源。系统搭建采用积木式方式,各个模块基本实现解耦,可灵活配置,适用于不同省份交易规则。

猜你喜欢

出力现货报价
美国大豆现货价格上涨
美国大豆现货报价稳中有降
豆粕:美豆新高后回落振荡,现货临近春节成交转淡
“出力”就要做为人民“出彩”的事
基于实测数据的风电场出力特性研究
汽车内饰件用塑料挂钩安装力及脱出力研究
报价